Webhooks
Bridge's Webhooks API allows developers to receive real-time event notifications from Bridge systems, avoiding the need for inefficient polling. Webhooks provide a faster, more scalable way to stay updated on activity like customer creation, transfer status changes, and more.
Integration Steps
Here’s a typical step-by-step process to implement webhooks:
- Create your webhook
- Call the Create a webhook endpoint — the webhook starts in a disabled state.
- Implement signature verification.
- Follow the guide on Webhook Event Signature Verification to validate event authenticity.
- Test your integration
- Use List upcoming events to preview upcoming events.
- Use Send event to simulate event delivery.
- View delivery attempts using View logs.
- Enable your webhook
- Once verified, activate the endpoint using the Update a webhook endpoint.
Endpoint Requirements
When creating a webhook endpoint, you must provide:
- A url that uses the
https://
scheme. - A valid X.509 SSL certificate.
- Upon creation, Bridge will generate and assign a
PKI public key
(inPEM
format) to your webhook. This is used to verify the authenticity of events delivered to your endpoint.
→ See Webhook Event Signature Verification for implementation details.
Event Delivery
- Events are delivered via
POST
requests with theapplication/json
content type. - Your endpoint must respond with a
200 OK
status as quickly as possible. - Failure to respond promptly will trigger automatic retries on Bridge’s side.
If Your Endpoint Is Down or Unavailable
If your endpoint is unavailable when Bridge attempts to deliver events, we will automatically retry for up to two days. After that period, retries stop and you’ll need to manually trigger redelivery:
- Use the Send Event endpoint to initiate immediate redelivery.
- Once the request succeeds, all outstanding events queued for that webhook endpoint will be resent automatically.
Webhook States
Each webhook endpoint has a status field that determines its current state.
State | Description |
---|---|
active | Default state for all new webhooks. Events are not delivered automatically. Use this state to test webhook functionality. You must disable a webhook to change its URL. Activate it via Update a webhook |
disabled | Webhook is live and will automatically receive events. You can pause delivery by updating it back to disabled . |
deleted | Set when a webhook is deleted via Delete a webhook. This is a terminal state; the webhook can no longer be modified or queried. You cannot set this status manually via PUT. |
Updated 8 days ago