Get messages
Changed onList sent (outgoing) messages for your account, newest first. Supports pagination and filtering by stream, status, recipient, and date range.
Pagination. page (1-based, default 1) and itemsPerPage (default 30). The response is { "items": [ ... ], "total": N }.
Dates. startDate and endDate accept YYYY-MM-DD or YYYY-MM-DD HH:MM:SS (UTC). A bare date means midnight at the start of that day, so to include all of March 31 send endDate=2026-04-01.
Authentication: TextPeak API key in the Authorization header (see Authentication in the API Overview).
Request
- Base URLhttps://api.commpeak.com/textpeak
- URLhttps://api.commpeak.com/textpeak/streams/messages
- AuthAPI key in header Authorization
Query parameters
Page number (1-based).
Items per page.
Only messages sent on this stream ID.
Delivery status.
Recipient phone number contains this text.
Sent at or after this time (UTC).
Sent at or before this time (UTC).
Response
Successful Response
Example response
{
"items": [
{
"campaign": [],
"content": {
"body": "Hi John, your CommPeak code is 4821.",
"type": "text"
},
"conversation": {
"uuid": "e2a489db-bb8a-4f51-9692-726153599c57"
},
"cost": 0.0075,
"country_code": 230,
"country_iso2": "US",
"country_name": "USA",
"delivered_at": "2026-03-19 10:15:12",
"destination_number": "12125551234",
"external_key": "1001",
"message_uuid": "a61e5bfe-c82b-448a-815b-32de8bf22089",
"platform": "api",
"sent_at": "2026-03-19 10:15:10",
"sms": {
"length": 36,
"mcc": "310",
"mnc": "004",
"network": "Verizon",
"parts": 1,
"utf8": false
},
"source_name": "CommPeak",
"source_number": "CommPeak",
"status": "delivered",
"stream": {
"name": "Marketing US",
"type": "MARKETING",
"uuid": "9f1c2d3e4b5a6789c0d1e2f3a4b5c6d7"
},
"type": "SMS",
"whatsapp": []
}
],
"total": 128
}Changes
- breaking
for the
queryrequest parameteritemsPerPage, default value30was added - breaking
for the
queryrequest parameterpage, default value1was added - breaking
response property
items/items/costlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200 - breaking
response property
items/items/country_codelist-of-types was widened by adding typesinteger and nullto media typeapplication/jsonof response200 - breaking
response property
items/items/country_iso2list-of-types was widened by adding typesnullto media typeapplication/jsonof response200 - breaking
response property
items/items/country_namelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200 - breaking
response property
items/items/delivered_atlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200 - breaking
response property
items/items/destination_numberlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200 - breaking
response property
items/items/external_keylist-of-types was widened by adding typesnullto media typeapplication/jsonof response200 - breaking
response property
items/items/message_uuidlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200 - breaking
response property
items/items/platformlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200 - breaking
response property
items/items/sent_atlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200 - breaking
response property
items/items/source_namelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200 - breaking
response property
items/items/source_numberlist-of-types was widened by adding typesnullto media typeapplication/jsonof response200 - breaking
response property
items/items/typelist-of-types was widened by adding typesnullto media typeapplication/jsonof response200 - breaking
response property
totallist-of-types was widened by adding typesnullto media typeapplication/jsonof response200 - breaking
the
//response's property type changed fromstringto no type for status - breaking
the
//response's property type changed fromobjectto no type for status - breaking
the
//response's property type changed fromstringto no type for status - breaking
the
//response's property type changed fromstringto no type for status - breaking
the
//response's property type changed fromstringto no type for status - warning
deleted the
queryrequest parametertype - warning
removed the optional property
///from the response with the status - warning
removed the optional property
///from the response with the status - warning
added the new
SMSenum value to the//response property for the response status - warning
added the new
WHATSAPPenum value to the//response property for the response status - info
api operation id
getMessagesremoved and replaced withlist_messages - info
the endpoint scheme security
APIKeyHeaderwas added to the API - info
queryrequest parameterendDatelist-of-types was widened by adding typesnull - info
queryrequest parameteritemsPerPagelist-of-types was widened by adding typesnull - info
queryrequest parameterpagelist-of-types was widened by adding typesnull - info
queryrequest parameterphonelist-of-types was widened by adding typesnull - info
queryrequest parameterstartDatelist-of-types was widened by adding typesnull - info
queryrequest parameterstreamIdlist-of-types was widened by adding typesnull - info
for the
queryrequest parameterendDate, the type was generalized fromstringto no type - info
for the
queryrequest parameteritemsPerPage, the type was generalized fromintegerto no type - info
for the
queryrequest parameterpage, the type was generalized fromintegerto no type - info
for the
queryrequest parameterphone, the type was generalized fromstringto no type - info
for the
queryrequest parameterstartDate, the type was generalized fromstringto no type - info
for the
queryrequest parameterstatus, the type was generalized fromstringto no type - info
for the
queryrequest parameterstreamId, the type was generalized fromintegerto no type - info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added
subschema #2subschema #3to the//response propertyanyOflist for the response status - info
added
subschema #2to the//response propertyanyOflist for the response status - info
added
subschema #2to the//response propertyanyOflist for the response status - info
added
subschema #2to the//response propertyanyOflist for the response status - info
added
subschema #2to the//response propertyanyOflist for the response status - info
the response property
became required for the status - info
the
response's property default value0was added for the status
- breaking