How webhooks work
- Register an HTTPS endpoint via
POST /v1/webhooks - Receive a signing secret — used to verify that payloads come from Buildmarkets
- Buildmarkets delivers a JSON payload to your URL via HTTP POST whenever a subscribed event fires
- Your server validates the signature, processes the event, and returns a
2xxstatus - Buildmarkets retries failed deliveries automatically (see Security & Delivery)
The secret is shown only once. Store it securely at registration time — it cannot be retrieved again. If lost, delete the webhook and create a new one.
Endpoints
Create a webhook
Registers a new HTTPS endpoint to receive events. Pass an emptyevents array to subscribe to all event types. Pass specific event names to subscribe to a subset.
POST /v1/webhooks
Request body
Valid event types
Any value inevents must be one of the following. An unrecognised event name is rejected with 400.
For the full payload each event delivers, see the Webhook Events Reference.
Response body (201 Created)
⚠️ Store thesecretnow. It is returned exactly once in the201response and cannot be retrieved again. If lost, the webhook must be deleted and recreated.
Example request — subscribe to all events
Example request — subscribe to specific events
Example response
List webhooks
Returns all registered webhook endpoints for your account.GET /v1/webhooks
Example request
Example response
Note: Thesecretfield is not included in list or get responses — only in the initial201creation response.
Get a webhook
Returns the configuration for a single registered webhook by ID. The signingsecret is not returned.
GET /v1/webhooks/{webhookId}
Path parameters
Example request
Update a webhook
Updates the URL, subscribed events, or status of an existing webhook. Only include fields you want to change.PATCH /v1/webhooks/{webhookId}
Path parameters
Request body (all fields optional)
Example request — disable a webhook temporarily
Example request — update URL and event subscriptions
Send a test event
Triggers a synthetic test payload to be sent to the webhook’s registered URL. Use this to verify that your endpoint is reachable and correctly processing Buildmarkets payloads without waiting for a real event to occur.POST /v1/webhooks/{webhookId}/test
Path parameters
Example request
"event_type": "webhook.test" to the registered URL. Your endpoint should respond with a 2xx status. Check the delivery history to see whether it was received successfully.
Delete a webhook
Permanently removes the webhook. Delivery to the registered URL stops immediately. This action cannot be undone.DELETE /v1/webhooks/{webhookId}
Returns 204 No Content on success.
Example request
Common errors
Next steps
- Webhook Events Reference → — Full list of event types and their payload schemas
- Webhook Security & Delivery → — Signature verification, retry logic, and delivery history