Skip to content
Inkbox

Inkbox

ContactDocs
GuidesAPI Reference

Ctrl K

GuidesAPI Reference

Jump to

Texts

List, search, and manage inbound SMS and MMS text messages for your phone numbers. Outbound SMS sending is coming soon. MMS messages include media attachments returned as presigned S3 URLs.

All text endpoints are scoped to a phone number: /numbers/{phone_number_id}/texts/...

Path parameters

ParameterTypeDescription
phone_number_idUUIDUnique identifier of the phone number

List texts GET

GET /numbers/{phone_number_id}/texts

List text messages for a phone number, newest first. Excludes deleted messages.

Query parameters

ParameterTypeDefaultDescription
limitinteger50Number of results (1--200)
offsetinteger0Pagination offset
is_readbooleanFilter by read state. Omit for all messages

Response (200)

JSONJSON

Error responses

StatusDescription
403Phone number belongs to a different organization
404Phone number not found or released

Get text GET

GET /numbers/{phone_number_id}/texts/{text_id}

Get a single text message by ID.

Path parameters

ParameterTypeDescription
text_idUUIDUnique identifier of the text message

Response (200)

JSONJSON

MMS messages have type: "mms" and a media array. Each media item includes a content_type, size in bytes, and a presigned url that expires after 1 hour.

Error responses

StatusDescription
404Text not found, wrong phone number, or wrong organization

Update text PATCH

PATCH /numbers/{phone_number_id}/texts/{text_id}

Update a text message. Use this to mark messages as read or to delete them.

Path parameters

ParameterTypeDescription
text_idUUIDUnique identifier of the text message

Request body

FieldTypeRequiredDescription
is_readbooleanNoMark as read (true) or unread (false)
statusstringNoSet to "deleted" to delete the message. No other status value is accepted

Request example

JSONJSON

Response (200)

Returns the updated TextMessage object.

Error responses

StatusDescription
404Text not found, wrong phone number, or wrong organization
422Invalid status value. Only "deleted" is accepted

Search texts GET

GET /numbers/{phone_number_id}/texts/search

Full-text search across text message bodies for a phone number. Results are ranked by relevance and exclude deleted messages.

Query parameters

ParameterTypeDefaultDescription
qstringSearch query (required, 1--500 characters)
limitinteger50Number of results (1--200)

Response (200)

Returns a list[TextMessage] matching the query.

Error responses

StatusDescription
403Phone number belongs to a different organization
404Phone number not found or released
422Missing or invalid q parameter

List conversations GET

GET /numbers/{phone_number_id}/texts/conversations

List conversation summaries — one row per remote phone number, ordered by most recent message, with the latest message preview and unread count.

Query parameters

ParameterTypeDefaultDescription
limitinteger50Number of results (1--200)
offsetinteger0Pagination offset

Response (200)

JSONJSON

Error responses

StatusDescription
403Phone number belongs to a different organization
404Phone number not found or released

Get conversation GET

GET /numbers/{phone_number_id}/texts/conversations/{remote_number}

Get all messages exchanged with a specific remote number, newest first. The remote_number can be an E.164 phone number (for example +15167251294) or a short code (for example 76934).

Path parameters

ParameterTypeDescription
remote_numberstringRemote party's phone number or short code

Query parameters

ParameterTypeDefaultDescription
limitinteger50Number of results (1--200)
offsetinteger0Pagination offset

Response (200)

Returns a list[TextMessage] for the conversation.

Error responses

StatusDescription
403Phone number belongs to a different organization
404Phone number not found or released

Update conversation PATCH

PATCH /numbers/{phone_number_id}/texts/conversations/{remote_number}

Bulk-update the read state for all non-deleted messages in a conversation.

Path parameters

ParameterTypeDescription
remote_numberstringRemote party's phone number or short code

Request body

FieldTypeRequiredDescription
is_readbooleanYesMark all messages as read (true) or unread (false)

Request example

JSONJSON

Response (200)

JSONJSON

Returns updated_count: 0 when no messages needed updating. That is not an error.

Error responses

StatusDescription
403Phone number belongs to a different organization
404Phone number not found or released
422Missing or invalid is_read

Text message object

FieldTypeDescription
idstring (UUID)Message ID
directionstring"inbound" or "outbound"
local_phone_numberstringYour Inkbox number (E.164)
remote_phone_numberstringThe other party's number or short code
textstring | nullMessage body. Null for MMS-only messages
typestring"sms" or "mms"
mediaarray | nullMedia attachments (MMS only). Each item has content_type, size, and url
statusstring"active" or "deleted"
is_readbooleanWhether the message has been read
created_atstring (ISO 8601)Creation timestamp
updated_atstring (ISO 8601)Last update timestamp

Inkbox

Copyright © 2026 Inkbox

This site is protected by reCAPTCHA.

Google Privacy Policy and Terms of Service apply.

Website

Inkbox

Copyright © 2026 Inkbox

This site is protected by reCAPTCHA.

Google Privacy Policy and Terms of Service apply.

Website

Texts