簡単なサンプル
Enterprise メンバーを一覧表示する
Enterprise メンバーを一覧表示する
コピー
AIに質問
import os
import requests
API_KEY = os.getenv("DEVIN_API_KEY")
BASE_URL = "https://api.devin.ai/v2/enterprise"
response = requests.get(
f"{BASE_URL}/members",
headers={"Authorization": f"Bearer {API_KEY}"}
)
members = response.json()
for member in members["members"]:
print(f"{member['email']} - {member['role']}")
組織を作成する
組織を作成する
コピー
AIに質問
import os
import requests
API_KEY = os.getenv("DEVIN_API_KEY")
BASE_URL = "https://api.devin.ai/v2/enterprise"
response = requests.post(
f"{BASE_URL}/organizations",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={
"name": "エンジニアリングチーム",
"acu_limit": 1000
}
)
org = response.json()
print(f"組織を作成しました: {org['id']}")
使用量メトリクスを取得する
使用量メトリクスを取得する
コピー
AIに質問
import os
import requests
API_KEY = os.getenv("DEVIN_API_KEY")
BASE_URL = "https://api.devin.ai/v2/enterprise"
response = requests.get(
f"{BASE_URL}/consumption/cycles",
headers={"Authorization": f"Bearer {API_KEY}"}
)
cycles = response.json()
current_cycle = cycles["cycles"][0]
print(f"Current cycle: {current_cycle['start_date']} to {current_cycle['end_date']}")
print(f"ACUs used: {current_cycle['acus_used']}")
セッションインサイトの取得
セッションインサイトの取得
コピー
AIに質問
import os
import requests
API_KEY = os.getenv("DEVIN_API_KEY")
BASE_URL = "https://api.devin.ai/v2/enterprise"
response = requests.get(
f"{BASE_URL}/sessions/insights",
headers={"Authorization": f"Bearer {API_KEY}"},
params={"limit": 50, "offset": 0}
)
sessions = response.json()
for session in sessions["sessions"]:
print(f"Session {session['id']}: {session['insight']}")
Enterprise にメンバーを招待する
Enterprise にメンバーを招待する
コピー
AIに質問
import os
import requests
API_KEY = os.getenv("DEVIN_API_KEY")
BASE_URL = "https://api.devin.ai/v2/enterprise"
response = requests.post(
f"{BASE_URL}/members/invite",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={
"emails": ["[email protected]", "[email protected]"],
"role": "member"
}
)
result = response.json()
print(f"Invited {len(result['invited'])} members")
監査ログの取得
監査ログの取得
コピー
AIに質問
import os
import requests
from datetime import datetime, timedelta
API_KEY = os.getenv("DEVIN_API_KEY")
BASE_URL = "https://api.devin.ai/v2/enterprise"
start_date = (datetime.now() - timedelta(days=7)).isoformat()
response = requests.get(
f"{BASE_URL}/audit-logs",
headers={"Authorization": f"Bearer {API_KEY}"},
params={"start_date": start_date, "limit": 100}
)
logs = response.json()
for log in logs["logs"]:
print(f"{log['timestamp']} - {log['action']} by {log['actor']}")
組織の権限管理
組織の権限管理
コピー
AIに質問
import os
import requests
API_KEY = os.getenv("DEVIN_API_KEY")
BASE_URL = "https://api.devin.ai/v2/enterprise"
org_id = "your_org_id"
response = requests.post(
f"{BASE_URL}/organizations/{org_id}/permissions",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={
"provider": "github",
"repository": "org/repo-name",
"permission": "read"
}
)
print(f"Permission added: {response.json()}")
エラー処理
エラー処理
コピー
AIに質問
import os
import requests
API_KEY = os.getenv("DEVIN_API_KEY")
BASE_URL = "https://api.devin.ai/v2/enterprise"
try:
response = requests.get(
f"{BASE_URL}/members",
headers={"Authorization": f"Bearer {API_KEY}"}
)
response.raise_for_status()
data = response.json()
except requests.exceptions.HTTPError as e:
if e.response.status_code == 401:
print("APIキーが無効です")
elif e.response.status_code == 403:
print("権限が不足しています - Enterprise管理者権限が必要です")
elif e.response.status_code == 429:
print("レート制限を超過しました - 待機後に再試行してください")
else:
print(f"APIエラー: {e}")
サポート
お困りですか?
API に関するご質問や不具合のご報告は、[email protected] までメールでお問い合わせください。
