batch.failed
⚠️
Preview — this feature is being built; the design below is the spec.
Sent when: The batch could not run at all, usually because the input file failed validation (bad JSON on a line, an unknown model, a request over the size limit).
| Property | Value |
|---|---|
| Scope | One workspace. Register with an inference key at /v1/webhooks. |
| Area | Batches |
| Subscribe with | "events": ["batch.failed"], or a prefix such as "batch.*" |
Payload
{
"id": "evt_01JCA5D7F9H1K3M5P7R9",
"type": "batch.failed",
"created_at": "2026-11-05T10:00:00Z",
"workspace_id": "wrkspc_01JC0A2C4E6G8J0L2N4Q",
"data": {
"object": {
"id": "batch_01JBXF3P8K",
"type": "batch",
"status": "failed",
"errors": [
{
"line": 118,
"code": "invalid_json",
"message": "Line 118 is not valid JSON."
}
],
"request_counts": {
"total": 0,
"succeeded": 0,
"failed": 0,
"canceled": 0
}
}
}
}data.object matches what the corresponding GET endpoint returned when the event happened. Prompt and output text are never included.
What to do
- Fix the lines listed in
errorsand create a new batch; a failed batch is never retried by Syntic. - Nothing was billed.
Delivery
Deliveries are signed, retried with back-off for up to 3 days, and may arrive more than once or out of order. De-duplicate on the syntic-event-id header and compare timestamps before acting. See Webhooks.
Was this page helpful?