API reference / Operations by tag
webhooks
Outgoing webhooks, signing, event catalogue and delivery log.
16 operations. Base URL https://api.metrixed.com/v1; see authentication, errors and pagination.
Operations
| Method | Path | Summary |
|---|---|---|
| GET | /webhooks | List Webhooks |
| POST | /webhooks | Create Webhook |
| GET | /webhooks/{id} | Get Webhook |
| PATCH | /webhooks/{id} | Update Webhook |
| DELETE | /webhooks/{id} | Delete Webhook |
| GET | /webhooks/{id}/deliveries | Delivery log |
| POST | /webhooks/{id}/deliveries/{deliveryId}/replay | Replay delivery (single attempt, fresh signature, no retries) |
| POST | /webhooks/{id}/deliveries/search | Search the delivery log (status, event, response code, time range, payload text) |
| POST | /webhooks/{id}/rotate | Rotate the signing secret (returned once) |
| POST | /webhooks/{id}/test | Send a signed sample event and return the receiver's response |
| POST | /webhooks/bulk/apply | Bulk edit apply |
| POST | /webhooks/bulk/preview | Bulk edit preview |
| GET | /webhooks/events | Event catalogue with payload samples |
| POST | /webhooks/search | Search Webhooks (advanced) |
| GET | /webhooks/signing | HMAC signing documentation |
| GET | /webhooks/stats | Webhook delivery health for the last N days (default 14): per day delivered / retrying / failed and p95 latency, plus per-endpoint totals |
GET /webhooks
List Webhooks
Operation getWebhooks. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
page | query | integer | no | |
page_size | query | integer | no | |
sort | query | string | no | field or -field |
include | query | string | no | comma-separated relationships |
filter | query | object (free-form) | no | |
q | query | string | no | free-text search |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json WebhookList |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/webhooks?page=1&page_size=50' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"data": [
{}
],
"page": {}
}
POST /webhooks
Create Webhook
Operation postWebhooks. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): WebhookCreate
| Field | Type | Flags | Description |
|---|---|---|---|
name | string | required | |
url | string | required | |
method | enum: POST, GET | ||
secret | string | ||
events | array of string | required | |
headers | object (free-form) | ||
status | string |
curl -X POST 'https://api.metrixed.com/v1/webhooks' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"name":"","url":"","events":[""]}'
Example 201 response:
{
"external_ref": ""
}
GET /webhooks/{id}
Get Webhook
Operation getWebhooksId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl 'https://api.metrixed.com/v1/webhooks/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"external_ref": ""
}
PATCH /webhooks/{id}
Update Webhook
Operation patchWebhooksId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body (application/json, required): WebhookUpdate
| Field | Type | Flags | Description |
|---|---|---|---|
name | string | ||
url | string | ||
method | enum: POST, GET | ||
secret | string | ||
events | array of string | ||
headers | object (free-form) | ||
status | string |
curl -X PATCH 'https://api.metrixed.com/v1/webhooks/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"name":"","url":"","method":"POST","secret":""}'
Example 200 response:
{
"external_ref": ""
}
DELETE /webhooks/{id}
Delete Webhook
Operation deleteWebhooksId. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
curl -X DELETE 'https://api.metrixed.com/v1/webhooks/<id>' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 204 response:
{
"ok": false
}
GET /webhooks/{id}/deliveries
Delivery log
Operation getWebhooksIdDeliveries. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
page | query | integer | no | |
page_size | query | integer | no | |
sort | query | string | no | field or -field |
include | query | string | no | comma-separated relationships |
filter | query | object (free-form) | no | |
q | query | string | no | free-text search |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json LogSearchResult |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/webhooks/<id>/deliveries?page=1&page_size=50' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"rows": [
{}
],
"next_cursor": "",
"has_more": false
}
POST /webhooks/{id}/deliveries/{deliveryId}/replay
Replay delivery (single attempt, fresh signature, no retries)
Operation postWebhooksIdDeliveriesDeliveryIdReplay. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
deliveryId | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json ReplayResult |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/webhooks/<id>/deliveries/<deliveryId>/replay' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"replay_of": "",
"webhook_id": "",
"status": "",
"response_code": 0
}
POST /webhooks/{id}/deliveries/search
Search the delivery log (status, event, response code, time range, payload text)
Operation postWebhooksIdDeliveriesSearch. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body (application/json, required): DeliverySearch
| Field | Type | Flags | Description |
|---|---|---|---|
status | enum: success, retrying, failed | ||
event | string | ||
response_code | integer | ||
from | string (date-time) | ||
to | string (date-time) | ||
q | string | ||
page | integer | ||
page_size | integer |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json LogSearchResult |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/webhooks/<id>/deliveries/search' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"status":"success","event":"","response_code":0,"from":"1970-01-01T00:00:00.000Z"}'
Example 200 response:
{
"rows": [
{}
],
"next_cursor": "",
"has_more": false
}
POST /webhooks/{id}/rotate
Rotate the signing secret (returned once)
Operation postWebhooksIdRotate. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json WebhookSecret |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/webhooks/<id>/rotate' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}
POST /webhooks/{id}/test
Send a signed sample event and return the receiver's response
Operation postWebhooksIdTest. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes |
Request body (application/json, required): WebhookTestRequest
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json WebhookTestResult |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/webhooks/<id>/test' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{}'
Example 200 response:
{}
POST /webhooks/bulk/apply
Bulk edit apply
Operation postWebhooksBulkApply. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): BulkPatch
| Field | Type | Flags | Description |
|---|---|---|---|
ids | array of string | required | |
patches | array of object | required |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json BulkPreview |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/webhooks/bulk/apply' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"ids":[""],"patches":[{"field":"","value":{}}]}'
Example 200 response:
{
"affected": 0,
"changes": [
{}
],
"warnings": [
""
],
"token": ""
}
POST /webhooks/bulk/preview
Bulk edit preview
Operation postWebhooksBulkPreview. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): BulkPatch
| Field | Type | Flags | Description |
|---|---|---|---|
ids | array of string | required | |
patches | array of object | required |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json BulkPreview |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/webhooks/bulk/preview' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"ids":[""],"patches":[{"field":"","value":{}}]}'
Example 200 response:
{
"affected": 0,
"changes": [
{}
],
"warnings": [
""
],
"token": ""
}
GET /webhooks/events
Event catalogue with payload samples
Operation getWebhooksEvents. Auth: API key (Bearer) or session cookie.
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json WebhookEventList |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/webhooks/events' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"data": [
{}
]
}
POST /webhooks/search
Search Webhooks (advanced)
Operation postWebhooksSearch. Auth: API key (Bearer) or session cookie.
Request body (application/json, required): SearchRequest
| Field | Type | Flags | Description |
|---|---|---|---|
filters | array of object | ||
search | string | ||
sort | array of object (free-form) | ||
page | integer | ||
page_size | integer | ||
include | array of string |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json WebhookList |
| default | error | application/json Error |
curl -X POST 'https://api.metrixed.com/v1/webhooks/search' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
--data-raw '{"filters":[{}],"search":"","sort":[{}],"page":0}'
Example 200 response:
{
"data": [
{}
],
"page": {}
}
GET /webhooks/signing
HMAC signing documentation
Operation getWebhooksSigning. Auth: API key (Bearer) or session cookie.
curl 'https://api.metrixed.com/v1/webhooks/signing' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{
"ok": false
}
GET /webhooks/stats
Webhook delivery health for the last N days (default 14): per day delivered / retrying / failed and p95 latency, plus per-endpoint totals
Operation getWebhooksStats. Auth: API key (Bearer) or session cookie.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
days | query | string | no |
| Status | Description | Body |
|---|---|---|
| 200 | ok | application/json WebhookStats |
| default | error | application/json Error |
curl 'https://api.metrixed.com/v1/webhooks/stats' \
-H "Authorization: Bearer $DT_API_KEY" \
-H 'Accept: application/json'
Example 200 response:
{}