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

# v2 使用示例

> v2 Enterprise API 的代码示例和常见用例

本页提供 v2 Enterprise API 常见用例的代码示例。

<div id="quick-examples">
  ## 快速示例
</div>

<AccordionGroup>
  <Accordion title="列出 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}"}
    )

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

  <Accordion title="创建组织">
    ```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={
            "name": "工程团队",
            "acu_limit": 1000
        }
    )

    org = response.json()
    print(f"已创建组织: {org['id']}")
    ```
  </Accordion>

  <Accordion title="获取用量指标">
    ```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()
    current_cycle = cycles["cycles"][0]
    print(f"当前周期：{current_cycle['start_date']} 至 {current_cycle['end_date']}")
    print(f"已使用 ACU：{current_cycle['acus_used']}")
    ```
  </Accordion>

  <Accordion title="获取会话洞察">
    ```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, "offset": 0}
    )

    sessions = response.json()
    for session in sessions["sessions"]:
        print(f"Session {session['id']}: {session['insight']}")
    ```
  </Accordion>

  <Accordion title="邀请成员加入企业版">
    ```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"],
            "role": "member"
        }
    )

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

  <Accordion title="获取审计日志">
    ```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"

    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']}")
    ```
  </Accordion>

  <Accordion title="管理组织权限">
    ```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}/permissions",
        headers={
            "Authorization": f"Bearer {API_KEY}",
            "Content-Type": "application/json"
        },
        json={
            "provider": "github",
            "repository": "org/repo-name",
            "permission": "read"
        }
    )

    print(f"权限已添加: {response.json()}")
    ```
  </Accordion>

  <Accordion title="错误处理">
    ```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("API key 无效")
        elif e.response.status_code == 403:
            print("权限不足 - 需要 Enterprise 管理员权限")
        elif e.response.status_code == 429:
            print("已超出速率限制 - 请稍后重试")
        else:
            print(f"API 错误:{e}")
    ```
  </Accordion>
</AccordionGroup>

<div id="support">
  ## 支持
</div>

<Card title="需要帮助？">
  如有关于 API 的疑问或需要报告问题，请发送邮件至 [support@cognition.ai](mailto:support@cognition.ai)
</Card>
