Reply To Message
curl --request POST \
--url https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}/reply \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"labels": [
"<string>"
],
"reply_to": "<string>",
"to": "<string>",
"cc": "<string>",
"bcc": "<string>",
"reply_all": true,
"text": "<string>",
"html": "<string>",
"attachments": [
{
"filename": "<string>",
"content_type": "<string>",
"content_id": "<string>",
"content": "<string>",
"url": "<string>"
}
],
"headers": {}
}
'import requests
url = "https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}/reply"
payload = {
"labels": ["<string>"],
"reply_to": "<string>",
"to": "<string>",
"cc": "<string>",
"bcc": "<string>",
"reply_all": True,
"text": "<string>",
"html": "<string>",
"attachments": [
{
"filename": "<string>",
"content_type": "<string>",
"content_id": "<string>",
"content": "<string>",
"url": "<string>"
}
],
"headers": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
labels: ['<string>'],
reply_to: '<string>',
to: '<string>',
cc: '<string>',
bcc: '<string>',
reply_all: true,
text: '<string>',
html: '<string>',
attachments: [
{
filename: '<string>',
content_type: '<string>',
content_id: '<string>',
content: '<string>',
url: '<string>'
}
],
headers: {}
})
};
fetch('https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}/reply', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}/reply",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'labels' => [
'<string>'
],
'reply_to' => '<string>',
'to' => '<string>',
'cc' => '<string>',
'bcc' => '<string>',
'reply_all' => true,
'text' => '<string>',
'html' => '<string>',
'attachments' => [
[
'filename' => '<string>',
'content_type' => '<string>',
'content_id' => '<string>',
'content' => '<string>',
'url' => '<string>'
]
],
'headers' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}/reply"
payload := strings.NewReader("{\n \"labels\": [\n \"<string>\"\n ],\n \"reply_to\": \"<string>\",\n \"to\": \"<string>\",\n \"cc\": \"<string>\",\n \"bcc\": \"<string>\",\n \"reply_all\": true,\n \"text\": \"<string>\",\n \"html\": \"<string>\",\n \"attachments\": [\n {\n \"filename\": \"<string>\",\n \"content_type\": \"<string>\",\n \"content_id\": \"<string>\",\n \"content\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"headers\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}/reply")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"labels\": [\n \"<string>\"\n ],\n \"reply_to\": \"<string>\",\n \"to\": \"<string>\",\n \"cc\": \"<string>\",\n \"bcc\": \"<string>\",\n \"reply_all\": true,\n \"text\": \"<string>\",\n \"html\": \"<string>\",\n \"attachments\": [\n {\n \"filename\": \"<string>\",\n \"content_type\": \"<string>\",\n \"content_id\": \"<string>\",\n \"content\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"headers\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}/reply")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"labels\": [\n \"<string>\"\n ],\n \"reply_to\": \"<string>\",\n \"to\": \"<string>\",\n \"cc\": \"<string>\",\n \"bcc\": \"<string>\",\n \"reply_all\": true,\n \"text\": \"<string>\",\n \"html\": \"<string>\",\n \"attachments\": [\n {\n \"filename\": \"<string>\",\n \"content_type\": \"<string>\",\n \"content_id\": \"<string>\",\n \"content\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"headers\": {}\n}"
response = http.request(request)
puts response.read_body{
"message_id": "<string>",
"thread_id": "<string>"
}{
"name": "<string>",
"errors": "<unknown>"
}{
"name": "<string>",
"message": "<string>"
}{
"name": "<string>",
"message": "<string>"
}Messages
Reply To Message
Replies to one message, threading the response correctly, and returns message_id and thread_id.
POST
https://api.aisa.one/apis/v1
/
agentmail
/
inboxes
/
{inbox_id}
/
messages
/
{message_id}
/
reply
Reply To Message
curl --request POST \
--url https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}/reply \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"labels": [
"<string>"
],
"reply_to": "<string>",
"to": "<string>",
"cc": "<string>",
"bcc": "<string>",
"reply_all": true,
"text": "<string>",
"html": "<string>",
"attachments": [
{
"filename": "<string>",
"content_type": "<string>",
"content_id": "<string>",
"content": "<string>",
"url": "<string>"
}
],
"headers": {}
}
'import requests
url = "https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}/reply"
payload = {
"labels": ["<string>"],
"reply_to": "<string>",
"to": "<string>",
"cc": "<string>",
"bcc": "<string>",
"reply_all": True,
"text": "<string>",
"html": "<string>",
"attachments": [
{
"filename": "<string>",
"content_type": "<string>",
"content_id": "<string>",
"content": "<string>",
"url": "<string>"
}
],
"headers": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
labels: ['<string>'],
reply_to: '<string>',
to: '<string>',
cc: '<string>',
bcc: '<string>',
reply_all: true,
text: '<string>',
html: '<string>',
attachments: [
{
filename: '<string>',
content_type: '<string>',
content_id: '<string>',
content: '<string>',
url: '<string>'
}
],
headers: {}
})
};
fetch('https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}/reply', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}/reply",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'labels' => [
'<string>'
],
'reply_to' => '<string>',
'to' => '<string>',
'cc' => '<string>',
'bcc' => '<string>',
'reply_all' => true,
'text' => '<string>',
'html' => '<string>',
'attachments' => [
[
'filename' => '<string>',
'content_type' => '<string>',
'content_id' => '<string>',
'content' => '<string>',
'url' => '<string>'
]
],
'headers' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}/reply"
payload := strings.NewReader("{\n \"labels\": [\n \"<string>\"\n ],\n \"reply_to\": \"<string>\",\n \"to\": \"<string>\",\n \"cc\": \"<string>\",\n \"bcc\": \"<string>\",\n \"reply_all\": true,\n \"text\": \"<string>\",\n \"html\": \"<string>\",\n \"attachments\": [\n {\n \"filename\": \"<string>\",\n \"content_type\": \"<string>\",\n \"content_id\": \"<string>\",\n \"content\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"headers\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}/reply")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"labels\": [\n \"<string>\"\n ],\n \"reply_to\": \"<string>\",\n \"to\": \"<string>\",\n \"cc\": \"<string>\",\n \"bcc\": \"<string>\",\n \"reply_all\": true,\n \"text\": \"<string>\",\n \"html\": \"<string>\",\n \"attachments\": [\n {\n \"filename\": \"<string>\",\n \"content_type\": \"<string>\",\n \"content_id\": \"<string>\",\n \"content\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"headers\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}/reply")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"labels\": [\n \"<string>\"\n ],\n \"reply_to\": \"<string>\",\n \"to\": \"<string>\",\n \"cc\": \"<string>\",\n \"bcc\": \"<string>\",\n \"reply_all\": true,\n \"text\": \"<string>\",\n \"html\": \"<string>\",\n \"attachments\": [\n {\n \"filename\": \"<string>\",\n \"content_type\": \"<string>\",\n \"content_id\": \"<string>\",\n \"content\": \"<string>\",\n \"url\": \"<string>\"\n }\n ],\n \"headers\": {}\n}"
response = http.request(request)
puts response.read_body{
"message_id": "<string>",
"thread_id": "<string>"
}{
"name": "<string>",
"errors": "<unknown>"
}{
"name": "<string>",
"message": "<string>"
}{
"name": "<string>",
"message": "<string>"
}Replies to one message, threading the response correctly, and returns
message_id and thread_id. 🔴 This sends real email and it cannot be recalled. It answers the sender only — post_agentmail_inbox_message_reply_all answers every recipient, which is a materially different blast radius, so pick deliberately. Every AIsa caller shares one AgentMail account, so this reaches inboxes other callers created. To send to a fresh set of recipients use post_agentmail_inbox_message_send.
Example
curl -X POST "https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}/reply" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY"
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Bearer authentication
Body
application/json
Labels of message.
Reply-to address or addresses.
Recipient address or addresses.
CC recipient address or addresses.
BCC recipient address or addresses.
Reply to all recipients of the original message.
Plain text body of message.
HTML body of message.
Attachments to include in message.
Show child attributes
Show child attributes
Headers to include in message.
Show child attributes
Show child attributes