# Send a test delivery

Queues a delivery of type `test` carrying a sample order payload and `"test": true` in the envelope,
attempts it immediately, and returns the delivery with the endpoint's response. It is a normal delivery:
it is signed, logged, and retried like any other if the first attempt fails.

Endpoint: POST /v1/webhooks/{webhookGuid}/test
Version: 1.19
Security: ApiKey, ApiSecret, UserGuid, UserToken, SupplierGuid

## Security:

  - `ApiKey` (unknown)
    apiKey in header x-apiKey

  - `ApiSecret` (unknown)
    apiKey in header x-apiSecret

  - `UserGuid` (unknown)
    apiKey in header userGuid

  - `UserToken` (unknown)
    apiKey in header userToken

  - `SupplierGuid` (unknown)
    apiKey in header supplierGuid

## Path parameters:

  - `webhookGuid` (string, required)
    GUID of the webhook endpoint.

## Response 200:

  - `200` (unknown)
    The test delivery after its first attempt.

## Response 200 fields (application/json):

  - `delivery` (object)
    One event delivered (or being delivered) to one endpoint.

  - `delivery.guid` (string, required)
    Delivery id. Also the envelope `id` and the `X-Orderwerks-Delivery` header; stable across retries and redeliveries.

  - `delivery.webhook_guid` (string, required)

  - `delivery.event_type` (string, required)
    Example: order.submitted

  - `delivery.resource_type` (string)
    Enum: "order", "shipment", "catalog_item", "vendor", "vendor_source", "null"

  - `delivery.resource_guid` (string)

  - `delivery.status` (string, required)
    `pending` waits for the worker (first attempt or a retry), `processing` is in flight, `succeeded` got a 2xx, `failed` spent its retry budget, `cancelled` was dropped because the endpoint was deleted or disabled or the resource no longer exists.
    Enum: "pending", "processing", "succeeded", "failed", "cancelled"

  - `delivery.attempt_count` (integer, required)

  - `delivery.max_attempts` (integer, required)

  - `delivery.next_attempt_at` (string)

  - `delivery.last_http_status` (integer)

  - `delivery.last_error` (string)

  - `delivery.last_response_body` (string)
    First 4 KB of the endpoint's last response body.

  - `delivery.last_duration_ms` (integer)

  - `delivery.last_attempt_at` (string)

  - `delivery.completed_at` (string)

  - `delivery.is_test` (boolean)

  - `delivery.payload` (object)
    The envelope as sent. Present on single-delivery reads and when `includePayload=true` on the list.

  - `delivery.payload.id` (string, required)
    Delivery id. Use it as an idempotency key: a retry or a manual redelivery carries the same id.

  - `delivery.payload.type` (string, required)
    Event type, e.g. `order.submitted`.

  - `delivery.payload.api_version` (string, required)
    Example: 2026-10-27

  - `delivery.payload.occurred_at` (string, required)
    When the event happened. Deliveries are not ordered; compare `occurred_at` (and the resource's `updated_at`) when ordering matters.

  - `delivery.payload.supplier_guid` (string, required)
    GUID of the supplier account the event belongs to.

  - `delivery.payload.test` (boolean)
    Present and true for deliveries made with the "send test" action.

  - `delivery.payload.data` (object, required)
    The resource, shaped per event type (see the webhook definitions in this reference).

  - `delivery.created_at` (string, required)

## Response 401:

  - `401` (unknown)
    Missing or invalid credentials.

## Response 401 fields (application/json):

  - `message` (string, required)
    Human-readable error message.
    Example: Invalid Catalog GUID

  - `error` (string)
    Underlying error detail, when available.

  - `code` (string)
    Machine-readable code for specific failures (for example `INVALID_DELTA_CURSOR`).

## Response 403:

  - `403` (unknown)
    The credentials are valid but the user lacks the access level this endpoint requires.

## Response 403 fields (application/json):

  - `message` (string, required)
    Human-readable error message.
    Example: Invalid Catalog GUID

  - `error` (string)
    Underlying error detail, when available.

  - `code` (string)
    Machine-readable code for specific failures (for example `INVALID_DELTA_CURSOR`).

## Response 404:

  - `404` (unknown)
    No resource with that GUID is visible to the authenticated supplier.

## Response 404 fields (application/json):

  - `message` (string, required)
    Human-readable error message.
    Example: Invalid Catalog GUID

  - `error` (string)
    Underlying error detail, when available.

  - `code` (string)
    Machine-readable code for specific failures (for example `INVALID_DELTA_CURSOR`).

