---
title: "Trigger a test webhook event (test environment only)"
method: POST
path: "/v1/Webhooks/test"
tags: ["Webhooks"]
---

# Trigger a test webhook event (test environment only)

`POST /v1/Webhooks/test`

Triggers a realistic webhook delivery through the real pipeline (queue → dispatcher → HMAC-signed HTTP delivery).

⚠️ **TEST ENVIRONMENT ONLY** - Returns 403 in production. Use testreferral-api.debitura.com for testing.

**How it works:**
- Looks up real entity data (case or client link) to construct a realistic payload
- Publishes through the same pipeline as production events (signature verification, retries, etc.)
- Returns immediately after enqueueing — delivery is async via Azure Queue

**Case events** (`case.created`, `case.updated`, `case.closed`):
- Requires `caseId` — must be a real case belonging to a linked client
- For `case.updated`: optionally provide `oldLifecycle` and `newLifecycle` (defaults to current → Closed)
- For `case.closed`: optionally provide `closeCode` and `closeComment` (defaults to Paid)

**Client events** (`client.linked`, `client.link_declined`, `client.link_requested`, `client.link_expired`, `client.onboarding.poa_signed`, `client.onboarding.contract_signed`):
- Requires `externalTenantId` — must be an active client link belonging to your account

## Request body

- DebituraWebReferralPartnerApiModelsWebhooksTriggerTestWebhookRequest
  - `eventType` string, required — The webhook event type to trigger (e.g. "case.updated", "client.linked")
  - `caseId` string, uuid, nullable — Required for case.created, case.updated, and case.closed events
  - `externalTenantId` string, nullable — Required for client.* events (client.linked, client.link_declined, client.onboarding.*)
  - `oldLifecycle` string, nullable — Optional override for case.updated: the "from" lifecycle (defaults to current case lifecycle)
  - `newLifecycle` string, nullable — Optional override for case.updated: the "to" lifecycle (defaults to "Closed")
  - `closeCode` string, nullable — Optional override for case.closed: the close code (defaults to "Paid")
  - `closeComment` string, nullable — Optional override for case.closed: a close comment

## Response `200`

Test event enqueued successfully

- DebituraWebReferralPartnerApiModelsWebhooksTriggerTestWebhookResponse
  - `eventType` string, nullable
  - `enqueuedCount` integer
  - `message` string, nullable

## Other responses

- `400` — Invalid request (missing required fields or invalid event type)
- `401` — API key is missing or invalid
- `403` — Endpoint not available in production environment
- `404` — Case or client link not found

---

[API](https://skmtc.net/debitura/apis/debitura-referral-partner-api.md) · [All operations](https://skmtc.net/debitura/apis/debitura-referral-partner-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/debitura/debitura-referral-partner-api/versions/9c466e0e2bf4/schema)
