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"{
"success": true,
"data": [
{
"waMessageKey": {
"fromMe": true,
"remote": "string",
"id": "string",
"_serialized": "string",
"participant": "string"
},
"chatId": "string",
"from": "string",
"author": "string",
"senderName": "string",
"timestamp": "2019-08-24T14:15:22Z",
"text": "string",
"type": "string",
"fromMe": true,
"ack": 0,
"mediaUrl": "string",
"filename": "string",
"linkPreview": {
"title": "string",
"description": "string",
"canonicalUrl": "string",
"thumbnail": "string"
},
"quotedMessage": {
"waMessageKey": {
"fromMe": true,
"remote": "string",
"id": "string",
"_serialized": "string",
"participant": "string"
},
"text": "string",
"type": "string",
"author": "string"
}
}
],
"limit": 0,
"skip": 0,
"total": 0,
"hasMore": true,
"coverage": {
"oldestLoadedTimestamp": 0,
"oldestLoadedIso": "string"
}
}{
"success": false,
"error": {
"code": "string",
"message": "string",
"requestId": "string",
"details": [
{
"path": "string",
"code": "string",
"message": "string"
}
]
}
}Query Parameters
Optional WhatsApp JID to scope results to a single chat. Omit to search across all chats.
^\d+(?:-\d+)?@(?:c\.us|s\.whatsapp\.net|g\.us|lid|broadcast|newsletter)$Search token; when set, only items whose name matches are returned.
length <= 200Result ordering. asc = oldest-first; desc = newest-first (default).
"asc" | "desc"Lower bound (ISO 8601, offset allowed). Only messages with timestamp >= since.
date-timeUpper bound (ISO 8601, offset allowed). Only messages with timestamp <= until.
date-timeFilter 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.
Keyword-set OR search: match if body/caption/filename contains ANY term.
items <= 24MIME prefix filter, e.g. "application/pdf" or "image/".
length <= 255Case-insensitive substring match on the document filename.
length <= 255true = only messages with a media attachment; false = only non-media.
Case-insensitive substring match on the sender JID/phone.
length <= 128When the local store is exhausted, fetch older messages from the phone (chrome only).
Include inline media payload on rows (heavy; default false — use /messages/{key}/media).
Number of messages to skip before the page (default 0).
00 <= valueMax messages to return.
501 <= value <= 200Response
Response Body
application/json
application/json