List webhooks
Download OpenAPIcurl -X GET "https://example.com/v2/webhooks"{ "success": true, "data": [ { "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "callback_url": "https://example.com/webhooks/timetocargo", "is_active": true, "event_types": [ "tracking.eta_update", "tracking.history_update", "tracking.info_found", "tracking.info_not_found", "tracking.auto_archiving", "tracking.delivered" ], "created_at": "2026-07-08T09:39:36.311Z", "updated_at": "2026-07-08T13:10:43.554Z" } ], "status": "OK", "status_description": "Request completed successfully"}List webhook deliveries GET
Returns the webhook delivery history for your `callback_url` values. By default, the response includes only failed deliveries. To select another status, pass `status=pending` or `status=delivered`. Use `webhook_id` to limit the results to one webhook. Results are paginated. The envelope `data` contains paginated `data`, `meta`, and `links`.
Create webhook POST
Creates a webhook for your account. The response `data` includes a signing `secret` (22 characters from the base64url alphabet: A–Z, a–z, 0–9, `-`, `_`). The secret is shown only in this response and is not returned when the webhook is read later, so store it securely immediately. For each delivery, TimeToCargo sends a `POST` request to your `callback_url`. The request contains a `WebhookOutgoingPayload` JSON object and these headers: - `x-timetocargo-signature` — HMAC SHA-256 signature of `timestamp + '.' + rawBody`, prefixed with `sha256=`; - `x-timetocargo-timestamp` — Unix timestamp used to generate the signature; - `x-timetocargo-event-id` — unique event ID matching `payload.id`; - `x-timetocargo-delivery-id` — unique delivery attempt ID.