curl --request GET \
--url https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}', 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}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"inbox_id": "<string>",
"thread_id": "<string>",
"message_id": "<string>",
"labels": [
"<string>"
],
"timestamp": "2023-11-07T05:31:56Z",
"from": "<string>",
"to": [
"<string>"
],
"size": 123,
"updated_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"reply_to": [
"<string>"
],
"cc": [
"<string>"
],
"bcc": [
"<string>"
],
"subject": "<string>",
"preview": "<string>",
"text": "<string>",
"html": "<string>",
"extracted_text": "<string>",
"extracted_html": "<string>",
"attachments": [
{
"attachment_id": "<string>",
"size": 123,
"filename": "<string>",
"content_type": "<string>",
"content_disposition": "inline",
"content_id": "<string>"
}
],
"in_reply_to": "<string>",
"calendar_event_id": "<string>",
"references": [
"<string>"
],
"headers": {}
}Get Inbox Message
获取单封邮件全文:message_id、thread_id、labels、timestamp、from、reply_to、to、cc、bcc、subject、preview、text、html、extracted_text 及附件元数据。
curl --request GET \
--url https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}', 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}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"inbox_id": "<string>",
"thread_id": "<string>",
"message_id": "<string>",
"labels": [
"<string>"
],
"timestamp": "2023-11-07T05:31:56Z",
"from": "<string>",
"to": [
"<string>"
],
"size": 123,
"updated_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"reply_to": [
"<string>"
],
"cc": [
"<string>"
],
"bcc": [
"<string>"
],
"subject": "<string>",
"preview": "<string>",
"text": "<string>",
"html": "<string>",
"extracted_text": "<string>",
"extracted_html": "<string>",
"attachments": [
{
"attachment_id": "<string>",
"size": 123,
"filename": "<string>",
"content_type": "<string>",
"content_disposition": "inline",
"content_id": "<string>"
}
],
"in_reply_to": "<string>",
"calendar_event_id": "<string>",
"references": [
"<string>"
],
"headers": {}
}message_id、thread_id、labels、timestamp、from、reply_to、to、cc、bcc、subject、preview、text、html、extracted_text 及附件元数据。要原始 MIME 源用 get_agentmail_inbox_message_raw,要附件下载地址用 get_agentmail_inbox_message_attachment。
示例
curl -X GET "https://api.aisa.one/apis/v1/agentmail/inboxes/{inbox_id}/messages/{message_id}" \
-H "Authorization: Bearer YOUR_API_KEY"
// 把整段复制给 Claude Code、Codex、Cursor 或任意 coding agent。
// 连接、授权、跑通这个例子需要的东西都在里面 ——
// 不用粘贴任何 key,浏览器里点一次 Allow 就好。
{
"operation_id": "get_agentmail_inbox_message",
"arguments": {},
"max_price_usd": 0.05
}
// ── for the agent ─────────────────────────────────────────────────────────
// Register the AIsa MCP server, then call its `use` tool with the JSON above.
// name aisa
// endpoint https://mcp.aisa.one/mcp
// transport streamable-http
// auth OAuth. The server publishes RFC 9728 metadata, so open a
// browser and the user clicks Allow once — nothing to paste.
// If AISA_API_KEY is set, send it as a bearer header instead.
// Use your own MCP mechanism, not a hand-edited config file:
// Codex codex mcp add aisa --url https://mcp.aisa.one/mcp
// Claude Code claude mcp add --transport http -s user aisa https://mcp.aisa.one/mcp
// Cursor / VS Code a "url" entry for https://mcp.aisa.one/mcp in the MCP config
// The server lists five tools over https://mcp.aisa.one/servers worth of APIs:
// search, get_details, use, batch_use, list_categories. search and
// get_details are free; use is billed per call and max_price_usd refuses
// anything above the cap before spending. This operation's full contract —
// every argument, the response shape, the price and the pitfalls — is at
// https://aisa.one/docs/zh/api-reference/agentmail/get_agentmail-inboxes-inbox-id-messages-message-id.md
// Then run the call and show me the result.
https://mcp.aisa.one/mcp —— Claude Code、
Codex、Cursor、VS Code 都可以。鉴权走 OAuth:客户端打开浏览器,你点一次
Allow,不需要粘贴任何 key。各客户端的具体命令和每次调用的价格见
aisa.one/zh-cn/mcp。授权
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
响应
状态码为 200 的响应
收件箱的 ID。
会话 ID。
消息 ID。
消息标签。
消息的发送或起草时间。
发件人地址。格式为 username@domain.com 或 Display Name <username@domain.com>。
收件人地址。格式为 username@domain.com 或 Display Name <username@domain.com>。
消息大小(以字节为单位)。
消息最后更新的时间。
消息的创建时间。
回复地址。格式为 username@domain.com 或 Display Name <username@domain.com>。
抄送收件人的地址。格式为 username@domain.com 或 Display Name <username@domain.com>。
BCC 收件人的地址。格式为 username@domain.com 或 Display Name <username@domain.com>。
消息主题。
消息文本预览。
消息的纯文本正文。
消息的 HTML 正文。
提取的新文本内容。
提取的新 HTML 内容。
消息中的附件。
Show child attributes
Show child attributes
被回复消息的 ID。
The calendar event this email's invitation was applied to: set when the email's calendar invitation, update, cancellation or attendee reply changed the inbox's calendar, a few seconds after the email arrives. For an email about one date of a recurring event, it is that date's event ID. Absent on other emails, and on invitations that were not imported. Calendar is in private beta.
会话串中先前消息的 ID。
消息中的标头。
Show child attributes
Show child attributes