Blueticks
Messages

List messages (all chats)

Offset-paginated list of messages across the whole account.

Pass chatId to scope to a single chat, or omit it to search across all chats. Supports free-text search (searchToken), date range (since/until), and message-kind filtering (messageTypes). Requires chats:read.

Request

curl -X GET "https://api.blueticks.co/v1/messages"
GET
/v1/messages

Query Parameters

chatId?string

Optional WhatsApp JID to scope results to a single chat. Omit to search across all chats.

Match^\d+(?:-\d+)?@(?:c\.us|s\.whatsapp\.net|g\.us|lid|broadcast|newsletter)$
searchToken?string

Search token; when set, only items whose name matches are returned.

Lengthlength <= 200
order?string

Result ordering. asc = oldest-first; desc = newest-first (default).

Value in"asc" | "desc"
since?string

Lower bound (ISO 8601, offset allowed). Only messages with timestamp >= since.

Formatdate-time
until?string

Upper bound (ISO 8601, offset allowed). Only messages with timestamp <= until.

Formatdate-time
messageTypes?array<>

Filter to specific message kinds. Comma-separated or repeated. Useful for "all PDFs" (document) or "images today" (image). System events (gp2/revoked/newsletter_notification) are excluded by default unless explicitly listed here.

queryAny?array<>

Keyword-set OR search: match if body/caption/filename contains ANY term.

Itemsitems <= 24
mime?string

MIME prefix filter, e.g. "application/pdf" or "image/".

Lengthlength <= 255
filenameContains?string

Case-insensitive substring match on the document filename.

Lengthlength <= 255
hasMedia?boolean

true = only messages with a media attachment; false = only non-media.

sender?string

Case-insensitive substring match on the sender JID/phone.

Lengthlength <= 128
loadFromPhoneIfNeeded?boolean

When the local store is exhausted, fetch older messages from the phone (chrome only).

includeMediaContent?boolean

Include inline media payload on rows (heavy; default false — use /messages/{key}/media).

skip?integer

Number of messages to skip before the page (default 0).

Default0
Range0 <= value
limit?integer

Max messages to return.

Default50
Range1 <= value <= 200

Response

Response Body

application/json

application/json