# Send a test event

> Queues a signed `ping` to test your receiver and signature check.

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

**Send a test event**

Queues a signed `ping` to test your receiver and signature check.

Auth: `Authorization: Bearer rl_live_...` with the `productions` scope.

Parameters:

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | uuid | yes | The endpoint id. |

Responses:

| Status | Meaning |
| --- | --- |
| 202 | The queued delivery. |
| 400 | Invalid request. |
| 401 | Missing, invalid or revoked key. |
| 403 | The key lacks the `productions` scope (code `api_key_missing_scope`), or its owner has view-only access to the workspace (code `forbidden`). |
| 404 | No such endpoint or workspace for this key (code `not_found`). |
| 409 | The endpoint is switched off (code `endpoint_disabled`), or points at localhost on a server that cannot reach it (code `wrong_server`). |
| 429 | Rate limited, or a monthly cap reached. |
| 503 | Webhooks are not switched on for this server (code `disabled`). Every webhook route answers this while they are off. |

Response body (202):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `delivery` | object | yes |  |
| `delivery.id` | uuid | yes |  |
| `delivery.endpointId` | uuid | yes |  |
| `delivery.productionId` | uuid \| null | yes |  |
| `delivery.event` | enum | yes | One of: `production.pitch_ready`, `production.skipped`, `production.greenlit`, `production.progress`, `production.delivered`, `production.failed`, `production.declined`, `production.cancelled`, `ping`. |
| `delivery.status` | enum | yes | One of: `pending`, `succeeded`, `exhausted`. |
| `delivery.attempts` | integer | yes |  |
| `delivery.nextAttemptAt` | datetime \| null | yes |  |
| `delivery.lastResponseStatus` | integer \| null | yes |  |
| `delivery.lastResponseBody` | string \| null | yes |  |
| `delivery.lastError` | string \| null | yes |  |
| `delivery.lastAttemptAt` | datetime \| null | yes |  |
| `delivery.deliveredAt` | datetime \| null | yes |  |
| `delivery.createdAt` | datetime | yes |  |

Example (curl):

```bash
curl -X POST https://api.raylight.app/v1/webhooks/$ID/test \
  -H "Authorization: Bearer $RAYLIGHT_API_KEY"
```

## More

- Previous: [Roll the signing secret](https://www.raylight.app/docs/reference/post-v1-webhooks-id-roll-secret.md)
- Next: [List deliveries](https://www.raylight.app/docs/reference/get-v1-webhooks-id-deliveries.md)
- All docs: https://www.raylight.app/llms.txt
- Everything in one file: https://www.raylight.app/llms-full.txt
- OpenAPI: https://api.raylight.app/v1/openapi.json
