# Test an endpoint

> Send a sample delivery to confirm your handler works.

`POST https://inboundr.net/api/v1/endpoints/{id}/test`

Sends a single sample `email.received` delivery to the endpoint — signed and
timed out exactly like a real one, and subject to the same SSRF checks — and
returns the outcome. Nothing is persisted, and it doesn't count against delivery
history.

<ParamField path="id" type="string" required>
  The endpoint id (`ep_…`).
</ParamField>

<ResponseExample>
```json 200
{
  "ok": true,
  "status": 200,
  "durationMs": 143,
  "error": null,
  "responseBody": "ok"
}
```
</ResponseExample>

<ResponseField name="ok" type="boolean">
  Whether the endpoint returned a `2xx`.
</ResponseField>
<ResponseField name="status" type="integer | null">
  HTTP status returned, or `null` if the request never completed.
</ResponseField>
<ResponseField name="error" type="string | null">
  Failure reason (timeout, unreachable, non-public URL, redirect), if any.
</ResponseField>

<Tip>
  Use this to verify [signature checking](/webhooks/verifying-signatures) — the
  test payload is signed with the endpoint's real secret.
</Tip>
