Webhooks API
Register HTTP endpoints to receive real-time event notifications from Orbit. Webhooks are signed with HMAC-SHA256 and delivered with automatic retries. Base path:/v1/webhooks
Create Webhook Endpoint
POST /v1/webhooks
Register a new webhook endpoint to receive events.
The HTTPS URL where events will be delivered
Array of event types to subscribe to (e.g.,
message.delivered, message.failed, call.completed)Human-readable description for this endpoint
List Webhook Endpoints
GET /v1/webhooks
Retrieve all registered webhook endpoints with cursor-based pagination.
Cursor for pagination
Number of results per page (max 100)
Get Webhook Endpoint
GET /v1/webhooks/{id}
Retrieve a single webhook endpoint by ID.
Webhook endpoint ID (e.g.,
wh_abc123)Update Webhook Endpoint
PUT /v1/webhooks/{id}
Update an endpoint’s URL, subscribed events, active status, or description.
Webhook endpoint ID
Updated HTTPS URL
Updated event subscriptions (replaces existing list)
Set to
false to temporarily disable delivery without deleting the endpointUpdated description
Delete Webhook Endpoint
DELETE /v1/webhooks/{id}
Permanently remove a webhook endpoint. Pending deliveries are cancelled.
Webhook endpoint ID
204 No Content
Test Webhook Endpoint
POST /v1/webhooks/{id}/test
Send a test event to a webhook endpoint. The test payload is a webhook.test event with sample data. Use this to verify your endpoint is reachable and processing events correctly.
Webhook endpoint ID
List Deliveries
GET /v1/webhooks/{id}/deliveries
Retrieve the delivery log for a specific webhook endpoint. Each entry shows the HTTP status, response time, retry count, and whether delivery succeeded.
Webhook endpoint ID
Cursor for pagination
Number of results per page (max 100)
Delivery Retry Schedule
Orbit retries failed webhook deliveries on this schedule:| Attempt | Delay after previous |
|---|---|
| 1 | Immediate |
| 2 | 1 minute |
| 3 | 5 minutes |
| 4 | 30 minutes |
| 5 | 2 hours |
| 6 | 8 hours |
| 7 | 24 hours |
Signature Verification
Every webhook delivery includes anX-Devotel-Signature header containing an HMAC-SHA256 signature. Verify it using your endpoint’s signing_secret: