RaabtaHQ
Send a test event

Send a test event

POST/api/v1/webhooks/{id}/test

scope webhooks:manage

POSTs a signed ping event to the endpoint right now and waits for the response (up to 10 seconds). Works on a disabled endpoint, so a receiver can be proven before it is switched back on. The attempt is recorded as a normal delivery.

Path parameters

NameTypeDescription
idrequired
string (uuid)Webhook endpoint id
Request
curl -X POST "https://your-crm.example.com/api/v1/webhooks/3a4b5c6d-7e8f-4a9b-8c0d-1e2f3a4b5c6d/test" \
  -H "Authorization: Bearer $RAABTA_API_KEY"
Response · 200 OK
{
  "data": {
    "delivery_id": "7c8d9e0f-1a2b-4c3d-8e4f-5a6b7c8d9e0f",
    "ok": true,
    "status_code": 200,
    "duration_ms": 182,
    "response_snippet": "{\"ok\":true}",
    "error": null
  }
}

Response

Wrapped in { data: … }
NameTypeDescription
delivery_idrequired
string (uuid)UUID
okrequired
booleantrue when the endpoint answered 2xx
status_coderequired
integer | null
duration_msrequired
integer
response_snippetrequired
string | null
errorrequired
string | nullWhy no response was obtained, when that is the case

Errors

StatusCodeWhen
400validation_errorThe body or query failed validation. `details` lists each failing field with a `path` and a `message`.
401unauthorizedNo usable API key: the Authorization header is missing or malformed, or the key is unknown, revoked or expired. The three are deliberately indistinguishable.
403forbiddenThe key is valid but lacks the scope this endpoint requires, or the request came from an address outside the key’s IP allowlist. The message says which.
403account_suspendedThe account this key belongs to is suspended. Rotating the key will not help; contact support.
404not_foundNo such resource in this account. A resource that exists in another account also returns this.
422unprocessableThe request was well-formed but cannot be carried out. `reason` is a stable string saying why (for example `outside_window` or `stage_not_in_pipeline`).
429rate_limitedThe per-key budget, or the per-IP budget for failed authentication, is exhausted. Honour `Retry-After` before retrying.
500internalSomething failed on our side. Safe to retry with the same Idempotency-Key; quote `request_id` if it persists.