Endpoint
GET https://pilotstatus.com.br/v1/messages/group
Requires a number-scoped API key (
ps_*) in the x-api-key header. Tenant-scoped keys return 403.Query parameters
string
ISO 8601 datetime. Filter messages created on or after this date.
string
ISO 8601 datetime. Filter messages created on or before this date.
integer
default:"1"
Page number (≥ 1).
integer
default:"30"
Results per page (1–100).
startDate and endDate are optional individually. When supplied, each must be a valid ISO 8601 string and startDate must not be later than endDate; otherwise 400 INVALID_DATE_RANGE is returned.
Results are ordered by createdAt descending (newest first).
PII mode effect
The response depends on the PII mode configured for the number — changed in the dashboard on the API Keys page (Privacy & retention panel) or on the number’s settings in Numbers. The query lower and upper bounds come only from the caller’sstartDate / endDate — PII mode never narrows the queried date range. Instead, rows that fall outside the number’s PII retention window are still returned, but redacted: their content, media, and participant/peer fields are set to null and the row carries redacted: true.
Example
Message object fields
string
required
Pilot Status internal message ID.
string
required
ID of the parent group conversation.
string
required
"INBOUND" (received in the group) or "OUTBOUND" (sent to the group).string
required
text, image, audio, video, document, location, contacts, sticker, or reaction.string | null
Message text or caption when available.
string
required
Sender in E.164 format.
string | null
WhatsApp display name of the sender when available.
string
required
Group JID (e.g.
120363123456789012@g.us).string | null
Group display name when available.
object | null
Media descriptor
{ provider, id, url, mimeType, fileName } when the message carries media; null for text.media.provider— the delivering provider —"META"for Meta Cloud API numbers, or an internal provider tag for unofficial numbers.media.id— Meta media id. Set onMETAnumbers — pass it toGET /v1/media/{mediaId}to download the bytes;nullfor unofficial numbers.media.url— Direct download URL when available. META inbound media is mirrored to S3 (so META messages usually carry bothidandurl); the unofficial provider provides its own link. Best-effort — may benull.media.mimeType— Media MIME type when known (may benull).media.fileName— Media file name when known (may benull).
boolean
true when the row falls outside the number’s PII retention window (or on every row for RELAY_ONLY). Redacted rows still appear in the list, but content, media, and participant/peer fields are null.string
required
ISO 8601 — when the message was created.
Common errors
400 META_GROUPS_NOT_ELIGIBLE— the API key is bound to a Meta Cloud API number that is not an approved Official Business Account (or does not have groups enabled).400 INVALID_DATE_RANGE—startDateorendDateis not a valid ISO 8601 string, orstartDate > endDate.400 NUMBER_NOT_FOUND— the API key is not bound to a WhatsApp number.401— missing or invalidx-api-keyheader.403— tenant-scoped key used (number-scoped key required).