v2

latestOpenAPI 3.1.12026-07-2613060964.2 KB

List Messages

Retrieve a paginated list of messages in a workspace order by created_at desc. Can be used to fetch and show message logs on the platform.

get/v1/message/

Query parameters

limitinteger

Maximum number of messages to return per page. Defaults to 10, maximum is 1000.

afterstring

Cursor for forward pagination - pass the meta.after value from a previous response to fetch the next page of older messages. Treat this value as an opaque cursor - do not parse, validate, or assume any format for it. Takes precedence over before when both are set (before is silently ignored).

beforestring

Cursor for backward pagination - pass the meta.before value from a previous response to fetch the previous page of newer messages. Treat this value as an opaque cursor - do not parse, validate, or assume any format for it. Ignored when after is also set.

status[]string[]

Filter by one or more derived statuses. Multiple values are OR-ed. Repeat the param for each value, e.g. ?status[]=delivered&status[]=seen.

channel'sms' | 'email' | 'androidpush' | 'iospush' | 'webpush' | 'inbox' | 'whatsapp' | 'slack' | 'ms_teams'

Filter by delivery channel.

recipient_id[]string[]

Filter by one or more recipient distinct_ids (OR-ed). Repeat the param for each value, e.g. ?recipient_id[]=user_123&recipient_id[]=user_456.

category[]string[]

Filter by one or more notification categories (OR-ed). Repeat the param for each value, e.g. ?category[]=transactional&category[]=promotional.

created_at_gtestring date-time

RFC3339 timestamp lower bound (inclusive). Compared against the created_at column which has second precision - sub-second components in the filter value are effectively truncated. Example: 2026-04-26T21:34:33Z.

created_at_ltestring date-time

RFC3339 timestamp upper bound (inclusive). Same second-precision caveat as created_at_gte. Must be >= created_at_gte when both are set.

workflow_slugstring

Filter messages triggered from a specific workflow.

execution_idstring

Matches wf_exec_id or broadcast_id.

idempotency_keystring

Filter by the idempotency key associated with the message at trigger time.

message_idstring

Exact match on message ID.

tenant_idstring

Filter messages belonging to a specific tenant.

is_campaignboolean

Set true to return only messages sent as part of a broadcast/campaign.

object_idstring

Must be provided together with object_type to filter messages sent to an object. Will filter all message logs which were sent to recipients after object fanout.

object_typestring

Must be provided together with object_id to filter messages sent to an object. Will filter all message logs which were sent to recipients after object fanout.

include_contentboolean

Set true to include the rendered message content in each result object. When false (default), the content key is omitted from the response to keep payloads lightweight.

Response

Returns the paginated list of messages order by created_at desc.

Example response

{
  "results": [
    {
      "channel_identity": {
        "sms": "+15555550100"
      }
    }
  ]
}