---
title: "Queue a canonical test webhook event"
method: POST
path: "/api/webhook-subscriptions/test-delivery"
tags: ["Webhooks"]
---

# Queue a canonical test webhook event

`POST /api/webhook-subscriptions/test-delivery`

## Request

- Base URL: `https://api.setluca.com`
- URL: `https://api.setluca.com/api/webhook-subscriptions/test-delivery`
- Auth: one of:
  - API key in cookie `luca.session_token`
  - API key in header `x-api-key`
  - HTTP bearer

Queues a canonical test event to your subscriptions, so you can prove a receiver works without waiting for real activity.

**API key scopes:** `webhooks:write`. You also need an `Idempotency-Key` header.

## Headers

- `Luca-API-Version` '1'

## Request body

- WebhookTestEvent
  - `type` 'lead.created' | 'lead.updated' | 'lead.qualified' | 'lead.stage_changed' | 'message.received' | 'message.draft_created' | 'message.sent' | 'review.created' | 'review.approved' | 'review.rejected' | 'booking.created' | 'booking.updated' | 'booking.cancelled' | 'campaign.enrolled' | 'campaign.completed' | 'campaign.failed' | 'broadcast.started' | 'broadcast.completed' | 'broadcast.paused' | 'broadcast.failed' | 'crm.sync_failed' | 'integration.connection_health_changed'
  - `data` object

## Response `200`

ok

- WebhookTestDeliveryResponse
  - `deliveries` object[], required
    - `id` string, uuid, required
    - `eventId` string, required
    - `subscriptionId` string, uuid, required
    - `status` 'pending' | 'delivered' | 'failed' | 'dead_lettered', required
    - `payloadHash` string, required
    - `attemptCount` integer, required
    - `nextAttemptAt` string, required
    - `responseStatus` integer, nullable, required
    - `responseBodySnippet` string, nullable, required
    - `replaySourceDeliveryId` string, uuid, nullable, required
    - `deliveredAt` string, nullable, required
    - `createdAt` string, required
    - `updatedAt` string, required
  - `event` object, required
    - `organizationId` string, required
    - `id` string, required
    - `type` 'lead.created' | 'lead.updated' | 'lead.qualified' | 'lead.stage_changed' | 'message.received' | 'message.draft_created' | 'message.sent' | 'review.created' | 'review.approved' | 'review.rejected' | 'booking.created' | 'booking.updated' | 'booking.cancelled' | 'campaign.enrolled' | 'campaign.completed' | 'campaign.failed' | 'broadcast.started' | 'broadcast.completed' | 'broadcast.paused' | 'broadcast.failed' | 'crm.sync_failed' | 'integration.connection_health_changed', required

## Other responses

- `400`: bad request
- `401`: unauthorized
- `429`: rate limited
- `500`: internal error
- `503`: service unavailable

---

[API](https://skmtc.dev/setluca/apis/luca-api.md) · [All operations](https://skmtc.dev/setluca/apis/luca-api/llms.txt) · [OpenAPI document](https://skmtc.dev/setluca/apis/luca-api/revisions/90a200e4100b?raw)
