TimeToCargo

Create webhook

Download OpenAPI
POST
/v2/webhooks

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.

Authorization

api_key
api_key<token>

In: query

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/v2/webhooks" \  -H "Content-Type: application/json" \  -d '{    "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"    ]  }'
{  "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",    "secret": "AaBbCcDdEe-_0123456789"  },  "status": "OK",  "status_description": "Request completed successfully"}