Async Jobs
Submit Run API
Submit a new async job for execution
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/jsonstring
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 theIdempotency-Key header to ensure a job is only created once, even if the request is retried:
Webhook Callback
Whenwebhook_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.

