Skip to main content

Webhook subscription API reference

List event types

Requires webhooks:read. Example:
Response:

Create subscription

Requires webhooks:write. Use an Idempotency-Key header. Request:
The events array accepts concrete event types (e.g., transfer.completed) and namespace wildcards of the form <namespace>.* (e.g., transfer.*, payment.*, account.*). A wildcard subscribes to every event in that family, including any future events Brale adds. Wildcards are supported for all event families — not just transfer. Wildcard request example:
Response:

List subscriptions

Requires webhooks:read. Response:

Get subscription

Requires webhooks:read. The sharedSecret is not returned.

Update subscription

Requires webhooks:write. Use an Idempotency-Key header. Request:
Important: if events is included, it replaces the entire event set. It does not merge with existing events. Note: the subscription API has an intentional path-shape inconsistency:
  • GET /accounts/{account_id}/webhooks/{subscription_id} (get one)
  • PATCH /accounts/{account_id}/webhooks/subscriptions/{subscription_id} (update)
  • DELETE /accounts/{account_id}/webhooks/subscriptions/{subscription_id} (archive)

Archive subscription

Requires webhooks:write. Archiving stops future deliveries. Delivery history is retained.

List delivery attempts

Requires webhooks:read. Optional pagination:
Do not send both page[after] and page[before]. Delivery logs are useful for debugging:
  • Whether Brale attempted delivery
  • What HTTP status your endpoint returned
  • Whether a delivery was retried
  • Failure messages
  • Attempt numbers