Send Draft
curl --request POST \
--url https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/drafts/{draft_id}/send \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"add_labels": "<string>",
"remove_labels": "<string>"
}
'import requests
url = "https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/drafts/{draft_id}/send"
payload = {
"add_labels": "<string>",
"remove_labels": "<string>"
}
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({add_labels: '<string>', remove_labels: '<string>'})
};
fetch('https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/drafts/{draft_id}/send', 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}/drafts/{draft_id}/send",
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([
'add_labels' => '<string>',
'remove_labels' => '<string>'
]),
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}/drafts/{draft_id}/send"
payload := strings.NewReader("{\n \"add_labels\": \"<string>\",\n \"remove_labels\": \"<string>\"\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}/drafts/{draft_id}/send")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"add_labels\": \"<string>\",\n \"remove_labels\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/drafts/{draft_id}/send")
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 \"add_labels\": \"<string>\",\n \"remove_labels\": \"<string>\"\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>"
}Drafts
Send Draft
Sends an existing draft and returns message_id and thread_id.
POST
https://api.aisa.one/apis/v1
/
agentmail
/
inboxes
/
{inbox_id}
/
drafts
/
{draft_id}
/
send
Send Draft
curl --request POST \
--url https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/drafts/{draft_id}/send \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"add_labels": "<string>",
"remove_labels": "<string>"
}
'import requests
url = "https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/drafts/{draft_id}/send"
payload = {
"add_labels": "<string>",
"remove_labels": "<string>"
}
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({add_labels: '<string>', remove_labels: '<string>'})
};
fetch('https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/drafts/{draft_id}/send', 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}/drafts/{draft_id}/send",
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([
'add_labels' => '<string>',
'remove_labels' => '<string>'
]),
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}/drafts/{draft_id}/send"
payload := strings.NewReader("{\n \"add_labels\": \"<string>\",\n \"remove_labels\": \"<string>\"\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}/drafts/{draft_id}/send")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"add_labels\": \"<string>\",\n \"remove_labels\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/drafts/{draft_id}/send")
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 \"add_labels\": \"<string>\",\n \"remove_labels\": \"<string>\"\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>"
}Sends an existing draft and returns
message_id and thread_id. 🔴 This sends real email and it cannot be recalled — review the draft with get_agentmail_inbox_draft first, since this call takes no content of its own and sends whatever the draft currently holds. Every AIsa caller shares one AgentMail account, so this reaches inboxes other callers created.
Example
curl -X POST "https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/drafts/{draft_id}/send" \
-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