Inboxes

Create and manage Inboxes through the Resend API. A sending access key can call only these Inboxes endpoints: POST /inboxes/{inbox_id}/threads/{thread_id}/emails/{email_id}/reply, POST /inboxes/{inbox_id}/threads/{thread_id}/emails/{email_id}/forward, POST /inboxes/{inbox_id}/drafts and POST /inboxes/{inbox_id}/drafts/{draft_id}/send. When the key is limited to one domain, the inbox address must be on that domain, or the request returns a 403. Every other Inboxes endpoint needs a full access API key, and a sending access key returns a 401 restricted_api_key.

Operations

MethodEndpointDescription
GET/inboxesRetrieve a list of inboxes
POST/inboxesCreate an inbox
GET/inboxes/{inbox_id}Retrieve a single inbox by ID or email address
PATCH/inboxes/{inbox_id}Update an existing inbox by ID or email address
DELETE/inboxes/{inbox_id}Remove an existing inbox by ID or email address
GET/inboxes/{inbox_id}/agentRetrieve the agent settings for an inbox
PATCH/inboxes/{inbox_id}/agentUpdate the agent settings for an inbox
GET/inboxes/{inbox_id}/labelsRetrieve a list of inbox labels
POST/inboxes/{inbox_id}/labelsCreate a label on an inbox
PATCH/inboxes/{inbox_id}/labels/{label_id}Update an existing inbox label
DELETE/inboxes/{inbox_id}/labels/{label_id}Remove an existing inbox label
GET/inboxes/{inbox_id}/threadsRetrieve a list of inbox threads
GET/inboxes/{inbox_id}/threads/searchSearch the threads of an inbox
GET/inboxes/{inbox_id}/threads/{thread_id}Retrieve a single inbox thread
PATCH/inboxes/{inbox_id}/threads/{thread_id}Update an existing inbox thread
DELETE/inboxes/{inbox_id}/threads/{thread_id}Remove an existing inbox thread
POST/inboxes/{inbox_id}/threads/{thread_id}/labelsAdd labels to an inbox thread
PUT/inboxes/{inbox_id}/threads/{thread_id}/labelsSet the labels of an inbox thread
DELETE/inboxes/{inbox_id}/threads/{thread_id}/labels/{label_id}Remove a label from an inbox thread
GET/inboxes/{inbox_id}/threads/{thread_id}/emailsRetrieve a list of thread emails
GET/inboxes/{inbox_id}/threads/{thread_id}/emails/{email_id}Retrieve a single thread email
POST/inboxes/{inbox_id}/threads/{thread_id}/emails/{email_id}/replyReply to a thread email
POST/inboxes/{inbox_id}/threads/{thread_id}/emails/{email_id}/forwardForward a thread email
GET/inboxes/{inbox_id}/draftsRetrieve a list of drafts
POST/inboxes/{inbox_id}/draftsCreate a draft
GET/inboxes/{inbox_id}/drafts/{draft_id}Retrieve a single draft
PATCH/inboxes/{inbox_id}/drafts/{draft_id}Update an existing draft
DELETE/inboxes/{inbox_id}/drafts/{draft_id}Remove an existing draft
POST/inboxes/{inbox_id}/drafts/{draft_id}/sendSend a draft

Example

Retrieve a list of inboxes, with the TypeScript SDK:

ts
import { Resend } from "@octridev/resend";

const client = new Resend({
  // Optional: replaces the default server and any server an operation declares.
  baseUrl: "https://api.resend.com",
  auth: { bearerAuth: process.env.API_TOKEN! },
});

const result = await client.inboxes.list();
console.log(result);
Nine more languages

The same call exists in every SDK. See SDKs for the other nine.