Guarda definiciones de ejecución con un nombre e inícialas con POST /v1/runs. Las claves de miembro y de administrador pueden usar todos los endpoints de esta página. Consulta flujos de trabajo para saber cómo se combinan los campos guardados y las sustituciones.
Guardar un flujo de trabajo
/v1/workflows/{name}_, . o -.promptstringobligatoriomodelstringfilesarrayconnectionsobject{"ref": "<saved name>"}.descriptionstringinput_schemaobjectinput de cada ejecución; una ejecución que no coincide se rechaza con 400. Consulta describir la entrada y la salida.output_schemaobjecttimeout_secondsintegershellbooleantrue si se omite.webboolean | objecttrue, o un objeto con allow y search. Desactivado si se omite.Un flujo de trabajo no puede contener input, max_cost_micros ni callback; estos pertenecen a cada ejecución. La respuesta es {"name": "investigate-payment"}.
curl -X PUT $EPHEMERAL_URL/v1/workflows/investigate-payment \
-H "Authorization: Bearer $EPHEMERAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Find out why this payment failed. Follow the playbook.",
"model": "anthropic/claude-haiku-5.5",
"files": [{ "file": "playbook.md" }],
"connections": { "payments": { "ref": "payments-api", "allowed_methods": ["GET"] } },
"timeout_seconds": 120,
"shell": false
}'Iniciar un flujo de trabajo
Envía el nombre del flujo de trabajo a POST /v1/runs con la entrada y el presupuesto de esta ejecución. Cualquier campo de definición que incluyas sustituye al valor guardado para esta ejecución; files y connections sustituyen toda la colección.
curl $EPHEMERAL_URL/v1/runs \
-H "Authorization: Bearer $EPHEMERAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"workflow":"investigate-payment","input":{"payment_id":"pay_123"},"max_cost_micros":500000}'Si el flujo de trabajo no existe, la solicitud falla con 400 y el mensaje saved workflow not found.
Listar flujos de trabajo
/v1/workflowsname. Añade ?detail=true para incluir la description, el input_schema y el output_schema de cada flujo de trabajo que los tenga. Obtén un flujo de trabajo por su nombre para ver su definición completa.[{ "name": "investigate-payment" }, { "name": "weekly-report" }]Con ?detail=true, un agente puede ver qué espera y qué devuelve cada flujo de trabajo:
[
{
"name": "weather",
"description": "Current weather for a city. Input is a city name.",
"input_schema": { "type": "object", "required": ["city"], "properties": { "city": { "type": "string" } } },
"output_schema": { "type": "object", "required": ["city", "temperature_c", "summary"] }
},
{ "name": "weekly-report" }
]Obtener un flujo de trabajo
/v1/workflows/{name}Para editar un flujo de trabajo, obtenlo, modifícalo y vuelve a guardarlo con PUT. Los campos de credenciales que dejes vacíos conservan sus valores almacenados, siempre que el tipo de autenticación de la conexión no cambie.
Eliminar un flujo de trabajo
/v1/workflows/{name}204 No Content. Las ejecuciones que ya lo usaron no se ven afectadas.