POST per change to each endpoint you register, usually within a minute.
Every change to a job is sent, whoever made it: the Platform UI, the API, the CLI, an automation, or a connected TMS.
Add an endpoint
- Open Settings → Webhooks.
- Select Add endpoint.
- Enter an HTTPS URL on a public host.
- Optionally limit the endpoint to one project. Leave All projects selected to receive every project.
- Tick the changes to receive. Leave them all unticked to receive every change.
- Copy the signing secret. It is shown once. Select Rotate secret to replace it.
webhook.test event. Select Recent deliveries to see what was sent, each response status, and the next retry.
You need the API keys permission to manage webhooks.
Events
Due date, title, and description changes are sent for jobs created in Hyperlocalise Platform, not for jobs synced from a connected TMS.
An endpoint with no changes ticked receives every type, including types added later, so ignore types you do not handle.
Statuses are
queued, running, succeeded, failed, waiting_for_review, and cancelled.
Payload
job.status_changed, previousStatus is the same as status.
The payload holds IDs and statuses only. Call the jobs API with the job ID for details.
Verify signatures
Signatures follow the Standard Webhooks specification. Each request carries three headers:
Any Standard Webhooks library verifies these headers. For example, in Node.js:
Retries
Return any2xx status within 10 seconds to accept a delivery. Hyperlocalise Platform does not follow redirects.
Failed deliveries are retried after 1 minute, 5 minutes, 30 minutes, 2 hours, 5 hours, 10 hours, and 10 hours, so for about 28 hours in all. Deliveries can arrive out of order; use createdAt to order them.
After 40 failed attempts in a row, the endpoint is disabled. A disabled endpoint receives nothing, and deliveries still queued for it are dropped. Fix the receiver, then select Enable in Settings → Webhooks.

