Send a test event
POST/api/v1/webhooks/{id}/test
scope
webhooks:managePOSTs 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
| Name | Type | Description |
|---|---|---|
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: … }| Name | Type | Description |
|---|---|---|
delivery_idrequired | string (uuid) | UUID |
okrequired | boolean | true when the endpoint answered 2xx |
status_coderequired | integer | null | |
duration_msrequired | integer | |
response_snippetrequired | string | null | |
errorrequired | string | null | Why no response was obtained, when that is the case |
Errors
| Status | Code | When |
|---|---|---|
| 400 | validation_error | The body or query failed validation. `details` lists each failing field with a `path` and a `message`. |
| 401 | unauthorized | No usable API key: the Authorization header is missing or malformed, or the key is unknown, revoked or expired. The three are deliberately indistinguishable. |
| 403 | forbidden | The 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. |
| 403 | account_suspended | The account this key belongs to is suspended. Rotating the key will not help; contact support. |
| 404 | not_found | No such resource in this account. A resource that exists in another account also returns this. |
| 422 | unprocessable | The 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`). |
| 429 | rate_limited | The per-key budget, or the per-IP budget for failed authentication, is exhausted. Honour `Retry-After` before retrying. |
| 500 | internal | Something failed on our side. Safe to retry with the same Idempotency-Key; quote `request_id` if it persists. |