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.
Authorizations
Pass as Bearer <API_KEY>. Get API Key from SuprSend dashboard Developers -> API Keys section.
Query Parameters
Maximum number of messages to return per page. Defaults to 10, maximum is 1000.
x <= 1000Cursor 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).
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.
Filter by one or more derived statuses. Multiple values are OR-ed. Repeat the param for each value, e.g. ?status[]=delivered&status[]=seen.
triggered (status AnyOf('triggered','trigger_blocked','sent_by_vendor','to_be_triggered','not_to_be_triggered')), delivery_failed (status AnyOf('trigger_failed','failure_by_vendor'), delivered, seen, clicked, dismissed, read (is_read = true), unread (is_read = false), archived (is_archived = true) Filter by delivery channel.
sms, email, androidpush, iospush, webpush, inbox, whatsapp, slack, ms_teams 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.
Filter by one or more notification categories (OR-ed). Repeat the param for each value, e.g. ?category[]=transactional&category[]=promotional.
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.
RFC3339 timestamp upper bound (inclusive). Same second-precision caveat as created_at_gte. Must be >= created_at_gte when both are set.
Filter messages triggered from a specific workflow.
Matches wf_exec_id or broadcast_id.
Filter by the idempotency key associated with the message at trigger time.
Exact match on message ID.
Filter messages belonging to a specific tenant.
Set true to return only messages sent as part of a broadcast/campaign.
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.
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.
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.