Create a Task
Hand work to a vetted human: publishing a post, cutting a video, making a phone call. You
provide the type and its input (schema from the catalog); you get back a task
whose id is the callback ID. Input is validated up front — a bad request fails before any
human is engaged.
CLI
Copy the example input from worca tasks types <name>, edit it, create the task:
worca tasks create --type social_post --input @post.json --no-wait --json
{ "id": "tsk_3b91…", "status": "queued" }
Or block until the human delivers: swap --no-wait for --wait and the command returns the
finished result (exit code 0 delivered, 20 failed).
REST API
curl -s -X POST "$WORCA_API_URL/v1/tasks" \
-H "Authorization: Bearer $WORCA_API_KEY" \
-H "Content-Type: application/json" \
-d @- <<'JSON'
{
"type": "social_post",
"input": {
"platform": "tiktok",
"steps": ["Log in", "Create post", "Paste caption", "Publish"],
"content": "Caption text, verbatim.",
"account_access": "Credentials via the agreed channel"
}
}
JSON
201 returns the task object with status: "queued". Invalid input returns 400 with
per-field details. The REST surface has no blocking mode — poll the task
until it's terminal.
Custom work is quoted first
The custom type adds one stop: after creation the task is priced by Worca,
status becomes awaiting_approval with quote_cents set, and your agent approves
(worca tasks approve / POST /v1/tasks/:id/approve) or declines before any work starts.
Next: track tasks & results.