Saltar al contenido principal
Esta página ofrece ejemplos de código para casos de uso comunes de la API Enterprise v2.

Ejemplos rápidos

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": "Equipo de Ingeniería",
        "acu_limit": 1000
    }
)

org = response.json()
print(f"Organización creada: {org['id']}")
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"Ciclo actual: {current_cycle['start_date']} a {current_cycle['end_date']}")
print(f"ACUs utilizados: {current_cycle['acus_used']}")
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']}")
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"Invitados {len(result['invited'])} miembros")
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']}")
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"Permiso agregado: {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("API key inválida")
    elif e.response.status_code == 403:
        print("Permisos insuficientes - se requiere administrador de Enterprise")
    elif e.response.status_code == 429:
        print("Límite de velocidad excedido - espere y reintente")
    else:
        print(f"Error de API: {e}")

Soporte

¿Necesitas ayuda?

Si tienes preguntas sobre la API o quieres reportar incidencias, envía un correo electrónico a [email protected]