Update draft
Replace the content of an existing draft (full replacement, not a patch).
update_draft
Replace the content of an existing draft (full replacement, not a patch).
Permissions
Required capabilities: mail.drafts.
Inputs
| Name | Required | Type | Details |
|---|---|---|---|
draftId | Yes | string | Minimum length: 1. |
accountId | No | string | Account to operate on. Optional when exactly one account is connected. Minimum length: 1. |
to | No | array of string | Recipients, each "Name a@x.com" or "a@x.com" |
cc | No | array of string | Recipients, each "Name a@x.com" or "a@x.com" |
bcc | No | array of string | Recipients, each "Name a@x.com" or "a@x.com" |
subject | No | string | Defaults to "Re: ..." when replying |
bodyText | No | string | Plain-text body |
bodyHtml | No | string | HTML body |
replyToMessageId | No | string | Message being replied to; threads correctly and computes recipients if "to" is omitted |
replyAll | No | boolean | With replyToMessageId: reply to all original recipients |
attachments | No | array of object | None |
{
"type": "object",
"properties": {
"draftId": {
"type": "string",
"minLength": 1
},
"accountId": {
"type": "string",
"minLength": 1,
"description": "Account to operate on. Optional when exactly one account is connected."
},
"to": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Recipients, each \"Name <a@x.com>\" or \"a@x.com\""
},
"cc": {
"$ref": "#/properties/to",
"description": "Recipients, each \"Name <a@x.com>\" or \"a@x.com\""
},
"bcc": {
"$ref": "#/properties/to",
"description": "Recipients, each \"Name <a@x.com>\" or \"a@x.com\""
},
"subject": {
"type": "string",
"description": "Defaults to \"Re: ...\" when replying"
},
"bodyText": {
"type": "string",
"description": "Plain-text body"
},
"bodyHtml": {
"type": "string",
"description": "HTML body"
},
"replyToMessageId": {
"$ref": "#/properties/draftId",
"description": "Message being replied to; threads correctly and computes recipients if \"to\" is omitted"
},
"replyAll": {
"type": "boolean",
"description": "With replyToMessageId: reply to all original recipients"
},
"attachments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"filename": {
"type": "string",
"minLength": 1
},
"mimeType": {
"type": "string",
"minLength": 1
},
"content": {
"type": "string",
"description": "base64"
}
},
"required": [
"filename",
"mimeType",
"content"
],
"additionalProperties": false
}
}
},
"required": [
"draftId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Last updated
Send email
Send an email from the user's connected account; this actually delivers mail, so prefer it over browser automation or leaving a draft when the user asked to send. Three modes: direct (to + subject + body), sending an existing draft (draftId), or replying (replyToMessageId, optionally replyAll) where recipients, subject, and threading are derived from the original. Confirm with the user when intent is ambiguous. Add sendAt to any mode to schedule instead of sending now.
REST API
Use Fluxmail from local scripts and applications through the versioned JSON API.