Webhooks

Send a test delivery

Queues a synthetic delivery to this webhook to confirm your endpoint receives and verifies deliveries. Travels the normal path: signature, headers, retry schedule. Event name is always webhook.test, never a real event. Match data.test_id against this response's test_id.

post/v1/webhooks/{id}/test

Request

  • Base URL: https://api.curviate.com
  • URL: https://api.curviate.com/v1/webhooks/{id}/test
  • Auth: HTTP bearer

Path parameters

idstring required

Webhook id (wh_-prefixed ULID).

Response

The test delivery is queued. It travels the same path as a real delivery: the same signature, the same custom headers, the same delivery record, the same retry schedule. Wait for it to arrive at your endpoint, verify the signature, and match data.test_id to the test_id below.

object'webhook_test'

Response type discriminator.

webhook_idstring

The webhook the test delivery was queued for.

test_idstring

Correlation id for this test delivery, echoed as data.test_id in the delivered payload. Match it to confirm that the delivery your receiver observed is the one you asked for.

event'webhook.test'

Always webhook.test. This name is not part of the event catalogue and can never be subscribed to, so it can never be confused with a real event.

queued_atstring

When the test delivery was queued (ISO 8601).

Example response

{
  "safety_warning": {
    "row": "profile_views",
    "reset_at": "2026-09-05T00:00:00.000Z",
    "hint": {
      "parameter": "profile_views.ceiling",
      "message": "This account is at its ceiling for profile_views. This action went through because profile_views.posture is warn, and it counted: 101 of 100 this window. Raise profile_views.ceiling, or wait for the window to reset at 2026-09-05T00:00:00.000Z."
    },
    "reason": "ceiling",
    "blocked": false
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.