List group messages
const url = 'https://app.whatsetter.com/api/v1/groups/example/messages?limit=25';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://app.whatsetter.com/api/v1/groups/example/messages?limit=25' \ --header 'Authorization: Bearer <token>'The group’s transcript, newest first. sender keeps one member’s
messages (international phone digits), from_agent=true keeps only
what WhatSetter sent through the connected number (AI or manual
replies), since / until bound the window. Media is flagged
(has_media, media_type) but never linked. Requires scope
groups:read.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Query Parameters
Section titled “Query Parameters”ISO-8601 — only messages sent at or after this instant.
ISO-8601 — only messages sent at or before this instant.
One member’s phone, international digits (e.g. 33612345678).
true = only messages WhatSetter sent (AI or manual); false = only members’ messages.
Opaque cursor from the previous page’s pagination.next_cursor.
Responses
Section titled “Responses”Page of messages
object
object
object
International digits; null when WhatsApp only exposed an anonymous id.
Sent by WhatSetter through the connected number (AI reply or manual reply from the dashboard).
Written by the AI (subset of from_agent).
Internal interaction type (e.g. text, image, USER_MESSAGE, ai_group_reply).
The connected number was @mentioned.
Image, video, audio, document… when has_media is true.
object
Examplegenerated
{ "data": [ { "id": "example", "whatsapp_message_id": "example", "sender": { "phone": "example", "name": "example" }, "from_agent": true, "ai_generated": true, "text": "example", "type": "example", "is_mention": true, "has_media": true, "media_type": "example", "sent_at": "2026-04-15T12:00:00Z" } ], "pagination": { "has_more": true, "next_cursor": "example" }}Missing, unknown or revoked API key
object
object
Examplegenerated
{ "error": { "code": "example", "message": "example" }}Resource not found in this workspace
object
object
Examplegenerated
{ "error": { "code": "example", "message": "example" }}Invalid parameter or body (also an invalid or expired cursor)
object
object
Examplegenerated
{ "error": { "code": "example", "message": "example" }}
