Skip to main content
Webhooks let your application receive real-time notifications when events occur within Buildmarkets — account approvals, funding transfers, order fills, and more. Rather than polling the API repeatedly to check for status changes, you register an HTTPS endpoint and Buildmarkets pushes event payloads to it as things happen. This page covers how to register and manage webhook endpoints. For a full reference of every event type and its payload structure, see Webhook Events Reference. For payload verification, retry logic, and delivery guarantees, see Webhook Security & Delivery.

How webhooks work

  1. Register an HTTPS endpoint via POST /v1/webhooks
  2. Receive a signing secret — used to verify that payloads come from Buildmarkets
  3. Buildmarkets delivers a JSON payload to your URL via HTTP POST whenever a subscribed event fires
  4. Your server validates the signature, processes the event, and returns a 2xx status
  5. 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 empty events array to subscribe to all event types. Pass specific event names to subscribe to a subset.

POST /v1/webhooks

Request body

Response body (201 Created)

⚠️ Store the secret now. It is returned exactly once in the 201 response 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: The secret field is not included in list or get responses — only in the initial 201 creation response.

Get a webhook

Returns the configuration for a single registered webhook by ID. The signing secret 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

Buildmarkets sends a test payload with "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

Updated 3 months ago