curl -X GET "https://api.wirebox.sh/api/v1/phone/numbers/eva/messages?is_read=false" \
-H "Authorization: Bearer $WIREBOX_API_KEY"
{
"messages": [
{
"id": "msg_01J8DEF789KLM012",
"phone_number": "+14155550123",
"agent_handle": "eva",
"direction": "inbound",
"type": "sms",
"from_number": "+12125550199",
"to_numbers": ["+14155550123"],
"text": "Hey, when is my order arriving?",
"media": null,
"is_read": false,
"segments": 1,
"created_at": "2026-09-14T14:30:00Z"
}
],
"next_cursor": null,
"has_more": false
}
Phone
List Phone Messages
List inbound SMS and MMS messages received by a phone number.
GET
/
api
/
v1
/
phone
/
numbers
/
{number}
/
messages
curl -X GET "https://api.wirebox.sh/api/v1/phone/numbers/eva/messages?is_read=false" \
-H "Authorization: Bearer $WIREBOX_API_KEY"
{
"messages": [
{
"id": "msg_01J8DEF789KLM012",
"phone_number": "+14155550123",
"agent_handle": "eva",
"direction": "inbound",
"type": "sms",
"from_number": "+12125550199",
"to_numbers": ["+14155550123"],
"text": "Hey, when is my order arriving?",
"media": null,
"is_read": false,
"segments": 1,
"created_at": "2026-09-14T14:30:00Z"
}
],
"next_cursor": null,
"has_more": false
}
Phone messages are currently inbound-only. Outbound SMS is not available.
Each media item contains
string
required
Number ID (
pn_...), E.164 phone number, or owning agent handle.integer
default:"50"
Number of messages to return (1–100).
string
Cursor from a previous response’s
next_cursor.boolean
Filter by read state.
string
Filter by a sender’s E.164 phone number.
curl -X GET "https://api.wirebox.sh/api/v1/phone/numbers/eva/messages?is_read=false" \
-H "Authorization: Bearer $WIREBOX_API_KEY"
{
"messages": [
{
"id": "msg_01J8DEF789KLM012",
"phone_number": "+14155550123",
"agent_handle": "eva",
"direction": "inbound",
"type": "sms",
"from_number": "+12125550199",
"to_numbers": ["+14155550123"],
"text": "Hey, when is my order arriving?",
"media": null,
"is_read": false,
"segments": 1,
"created_at": "2026-09-14T14:30:00Z"
}
],
"next_cursor": null,
"has_more": false
}
content_type, size_bytes, and a signed url. Signed media URLs expire one hour after the response is generated.