Subscribe to events. events is an array of event-type strings (e.g. offer.accepted) or ["*"] for every event. See the Events & webhook catalog guide for the full list. The signing secret is returned with the subscription. The url must be a public https address.
Any other failure (validation, auth, rate limiting, a resource that doesn't exist) returns this same envelope with a non-2xx status — error.code is stable and safe to branch on; error.requestId is worth logging and including in a support request.
Example error response
{
"error": {
"code": "VALIDATION_ERROR",
"message": "A human-readable description of what went wrong.",
"requestId": "req_01hxyz..."
}
}
get/v1/webhooks/subscriptions
List a merchant's webhook subscriptions
curl -X GET https://api.tbbnetwork.com/v1/webhooks/subscriptions \
-H "Authorization: Bearer sk_sandbox_..." \
Any other failure (validation, auth, rate limiting, a resource that doesn't exist) returns this same envelope with a non-2xx status — error.code is stable and safe to branch on; error.requestId is worth logging and including in a support request.
Example error response
{
"error": {
"code": "VALIDATION_ERROR",
"message": "A human-readable description of what went wrong.",
"requestId": "req_01hxyz..."
}
}
post/v1/webhooks/subscriptions/{id}/disable
Disable a webhook subscription — no request body; ownership is derived from the subscription itself plus the calling merchant's own credential, not a body claim.
Any other failure (validation, auth, rate limiting, a resource that doesn't exist) returns this same envelope with a non-2xx status — error.code is stable and safe to branch on; error.requestId is worth logging and including in a support request.
Example error response
{
"error": {
"code": "VALIDATION_ERROR",
"message": "A human-readable description of what went wrong.",
"requestId": "req_01hxyz..."
}
}
get/v1/webhooks/deliveries
List webhook deliveries for one of your subscriptions. subscriptionId is required.
curl -X GET https://api.tbbnetwork.com/v1/webhooks/deliveries \
-H "Authorization: Bearer sk_sandbox_..." \
Replay a delivery — must be idempotent on the merchant's receiving end, since the original attempt(s) may also have succeeded after all retries appeared exhausted.
Any other failure (validation, auth, rate limiting, a resource that doesn't exist) returns this same envelope with a non-2xx status — error.code is stable and safe to branch on; error.requestId is worth logging and including in a support request.
Example error response
{
"error": {
"code": "VALIDATION_ERROR",
"message": "A human-readable description of what went wrong.",
"requestId": "req_01hxyz..."
}
}
post/v1/webhooks/business-subscriptions
Register a Business webhook — fires on Space booking lifecycle events (space_booking.created/consent_required/consented/paid/cancelled/completed/no_show) and, with includeMerchantEvents, on the trade, offer, listing and checkout events of every Merchant the Business runs. Requires the Owner, an Admin or a Developer on the Business. The url must be a public https address.
Any other failure (validation, auth, rate limiting, a resource that doesn't exist) returns this same envelope with a non-2xx status — error.code is stable and safe to branch on; error.requestId is worth logging and including in a support request.
Example error response
{
"error": {
"code": "VALIDATION_ERROR",
"message": "A human-readable description of what went wrong.",
"requestId": "req_01hxyz..."
}
}
Any other failure (validation, auth, rate limiting, a resource that doesn't exist) returns this same envelope with a non-2xx status — error.code is stable and safe to branch on; error.requestId is worth logging and including in a support request.
Example error response
{
"error": {
"code": "VALIDATION_ERROR",
"message": "A human-readable description of what went wrong.",
"requestId": "req_01hxyz..."
}
}
Disable a Business webhook subscription — no request body; ownership is derived from the subscription itself plus the caller's own session, not a body claim.
Any other failure (validation, auth, rate limiting, a resource that doesn't exist) returns this same envelope with a non-2xx status — error.code is stable and safe to branch on; error.requestId is worth logging and including in a support request.
Example error response
{
"error": {
"code": "VALIDATION_ERROR",
"message": "A human-readable description of what went wrong.",
"requestId": "req_01hxyz..."
}
}
get/v1/webhooks/business-deliveries
List Business webhook deliveries for one of your subscriptions. subscriptionId is required.
Any other failure (validation, auth, rate limiting, a resource that doesn't exist) returns this same envelope with a non-2xx status — error.code is stable and safe to branch on; error.requestId is worth logging and including in a support request.
Example error response
{
"error": {
"code": "VALIDATION_ERROR",
"message": "A human-readable description of what went wrong.",
"requestId": "req_01hxyz..."
}
}