# Send a test webhook

September 12, 2026 · Webhooks

Every webhook subscription in the console now has **Send test event**. It sends one real delivery to your endpoint, now, through the same path a real order takes: the same signature, the same headers, the same retries, and an entry in the delivery log.

## What arrives

A test delivery is an `order.placed` event with `"test": true` at the top level. The ids inside are fixed placeholders that match nothing real: the order is always `ord_test_000000000000` and the user `usr_test_000000`.

```json
{
  "event": "order.placed",
  "delivery_id": "dl_351eacf74201",
  "order": {
    "id": "ord_test_000000000000",
    "state": "placed",
    "store": "Layout test kitchen",
    "items": 1,
    "total_minor": 1234,
    "currency": "usd"
  },
  "user": { "id": "usr_test_000000" },
  "sent_at": "2026-09-13T10:14:03Z",
  "test": true
}
```

## Why it matters

Until now the first delivery you could see was the first real order. A signature check that was subtly wrong, an endpoint behind the wrong firewall rule, or a handler that crashed on the payload all surfaced at the worst possible moment. Now you can find out on day one.

## What to do

Ignore test deliveries in production handlers, so a test never reads as a real order:

```
if (payload.test) return res.status(200).end();
```

Look a placeholder id up and you get nothing back. That is the right answer, not a bug. See [Test deliveries](https://developer.layout.link/reference/webhooks#test-deliveries).

## Breaking changes

None. A test delivery only ever goes to the subscription you sent it from.
