The Messages API lets you fetch a paginated list of messages in your workspace and bulk update message statuses (e.g. mark as seen, read, archived). These Python helpers are wrappers over the underlying List Messages and Bulk Update Message Status endpoints.Documentation Index
Fetch the complete documentation index at: https://docs.suprsend.com/llms.txt
Use this file to discover all available pages before exploring further.
List Messages
Fetch a paginated list of messages for your workspace. All filter parameters are optional.| Parameter | Type | Description |
|---|---|---|
limit | integer | Records per page. Default 1000, max 1000. |
after | string | Opaque cursor for the next page. Pass the meta.after value from a previous response. |
before | string | Opaque cursor for the previous page. Pass the meta.before value from a previous response. |
message_id | string | Filter by a specific message id. |
idempotency_key | string | Filter by the idempotency key associated with the message at trigger time. |
recipient_id | array of string | Filter by one or more recipient distinct_ids. Multiple values are OR-ed. |
tenant_id | string | Filter messages belonging to a specific tenant. |
object_type | string | Filter messages sent to an object. Must be provided together with object_id. |
object_id | string | Filter messages sent to an object. Must be provided together with object_type. |
workflow_slug | string | Filter messages triggered from a specific workflow. |
execution_id | string | Filter by workflow execution id (matches wf_exec_id or broadcast_id). |
channel | string | Filter by delivery channel. Valid values: email, sms, whatsapp, androidpush, iospush, webpush, slack, ms_teams. |
status | array of string | Filter by one or more derived statuses. Multiple values are OR-ed. Valid values: triggered, delivered, delivery_failed, seen, clicked, dismissed, read, unread, archived. |
category | array of string | Filter by one or more notification categories. Multiple values are OR-ed. |
is_campaign | boolean | Set True to return only messages sent as part of a broadcast/campaign. |
created_at_gte | string (RFC3339) | Inclusive lower bound on created_at. Example: "2026-01-01T00:00:00Z". |
created_at_lte | string (RFC3339) | Inclusive upper bound on created_at. Must be >= created_at_gte when both are set. |
Bulk Update Message Status
Update the status of one or more messages in a single call.| Action | Description | Applicable Channels |
|---|---|---|
seen | Mark the message as viewed/opened by the user. | All channels |
clicked | Mark the message as clicked by the user. | All channels |
dismissed | Mark the push notification as dismissed by the user (e.g., swiped away from the notification tray). | androidpush, iospush |
read | Mark the inbox message as read. Doesn’t change the message status on update, instead sets is_read flag and read_at timestamp. | inbox only |
unread | Revert a previously read inbox message back to unread. Doesn’t change the message status on update, instead unsets is_read flag and record unread_at timestamp. | inbox only |
archived | Move the inbox message to the archive. Doesn’t change the message status on update, instead sets is_archived flag and marks archived_at timestamp. | inbox only |
unarchived | Restore a previously archived inbox message back to the active list. Doesn’t change the message status on update, instead unsets is_archived flag and record unarchived_at timestamp. | inbox only |