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

# Send a test delivery

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

## Request

- Base URL: `https://api.imagestep.dev`
- URL: `https://api.imagestep.dev/api/v1/webhook-endpoints/{id}/test`
- Auth: API key in header `Authorization`

Posts a synthetic `webhook.test` event to the endpoint while you wait, signed like any
delivery, and answers with the delivery record: `status` is `DELIVERED` when your
receiver answered `2xx`, otherwise `FAILED` with `responseStatus` and `error`.

- One attempt: a failed test is not retried, and does not count towards the automatic disable. A `2xx` resets the endpoint's run of failed events without re-enabling it.
- It works on a disabled endpoint — the way to check a receiver before turning it back on.
- The attempt waits up to 5 s to connect and 10 s for the answer, so this call can take that long.

USE THIS WHEN: verifying a new receiver, or checking signature verification.
DO NOT USE WHEN: replaying a real event — this one carries no job data.

## Path parameters

- `id` string, required

## Headers

- `Idempotency-Key` string

## Response `200`

The attempt was made — read `status`: an unreachable receiver is a `FAILED` delivery, not an error

## Other responses

- `404`: `not_found` — no webhook endpoint with this id on your account
- `409`: Conflict — `error.code` is `idempotency_key_reuse` (the key already means a different request) or `request_in_progress` (the first request under this key has not settled yet; retryable).
- `429`: Rate limited — `error.code` is `rate_limited` and `retryable` is true. `Retry-After` says how many seconds to wait.

---

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