Test Support Webhook
POST/api/support/webhooks/:webhook/test
Sends a ping to the webhook right now — a single attempt, no retries — and returns the resulting delivery so you can see whether your endpoint accepted it. The ping is signed and carries the same headers as a real delivery (X-SKU-Event: ping), so use it to verify your signature check. The response is always 200 whether or not the endpoint accepted the ping; read status, response_code and error for the outcome. A ping to an inactive webhook is recorded as failed with Webhook is disabled. and no request is made. A failed ping does not count towards the webhook's failure_count. Only a tenant admin can send test pings; a webhook belonging to another tenant is a 404.
support:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Ping payload: event = ping, occurred_at, webhook (id, events[]).
Delivery fields
id(integer) — the delivery id, sent asX-SKU-Deliverywebhook_id(integer)event(string) —ticket.created,ticket.updated,ticket.replied,ticket.resolved, orpingticket_id(integer, nullable) — null for pingsstatus(string) — one of:pending(queued, or between retries),delivered,failedresponse_code(integer, nullable) — HTTP status from the latest attempt; null when no response was received (timeout, connection error, not attempted)attempts(integer) — attempts made so far (max 3 for ticket events, 1 for pings)delivered_at(ISO-8601, nullable) — when the 2xx landederror(string, nullable) — why the latest attempt failed:HTTP <code>plus up to 500 characters of the response body, the transport error,Webhook is disabled.,Webhook no longer exists., or the unsafe-URL reason. Cleared on successpayload(object) — the exact JSON body that was (or will be) POSTed; the signature was computed over its serialised formcreated_at(ISO-8601) — when the delivery was queued
Authentication: Bearer token with the support:write scope, or an authenticated session. Customer endpoints run in tenant context — send the X-Tenant-Id header or call from a tenant subdomain.
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Unauthorized
Response Headers
Forbidden
Response Headers
Not Found
Response Headers
Validation failed — the body is a field → messages map (Laravel shape) or the platform envelope with a stable machine-readable code. Fix the payload and resubmit.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.