---
title: "Task timeout notification"
method: POST
path: "taskTimeout"
tags: ["Webhooks"]
---

# Task timeout notification

`POST taskTimeout` (webhook)

Sent to a configured webhook endpoint subscribed to task.timeout. Verify the HMAC-SHA256 signature over the timestamp, a period, and the raw request body using the signing secret. Return 2xx promptly and deduplicate by event ID. See https://tokenlab.sh/docs/en/guides/webhooks for signature verification and delivery recovery.

## Headers

- `X-Webhook-ID` string, required
- `X-Webhook-Timestamp` string, required
- `X-Webhook-Signature` string, required

## Payload

- TaskTimeoutWebhook
  - `id` string, required: Stable event ID for deduplication at the receiving endpoint.
  - `type` 'task.timeout', required
  - `created` integer, required: Event creation time in Unix seconds.
  - `data` object, required: Timeout event data. This event does not contain durationMs.
    - `taskType` 'video' | 'music' | '3d' | 'world' | 'image' | 'audio', required
    - `taskId` string, required
    - `expectedTimeoutMs` integer, required: Expected timeout threshold in milliseconds.
    - `actualWaitMs` integer, required: Actual elapsed wait in milliseconds.
    - `refundIssued` boolean: True if the refund succeeded or had already been issued. False does not rule out a later refund.
    - `resolutionSource` 'callback' | 'status_query' | 'background_poller' | 'timeout_detector' | 'create_response'
    - `refundOutcome` 'success' | 'already_refunded' | 'not_applicable' | 'failed_persisted' | 'failed_unrecoverable': Refund processing result at event creation.

## Acknowledgement `2XX`

Notification accepted by the receiving endpoint.

---

[API](https://skmtc.dev/tokenlab/apis/tokenlab-ai-gateway.md) · [All operations](https://skmtc.dev/tokenlab/apis/tokenlab-ai-gateway/llms.txt) · [OpenAPI document](https://skmtc.dev/tokenlab/apis/tokenlab-ai-gateway/revisions/3208bfbcda22?raw)
