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>",
  "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_required": 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>",
  "category": "bug_fixing",
  "child_session_ids": [
    "<string>"
  ],
  "is_archived": false,
  "origin": "webapp",
  "parent_session_id": "<string>",
  "playbook_id": "<string>",
  "service_user_id": "<string>",
  "status_detail": "working",
  "structured_output": {},
  "subcategory": "<string>",
  "title": "<string>",
  "user_id": "<string>"
}

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.

Permisos

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

Permisos adicionales para características avanzadas

FuncionalidadPermiso requerido
create_as_user_idImpersonateOrgSessions

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_)

Parámetros de ruta

org_id
string | null
requerido

ID de la organización (prefijo: org-)

Ejemplo:

"org-abc123def456"

Parámetros de consulta

devin_id
string | null

Cuerpo

application/json
prompt
string
requerido
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_required
boolean | null

Cuando es true (predeterminado), el agente DEBE llamar a provide_structured_output con is_final=true antes de que finalice su turno. Cuando es false, la herramienta está disponible, pero no es obligatorio usarla; no se garantiza que se llame en un turno determinado.

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
category
enum<string> | null

La categoría de caso de uso asignada a la sesión, si se ha ejecutado la categorización. Solo se rellena en los endpoints GET/list.

Opciones disponibles:
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
child_session_ids
string[] | null
is_archived
boolean
predeterminado:false
origin
enum<string> | null

El origen desde el que se creó la sesión.

Opciones disponibles:
webapp,
slack,
teams,
api,
linear,
jira,
scheduled,
automation,
cli,
desktop,
other
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 status es 'running': 'working' (trabajando activamente), 'waiting_for_user' (requiere intervención del usuario), 'waiting_for_approval' (a la espera de aprobación de la acción en modo seguro) o 'finished' (tarea completada). Cuando status es 'suspended': el motivo de la suspensión, como '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' o 'error'. Solo se rellena en los endpoints GET/list.

Opciones disponibles:
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
structured_output
Structured Output · object

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

subcategory
string | null

El nombre para mostrar de la subcategoría asignada a la sesión. 'Other' cuando se establece una categoría, pero no se asignó ni se resolvió ninguna subcategoría. Solo se rellena en los endpoints GET/list.

title
string | null
user_id
string | null