Skip to main content
POST
Submit a new long-running agent task for asynchronous execution.
string
Unique key to prevent duplicate job submissions. If a job with this key already exists, the existing job is returned.
string
required
Must be application/json
string
required
The task prompt or instruction for the agent to execute.
string
Path to the agent configuration YAML file. Defaults to agents.yaml.
string
Name of an installed recipe to execute. Mutually exclusive with agent_file / agent_yaml. When set, the prompt field is passed to the recipe as its input data.
object
Recipe configuration overrides passed through to the recipe runtime (e.g. {"model": "gpt-4o-mini"}). Defaults to {}.
string
Framework to use for execution. Defaults to praisonai.
integer
Maximum execution time in seconds. Defaults to 3600 (1 hour).
string
URL to receive a callback when the job completes. The callback includes the job result.
string
Group related jobs together with a session identifier.
When both recipe_name and agent_file are provided, recipe_name wins — the executor takes the recipe branch first (praisonai/jobs/executor.py:_run_recipe). Provide one or the other, not both.

Response

string
required
Unique identifier for the submitted job (e.g., run_abc123).
string
required
Initial job status, typically queued.
string
required
ISO 8601 timestamp of job creation.
string
required
URL to poll for job status updates.
string
required
URL for SSE streaming of job progress.

Response Headers

Idempotency

Use the Idempotency-Key header to ensure a job is only created once, even if the request is retried:

Webhook Callback

When webhook_url is provided, the server sends a POST request to that URL when the job completes:

Error Responses

If recipe_name points at a recipe that isn’t installed, the job is created (returns 202), then transitions to failed with the resolver’s error in error. Poll /api/v1/runs/{job_id} to see it.

See Also