Saltar al contenido principal
POST
/
v3
/
organizations
/
{org_id}
/
sessions
Crear una sesión
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>"
}

Permisos

Requiere un usuario de servicio con el permiso ManageOrgSessions a nivel de la organización.

Permisos adicionales para características avanzadas

FuncionalidadPermiso requerido
advanced_modeUseDevinExpert
create_as_user_idImpersonateOrgSessions

Modo avanzado

El parámetro advanced_mode habilita comportamientos de sesión especializados para flujos de trabajo de automatización. Cuando está activado, la sesión utiliza la persona avanzada y el prompt se transforma según el modo seleccionado.

Modos disponibles

ModeDescriptionRequired Parameters
analyzeAnaliza sesiones existentes de Devin para extraer informaciónsession_links
createCrea un nuevo playbook a partir del análisis de sesionesNinguno (opcional: session_links)
improveMejora un playbook existente a partir del feedbackchild_playbook_id
batchInicia múltiples sesiones de Devin para una lista de tareaschild_playbook_id
manageAdministra KnowledgeNinguno

Opciones del modo por lotes

Cuando utilices el modo batch, puedes opcionalmente configurar bypass_approval en true para omitir el paso de aprobación en la creación de sesiones por lotes. Esto es útil para flujos de trabajo completamente automatizados en los que quieres que las sesiones comiencen de inmediato sin aprobación manual.

Suplantación de usuario

El parámetro create_as_user_id permite crear una sesión en nombre de otro usuario. Esto requiere:
  1. El usuario de servicio debe tener el permiso ImpersonateOrgSessions
  2. El usuario objetivo debe ser miembro de la organización
  3. El usuario objetivo debe tener el permiso UseDevinSessions

Autorizaciones

Authorization
string
header
requerido

Credencial de usuario de servicio (prefijo: cog_)

Cuerpo

application/json
prompt
string
requerido
advanced_mode
enum<string> | null
Opciones disponibles:
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

Esquema JSON (Draft 7) para validar la salida estructurada. Máx. 64 KB. Debe ser autocontenido (sin $ref externos).

tags
string[] | null
title
string | null

Respuesta

Respuesta correcta

acus_consumed
number
requerido
created_at
integer
requerido
org_id
string
requerido
pull_requests
SessionPullRequest · object[]
requerido
session_id
string
requerido
status
enum<string>
requerido
Opciones disponibles:
new,
claimed,
running,
exit,
error,
suspended,
resuming
tags
string[]
requerido
updated_at
integer
requerido
url
string
requerido
child_session_ids
string[] | null
is_advanced
boolean
predeterminado:false
is_archived
boolean
predeterminado:false
parent_session_id
string | null
playbook_id
string | null
service_user_id
string | null
status_detail
enum<string> | null

Detalle adicional sobre el estado actual de la sesión. Cuando el estado es "running": "working" (trabajando activamente), "waiting_for_user" (requiere interacción del usuario), "waiting_for_approval" (esperando la aprobación de una acción en modo seguro) o "finished" (tarea completada). Cuando el estado es "suspended": indica el motivo de la suspensión, como "inactivity", "user_request", "usage_limit_exceeded", "out_of_credits", "payment_declined", "org_usage_limit_exceeded" o "error". Solo se completa en endpoints GET/list.

Opciones disponibles:
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

Salida estructurada validada de la sesión. Solo se incluye en endpoints GET/LIST.

title
string | null
user_id
string | null