跳转到主要内容
POST
/
v3
/
organizations
/
{org_id}
/
sessions
创建会话
curl --request POST \
  --url https://api.devin.ai/v3/organizations/{org_id}/sessions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "prompt": "<string>",
  "advanced_mode": "analyze",
  "attachment_urls": [
    "<string>"
  ],
  "bypass_approval": true,
  "child_playbook_id": "<string>",
  "create_as_user_id": "<string>",
  "knowledge_ids": [
    "<string>"
  ],
  "max_acu_limit": 123,
  "playbook_id": "<string>",
  "repos": [
    "<string>"
  ],
  "secret_ids": [
    "<string>"
  ],
  "session_links": [
    "<string>"
  ],
  "session_secrets": [
    {
      "key": "<string>",
      "value": "<string>",
      "sensitive": true
    }
  ],
  "structured_output_schema": {},
  "tags": [
    "<string>"
  ],
  "title": "<string>"
}
'
{
  "acus_consumed": 123,
  "created_at": 123,
  "org_id": "<string>",
  "pull_requests": [
    {
      "pr_state": "<string>",
      "pr_url": "<string>"
    }
  ],
  "session_id": "<string>",
  "status": "new",
  "tags": [
    "<string>"
  ],
  "updated_at": 123,
  "url": "<string>",
  "child_session_ids": [
    "<string>"
  ],
  "is_advanced": false,
  "is_archived": false,
  "parent_session_id": "<string>",
  "playbook_id": "<string>",
  "service_user_id": "<string>",
  "status_detail": "working",
  "structured_output": {},
  "title": "<string>",
  "user_id": "<string>"
}

权限

需要在组织级别具备 ManageOrgSessions 权限的服务用户账号。

高级功能的额外权限

功能所需权限
advanced_modeUseDevinExpert
create_as_user_idImpersonateOrgSessions

高级模式

advanced_mode 参数会为自动化工作流启用特定的会话行为。启用后,会话将使用高级人物设定,并根据所选模式对提示词进行转换。

可用模式

模式描述必需参数
analyze分析现有 Devin 会话以获取洞察session_links
create基于会话分析创建新的 playbook无(可选:session_links
improve根据反馈改进现有 playbookchild_playbook_id
batch为一组任务启动多个 Devin 会话child_playbook_id
manage管理 Knowledge

批处理模式选项

在使用 batch 模式时,可以选择将 bypass_approval 设置为 true,以跳过创建批处理会话时的审批步骤。这对于需要会话在无需人工审批的情况下立即启动的全自动化工作流非常有用。

用户模拟

create_as_user_id 参数允许代表其他用户创建会话。前提条件如下:
  1. 服务用户必须具有 ImpersonateOrgSessions 权限
  2. 目标用户必须是该组织的成员
  3. 目标用户必须具有 UseDevinSessions 权限

授权

Authorization
string
header
必填

服务用户凭据(前缀:cog_)

请求体

application/json
prompt
string
必填
advanced_mode
enum<string> | null
可用选项:
analyze,
create,
improve,
batch,
manage
attachment_urls
string<uri>[] | null
Required string length: 1 - 2083
bypass_approval
boolean | null
child_playbook_id
string | null
create_as_user_id
string | null
knowledge_ids
string[] | null
max_acu_limit
integer | null
playbook_id
string | null
repos
string[] | null
secret_ids
string[] | null
session_secrets
SessionSecretInput · object[] | null
structured_output_schema
Structured Output Schema · object

用于验证结构化输出的 JSON Schema(Draft 7),最大 64KB。必须是自包含的(不允许外部 $ref)。

tags
string[] | null
title
string | null

响应

成功响应

acus_consumed
number
必填
created_at
integer
必填
org_id
string
必填
pull_requests
SessionPullRequest · object[]
必填
session_id
string
必填
status
enum<string>
必填
可用选项:
new,
claimed,
running,
exit,
error,
suspended,
resuming
tags
string[]
必填
updated_at
integer
必填
url
string
必填
child_session_ids
string[] | null
is_advanced
boolean
默认值:false
is_archived
boolean
默认值:false
parent_session_id
string | null
playbook_id
string | null
service_user_id
string | null
status_detail
enum<string> | null

对会话当前状态的补充说明。

当 status 为 running 时,detail 可能为:

  • working:正在执行任务;
  • waiting_for_user:等待用户输入;
  • waiting_for_approval:在安全模式下等待操作审批;
  • finished:任务已完成。

当 status 为 suspended 时,detail 表示挂起原因,例如:

  • inactivity:长时间无操作;
  • user_request:用户请求挂起;
  • usage_limit_exceeded:超出使用上限;
  • out_of_credits:余额/额度已用尽;
  • payment_declined:付款被拒;
  • org_usage_limit_exceeded:组织使用配额超限;
  • error:发生错误。

该字段仅会在 GET /list 类型的端点中返回。

可用选项:
working,
waiting_for_user,
waiting_for_approval,
finished,
inactivity,
user_request,
usage_limit_exceeded,
out_of_credits,
payment_declined,
org_usage_limit_exceeded,
error
structured_output
Structured Output · object

来自会话的已验证结构化输出。仅在 GET/LIST 端点中返回。

title
string | null
user_id
string | null