Skip to content
Loading keys…

Webhook Endpoints

Register and manage the URLs Wajub sends signed event notifications to.

A webhook endpoint is a URL you register to receive signed, real-time notifications for the event types you subscribe to. See Webhooks for the full setup guide.

private key required

Managing webhook endpoints requires the private key (sk.). A live endpoint's URL must use https://, otherwise the call answers 422; a sandbox endpoint also accepts http://.

Endpoints

MethodPathDescription
POST/webhooksCreate a webhook endpoint
GET/webhooksList webhook endpoints
GET/webhooks/{id}Retrieve a webhook endpoint
PUT/webhooks/{id}Update a webhook endpoint
DELETE/webhooks/{id}Delete a webhook endpoint
POST/webhooks/{id}/rotate-secretRotate the signing secret

Rules an endpoint must follow

Each rule refused is a 422 naming the field.

RuleRefused with
A live endpoint's URL uses https://. A sandbox one may use http://A live webhook endpoint must use an https:// URL.
The URL resolves to a public internet address: private and internal addresses are refused. For a local test, use wajub listenThe url must not point to a private or internal IP address., or must not resolve to a private IP address for a hostname
One endpoint per URL in each environment, at creation and when a URL is changedA webhook endpoint with this URL already exists.
At least one event type, at creation and on PUT. ["*"] takes every type; an empty list is refusedThe events field must have at least 1 items.
A URL up to 2048 characters, a type up to 100, a description up to 500The field's own length message

Event type names are not checked: a misspelt one is stored and never matches. Copy them from the Event catalog.

PUT /webhooks/{id} with "active": false disables the endpoint without deleting it: nothing more is delivered to it, and the retries already queued for it are abandoned. "active": true enables it again; events recorded in between are not sent, and you can replay them with POST /events/{id}/resend.

Events

EventTrigger
webhook_endpoint.createdEndpoint registered
webhook_endpoint.updatedEndpoint updated
webhook_endpoint.deletedEndpoint removed

What did you think of this content?