Démarrer une exécution de workflow
Démarrez un workflow avec vos entrées et obtenez en retour un identifiant d’exécution.
POST {base_url}/workflow-runsNécessite runs:write.
Requête
POST {base_url}/workflow-runs
Authorization: Bearer mor_live_…
Content-Type: application/json
{
"org_id": "0192f3c1-7a44-7d10-9b22-1e5c8f0a3b61",
"project_id": "0192f3c2-4b18-7e93-8c07-9d2a6f4e1c58",
"workflow_id": "0192f3c3-9d21-7c44-b8e1-5a7f2c9d4e10",
"workflow_version_id": "0192f3c4-1a02-7bb3-9f40-2c6e8d1a5b77",
"idempotency_key": "story-48213-v2",
"inputs": {
"story_document": "https://cdn.example.com/stories/48213.pdf",
"character_sheets": [
"https://cdn.example.com/chars/48213-a.png",
"https://cdn.example.com/chars/48213-b.png"
],
"episode_count": 8,
"tone": "thriller"
}
}| Champ du corps | Requis | Signification |
|---|---|---|
org_id | oui | votre organisation ; doit correspondre à la clé |
project_id | oui | le canevas dans lequel l'exécution et ses ressources arrivent — l'identifiant dans son URL Studio, …/editor/<project_id>/canvas |
workflow_id | oui | le workflow à exécuter |
inputs | oui | un objet indexé par la clé |
idempotency_key | recommandé | rend une nouvelle tentative sûre — voir Conventions |
workflow_version_id | non | verrouille la version à partir de laquelle vous lisez les entrées |
webhook_id | non | envoie les événements de cette exécution à un point de terminaison enregistré — voir Webhooks |
Comment envoyer chaque entrée
accepte | Envoyer | Avec allow_multiple |
|---|---|---|
valeur | la chaîne, le nombre ou le booléen lui-même | un tableau de ceux-ci |
url | un lien HTTPS public, sous forme de chaîne | un tableau de liens |
option | un options[].idexactement tel quel | un tableau d'identifiants |
Réponse
202 Accepté
{
"run": {
"id": "0192f3d0-6c31-7a52-b4e8-3f9d1a7c5e20",
"status": "en file d'attente",
"workflow_id": "0192f3c3-9d21-7c44-b8e1-5a7f2c9d4e10",
"workflow_version_id": "0192f3c4-1a02-7bb3-9f40-2c6e8d1a5b77",
"project_id": "0192f3c2-4b18-7e93-8c07-9d2a6f4e1c58",
"chat_id": "0192f3c6-2e75-7b14-9a63-7c4e2d8f1b09",
"ingested": [
{ "input": "story_document", "bytes": 184320, "mime_type": "application/pdf" },
{ "input": "character_sheets", "bytes": 962144, "mime_type": "image/png" },
{ "input": "character_sheets", "bytes": 883021, "mime_type": "image/png" }
],
"poll_after_seconds": 60,
"expires_at": "2026-09-23T04:10:00Z"
}
}| Champ de réponse | Signification |
|---|---|
id | l'identifiant de l'exécution. Interrogez-le et conservez-le dans votre propre registre |
statut | en file d'attente à l'acceptation |
chat_id | la session Studio dans laquelle l'exécution se déroule. Ouvrez-la pour suivre l'exécution ou répondre à une question qu'elle pose |
ingested | une entrée par fichier récupéré, dans l'ordre envoyé. Utile pour confirmer que vous avez envoyé ce que vous vouliez envoyer |
poll_after_seconds | combien de temps attendre avant le premier sondage |
expires_at | lorsqu'une exécution inachevée est abandonnée en tant que expiré |
Chaque lien est récupéré et vérifié avant le 202. Une exécution qui revient acceptée a ses fichiers en main, donc un mauvais lien provoque immédiatement un 400 plutôt qu'un échec dix minutes plus tard.