---
title: "Send a manual test delivery"
method: POST
path: "/api/webhook-endpoints/{id}/test"
tags: ["Webhooks"]
---

# Send a manual test delivery

`POST /api/webhook-endpoints/{id}/test`

## Request

- Base URL: `http://localhost:38200`
- URL: `http://localhost:38200/api/webhook-endpoints/{id}/test`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `token`

Enqueues a real `webhook-delivery` job (the same path a real lifecycle transition takes) carrying a synthetic `webhook.test` event, so a tenant can verify signature verification on their receiver without waiting for a real event. Always delivered regardless of the endpoint's `eventTypes` filter — `webhook.test` is not itself a subscribable lifecycle event type. Only callable against an `active` endpoint.

## Path parameters

- `id` integer, required

## Response `202`

Test delivery enqueued.

- object
  - `ok` boolean
  - `endpointId` integer

## Other responses

- `400`: The endpoint exists but is not `active` (e.g. paused or revoked).
- `401`: Missing or invalid credentials.
- `403`: The caller has no resolvable tenant context.
- `404`: Resource not found (or not visible to the caller).

---

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