AgentMail
EmailEmail infrastructure for AI agents. Create inboxes, send and receive emails, manage threads, drafts, and attachments.
https://api.dao.pub/market/agentmailEndpoints
/v0/domainsFreeAdd a custom domain.
POST JSON body. Returns domain with DNS records needed for verification.
domainstring (required, e.g. 'example.com')feedback_enabledboolean (required, enable bounce/complaint notifications)/v0/domainsFreeList all custom domains.
GET with optional pagination. Returns verified and pending custom domains.
limitnumber (optional)page_tokenstring (optional)/v0/domains/{domain_id}FreeGet domain details and verification status.
Replace {domain_id}. Returns domain status and required DNS records.
domain_idstring (domain name)/v0/domains/{domain_id}FreeDelete a custom domain.
Permanently removes the custom domain.
domain_idstring/v0/domains/{domain_id}/verifyFreeTrigger domain verification.
Triggers DNS verification for the domain. Check domain status after.
domain_idstring/v0/domains/{domain_id}/zone-fileFreeGet DNS zone file for a domain.
Returns the DNS zone file with required records for domain verification.
domain_idstring/v0/draftsFreeList all drafts across all inboxes.
GET with optional filters. Returns drafts across all inboxes ordered by updated_at.
limitnumber (optional)page_tokenstring (optional)labelsstring (optional)beforestring (optional, ISO datetime)afterstring (optional, ISO datetime)ascendingboolean (optional)/v0/drafts/{draft_id}FreeGet a draft by ID.
Replace {draft_id}. Returns draft details including to, subject, text, html, and attachments.
draft_idstring/v0/inboxes$2.20Create a new inbox with a real email address.
POST JSON body. Returns the created inbox. The inbox can immediately send and receive email.
usernamestring (optional, randomly generated if omitted)domainstring (optional, defaults to 'agentmail.to', must be a verified domain)display_namestring (optional, format: 'Display Name <user@domain.com>')client_idstring (optional)/v0/inboxesFreeList all inboxes.
GET with optional pagination. Returns inboxes ordered by created_at descending.
limitnumber (optional)page_tokenstring (optional)/v0/inboxes/{inbox_id}FreeUpdate inbox display name.
PATCH JSON body with display_name.
inbox_idstringdisplay_namestring (required)/v0/inboxes/{inbox_id}FreeDelete an inbox.
Permanently deletes the inbox and all its messages.
inbox_idstring/v0/inboxes/{inbox_id}FreeGet inbox details.
Replace {inbox_id}. Returns inbox details including pod_id, display_name, and timestamps.
inbox_idstring (inbox ID)/v0/inboxes/{inbox_id}/draftsFreeList drafts in an inbox.
Replace {inbox_id}. Returns drafts ordered by updated_at.
inbox_idstringlimitnumber (optional)page_tokenstring (optional)labelsstring (optional)beforestring (optional, ISO datetime)afterstring (optional, ISO datetime)ascendingboolean (optional)/v0/inboxes/{inbox_id}/drafts$0.01Create a draft email.
Replace {inbox_id}. POST JSON body. Use send_at for scheduled sending.
inbox_idstringtostring (optional, recipient addresses)ccstring (optional)bccstring (optional)subjectstring (optional)textstring (optional, plain text body)htmlstring (optional, HTML body)reply_tostring (optional)labelsstring (optional)in_reply_tostring (optional, message ID being replied to)send_atstring (optional, ISO datetime for scheduled send)client_idstring (optional)/v0/inboxes/{inbox_id}/drafts/{draft_id}FreeDelete a draft.
Permanently deletes the draft.
inbox_idstringdraft_idstring/v0/inboxes/{inbox_id}/drafts/{draft_id}FreeUpdate a draft.
PATCH JSON body with fields to update.
inbox_idstringdraft_idstringtostring (optional)ccstring (optional)bccstring (optional)subjectstring (optional)textstring (optional)htmlstring (optional)reply_tostring (optional)send_atstring (optional, ISO datetime)/v0/inboxes/{inbox_id}/drafts/{draft_id}FreeGet a draft in an inbox.
Replace path params. Returns full draft details.
inbox_idstringdraft_idstring/v0/inboxes/{inbox_id}/drafts/{draft_id}/sendFreeSend a draft email.
Sends the draft. Optionally update labels before sending. Returns message_id and thread_id.
inbox_idstringdraft_idstringadd_labelsstring (optional)remove_labelsstring (optional)/v0/inboxes/{inbox_id}/messagesFreeList messages in an inbox.
Replace {inbox_id}. Returns messages ordered by timestamp. Use labels, before/after, and include_spam to filter.
inbox_idstringlimitnumber (optional)page_tokenstring (optional)labelsstring (optional)beforestring (optional, ISO datetime)afterstring (optional, ISO datetime)ascendingboolean (optional)include_spamboolean (optional)/v0/inboxes/{inbox_id}/messages/{message_id}FreeGet a specific message.
Returns the full message with from, to, subject, text, html, extracted_text, attachments, headers, and timestamps.
inbox_idstringmessage_idstring/v0/inboxes/{inbox_id}/messages/{message_id}FreeUpdate message labels.
PATCH JSON body to add or remove labels on the message.
inbox_idstringmessage_idstringadd_labelsstring (optional)remove_labelsstring (optional)/v0/inboxes/{inbox_id}/messages/{message_id}/attachments/{attachment_id}FreeGet a message attachment.
Returns attachment metadata with a temporary download_url and expires_at.
inbox_idstringmessage_idstringattachment_idstring/v0/inboxes/{inbox_id}/messages/{message_id}/forward$0.01Forward a message.
Forward the message to new recipients. Returns message_id and thread_id.
inbox_idstringmessage_idstringtostring | string[] (required)ccstring | string[] (optional)bccstring | string[] (optional)subjectstring (optional)textstring (optional)htmlstring (optional)labelsstring (optional)attachments[object Object]headersobject (optional)/v0/inboxes/{inbox_id}/messages/{message_id}/rawFreeGet raw email message (RFC 2822).
Returns the raw email message content.
inbox_idstringmessage_idstring/v0/inboxes/{inbox_id}/messages/{message_id}/reply$0.01Reply to a message.
POST reply content. Set reply_all: true to reply to all recipients. Returns message_id and thread_id.
inbox_idstringmessage_idstringtextstring (optional)htmlstring (optional)tostring | string[] (optional, override recipients)ccstring | string[] (optional)bccstring | string[] (optional)reply_allboolean (optional)labelsstring (optional)attachments[object Object]headersobject (optional)/v0/inboxes/{inbox_id}/messages/{message_id}/reply-all$0.01Reply all to a message.
Replies to all recipients of the original message. Returns message_id and thread_id.
inbox_idstringmessage_idstringtextstring (optional)htmlstring (optional)reply_tostring | string[] (optional)labelsstring (optional)attachments[object Object]headersobject (optional)/v0/inboxes/{inbox_id}/messages/send$0.01Send an email from an inbox.
Replace {inbox_id}. POST JSON body with 'to' and message content. Returns message_id and thread_id.
inbox_idstringtostring | string[] (recipient addresses)ccstring | string[] (optional)bccstring | string[] (optional)subjectstring (optional)textstring (optional, plain text body)htmlstring (optional, HTML body)reply_tostring | string[] (optional)labelsstring (optional)attachments[object Object]headersobject (optional, custom email headers)/v0/inboxes/{inbox_id}/metricsFreeGet email metrics for an inbox.
Returns message metrics (sent, delivered, bounced, delayed, rejected, complained, received timestamps) for the time range.
inbox_idstringevent_typesstring (optional, e.g. 'message.sent', 'message.delivered', 'message.bounced', 'message.received')start_timestampstring (required, ISO datetime)end_timestampstring (required, ISO datetime)/v0/inboxes/{inbox_id}/threadsFreeList email threads in an inbox.
Returns conversation threads. Each thread groups related messages with senders, recipients, subject, preview, and message_count.
inbox_idstringlimitnumber (optional)page_tokenstring (optional)labelsstring (optional)beforestring (optional, ISO datetime)afterstring (optional, ISO datetime)ascendingboolean (optional)include_spamboolean (optional)/v0/inboxes/{inbox_id}/threads/{thread_id}FreeDelete a thread.
Permanently deletes the thread and its messages.
inbox_idstringthread_idstring/v0/inboxes/{inbox_id}/threads/{thread_id}FreeGet a thread with all its messages.
Returns the thread with all messages in the conversation ordered by timestamp ascending.
inbox_idstringthread_idstring/v0/inboxes/{inbox_id}/threads/{thread_id}/attachments/{attachment_id}FreeGet a thread attachment.
Returns attachment metadata with download_url and expires_at.
inbox_idstringthread_idstringattachment_idstring/v0/metricsFreeGet email metrics across all inboxes.
Returns aggregated message metrics across all inboxes for the time range.
event_typesstring (optional)start_timestampstring (required, ISO datetime)end_timestampstring (required, ISO datetime)/v0/organizationsFreeGet current organization details.
Returns organization info including inbox_count, domain_count, inbox_limit, and domain_limit.
/v0/podsFreeCreate a new pod.
POST JSON body. Creates a pod to group inboxes.
namestring (optional)client_idstring (optional)/v0/podsFreeList all pods.
GET with optional pagination. Pods group inboxes together.
limitnumber (optional)page_tokenstring (optional)/v0/pods/{pod_id}FreeGet pod details.
Replace {pod_id}. Returns pod details.
pod_idstring/v0/pods/{pod_id}FreeDelete a pod.
Permanently deletes the pod.
pod_idstring/v0/pods/{pod_id}/domainsFreeList domains in a pod.
Replace {pod_id}. Returns domains associated with the pod.
pod_idstringlimitnumber (optional)page_tokenstring (optional)/v0/pods/{pod_id}/domainsFreeAdd a domain to a pod.
Creates a custom domain scoped to the pod.
pod_idstringdomainstring (required)feedback_enabledboolean (required)/v0/pods/{pod_id}/domains/{domain_id}FreeRemove a domain from a pod.
Deletes the domain from the pod.
pod_idstringdomain_idstring/v0/pods/{pod_id}/draftsFreeList drafts across all inboxes in a pod.
Returns drafts from all inboxes in the pod.
pod_idstringlimitnumber (optional)page_tokenstring (optional)labelsstring (optional)beforestring (optional, ISO datetime)afterstring (optional, ISO datetime)ascendingboolean (optional)/v0/pods/{pod_id}/drafts/{draft_id}FreeGet a draft in a pod.
Returns draft details.
pod_idstringdraft_idstring/v0/pods/{pod_id}/inboxesFreeList inboxes in a pod.
Returns inboxes belonging to the pod.
pod_idstringlimitnumber (optional)page_tokenstring (optional)/v0/pods/{pod_id}/inboxes$2.20Create an inbox in a pod.
Creates an inbox scoped to the pod.
pod_idstringusernamestring (optional)domainstring (optional)display_namestring (optional)client_idstring (optional)/v0/pods/{pod_id}/inboxes/{inbox_id}FreeGet an inbox in a pod.
Returns inbox details within the pod.
pod_idstringinbox_idstring/v0/pods/{pod_id}/inboxes/{inbox_id}FreeDelete an inbox from a pod.
Permanently deletes the inbox from the pod.
pod_idstringinbox_idstring/v0/pods/{pod_id}/threadsFreeList threads across all inboxes in a pod.
Returns threads from all inboxes in the pod.
pod_idstringlimitnumber (optional)page_tokenstring (optional)labelsstring (optional)beforestring (optional, ISO datetime)afterstring (optional, ISO datetime)ascendingboolean (optional)include_spamboolean (optional)/v0/pods/{pod_id}/threads/{thread_id}FreeGet a thread in a pod.
Returns the thread with all messages.
pod_idstringthread_idstring/v0/pods/{pod_id}/threads/{thread_id}/attachments/{attachment_id}FreeGet a thread attachment in a pod.
Returns attachment metadata with download_url.
pod_idstringthread_idstringattachment_idstring/v0/threadsFreeList all threads across all inboxes.
Returns threads across all inboxes ordered by timestamp.
limitnumber (optional)page_tokenstring (optional)labelsstring (optional)beforestring (optional, ISO datetime)afterstring (optional, ISO datetime)ascendingboolean (optional)include_spamboolean (optional)/v0/threads/{thread_id}FreeGet a thread by ID.
Returns the thread with all messages.
thread_idstring/v0/threads/{thread_id}/attachments/{attachment_id}FreeGet a thread attachment.
Returns attachment metadata with download_url and expires_at.
thread_idstringattachment_idstring/v0/webhooksFreeCreate a webhook for email events.
POST JSON body with url and event_types. Returns webhook with secret for signature verification.
urlstring (required, webhook endpoint URL)event_typesstring (required, e.g. 'message.received', 'message.sent', 'message.delivered', 'message.bounced', 'message.complained', 'message.rejected', 'domain.verified')pod_idsstring (optional, max 10)inbox_idsstring (optional, max 10)client_idstring (optional)/v0/webhooksFreeList all webhooks.
GET with optional pagination. Returns configured webhooks.
limitnumber (optional)page_tokenstring (optional)/v0/webhooks/{webhook_id}FreeDelete a webhook.
Permanently deletes the webhook.
webhook_idstring/v0/webhooks/{webhook_id}FreeUpdate webhook subscriptions.
PATCH to add/remove inbox or pod subscriptions.
webhook_idstringadd_inbox_idsstring (optional)remove_inbox_idsstring (optional)add_pod_idsstring (optional)remove_pod_idsstring (optional)/v0/webhooks/{webhook_id}FreeGet webhook details.
Replace {webhook_id}. Returns webhook details including secret and enabled status.
webhook_idstring