Webhooks
Webhooks send platform events to your application as they occur. Your endpoint should use HTTPS and return a 2xx response as quickly as possible.
Request headers
| Header | Type | Required | Description |
|---|---|---|---|
Content-Type | string | Yes | Always application/json. |
X-Webhook-Event | string | Yes | The event type for the current delivery. |
X-Webhook-Id | string | Yes | A unique delivery identifier used for idempotency. |
X-Webhook-Timestamp | string | Yes | The request creation time as a Unix timestamp in seconds. |
X-Webhook-Signature | string | Yes | The request signature generated with your webhook secret. |
Request body
json
{
"id": "evt_01JY5P9Q7S8V6",
"type": "device.location.created",
"createdAt": "2026-06-18T10:00:00Z",
"data": {
"deviceId": "PW-10001",
"lat": 22.5431,
"lng": 114.0579
}
}| Field | Type | Description |
|---|---|---|
id | string | The unique event identifier. |
type | string | The event type. |
createdAt | string | The event creation time in ISO 8601 format. |
data | object | Event-specific business data. |
Responses and retries
Return any 2xx status code to confirm successful processing. A non-2xx response or request timeout is treated as a failed delivery. Use X-Webhook-Id as an idempotency key to prevent duplicate writes when a delivery is retried.