Appearance
Tasks
Top-level user outcomes. Skilleo plans the workflow, runs it, and reviews the result against your objective.
POST /v1/tasks
Start a task. Returns 202 with a tsk_ id.
Request body
| Field | Type | Description |
|---|---|---|
objective | string | Required. What to produce |
constraints | object | Optional: max_cost_usd, optimize_for, endpoint_id, compute_id |
Example
bash
curl -s -X POST https://api.skilleo.org/v1/tasks \
-H "Authorization: Bearer $SKILLEO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"objective":"Create an illustrated wildlife post about Kenya","constraints":{"max_cost_usd":2.0,"optimize_for":"balanced","endpoint_id":"ep_..."}}'GET /v1/tasks/{id}
Poll task status.
bash
curl -s https://api.skilleo.org/v1/tasks/tsk_abc123 \
-H "Authorization: Bearer $SKILLEO_API_KEY"| Status | Meaning |
|---|---|
planning | Manager started |
blocked | Plan valid but capabilities missing |
executing | Workflow running |
reviewing | Reviewer evaluating |
completed | Review passed; final_artifact_id set |
failed | Workflow, review, or retry budget exhausted |
Response data includes plan_id, workflow_id, final_artifact_id, review, review_attempts, and cost_usd.
Manager flow
POST /v1/tasks → planner → executable?
no → blocked (missing capabilities)
yes → workflow → reviewer → pass | retry (max 2) | failReviewer contract
data.review when present:
| Field | Description |
|---|---|
decision | pass, retry, or fail |
score | 0–1 overall |
criteria | objective_alignment, technical_success, output_completeness |
issues | String list |
recommended_action | For retry: node_id, action, constraints |
SDK
python
task = client.tasks.create(
objective="Create an illustrated wildlife post about Kenya",
constraints={"max_cost_usd": 2.0},
)
done = client.tasks.wait(task["id"])
print(done["data"]["final_artifact_id"])