> ## 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.

# Exemplos de uso da API Enterprise v2

> Exemplos de código e casos de uso comuns da API Enterprise

Esta página apresenta exemplos de código para casos de uso comuns da API Enterprise v2.

<div id="quick-examples">
  ## Exemplos rápidos
</div>

<AccordionGroup>
  <Accordion title="Listar membros da Enterprise">
    ```python theme={null}
    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}"}
    )

    data = response.json()
    for member in data["items"]:
        print(f"{member['email']} - {member['enterprise_role']}")
    ```
  </Accordion>

  <Accordion title="Criar uma organização">
    ```python theme={null}
    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={
            "display_name": "Engineering Team",
            "acu_limit": 1000
        }
    )

    org = response.json()
    print(f"Created organization: {org['org_id']}")
    ```
  </Accordion>

  <Accordion title="Obter métricas de consumo">
    ```python theme={null}
    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()
    for cycle in cycles:
        print(f"Cycle: {cycle['start']} to {cycle['end']}")
    ```
  </Accordion>

  <Accordion title="Obter insights da sessão">
    ```python theme={null}
    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, "skip": 0}
    )

    data = response.json()
    for session in data["items"]:
        print(f"Session {session['session_id']}: {session['session_analysis']}")
    ```
  </Accordion>

  <Accordion title="Convidar membros para a Enterprise">
    ```python theme={null}
    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"]
        }
    )

    result = response.json()
    print(f"Invited {result['invited_count']} members")
    ```
  </Accordion>

  <Accordion title="Obter logs de auditoria">
    ```python theme={null}
    import os
    import requests
    from datetime import datetime, timedelta

    API_KEY = os.getenv("DEVIN_API_KEY")
    BASE_URL = "https://api.devin.ai/v2/enterprise"

    after = (datetime.now() - timedelta(days=7)).date().isoformat()

    response = requests.get(
        f"{BASE_URL}/audit-logs",
        headers={"Authorization": f"Bearer {API_KEY}"},
        params={"after": after, "limit": 100}
    )

    logs = response.json()
    for log in logs["audit_logs"]:
        print(f"{log['audit_log_id']}: {log.get('action')}")
    ```
  </Accordion>

  <Accordion title="Gerenciar permissões da organização">
    ```python theme={null}
    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}/git/permissions",
        headers={
            "Authorization": f"Bearer {API_KEY}",
            "Content-Type": "application/json"
        },
        json=[
            {
                "connection_id": "your_connection_id",
                "repo_url": "https://github.com/org/repo-name"
            }
        ]
    )

    result = response.json()
    print(f"Created permissions: {result['permission_ids']}")
    ```
  </Accordion>

  <Accordion title="Tratamento de erros">
    ```python theme={null}
    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("Invalid API key")
        elif e.response.status_code == 403:
            print("Insufficient permissions - Enterprise Admin required")
        elif e.response.status_code == 429:
            print("Rate limit exceeded - wait and retry")
        else:
            print(f"API error: {e}")
    ```
  </Accordion>
</AccordionGroup>

<div id="support">
  ## Suporte
</div>

<Card title="Precisa de ajuda?">
  Em caso de dúvidas sobre a API ou para relatar problemas, envie um e-mail para [support@cognition.ai](mailto:support@cognition.ai).
</Card>
