Skip to main content
Email inboxes let your application receive, read, and reply to email messages through the Telnyx API. Each inbox is an address on a verified sending domain that you own, or on Telnyx’s shared inbound subdomain for instant setup with no DNS configuration.

Create an inbox

Create an inbox by specifying a local part (username) and a domain you’ve already verified for inbound email. You can also omit domain_id to use the account’s shared inbound subdomain — no DNS setup required.
curl
The response returns the inbox object with its full email address (e.g. support@yourdomain.com), status, and settings. To create an instant inbox on the shared subdomain, omit both fields:
curl

List and search messages

List messages in an inbox with optional search and filtering:
curl
You can filter by:
  • Search textfilter[search] matches subject and message body
  • Senderfilter[from] matches the sender address
  • Labels — only messages with specific labels
  • Date range — messages received within a time window
  • Read/unread — filter by read status
Results are cursor-paginated, newest first. Message bodies are returned as text_body_url and html_body_url — URLs you fetch separately. Headers, attachments, and labels are included inline.

Reply to a message

Reply to a message with a single call. The original message’s In-Reply-To and References headers are set automatically:
curl
Use the reply_all action to reply to all recipients. Both text and html are optional, but at least one must be present.

Forward a message

Forward a message to new recipients. The forwarded message body is prepended with your optional note:
curl

Drafts

Create a draft, update it, and send it when ready:
curl
You can also create a reply draft linked to a specific message using the POST /email_inboxes/{inbox_id}/messages/{message_id}/drafts endpoint.

Threads

Messages are grouped into threads by conversation. List threads in an inbox:
curl
Get a thread with a page of its messages:
curl
You can also list threads across all inboxes in the account with GET /email_threads.

Labels

Organize messages and threads with labels:
curl
Labels are mutable string tags — use them for categories, priority, workflow state, or anything your application needs. Thread labels are managed with the equivalent /threads/{thread_id}/labels endpoints.

Sender filters

Control which senders can deliver to an inbox. Set a top-level type of allowlist or blocklist, and provide entries as an array of strings — exact email addresses or @domain wildcards:
curl
Use PUT to replace all filters at once, or DELETE to remove specific entries.

Mark messages as read or unread

Update the read state of a message. Set read_at to true for the current timestamp, an ISO-8601 string for a specific time, or null to mark as unread:
curl