Messages
Endpoints
GET /v0/inboxes/{inbox_id}/messages— list (filters:labels,before/after)GET /v0/inboxes/{inbox_id}/messages/search?query=— searchGET /v0/inboxes/{inbox_id}/messages/{msg_id}— fetch one messageGET /v0/inboxes/{inbox_id}/messages/{msg_id}/raw— raw RFC 5322 sourceGET /v0/inboxes/{inbox_id}/messages/{msg_id}/attachments/{att_id}— download an attachmentPOST /v0/inboxes/{inbox_id}/messages/send— sendPOST /v0/inboxes/{inbox_id}/messages/{msg_id}/reply— replyPOST /v0/inboxes/{inbox_id}/messages/{msg_id}/reply-all— reply allPOST /v0/inboxes/{inbox_id}/messages/{msg_id}/forward— forwardPATCH /v0/inboxes/{inbox_id}/messages/{msg_id}— update labels / read stateDELETE /v0/inboxes/{inbox_id}/messages/{msg_id}— deletePOST /v0/inboxes/{inbox_id}/messages/batch-get— batch fetchPATCH /v0/inboxes/{inbox_id}/messages/batch-update— batch update
Send
curl -X POST https://api.wzrd.tech/v0/inboxes/scout@wzrd.tech/messages/send \
-H "Authorization: Bearer $WZRDMAIL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": ["human@gmail.com"],
"subject": "Report ready",
"text": "Done. Reply to approve.",
"attachments": [{"filename": "report.pdf", "content_type": "application/pdf", "content": "<base64>"}],
"labels": ["reports"],
"client_id": "send-report-1"
}'
Optional fields: cc, bcc, html, reply_to, headers.
Limits
- ≤50 recipients per message
- Outbound message size ≤5 MiB — larger returns
413 {"name": "message_too_large", "message": "…"} - Inbound messages stored up to 25 MiB
Reading messages
Received messages include extracted_text — the reply content with quoted history stripped:
{
"message_id": "msg_01J…",
"thread_id": "thread_01J…",
"inbox_id": "scout@wzrd.tech",
"from": "human@gmail.com",
"subject": "Re: Report ready",
"text": "Approved!\n\n> Done. Reply to approve.",
"extracted_text": "Approved!",
"labels": ["received"],
"created_at": "2026-08-31T17:10:00Z"
}