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
Project API key header of the form Bearer
as_<key>. You can also pass the key via the x-api-key header.Path Parameters
The unique identifier of the inbound message. The message must belong to the authenticated project.Example:
"60d5ec49f1b2c72d9c8b1234"Response
Message retrieved successfullyIndicates if the request was successfulExample:
trueThe full inbound message object
Show child attributes
Show child attributes
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.RFC 5322
Message-ID header from the original emailDomain the message was received on
Sender address (
email, name)Recipient addresses (
email, name)CC addresses (
email, name)BCC addresses (
email, name)Reply-To addresses (
email, name)Message subject
Plain-text body (truncated; raw MIME in storage is the source of truth)
HTML body (truncated; raw MIME in storage is the source of truth)
Attachment metadata. Each entry includes
attachmentId, filename, contentType, size, and a zero-based index used to download the attachment.Map of raw email headers (header name → string value)
Spam verdict (e.g.
PASS, FAIL)Virus verdict
SPF verdict
DKIM verdict
DMARC verdict
Message status:
PROCESSED, PROCESSING, FAILED, BLOCKED_UNVERIFIED, or BLOCKED_UNROUTEDIdentifier of the conversation thread this message belongs to
Raw
In-Reply-To header value from the original emailID of the outbound email this message is a reply to, if matched
ID of a previously received inbound message this message is a reply to, if matched
Timestamp the message was received (ISO 8601)
Error Responses
Returned when the
id parameter is not valid.{
"success": false,
"error": {
"message": "Invalid value",
}
}
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"
}
}