Skip to main content
WEBHOOK

Authorizations

Authorization
string
header
required

Your API key, e.g. Authorization: Bearer clmt_test_. Live keys use the clmt_live_ prefix.

Body

application/json
object
enum<string>
required

Entity name. Identifies this object when it arrives without its URL.

Available options:
event
id
string
required

Identifier of the event.

Pattern: ^evt_[0-9A-Za-z]{22}$
Example:

"evt_0346sFPEvSkJvY8vt14NNw"

type
string
required

What happened, e.g. company.created, company.status.changed, company.verified. Branch on this. New types may be added over time, so treat an unrecognized one as informational rather than an error.

data
object
required

The event's payload: the resource the event is about, embedded as of when the event occurred. This is a point-in-time snapshot, not a live read - a delivery that arrives late still carries the state that triggered it.

livemode
boolean
required

False for an event recorded in a test-key stream.

timestamp
string<date-time>
required

When the fact the event describes occurred, ISO 8601 - the Standard Webhooks envelope field. Usually identical to created_at, because events are recorded in the same transaction as their change. Where a truer stamp exists it is used instead and can PRECEDE created_at: company.incorporated carries the incorporation stamp itself, which can predate when the event was recorded, and calendar.reminder carries the remind moment. Filter and page by created_at (the record clock). Read timestamp for when it happened. The time of a delivery ATTEMPT is a third thing and never appears in the payload - it is the webhook-timestamp header, fresh on every retry.

created_at
string<date-time>
required

When the event was recorded.

company_id
string

The company the event is about, when it is about one.

Pattern: ^cmp_[0-9A-Za-z]{22}$

Response

200

Acknowledged. Any 2xx marks the delivery received and stops retries.