Inbound Emails
Get Message
Retrieves a single inbound email message by its ID, including full text/HTML bodies, headers, attachments metadata, threading information, and verdicts.
GET
/
inbound
/
messages
/
{id}
curl --request GET \
--url https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234 \
--header 'Authorization: Bearer as_your-api-key'
import requests
url = "https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234"
headers = {
"Authorization": "Bearer as_your-api-key"
}
response = requests.get(url, headers=headers)
print(response.json())
fetch('https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234', {
method: 'GET',
headers: {
'Authorization': 'Bearer as_your-api-key'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
<?php
$messageId = '60d5ec49f1b2c72d9c8b1234';
$url = "https://api.autosend.com/v1/inbound/messages/{$messageId}";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer as_your-api-key'
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer as_your-api-key")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error:", err)
return
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class GetMessage {
public static void main(String[] args) {
try {
URL url = new URL("https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("Authorization", "Bearer as_your-api-key");
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuilder content = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
content.append(inputLine);
}
in.close();
con.disconnect();
System.out.println(content.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'uri'
uri = URI('https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer as_your-api-key'
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"id": "60d5ec49f1b2c72d9c8b1234",
"messageId": "<[email protected]>",
"domainName": "support.example.com",
"from": {
"email": "[email protected]",
"name": "Jane Customer"
},
"to": [
{
"email": "[email protected]",
"name": null
}
],
"cc": [],
"bcc": [],
"replyTo": [],
"subject": "Question about my order",
"text": "Hi, I wanted to check on the status of order #4821.",
"html": "<p>Hi, I wanted to check on the status of order #4821.</p>",
"attachments": [
{
"attachmentId": "att_60d5ec49f1b2c72d9c8b9999",
"filename": "receipt.pdf",
"contentType": "application/pdf",
"size": 20480,
"index": 0
}
],
"headers": {
"from": "Jane Customer <[email protected]>",
"to": "[email protected]",
"subject": "Question about my order"
},
"spamVerdict": "PASS",
"virusVerdict": "PASS",
"spfVerdict": "PASS",
"dkimVerdict": "PASS",
"dmarcVerdict": "PASS",
"status": "PROCESSED",
"threadId": "60d5ec49f1b2c72d9c8b1234",
"inReplyTo": null,
"inReplyToEmailActivityId": null,
"inReplyToInboundEmailId": null,
"receivedAt": "2026-06-20T10:15:30.000Z"
}
}
This endpoint uses a standard project API key (
AS_ prefix). The message must belong to the project the key is scoped to.curl --request GET \
--url https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234 \
--header 'Authorization: Bearer as_your-api-key'
import requests
url = "https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234"
headers = {
"Authorization": "Bearer as_your-api-key"
}
response = requests.get(url, headers=headers)
print(response.json())
fetch('https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234', {
method: 'GET',
headers: {
'Authorization': 'Bearer as_your-api-key'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
<?php
$messageId = '60d5ec49f1b2c72d9c8b1234';
$url = "https://api.autosend.com/v1/inbound/messages/{$messageId}";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer as_your-api-key'
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer as_your-api-key")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error:", err)
return
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class GetMessage {
public static void main(String[] args) {
try {
URL url = new URL("https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("Authorization", "Bearer as_your-api-key");
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuilder content = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
content.append(inputLine);
}
in.close();
con.disconnect();
System.out.println(content.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'uri'
uri = URI('https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer as_your-api-key'
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"id": "60d5ec49f1b2c72d9c8b1234",
"messageId": "<[email protected]>",
"domainName": "support.example.com",
"from": {
"email": "[email protected]",
"name": "Jane Customer"
},
"to": [
{
"email": "[email protected]",
"name": null
}
],
"cc": [],
"bcc": [],
"replyTo": [],
"subject": "Question about my order",
"text": "Hi, I wanted to check on the status of order #4821.",
"html": "<p>Hi, I wanted to check on the status of order #4821.</p>",
"attachments": [
{
"attachmentId": "att_60d5ec49f1b2c72d9c8b9999",
"filename": "receipt.pdf",
"contentType": "application/pdf",
"size": 20480,
"index": 0
}
],
"headers": {
"from": "Jane Customer <[email protected]>",
"to": "[email protected]",
"subject": "Question about my order"
},
"spamVerdict": "PASS",
"virusVerdict": "PASS",
"spfVerdict": "PASS",
"dkimVerdict": "PASS",
"dmarcVerdict": "PASS",
"status": "PROCESSED",
"threadId": "60d5ec49f1b2c72d9c8b1234",
"inReplyTo": null,
"inReplyToEmailActivityId": null,
"inReplyToInboundEmailId": null,
"receivedAt": "2026-06-20T10:15:30.000Z"
}
}
Authorizations
string | header
required
Project API key header of the form Bearer
as_<key>. You can also pass the key via the x-api-key header.Path Parameters
string
required
The unique identifier of the inbound message. The message must belong to the authenticated project.Example:
"60d5ec49f1b2c72d9c8b1234"Response
Message retrieved successfullyboolean
Indicates if the request was successfulExample:
trueobject
The full inbound message object
Show child attributes
Show child attributes
string
Unique inbound message identifier (MongoDB ID). This is the same value sent as
inboundEmailId in the email.received webhook event - use it as the {id} path parameter to fetch this message.string
RFC 5322
Message-ID header from the original emailstring
Domain the message was received on
object
Sender address (
email, name)object[]
Recipient addresses (
email, name)object[]
CC addresses (
email, name)object[]
BCC addresses (
email, name)object[]
Reply-To addresses (
email, name)string
Message subject
string
Plain-text body (truncated; raw MIME in storage is the source of truth)
string
HTML body (truncated; raw MIME in storage is the source of truth)
object[]
Attachment metadata. Each entry includes
attachmentId, filename, contentType, size, and a zero-based index used to download the attachment.object
Map of raw email headers (header name → string value)
string
Spam verdict (e.g.
PASS, FAIL)string
Virus verdict
string
SPF verdict
string
DKIM verdict
string
DMARC verdict
string
Message status:
PROCESSED, PROCESSING, FAILED, BLOCKED_UNVERIFIED, or BLOCKED_UNROUTEDstring
Identifier of the conversation thread this message belongs to
string | null
Raw
In-Reply-To header value from the original emailstring | null
ID of the outbound email this message is a reply to, if matched
string | null
ID of a previously received inbound message this message is a reply to, if matched
string
Timestamp the message was received (ISO 8601)
Error Responses
object
Returned when the
id parameter is not valid.{
"success": false,
"error": {
"message": "Invalid value",
}
}
object
Returned when the message does not exist or does not belong to the authenticated project.
{
"success": false,
"error": {
"message": "Inbound email not found"
}
}
Was this page helpful?
⌘I
curl --request GET \
--url https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234 \
--header 'Authorization: Bearer as_your-api-key'
import requests
url = "https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234"
headers = {
"Authorization": "Bearer as_your-api-key"
}
response = requests.get(url, headers=headers)
print(response.json())
fetch('https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234', {
method: 'GET',
headers: {
'Authorization': 'Bearer as_your-api-key'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
<?php
$messageId = '60d5ec49f1b2c72d9c8b1234';
$url = "https://api.autosend.com/v1/inbound/messages/{$messageId}";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer as_your-api-key'
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer as_your-api-key")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error:", err)
return
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class GetMessage {
public static void main(String[] args) {
try {
URL url = new URL("https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("Authorization", "Bearer as_your-api-key");
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuilder content = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
content.append(inputLine);
}
in.close();
con.disconnect();
System.out.println(content.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'uri'
uri = URI('https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer as_your-api-key'
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"id": "60d5ec49f1b2c72d9c8b1234",
"messageId": "<[email protected]>",
"domainName": "support.example.com",
"from": {
"email": "[email protected]",
"name": "Jane Customer"
},
"to": [
{
"email": "[email protected]",
"name": null
}
],
"cc": [],
"bcc": [],
"replyTo": [],
"subject": "Question about my order",
"text": "Hi, I wanted to check on the status of order #4821.",
"html": "<p>Hi, I wanted to check on the status of order #4821.</p>",
"attachments": [
{
"attachmentId": "att_60d5ec49f1b2c72d9c8b9999",
"filename": "receipt.pdf",
"contentType": "application/pdf",
"size": 20480,
"index": 0
}
],
"headers": {
"from": "Jane Customer <[email protected]>",
"to": "[email protected]",
"subject": "Question about my order"
},
"spamVerdict": "PASS",
"virusVerdict": "PASS",
"spfVerdict": "PASS",
"dkimVerdict": "PASS",
"dmarcVerdict": "PASS",
"status": "PROCESSED",
"threadId": "60d5ec49f1b2c72d9c8b1234",
"inReplyTo": null,
"inReplyToEmailActivityId": null,
"inReplyToInboundEmailId": null,
"receivedAt": "2026-06-20T10:15:30.000Z"
}
}