REST API
Authentication, request and response formats, paging, and every endpoint of the webhooks REST API.
The webhooks API manages a project’s sources, destinations, and connections, and reads the events and deliveries they make. Send every request to https://hooks-api.digitospace.com. The paths below are relative to it.
Senders do not use this API. They send webhooks to a source’s own address, which needs no key. See Receive webhooks.
Authentication
Send an API key with the Webhooks service as a bearer token on every request:
Authorization: Bearer <token>A missing or unknown key gets 401 with the code unauthenticated. See Set up your environment for the permissions each call needs.
Requests and responses
- Request bodies are JSON, sent with
Content-Type: application/json, and at most 1 MB. - Times are RFC 3339 in UTC, such as
2026-10-01T08:30:00Z. - IDs are 26 lowercase letters and digits.
Every successful response wraps its result in data, with details about the request in meta:
{
"data": { "id": "01m3m4v8kq0c6f3qg2x7w9d1ne", "name": "Mobile money payments" },
"meta": { "requestId": "01m3c081dbf3j55x7hsa7wc1yj" }
}Every failure is a problem document with a stable code. See Errors.
Paging
Lists are newest first, 50 to a page. Pass limit for up to 200 to a page.
For the next page, pass meta.page.nextCursor from the last response as cursor. It is null on the last page.
GET /v1/projects/{project}/events?limit=100&cursor=01m3my2b42vahrbx8zt4fw84wcEndpoints
| Method | Path | Does |
|---|---|---|
GET | /v1/projects/{project}/sources | List sources |
POST | /v1/projects/{project}/sources | Create a source |
GET | /v1/projects/{project}/sources/{source} | Read a source |
PUT | /v1/projects/{project}/sources/{source} | Rename a source |
DELETE | /v1/projects/{project}/sources/{source} | Delete a source, its connections, and its events |
POST | /v1/projects/{project}/sources/{source}/url | Give it a new address |
GET | /v1/projects/{project}/destinations | List destinations |
POST | /v1/projects/{project}/destinations | Create a destination |
GET | /v1/projects/{project}/destinations/{destination} | Read a destination |
PUT | /v1/projects/{project}/destinations/{destination} | Replace a destination’s settings |
DELETE | /v1/projects/{project}/destinations/{destination} | Delete a destination, its connections, and its deliveries |
GET | /v1/projects/{project}/destinations/{destination}/secret | Read its signing secret |
POST | /v1/projects/{project}/destinations/{destination}/secret | Give it a new signing secret |
GET | /v1/projects/{project}/connections | List connections |
POST | /v1/projects/{project}/connections | Create a connection |
GET | /v1/projects/{project}/connections/{connection} | Read a connection |
PUT | /v1/projects/{project}/connections/{connection} | Replace a connection’s settings |
DELETE | /v1/projects/{project}/connections/{connection} | Delete a connection |
GET | /v1/projects/{project}/events | List events |
GET | /v1/projects/{project}/events/{event} | Read an event and its deliveries |
GET | /v1/projects/{project}/deliveries | List deliveries |
GET | /v1/projects/{project}/deliveries/{delivery} | Read a delivery and its attempts |
POST | /v1/projects/{project}/deliveries/{delivery}/resend | Send it again |
POST | /v1/projects/{project}/deliveries/{delivery}/cancel | Cancel it |
POST | /v1/projects/{project}/deliveries/resend | Send up to 100 again |
POST | /v1/projects/{project}/deliveries/resend-failed | Send every failed one again |
POST | /v1/projects/{project}/transformations/try | Try a transformation |
Last updated