Send a test event

Send a signed ping to one of your webhook endpoints now, and see how it answered.

POST{BASE_URL}/webhooks/{id}/test

Sends a signed ping event to the endpoint straight away — not through the delivery queue — and answers with what your endpoint said. Requires a provider key; the partner header is ignored. Send no body.

  • It reaches the endpoint whatever events it subscribes to, and even while it is disabled — test a fix before you enable it again.
  • It is signed with the endpoint's current secret and carries the usual headers.
  • It is about no partner, so its partnerId is null.
  • It is not retried. Its outcome counts towards the endpoint's health: a success resets consecutiveFailures.

Path parameters

idstringrequired
The endpoint's ID.

Response

data.okbooleanrequired
Whether your endpoint answered 2xx.
data.responseStatusinteger | nullrequired
Your endpoint's HTTP status, or null if it gave none.
data.durationMsintegerrequired
How long the attempt took.
data.errorstring | nullrequired
Why it failed, such as Receiver returned 500, or null.
data.deliveryobjectrequired
The test's delivery, with isTest true.

Status codes#

The call answers 200 whatever your endpoint did: read data.ok.

StatusCodeMeaning
200—The test was sent. data.ok says whether your endpoint accepted it.
403provider_key_requiredA partner key made the call.
404webhook_endpoint_not_foundYou have no endpoint with that ID.
curl -X POST "$LOCALOY_BASE_URL/webhooks/cm8wh00k0000000000000001/test" \
  -H "Authorization: Bearer $LOCALOY_PROVIDER_KEY"
Response · 200
{
  "success": true,
  "message": "Your receiver accepted the test event (200 in 184 ms).",
  "data": {
    "delivery": {
      "id": "cm8d3l1v3ry0000000000002",
      "endpointId": "cm8wh00k0000000000000001",
      "partnerId": null,
      "endpointUrl": "https://hooks.example.com/localoy",
      "eventId": "evt_mg0a2k7wRt5nV1cHp9Ls",
      "event": "ping",
      "status": "SUCCEEDED",
      "attempts": 1,
      "isTest": true,
      "…": "…"
    },
    "ok": true,
    "responseStatus": 200,
    "durationMs": 184,
    "error": null
  }
}
The ping your endpoint receives
{
  "id": "evt_mg0a2k7wRt5nV1cHp9Ls",
  "event": "ping",
  "occurredAt": "2026-09-27T09:40:12.127Z",
  "environment": "production",
  "partnerId": null,
  "data": {
    "message": "This is a test event from Localoy. Your receiver is reachable and this signature was produced by your endpoint's current signing secret.",
    "endpointId": "cm8wh00k0000000000000001"
  }
}