> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# v2 Usage Examples

> Code examples and common use cases for the Enterprise API

This page provides code examples for common v2 Enterprise API use cases.

## Quick Examples

> **List Enterprise Members**
>
> ```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']}")
> ```

> **Create an Organization**
>
> ```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']}")
> ```

> **Get Consumption Metrics**
>
> ```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']}")
> ```

> **Get Session Insights**
>
> ```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']}")
> ```

> **Invite Members to 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")
> ```

> **Get Audit Logs**
>
> ```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')}")
> ```

> **Manage Organization Permissions**
>
> ```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']}")
> ```

> **Error Handling**
>
> ```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}")
> ```

## Support

> **Need Help?**
>
> For questions about the API or to report issues, email [support@cognition.ai](mailto:support@cognition.ai)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.