List Messages
Changed onRetrieve 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.
Request
- Base URLhttps://hub.suprsend.com
- AuthHTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Query parameters
Maximum number of messages to return per page. Defaults to 10, maximum is 1000 (20 when include_content=true). Larger values are capped to the maximum.
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).
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.
Filter by delivery channel.
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.
Response
Returns the paginated list of messages order by created_at desc.
Example response
{
"results": [
{
"channel_identity": {
"sms": "+15555550100"
}
}
]
}Changes
- breaking
removed the enum value
unread (is_read = false)from the propertyitems/of thequeryrequest parameterstatus[] - warning
added the new
failure_by_vendorenum value to the//response property for the response status - warning
added the new
unreadenum value to the//response property for the response status - info
added the enum value
unread (marked unread after being readunread_at later than read_at)to the propertyitems/of thequeryrequest parameterstatus[] - info
removed the
delivery_failureenum value from the//response property for the response status
- breaking
- breaking
api path removed without deprecation
- info
endpoint added
- breaking