curl --request POST \
--url https://api.anchorbrowser.io/v1/webhooks \
--header 'Content-Type: application/json' \
--header 'anchor-api-key: <api-key>' \
--data '
{
"url": "https://your-app.example.com/anchor/webhooks",
"subscribed_events": [
"task.completed",
"task.failed",
"task.healed"
]
}
'{
"id": "wh_01HXJ4MZ7K9P3Q6R8S2T4V5W7Y",
"project_id": "5d2c31f6-ab7e-481a-b6fd-8b4a96a4e197",
"url": "https://your-app.example.com/anchor/webhooks",
"description": "Production task notifications",
"subscribed_events": [
"task.completed"
],
"enabled": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"secret": "36da51b166a69268a59a8d5ee0b32c9f5e5aaee7d301c7a5a36844318e116fc6"
}Create Webhook
Register a new HTTPS endpoint to receive events. The response includes
a one-time secret (HMAC-SHA256 signing key) — store it; Anchor never
returns it again. Up to 5 webhooks per project.
curl --request POST \
--url https://api.anchorbrowser.io/v1/webhooks \
--header 'Content-Type: application/json' \
--header 'anchor-api-key: <api-key>' \
--data '
{
"url": "https://your-app.example.com/anchor/webhooks",
"subscribed_events": [
"task.completed",
"task.failed",
"task.healed"
]
}
'{
"id": "wh_01HXJ4MZ7K9P3Q6R8S2T4V5W7Y",
"project_id": "5d2c31f6-ab7e-481a-b6fd-8b4a96a4e197",
"url": "https://your-app.example.com/anchor/webhooks",
"description": "Production task notifications",
"subscribed_events": [
"task.completed"
],
"enabled": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"secret": "36da51b166a69268a59a8d5ee0b32c9f5e5aaee7d301c7a5a36844318e116fc6"
}Authorizations
API key for your Anchor Browser account, sent as the anchor-api-key header on every
request. Create one at app.anchorbrowser.io (API Access).
Body
HTTPS endpoint Anchor will POST events to. Rejected (400) if it points at loopback / private / link-local IPs, cloud metadata services, internal-only TLDs, AWS STS / IAM / EKS endpoints, or contains basic-auth credentials.
1 - 2048"https://your-app.example.com/anchor/webhooks"
Events this webhook should receive. At least one is required.
1Catalog of webhook event types Anchor can deliver. Adding a new event type is a coordinated change between session-manager (publisher), webhook-dispatcher (consumer), and the dashboard.
task.completed, task.failed, task.cancelled, task.healed, session.ready, session.completed, session.failed, session.recording.ready, batch.completed, batch.failed, intervention.requested, intervention.resolved, identity.authenticated, identity.authentication_failed Response
Webhook created. The secret field is returned ONCE — copy it now.
Same shape as WebhookPublic plus the freshly minted signing secret.
Returned ONLY by create and rotate-secret. Store it the first time —
Anchor never returns it again. If lost, rotate to mint a new one.
Event types this webhook is currently subscribed to.
Catalog of webhook event types Anchor can deliver. Adding a new event type is a coordinated change between session-manager (publisher), webhook-dispatcher (consumer), and the dashboard.
task.completed, task.failed, task.cancelled, task.healed, session.ready, session.completed, session.failed, session.recording.ready, batch.completed, batch.failed, intervention.requested, intervention.resolved, identity.authenticated, identity.authentication_failed Was this page helpful?

