Retrieve Thread Email
Retrieve a single message from a thread.
GET
/
inboxes
/
:inbox_id
/
threads
/
:thread_id
/
emails
/
:email_id
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.inboxes.threads.emails.get({
inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
threadId: '4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12',
emailId: '5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60',
});
$resend = Resend::client('re_xxxxxxxxx');
$resend->inboxes->threads->emails->get(
'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
'4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12',
'5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60'
);
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Inboxes.Threads.Emails.get(
inbox_id="b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
thread_id="4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
email_id="5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60",
)
require "resend"
Resend.api_key = "re_xxxxxxxxx"
params = {
inbox_id: "b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
thread_id: "4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
email_id: "5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60"
}
Resend::Inboxes::Threads::Emails.get(params)
package main
import "github.com/resend/resend-go/v4"
func main() {
client := resend.NewClient("re_xxxxxxxxx")
client.Inboxes.Threads.Emails.Get(
"b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
"4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
"5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60",
)
}
use resend_rs::{Resend, Result};
#[tokio::main]
async fn main() -> Result<()> {
let resend = Resend::new("re_xxxxxxxxx");
let _email = resend
.inboxes
.get_thread_email(
"b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
"4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
"5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60",
)
.await?;
Ok(())
}
import com.resend.Resend;
import com.resend.core.exception.ResendException;
import com.resend.services.inboxes.model.GetInboxThreadEmailResponseSuccess;
public class Main {
public static void main(String[] args) throws ResendException {
Resend resend = new Resend("re_xxxxxxxxx");
GetInboxThreadEmailResponseSuccess data = resend.inboxes().threads().emails().get(
"b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
"4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
"5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60");
}
}
using Resend;
IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI
var resp = await resend.InboxThreadEmailRetrieveAsync(
new Guid( "b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1" ),
new Guid( "4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12" ),
new Guid( "5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60" )
);
Console.WriteLine( "Email subject={0}", resp.Content.Subject );
curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12/emails/5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend inboxes threads emails get b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1 4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12 5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60
{
"id": "5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60",
"direction": "inbound",
"from": "Ada Lovelace <ada@example.org>",
"to": ["support@example.com"],
"cc": [],
"bcc": [],
"reply_to": ["replies@example.org"],
"subject": "Refund for order 1041",
"message_id": "<1041@example.org>",
"html": "<p>Could I get a refund for order 1041?</p>",
"text": "Could I get a refund for order 1041?",
"attachments": [
{
"id": "9d4f2b81-6c3a-4e7d-8b12-0a5c6d7e8f90",
"filename": "receipt.pdf",
"size": 20841
}
],
"read": false,
"received_at": "2026-08-05T14:03:11.229Z"
}
Returns one message of a thread. Each item from List Thread
Emails has this shape.
Path Parameters
Response Fields
Whether the message was received by the inbox or sent from it. One of
inbound or outbound. A message the inbox sent to itself is inbound, so a
reply to it goes to its sender.Sender email address. Includes the display name when the sender has one, in
the format
Name <sender@domain.com>.The recipients of the message. For a received message, these are the addresses
it was delivered to, not the full
To header.import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.inboxes.threads.emails.get({
inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
threadId: '4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12',
emailId: '5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60',
});
$resend = Resend::client('re_xxxxxxxxx');
$resend->inboxes->threads->emails->get(
'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
'4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12',
'5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60'
);
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Inboxes.Threads.Emails.get(
inbox_id="b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
thread_id="4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
email_id="5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60",
)
require "resend"
Resend.api_key = "re_xxxxxxxxx"
params = {
inbox_id: "b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
thread_id: "4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
email_id: "5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60"
}
Resend::Inboxes::Threads::Emails.get(params)
package main
import "github.com/resend/resend-go/v4"
func main() {
client := resend.NewClient("re_xxxxxxxxx")
client.Inboxes.Threads.Emails.Get(
"b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
"4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
"5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60",
)
}
use resend_rs::{Resend, Result};
#[tokio::main]
async fn main() -> Result<()> {
let resend = Resend::new("re_xxxxxxxxx");
let _email = resend
.inboxes
.get_thread_email(
"b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
"4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
"5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60",
)
.await?;
Ok(())
}
import com.resend.Resend;
import com.resend.core.exception.ResendException;
import com.resend.services.inboxes.model.GetInboxThreadEmailResponseSuccess;
public class Main {
public static void main(String[] args) throws ResendException {
Resend resend = new Resend("re_xxxxxxxxx");
GetInboxThreadEmailResponseSuccess data = resend.inboxes().threads().emails().get(
"b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
"4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
"5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60");
}
}
using Resend;
IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI
var resp = await resend.InboxThreadEmailRetrieveAsync(
new Guid( "b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1" ),
new Guid( "4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12" ),
new Guid( "5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60" )
);
Console.WriteLine( "Email subject={0}", resp.Content.Subject );
curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12/emails/5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend inboxes threads emails get b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1 4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12 5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60
{
"id": "5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60",
"direction": "inbound",
"from": "Ada Lovelace <ada@example.org>",
"to": ["support@example.com"],
"cc": [],
"bcc": [],
"reply_to": ["replies@example.org"],
"subject": "Refund for order 1041",
"message_id": "<1041@example.org>",
"html": "<p>Could I get a refund for order 1041?</p>",
"text": "Could I get a refund for order 1041?",
"attachments": [
{
"id": "9d4f2b81-6c3a-4e7d-8b12-0a5c6d7e8f90",
"filename": "receipt.pdf",
"size": 20841
}
],
"read": false,
"received_at": "2026-08-05T14:03:11.229Z"
}
Was this page helpful?
⌘I
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.inboxes.threads.emails.get({
inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
threadId: '4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12',
emailId: '5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60',
});
$resend = Resend::client('re_xxxxxxxxx');
$resend->inboxes->threads->emails->get(
'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
'4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12',
'5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60'
);
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Inboxes.Threads.Emails.get(
inbox_id="b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
thread_id="4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
email_id="5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60",
)
require "resend"
Resend.api_key = "re_xxxxxxxxx"
params = {
inbox_id: "b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
thread_id: "4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
email_id: "5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60"
}
Resend::Inboxes::Threads::Emails.get(params)
package main
import "github.com/resend/resend-go/v4"
func main() {
client := resend.NewClient("re_xxxxxxxxx")
client.Inboxes.Threads.Emails.Get(
"b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
"4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
"5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60",
)
}
use resend_rs::{Resend, Result};
#[tokio::main]
async fn main() -> Result<()> {
let resend = Resend::new("re_xxxxxxxxx");
let _email = resend
.inboxes
.get_thread_email(
"b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
"4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
"5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60",
)
.await?;
Ok(())
}
import com.resend.Resend;
import com.resend.core.exception.ResendException;
import com.resend.services.inboxes.model.GetInboxThreadEmailResponseSuccess;
public class Main {
public static void main(String[] args) throws ResendException {
Resend resend = new Resend("re_xxxxxxxxx");
GetInboxThreadEmailResponseSuccess data = resend.inboxes().threads().emails().get(
"b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
"4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
"5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60");
}
}
using Resend;
IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI
var resp = await resend.InboxThreadEmailRetrieveAsync(
new Guid( "b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1" ),
new Guid( "4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12" ),
new Guid( "5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60" )
);
Console.WriteLine( "Email subject={0}", resp.Content.Subject );
curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12/emails/5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend inboxes threads emails get b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1 4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12 5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60
{
"id": "5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60",
"direction": "inbound",
"from": "Ada Lovelace <ada@example.org>",
"to": ["support@example.com"],
"cc": [],
"bcc": [],
"reply_to": ["replies@example.org"],
"subject": "Refund for order 1041",
"message_id": "<1041@example.org>",
"html": "<p>Could I get a refund for order 1041?</p>",
"text": "Could I get a refund for order 1041?",
"attachments": [
{
"id": "9d4f2b81-6c3a-4e7d-8b12-0a5c6d7e8f90",
"filename": "receipt.pdf",
"size": 20841
}
],
"read": false,
"received_at": "2026-08-05T14:03:11.229Z"
}