Passer au contenu principal
POST
/
v3beta1
/
organizations
/
{org_id}
/
sessions
Créer une session
curl --request POST \
  --url https://api.devin.ai/v3beta1/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>",
  "structured_output": {},
  "title": "<string>",
  "user_id": "<string>"
}

Autorisations

Nécessite un compte de service disposant de l’autorisation ManageOrgSessions au niveau de l’organisation.

Autorisations supplémentaires pour les fonctions avancées

FonctionnalitéAutorisation requise
advanced_modeUseDevinExpert
create_as_user_idImpersonateOrgSessions

Mode avancé

Le paramètre advanced_mode active des comportements de session spécifiques pour les flux de travail d’automatisation. Lorsqu’il est activé, la session utilise la persona avancée et l’invite est transformée en fonction du mode sélectionné.

Modes disponibles

ModeDescriptionParamètres requis
analyzeAnalyser des sessions Devin existantes pour en extraire des informations exploitablessession_links
createCréer un nouveau playbook à partir de l’analyse de sessionsAucun (facultatif : session_links)
improveAméliorer un playbook existant à partir des retourschild_playbook_id
batchDémarrer plusieurs sessions Devin pour une liste de tâcheschild_playbook_id
manageGérer KnowledgeAucun

Options du mode batch

Lorsque vous utilisez le mode batch, vous pouvez, si vous le souhaitez, définir bypass_approval sur true pour passer l’étape de validation lors de la création des sessions batch. C’est utile pour les workflows entièrement automatisés où vous souhaitez que les sessions démarrent immédiatement, sans validation manuelle.

Usurpation d’identité d’utilisateur

Le paramètre create_as_user_id permet de créer une session au nom d’un autre utilisateur. Pour cela, les conditions suivantes doivent être remplies :
  1. L’utilisateur de service doit avoir l’autorisation ImpersonateOrgSessions
  2. L’utilisateur cible doit être membre de l’organisation
  3. L’utilisateur cible doit avoir l’autorisation UseDevinSessions

Autorisations

Authorization
string
header
requis

Identifiant de compte de service (préfixe : cog_)

Corps

application/json
prompt
string
requis
advanced_mode
enum<string> | null
Options 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

JSON Schema (Draft 7) pour la validation de la sortie structurée. Taille maximale : 64 Ko. Doit être autonome (aucune référence externe via $ref).

tags
string[] | null
title
string | null

Réponse

Réponse en cas de succès

acus_consumed
number
requis
created_at
integer
requis
org_id
string
requis
pull_requests
SessionPullRequest · object[]
requis
session_id
string
requis
status
enum<string>
requis
Options disponibles:
new,
claimed,
running,
exit,
error,
suspended,
resuming
tags
string[]
requis
updated_at
integer
requis
url
string
requis
child_session_ids
string[] | null
is_advanced
boolean
défaut:false
is_archived
boolean
défaut:false
parent_session_id
string | null
structured_output
Structured Output · object

Sortie structurée validée provenant de la session. Renseignée uniquement sur les endpoints GET/list.

title
string | null
user_id
string | null