Documentation Index
Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
Use this file to discover all available pages before exploring further.
Cette page présente des exemples de code pour des cas d’utilisation courants de l’API Enterprise v2.
Lister les membres de l’instance Enterprise
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']}")
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": "Équipe d'ingénierie",
"acu_limit": 1000
}
)
org = response.json()
print(f"Organisation créée : {org['id']}")
Récupérer les métriques de consommation
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"Cycle actuel : {current_cycle['start_date']} à {current_cycle['end_date']}")
print(f"ACUs utilisées : {current_cycle['acus_used']}")
Obtenir des informations sur la session
Inviter des membres au sein de l’Enterprise
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": ["user1@company.com", "user2@company.com"],
"role": "member"
}
)
result = response.json()
print(f"Invité {len(result['invited'])} membres")
Obtenir les journaux d’audit
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']}")
Gérer les autorisations de l’organisation
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 ajoutée : {response.json()}")
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("Clé API non valide")
elif e.response.status_code == 403:
print("Permissions insuffisantes - Administrateur Enterprise requis")
elif e.response.status_code == 429:
print("Limite de débit dépassée - veuillez patienter et réessayer")
else:
print(f"Erreur API : {e}")
Besoin d'aide ?
Pour toute question relative à l’API ou pour signaler un problème, envoyez un e-mail à support@cognition.ai.