# Receive a test event

`webhookTest`

Event sent to your endpoint: `webhookTest`

Signed per the Standard Webhooks specification. Verify with an official Standard Webhooks library and the endpoint's whsec_ signing secret: it checks Base64(HMAC-SHA256(Base64-decoded secret, webhook-id + '.' + webhook-timestamp + '.' + raw_body)) against each v1 entry in webhook-signature in constant time and rejects timestamps more than five minutes from now. Deduplicate by webhook-id. Redelivery preserves the body and webhook-id and signs again with a new timestamp.

VizoAPI sends this request to the webhook endpoint you create in the console.

## Request headers

- `webhook-id` (string, Required) Unique event ID, equal to event_id in the body. Unchanged on retries and redelivery; use it to deduplicate.
- `webhook-timestamp` (string, Required) Unix time in seconds when this attempt was sent.
- `webhook-signature` (string, Required) Space-delimited list of v1 signatures. Two are sent for 24 hours after a secret rotation; accept the request if any one matches.

## Request body

- `created_at` (date-time, Required)
- `event_id` (string, Required)
- `test` (boolean, Required)
- `type` (string, Required) Allowed values: `webhook.test`

```json
{
  "created_at": "2026-11-02T08:01:43Z",
  "event_id": "string",
  "test": false,
  "type": "webhook.test"
}
```

## Responses

### 2XX Delivery accepted

```json
null
```

### cURL

```bash
# Your endpoint receives a POST signed per Standard Webhooks. Replay one locally to test your handler:
curl -X POST "$YOUR_WEBHOOK_URL" \
  -H "Content-Type: application/json" \
  -H "webhook-id: $EVENT_ID" \
  -H "webhook-timestamp: $TIMESTAMP" \
  -H "webhook-signature: v1,$SIGNATURE" \
  --data-binary @event.json
```

### Python

```python
# pip install standardwebhooks
from standardwebhooks import Webhook, WebhookVerificationError

wh = Webhook("whsec_...")  # your endpoint's signing secret

def verify(headers, raw_body: bytes):
    try:
        return wh.verify(raw_body, headers)  # returns the parsed event
    except WebhookVerificationError:
        return None
```

### Node.js

```javascript
// npm install standardwebhooks
import { Webhook } from "standardwebhooks";

const wh = new Webhook(process.env.WEBHOOK_SECRET); // whsec_...

// rawBody is a Buffer of the request body as received, e.g. express.raw({ type: "application/json" }).
export function verify(headers, rawBody) {
  try {
    return wh.verify(rawBody, headers); // returns the parsed event
  } catch {
    return null;
  }
}
```
