Reference
Events
Immutable log of every state change. Webhooks fan out from here; you can also poll directly.
List events
get
/v1/events curl -X GET "https://api.clement.so/v1/events" \
-H "Authorization: Bearer $CLEMENT_API_KEY" Query parameters
-
limitinteger -
starting_afterstring -
ending_beforestring -
typestring -
resource_idstring
Response200
OK
| Property | Type | Description |
|---|---|---|
object
required
| enum (1) | "list" |
data
required
| array<Event> | |
has_more
required
| boolean | |
next_cursor
required
| string | null | |
prev_cursor
required
| string | null |
Example response
{
"object": "list",
"data": [
{
"id": "evt_01HZ8X3J9K7P2QV6R5N4M3T2L9",
"object": "event",
"mode": "live",
"type": "message.replied",
"resource_id": "msg_01HZ8X3J9K7P2QV6R5N4M3T2L5",
"data": {
"message_id": "msg_01HZ8X3J9K7P2QV6R5N4M3T2L5",
"send_id": "snd_01HZ8X3J9K7P2QV6R5N4M3T2L4",
"inbox_id": "inb_01HZ8X3J9K7P2QV6R5N4M3T2L1",
"from_email": "alice@example.com",
"subject": "Re: Quick question about Acme's data stack"
},
"metadata": {
"mode": "live",
"crm_record_id": "abc-123"
},
"created_at": "2026-04-29T16:42:13Z"
}
],
"has_more": false,
"next_cursor": "string",
"prev_cursor": "string"
} Errors
-
400Invalid request -
401Authentication failed -
403Insufficient scope -
404Not found -
409Conflict -
422Validation failed -
429Rate limited
See Errors for the full envelope and per-code reference.
Retrieve an event
get
/v1/events/{id} curl -X GET "https://api.clement.so/v1/events/obj_01HZ8X3J9K7P2QV6R5N4M3T2L1" \
-H "Authorization: Bearer $CLEMENT_API_KEY" Path parameters
-
idstring required
Response200
OK
| Property | Type | Description |
|---|---|---|
id
required
| string | |
object
required
| enum (1) | "event" |
mode
required
| enum (2) | "live""test" |
type
required
| string |
Example: "send.sent" |
resource_id
required
| string | Public id of the affected resource. |
data
required
| object | |
metadata
required
| object | null | |
created_at
required
| string (date-time) |
Example response
{
"id": "evt_01HZ8X3J9K7P2QV6R5N4M3T2L9",
"object": "event",
"mode": "live",
"type": "message.replied",
"resource_id": "msg_01HZ8X3J9K7P2QV6R5N4M3T2L5",
"data": {
"message_id": "msg_01HZ8X3J9K7P2QV6R5N4M3T2L5",
"send_id": "snd_01HZ8X3J9K7P2QV6R5N4M3T2L4",
"inbox_id": "inb_01HZ8X3J9K7P2QV6R5N4M3T2L1",
"from_email": "alice@example.com",
"subject": "Re: Quick question about Acme's data stack"
},
"metadata": {
"mode": "live",
"crm_record_id": "abc-123"
},
"created_at": "2026-04-29T16:42:13Z"
} Errors
-
400Invalid request -
401Authentication failed -
403Insufficient scope -
404Not found -
409Conflict -
422Validation failed -
429Rate limited
See Errors for the full envelope and per-code reference.