Job failed
Delivered to your webhook_url when a humanization job fails. Reserved words are refunded first.
Authorizations
API key authentication. Pass your key as Authorization: Bearer <key>. Keys look like wib_live_... and are created in the Wibble dashboard. A key must have the humanize scope to use these endpoints.
Headers
Unique delivery ID (UUID). Stable across retries of the same event.
The event type, matching the payload type field.
humanize.job.succeeded, humanize.job.failed HMAC-SHA256 signature of "{X-Wibble-Timestamp}.{raw request body}" using the API key's webhook signing secret, hex-encoded and prefixed with sha256=.
^sha256=[0-9a-f]{64}$Unix timestamp in seconds at which the request was signed. Recomputed on each retry attempt.
Body
Payload delivered to your webhook_url when a job reaches a terminal state.
The job ID.
"7b42f1d6-0a8c-4e8f-9a21-c6d9f47c2b10"
The event type. Matches the X-Wibble-Event header.
humanize.job.succeeded, humanize.job.failed Terminal job status.
succeeded, failed The processing mode. Always humanize.
"humanize"
Number of words counted in the input text.
9
Number of API words reserved for this job.
9
Net words charged (words_reserved minus refunds).
9
Absolute URL for polling this job, or null if unavailable.
"https://wibble.ai/api/v1/humanize/7b42f1d6-0a8c-4e8f-9a21-c6d9f47c2b10"
ISO 8601 timestamp when the job was created.
"2026-06-14T12:00:00.000Z"
ISO 8601 timestamp when the job completed, or null.
"2026-06-14T12:00:42.000Z"
The humanized text. Present only when type is humanize.job.succeeded; omitted otherwise.
"Mitochondria are the cell's powerhouses."
Present only when the job status is failed; omitted otherwise.
Response
Return any 2xx status to acknowledge receipt. Non-2xx responses are retried up to the attempt limit.