---
title: "Send a synthetic `ping` event to this endpoint"
method: POST
path: "/api/v1/webhooks/{id}/test"
tags: ["Webhooks"]
---

# Send a synthetic \`ping\` event to this endpoint

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

## Request

- Base URL: `https://app.reachium.io`
- URL: `https://app.reachium.io/api/v1/webhooks/{id}/test`
- Auth: HTTP bearer

Always enqueued regardless of is_active, but an inactive (or auto-disabled) endpoint never actually receives it - the dispatcher dead-letters the queued delivery instead of sending it. Re-enable the endpoint first if the ping needs to actually arrive.

## Path parameters

- `id` string, required

## Response `200`

Ping enqueued.

- object
  - `data` object, required
    - `sent` boolean, required
  - `error` unknown, required

## Other responses

- `401`: Missing or invalid API key. Send `Authorization: Bearer rmcp_...` (code unauthorized).
- `402`: Workspace billing is blocked; mutating requests are refused (code billing_blocked).
- `403`: The key's granted scopes do not satisfy this endpoint's minimum required scope (code insufficient_scope).
- `404`: No such webhook endpoint in this workspace (code not_found).
- `429`: Rate limited: shared `mcp:ip:{ip}` (600/60s) or `mcp:key:{keyId}` (120/60s) bucket, the SAME buckets the MCP endpoint uses (code rate_limited).
- `500`: Sending the test ping failed (code internal_error).
- `503`: The billing-status check itself failed (DB error): fails closed rather than letting a blocked workspace through; safe to retry (code billing_check_failed).

---

[API](https://skmtc.dev/reachium/apis/reachium-api.md) · [All operations](https://skmtc.dev/reachium/apis/reachium-api/llms.txt) · [OpenAPI document](https://skmtc.dev/reachium/apis/reachium-api/revisions/80c82dd6c7a1?raw)
