Create a new session
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.
ManageOrgSessions permission at the organization level.
| Feature | Required Permission |
|---|---|
create_as_user_id | ImpersonateOrgSessions |
create_as_user_id parameter allows creating a session on behalf of another user. This requires:
ImpersonateOrgSessions permissionUseDevinSessions permissionService User credential (prefix: cog_)
Organization ID (prefix: org-)
"org-abc123def456"
1 - 2083Override the VM platform for the session (e.g. 'windows'). When omitted (or set to 'inherit'), a session created by a parent Devin inherits the parent's platform; otherwise the organization default is used. Pass 'default' to force the organization default regardless of parent. Any other value must match a platform configured for your organization (case-insensitive); unrecognized values are rejected with a 400 whose error body lists the available platform labels for the org.
When true (default), the agent MUST call provide_structured_output with is_final=true before its turn ends. When false, the tool is available but not required — it is not guaranteed to be called in a given turn.
JSON Schema (Draft 7) for validating structured output. Max 64KB. Must be self-contained (no external $ref).
Successful Response
new, claimed, running, exit, error, suspended, resuming The session's assigned use-case category, if categorisation has run. Only populated on get/list endpoints.
bug_fixing, ci_cd_and_devops, code_quality_and_security, code_review_and_analysis, data_and_automation, documentation_and_content, feature_development, migrations_and_upgrades, other, refactoring_and_optimization, research_and_exploration, unit_test_generation The origin from which the session was created.
webapp, slack, teams, api, linear, jira, automation, cli, desktop, other Additional detail about the session's current status. When status is 'running': 'working' (actively working), 'waiting_for_user' (needs user input), 'waiting_for_approval' (awaiting action approval in safe mode), or 'finished' (task complete). When status is 'suspended': the reason for suspension such as 'inactivity', 'user_request', 'usage_limit_exceeded', 'out_of_credits', 'out_of_quota', 'no_quota_allocation', 'payment_declined', 'org_usage_limit_exceeded', 'total_session_limit_exceeded', or 'error'. Only populated on get/list endpoints.
working, waiting_for_user, waiting_for_approval, finished, inactivity, user_request, usage_limit_exceeded, out_of_credits, out_of_quota, no_quota_allocation, payment_declined, org_usage_limit_exceeded, total_session_limit_exceeded, error Validated structured output from the session. Only populated on get/list endpoints.
The session's assigned subcategory display name. 'Other' when a category is set but no subcategory was assigned or resolved. Only populated on get/list endpoints.