Skip to content
Docs

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

MethodPathSummary
GET/webhooksList Webhooks
POST/webhooksCreate Webhook
GET/webhooks/{id}Get Webhook
PATCH/webhooks/{id}Update Webhook
DELETE/webhooks/{id}Delete Webhook
GET/webhooks/{id}/deliveriesDelivery log
POST/webhooks/{id}/deliveries/{deliveryId}/replayReplay delivery (single attempt, fresh signature, no retries)
POST/webhooks/{id}/deliveries/searchSearch the delivery log (status, event, response code, time range, payload text)
POST/webhooks/{id}/rotateRotate the signing secret (returned once)
POST/webhooks/{id}/testSend a signed sample event and return the receiver's response
POST/webhooks/bulk/applyBulk edit apply
POST/webhooks/bulk/previewBulk edit preview
GET/webhooks/eventsEvent catalogue with payload samples
POST/webhooks/searchSearch Webhooks (advanced)
GET/webhooks/signingHMAC signing documentation
GET/webhooks/statsWebhook 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.

ParameterInTypeRequiredDescription
pagequeryintegerno
page_sizequeryintegerno
sortquerystringnofield or -field
includequerystringnocomma-separated relationships
filterqueryobject (free-form)no
qquerystringnofree-text search
StatusDescriptionBody
200okapplication/json WebhookList
defaulterrorapplication/json Error
bash
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:

json
{
  "data": [
    {}
  ],
  "page": {}
}

POST /webhooks

Create Webhook

Operation postWebhooks. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): WebhookCreate

FieldTypeFlagsDescription
namestringrequired
urlstringrequired
methodenum: POST, GET
secretstring
eventsarray of stringrequired
headersobject (free-form)
statusstring
StatusDescriptionBody
201okapplication/json Webhook
defaulterrorapplication/json Error
bash
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:

json
{
  "external_ref": ""
}

GET /webhooks/{id}

Get Webhook

Operation getWebhooksId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
200okapplication/json Webhook
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/webhooks/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "external_ref": ""
}

PATCH /webhooks/{id}

Update Webhook

Operation patchWebhooksId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): WebhookUpdate

FieldTypeFlagsDescription
namestring
urlstring
methodenum: POST, GET
secretstring
eventsarray of string
headersobject (free-form)
statusstring
StatusDescriptionBody
200okapplication/json Webhook
defaulterrorapplication/json Error
bash
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:

json
{
  "external_ref": ""
}

DELETE /webhooks/{id}

Delete Webhook

Operation deleteWebhooksId. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
204okapplication/json Ok
defaulterrorapplication/json Error
bash
curl -X DELETE 'https://api.metrixed.com/v1/webhooks/<id>' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 204 response:

json
{
  "ok": false
}

GET /webhooks/{id}/deliveries

Delivery log

Operation getWebhooksIdDeliveries. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes
pagequeryintegerno
page_sizequeryintegerno
sortquerystringnofield or -field
includequerystringnocomma-separated relationships
filterqueryobject (free-form)no
qquerystringnofree-text search
StatusDescriptionBody
200okapplication/json LogSearchResult
defaulterrorapplication/json Error
bash
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:

json
{
  "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.

ParameterInTypeRequiredDescription
idpathstringyes
deliveryIdpathstringyes
StatusDescriptionBody
200okapplication/json ReplayResult
defaulterrorapplication/json Error
bash
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:

json
{
  "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.

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): DeliverySearch

FieldTypeFlagsDescription
statusenum: success, retrying, failed
eventstring
response_codeinteger
fromstring (date-time)
tostring (date-time)
qstring
pageinteger
page_sizeinteger
StatusDescriptionBody
200okapplication/json LogSearchResult
defaulterrorapplication/json Error
bash
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:

json
{
  "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.

ParameterInTypeRequiredDescription
idpathstringyes
StatusDescriptionBody
200okapplication/json WebhookSecret
defaulterrorapplication/json Error
bash
curl -X POST 'https://api.metrixed.com/v1/webhooks/<id>/rotate' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{}

POST /webhooks/{id}/test

Send a signed sample event and return the receiver's response

Operation postWebhooksIdTest. Auth: API key (Bearer) or session cookie.

ParameterInTypeRequiredDescription
idpathstringyes

Request body (application/json, required): WebhookTestRequest

StatusDescriptionBody
200okapplication/json WebhookTestResult
defaulterrorapplication/json Error
bash
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:

json
{}

POST /webhooks/bulk/apply

Bulk edit apply

Operation postWebhooksBulkApply. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): BulkPatch

FieldTypeFlagsDescription
idsarray of stringrequired
patchesarray of objectrequired
StatusDescriptionBody
200okapplication/json BulkPreview
defaulterrorapplication/json Error
bash
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:

json
{
  "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

FieldTypeFlagsDescription
idsarray of stringrequired
patchesarray of objectrequired
StatusDescriptionBody
200okapplication/json BulkPreview
defaulterrorapplication/json Error
bash
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:

json
{
  "affected": 0,
  "changes": [
    {}
  ],
  "warnings": [
    ""
  ],
  "token": ""
}

GET /webhooks/events

Event catalogue with payload samples

Operation getWebhooksEvents. Auth: API key (Bearer) or session cookie.

StatusDescriptionBody
200okapplication/json WebhookEventList
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/webhooks/events' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "data": [
    {}
  ]
}

POST /webhooks/search

Search Webhooks (advanced)

Operation postWebhooksSearch. Auth: API key (Bearer) or session cookie.

Request body (application/json, required): SearchRequest

FieldTypeFlagsDescription
filtersarray of object
searchstring
sortarray of object (free-form)
pageinteger
page_sizeinteger
includearray of string
StatusDescriptionBody
200okapplication/json WebhookList
defaulterrorapplication/json Error
bash
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:

json
{
  "data": [
    {}
  ],
  "page": {}
}

GET /webhooks/signing

HMAC signing documentation

Operation getWebhooksSigning. Auth: API key (Bearer) or session cookie.

StatusDescriptionBody
200okapplication/json Ok
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/webhooks/signing' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{
  "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.

ParameterInTypeRequiredDescription
daysquerystringno
StatusDescriptionBody
200okapplication/json WebhookStats
defaulterrorapplication/json Error
bash
curl 'https://api.metrixed.com/v1/webhooks/stats' \
  -H "Authorization: Bearer $DT_API_KEY" \
  -H 'Accept: application/json'

Example 200 response:

json
{}