Documentation Index
Fetch the complete documentation index at: https://libretto.sh/docs/llms.txt
Use this file to discover all available pages before exploring further.
Use the webhooks API to store tenant-level job result destinations that receiveAll routes on this page requirejob.completedandjob.failedevents.
x-api-key.
How webhook delivery works
Libretto Cloud supports multiple stored webhook endpoints per tenant. Every active stored endpoint receives the event payload. Webhook delivery order is:- If a job has
callback_urlandcallback_secret, Libretto Cloud delivers only to that per-job callback. - Otherwise, Libretto Cloud delivers to every active stored webhook endpoint for the tenant.
- If
skip_callbacksis true, Libretto Cloud does not deliver callbacks or stored webhooks.
callback_url and callback_secret on jobs/create or schedules/create when you want a one-off or environment-specific callback, such as a dev endpoint.
Create a stored webhook endpoint
UsePOST /v1/webhooks/create to create a stored webhook endpoint.
POST /v1/webhooks/create
Create a stored webhook endpoint.
Request fields:
urlsigning_secretdescription: optionalactive: optional, defaulttrue
successwebhook_endpoint_idmessage
POST /v1/webhooks/list
List stored webhook endpoints for the current tenant.
Response fields:
webhook_endpoints
webhook_endpoint_idurldescriptionactivecreated_atupdated_at
POST /v1/webhooks/update
Update a stored webhook endpoint.
Request fields:
idurl: optionalsigning_secret: optionaldescription: optionalactive: optional
successmessage
POST /v1/webhooks/delete
Delete a stored webhook endpoint.
Request fields:
id
successmessage
Delivered payload
Stored webhook endpoints receive:event:job.completedorjob.failedjob_idnonceworkflowdeployment_idstatusresulterrormapped_stack
x-webhook-signature: HMAC SHA-256 of the JSON body using the storedsigning_secretx-event-type: the event name
Jobs and Logs
See the jobs API that triggers webhook delivery.
Schedules
Use per-schedule callbacks for recurring runs.
Libretto Cloud API overview
See the shared request format.