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.

searchToken?string

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

Lengthlength <= 200
engine?string

Force the read to a specific engine TYPE: "gateway" (server-side pod, e.g. Baileys) or "regular" (browser extension). Overrides the default dual-engine read preference. 409 ENGINE_NOT_ONLINE if none of that type is online.

Value in"gateway" | "regular"
engineId?string

Exact engine clientId to target (from the engine status id); wins over engine. 409 ENGINE_NOT_ONLINE if not online.

Length1 <= length <= 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. Accepts BOTH the legacy v1 names and WhatsApp Web names (waType): the legacy chat still includes interactive menus/clicks, buttons_response selects only the clicks. 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