Skip to main content
Cargado publishes webhook events when things happen in your account — a carrier places a bid, a broker accepts it, a counter is rejected, and so on. Each event is delivered as an HTTPS POST to the endpoints you’ve registered, carrying a JSON payload that describes what changed.

The envelope

Every event, regardless of family, is delivered inside the same WebhookEvent envelope:
  • eventId — a unique ID for this delivery. Use it to deduplicate: if the same eventId arrives twice (for example after a retry), treat the second delivery as a no-op.
  • actorId — who triggered the event, as a prefixed ID (usr_<userId> for a Cargado user, api_<apiKeyId> for an action taken via the public API).
  • type — the event type, e.g. bid.submitted. Route on it; it tells you the shape of data.
  • timestamp — when the underlying change happened (ISO-8601), not when the webhook was delivered.
  • data — the event-specific payload. Its shape depends on type, so on the generic envelope it’s described but not typed — see the per-family event pages for the concrete payload.
Only type and data change between event families. The generic envelope stays payload-agnostic on purpose; each family documents its own concrete shape on its webhook page.

Bid events

Bid events cover a bid’s lifecycle: submitted, accepted, rejected, revoked, closed, and the counter-offer flow. On the Bid events webhook page, type is one of the bid event literals and data is the concrete bid payload — the bid that changed plus the posting, freight, and carrier it relates to.

Registering and verifying

This section documents the events Cargado sends. For how to register an endpoint, filter event types, and verify payload signatures, see the Webhooks guide and the webhook endpoint API.