---
title: "Continue a run parked on awaiting_callback"
method: POST
path: "/v1/automations/{automationId}/runs/{runId}/callback/{token}"
tags: ["Automations"]
---

# Continue a run parked on awaiting_callback

`POST /v1/automations/{automationId}/runs/{runId}/callback/{token}`

## Request

- Base URL: `https://api.1claw.co`
- URL: `https://api.1claw.co/v1/automations/{automationId}/runs/{runId}/callback/{token}`
- Auth: none required

Public, authenticated by the per-run token. A spec with an `awaiting_callback`
step gets the token at run start as `{{run.callback_url}}` / `{{run.callback_token}}`;
an earlier step hands the URL to the external system, the step parks the run
(`awaiting_callback`, up to its `timeout_secs`), and this POST continues it. The
JSON body becomes `{{resume.*}}`. 409 when the run is not (yet) parked on a
callback; 401 for a wrong token.

## Path parameters

- `automationId` string, uuid, required
- `runId` string, uuid, required
- `token` string, required

## Request body

- object

## Response `202`

The run, continuing

- AutomationRunResponse
  - `id` string, uuid, required
  - `automation_id` string, uuid, required
  - `agent_id` string, uuid, required
  - `status` 'running' | 'success' | 'completed_with_skips' | 'failed' | 'timed_out' | 'cancelled' | 'awaiting_approval' | 'waiting' | 'awaiting_callback', required: `awaiting_approval`, `waiting` (a `wait_until` park) and `awaiting_callback` are parked states: the run's clock is stopped and it continues when the approval is decided, the wake time passes, or the callback URL is posted to.
  - `paused_reason` 'approval' | 'wait_until' | 'callback', nullable
  - `paused_at_step` integer, nullable
  - `paused_approval_id` string, uuid, nullable
  - `paused_until` string, date-time, nullable
  - `paused_expires_at` string, date-time, nullable
  - `spec_version` integer, nullable
  - `idempotency_key` string, nullable
  - `parent_run_id` string, uuid, nullable: Set when a `call_automation` step started this run.
  - `step_results` unknown
  - `error` string, nullable
  - `trigger_source` string, nullable
  - `context` object, nullable: JSONB context passed between workflow steps
  - `started_at` string, date-time, required
  - `finished_at` string, date-time, nullable
  - `tokens_used` integer, required
  - `cost_cents` integer, required

## Other responses

- `401`: Authentication required or invalid
- `409`: Resource already exists or conflict

---

[API](https://skmtc.dev/1claw/apis/1claw-api.md) · [All operations](https://skmtc.dev/1claw/apis/1claw-api/llms.txt) · [OpenAPI document](https://skmtc.dev/1claw/apis/1claw-api/revisions/5fa0918f3b41?raw)
