{
"event": "batch.failed",
"id": "evt_123",
"created_at": "2026-07-09T18:00:12.000Z",
"data": {
"batch": {
"id": "batch_9f2c8a",
"tags": [
"docs"
],
"crawl": {
"source": {
"type": "start_url",
"url": "https://example.com/docs"
},
"max_pages": 500,
"max_depth": 0,
"follow_subdomains": true,
"url_pattern": "^https://example\\.com/docs/"
},
"input": {
"reserved": 24817,
"reserved_is_ceiling": false,
"submitted": 25000,
"duplicates": 183,
"invalid": 0
},
"progress": {
"succeeded": 18091,
"failed": 311,
"pending": 6415
},
"credits": {
"reserved": 24817,
"refunded": 6726,
"ocr_charged": 42,
"net": 18091
},
"timing": {
"created_at": "<string>",
"started_at": "<string>",
"completed_at": "<string>"
},
"page_errors": [
{
"code": "WEBSITE_ACCESS_ERROR",
"count": 204
}
],
"failure": {
"code": "stalled",
"message": "Batch stopped reporting progress and was finalized automatically"
},
"results": {
"expires_at": "<string>",
"files": [
{
"url": "<string>",
"items": 123,
"bytes": 123
}
]
}
}
}
}Receive batch.failed webhooks
Sent when a batch fails. Return any 2xx response to acknowledge delivery.
{
"event": "batch.failed",
"id": "evt_123",
"created_at": "2026-07-09T18:00:12.000Z",
"data": {
"batch": {
"id": "batch_9f2c8a",
"tags": [
"docs"
],
"crawl": {
"source": {
"type": "start_url",
"url": "https://example.com/docs"
},
"max_pages": 500,
"max_depth": 0,
"follow_subdomains": true,
"url_pattern": "^https://example\\.com/docs/"
},
"input": {
"reserved": 24817,
"reserved_is_ceiling": false,
"submitted": 25000,
"duplicates": 183,
"invalid": 0
},
"progress": {
"succeeded": 18091,
"failed": 311,
"pending": 6415
},
"credits": {
"reserved": 24817,
"refunded": 6726,
"ocr_charged": 42,
"net": 18091
},
"timing": {
"created_at": "<string>",
"started_at": "<string>",
"completed_at": "<string>"
},
"page_errors": [
{
"code": "WEBSITE_ACCESS_ERROR",
"count": 204
}
],
"failure": {
"code": "stalled",
"message": "Batch stopped reporting progress and was finalized automatically"
},
"results": {
"expires_at": "<string>",
"files": [
{
"url": "<string>",
"items": 123,
"bytes": 123
}
]
}
}
}
}data.batch for the batch state at failure, or retrieve the batch for its current details.
Use List Webhook Deliveries to inspect retained events and Retry a Webhook Delivery to resend one.Headers
Identifies the Context.dev webhook sender.
"Context.dev-Webhooks/1.0"
Which final status the batch reached. Matches the event field in the request body.
batch.failed Unique event ID. Matches the top-level id field in the request body.
"evt_123"
Delivery ID for status checks and retries.
"whd_0123456789abcdef0123456789abcdef"
Attempt number, starting at 1.
x >= 1HMAC signature in the form t=<unix>,v1=<hmac>. The HMAC is SHA-256 over "{t}.{rawRequestBody}", keyed with the webhook_secret from the submit response. Sent when a webhook was configured through either webhook or webhookUrl. Verify the unmodified request body with a constant-time comparison and reject stale timestamps.
"t=1783620012,v1=087d98aada1e39f9d24d65951f51e672da12b2f9ea1c02c7c8c5ef254f5d4068"
Body
Payload sent when a batch fails.
Which final status the batch reached. Mirrors the X-Context-Event header.
batch.failed Unique event ID. Mirrors the X-Context-Id header.
"evt_123"
When the delivery was generated.
"2026-07-09T18:00:12.000Z"
Show child attributes
Show child attributes
Response
Webhook accepted.
Was this page helpful?