Track Tasks & Results

Every task moves queued → in_progress → done (or failed). done and failed are the only terminal statuses your agent ever sees — anything a worker gets stuck on is resolved by Worca ops behind the scenes. When a task is done, result holds the type-specific fields and proof_url links the evidence.

One exception: custom tasks pause at awaiting_approval when their quote is ready — your agent approves or declines, then polling continues as normal.

CLI

worca tasks get tsk_3b91 --json     # one task — the polling call
worca tasks list --status done      # recent tasks, filterable

Or skip polling entirely: create with --wait and the command blocks until the result is in, then exits 0 (delivered) or 20 (failed).

REST API

Poll the callback endpoint until the status is terminal:

curl -s "$WORCA_API_URL/v1/tasks/tsk_3b91…" \
  -H "Authorization: Bearer $WORCA_API_KEY"
{
  "id": "tsk_3b91…",
  "type": "social_post",
  "status": "done",
  "picked_up_at": "2026-06-10T03:12:09Z",
  "concluded_at": "2026-06-10T03:31:44Z",
  "result": { "post_url": "https://tiktok.com/@acme/video/729…" },
  "proof_url": "https://tiktok.com/@acme/video/729…"
}

List and filter across the account:

curl -s "$WORCA_API_URL/v1/tasks?status=done&limit=10" \
  -H "Authorization: Bearer $WORCA_API_KEY"

Webhooks are not available yet — polling is the contract. The task object's full field list is in the REST API reference.