Screen went offline
Webhook device.offline
Sent to the operator when the player of a structure has not reported for longer than the allowed time.
Headers we send
| Name | In | Type | Required | Description | Example |
|---|---|---|---|---|---|
X-Tanba-Delivery | header | string (uuid) | yes | Identifier of the delivery. It is the same on every retry; use it to ignore duplicates. | 9b2e4c60-1f7a-4d83-a5c6-3e8d0b7f2a11 |
X-Tanba-Event | header | string | yes | The event name. | approval.issued |
X-Tanba-Signature | header | string | yes | t=<unix seconds>,v1=<hex HMAC-SHA256 of t + "." + the raw body, keyed with the webhook secret>. See the guide on webhook signatures. | t=1790000000,v1=5f2d9c1a0b7e4d63a8c15e90f4b2d7a3c6e81f0594ab2d3c7e6f1a08b9d4c5e2 |
Body we send
application/json
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
event | const | yes | The event name, the same as in the X-Tanba-Event header. | "device.offline" |
occurred_at | string (date-time) | yes | When the platform noticed the silence. | "2026-10-06T03:15:00+05:00" |
data | object | yes | The player that went silent. | |
data.device_id | string (uuid) | yes | Identifier of the player. | "c0a8e1f2-7d54-4e0b-8a31-5b2f6d7c9e10" |
data.structure | string | yes | Code of the structure the player is assigned to. | "ALM-0012" |
data.last_seen_at | string | null | yes | When the player last reported; null if it never did. | "2026-10-06T01:02:03+05:00" |
Example
{
"event": "device.offline",
"occurred_at": "2026-10-06T03:15:00+05:00",
"data": {
"device_id": "c0a8e1f2-7d54-4e0b-8a31-5b2f6d7c9e10",
"structure": "ALM-0012",
"last_seen_at": "2026-10-06T01:02:03+05:00"
}
}
Responses
200 The delivery is accepted. Any 2xx status counts; the body is ignored.
No body.
410 Any other status, or no answer within 10 seconds, counts as a failure and the delivery is retried.
No body.