Skip to main content
WEBHOOK
trackingEvent
{
  "id": "evt_01kqzcjrpyf27tgesnxf1hhqqw",
  "type": "delivery.created",
  "occurred_at": "2026-05-06T19:34:00Z",
  "data": {
    "id": "dlv_01kqzcjrpxf27tge48sdha1emj",
    "external_id": "GC-DEL-N001016013"
  },
  "request_id": "req_01kqzcjrpyf27tge33jwvjhkff",
  "delivery_attempt": 1
}

Authorizations

Authorization
string
header
required

OAuth2 client credentials flow. Exchange your client_id and client_secret for a short-lived access token, then pass it as a Bearer token in the Authorization header.

Body

application/json

The payload Cula sends to your webhook URL when a tracking event occurs. Verify the Cula-Signature header using HMAC-SHA256 with your webhook secret.

id
string
required

Unique event ID.

Example:

"evt_01kqzcjrpyf27tgesnxf1hhqqw"

type
string
required

Event type in resource.action format. Delivery events use the unified delivery.* namespace; the direction (incoming vs. outgoing) is resolved by looking up the delivery's config.

Example:

"delivery.created"

occurred_at
string<date-time>
required

When the event occurred (UTC).

Example:

"2026-05-06T19:34:00Z"

data
object
required

The affected resource. Contains at minimum id and external_id of the resource that triggered the event.

delivery_attempt
integer
required

Delivery attempt number (starts at 1, increments on retry).

Example:

1

request_id
string | null

The request ID that caused this event, if applicable.

Example:

"req_01kqzcjrpyf27tge33jwvjhkff"

Response

200

Event received successfully. Any 2xx status acknowledges receipt.