Vai al contenuto principale
POST
/
v3
/
organizations
/
{org_id}
/
sessions
Crea sessione
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>"
}

Autorizzazioni

Richiede un utente di servizio con l’autorizzazione ManageOrgSessions a livello di organizzazione.

Autorizzazioni aggiuntive per funzionalità avanzate

FunzionalitàAutorizzazione richiesta
advanced_modeUseDevinExpert
create_as_user_idImpersonateOrgSessions

Modalità avanzata

Il parametro advanced_mode abilita comportamenti di sessione specializzati per i flussi di lavoro di automazione. Quando è attivato, la sessione utilizza la persona avanzata e il prompt viene trasformato in base alla modalità selezionata.

Modalità disponibili

ModalitàDescrizioneParametri richiesti
analyzeAnalizza le sessioni di Devin esistenti per estrarre informazioni approfonditesession_links
createCrea un nuovo playbook basato sull’analisi delle sessioniNessuno (facoltativo: session_links)
improveMigliora un playbook esistente in base al feedbackchild_playbook_id
batchAvvia più sessioni di Devin per un elenco di attivitàchild_playbook_id
manageGestisci KnowledgeNessuno

Opzioni della modalità batch

Quando utilizzi la modalità batch, puoi facoltativamente impostare bypass_approval su true per saltare il passaggio di approvazione per la creazione delle sessioni batch. Questo è utile per flussi di lavoro completamente automatizzati in cui desideri che le sessioni vengano avviate immediatamente senza approvazione manuale.

Impersonazione utente

Il parametro create_as_user_id consente di creare una sessione per conto di un altro utente. Questo richiede che:
  1. L’utente di servizio abbia l’autorizzazione ImpersonateOrgSessions
  2. L’utente di destinazione sia un membro dell’organizzazione
  3. L’utente di destinazione abbia l’autorizzazione UseDevinSessions

Autorizzazioni

Authorization
string
header
obbligatorio

Credenziale dell'utente del servizio (prefisso: cog_)

Corpo

application/json
prompt
string
obbligatorio
advanced_mode
enum<string> | null
Opzioni disponibili:
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) per la convalida dell’output strutturato. Dimensione massima 64 KB. Deve essere autonomo (nessun $ref esterno).

tags
string[] | null
title
string | null

Risposta

Risposta con esito positivo

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

Dettagli aggiuntivi sullo stato corrente della sessione. Quando lo stato è "running": "working" (sta lavorando attivamente), "waiting_for_user" (in attesa di input dall’utente), "waiting_for_approval" (in attesa di approvazione di un’azione in modalità sicura) oppure "finished" (attività completata). Quando lo stato è "suspended": il motivo della sospensione, ad esempio "inactivity", "user_request", "usage_limit_exceeded", "out_of_credits", "payment_declined", "org_usage_limit_exceeded" oppure "error". Valorizzato solo negli endpoint GET/list.

Opzioni disponibili:
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

Output strutturato convalidato dalla sessione. Impostato solo sugli endpoint GET/list.

title
string | null
user_id
string | null