Drafts
Get a draft
GET
/drafts/{draftId}Authorization
apiKey AuthorizationBearer <token>
Send your key as Authorization: Bearer mk_…. Session cookies are never accepted on this surface.
In: header
Path Parameters
draftId*string
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/drafts/string" \ -H "Authorization: Bearer $MAYLEE_KEY"{ "draft": { "attachments": [], "bcc": [], "cc": [], "date": "2026-08-25T14:05:40.000Z", "folderId": "cmfd9z8y7x6w5v4u3t2s1r0q", "from": { "email": "contact@your-company.com", "name": null }, "hasAttachments": false, "id": "cmdr1a2b3c4d5e6f7g8h9i0j", "inReplyTo": "<CAF3k9x1@mail.example.com>", "isAutoForward": false, "isAutoReply": false, "isDraft": true, "isRead": true, "isStarred": false, "labels": [ "\\Draft" ], "mailboxId": "cmbx1a2b3c4d5e6f7g8h9i0j", "messageId": "draft-5f0c2b1e-8a7d-4f3e-9c61-2d4b7a9e0f13@local", "references": [ "<CAF3k9x1@mail.example.com>" ], "scheduledSendAt": null, "scheduledStatus": null, "snippet": "Hello Jane, here is the quote you asked for.", "subject": "Re: Quote request", "threadId": "18c2f5a9e7b1d3c4", "to": [ { "email": "client@acme.com", "name": "Jane Client" } ], "waitingForReply": false }}List drafts GET
The most recent drafts of the workspace, up to `limit`. Not paginated.
Create a draft POST
Creates a draft in one of the workspace mailboxes without sending it. The draft shows up immediately in the Maylee app, where a person reviews it, edits it and sends it: this is the way to prepare an email from an integration or an agent while keeping a human in the loop. Nothing leaves the workspace, so the `write` scope is enough: `allowOutboundSend` is not required. Attachments cannot be added through the API.