Iniciar uma execução de workflow
Inicie um fluxo de trabalho com suas entradas e receba de volta um id de execução.
POST {base_url}/workflow-runsRequer runs:write.
Requisição
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",
"name": "Story 48213",
"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"
}
}| Campo do corpo | Necessário | Significado |
|---|---|---|
org_id | sim | sua organização; deve corresponder à chave |
project_id | sim | a tela em que a execução e seus ativos são colocados — o id na URL do Studio, …/editor/<project_id>/canvas |
workflow_id | sim | o workflow a ser executado |
inputs | sim | um objeto indexado pela key de cada entrada |
idempotency_key | recomendado | torna uma nova tentativa segura — veja Convenções |
workflow_version_id | não | fixa a versão da qual você lê as entradas |
webhook_id | não | envia os eventos desta execução para um endpoint registrado — veja Webhooks |
name | não | o título da sessão do Studio da execução, exibido como API: <name>. Uma linha, até 250 caracteres. Se omitido, usa o nome do workflow |
Como enviar cada entrada
accepts | Enviar | Com allow_multiple |
|---|---|---|
value | a própria string, número ou booleano | um array deles |
url | um único link HTTPS público, como uma string | um array de links |
option | uma options[].id, exatamente como fornecido | um array de ids |
Resposta
202 Accepted
{
"run": {
"id": "0192f3d0-6c31-7a52-b4e8-3f9d1a7c5e20",
"status": "queued",
"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"
}
}| Campo de resposta | Significado |
|---|---|
id | o id da execução. Faça polling dele e mantenha-o junto ao seu próprio registro |
status | queued na aceitação |
chat_id | a sessão do Studio em que a execução acontece. Abra-a para acompanhar a execução ou responder a uma pergunta que ela fizer |
ingested | uma entrada por arquivo obtido, na ordem enviada. Útil para confirmar que você enviou o que pretendia |
poll_after_seconds | quanto tempo esperar antes da primeira consulta |
expires_at | quando uma execução inacabada é abandonada como expired |
Cada link é obtido e verificado antes de o 202. Uma execução que retorna aceita já tem seus arquivos em mãos, então um link inválido gera um 400 imediato, em vez de uma falha dez minutos depois.