job.completed
Sent to the job's webhookUrl (falling back to the API key's default webhook URL) when a job completes. For generate jobs the payload has NO operation field and data is { bookId, covers[] }; for cover-operation jobs (variation, edit_image, upscale, audiobook_cover) the payload includes operation and data is the operation's result (sourceCoverId + covers[] for variation/edit_image; covers[] with an asset field for upscale/audiobook_cover). Internal _storagePath fields are stripped. Signed with the API key's webhook secret (see partner webhook docs).
postWebhookjobCompleted
Payload
Response
Return any 2xx to acknowledge receipt.
Changes
Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.