Submit a stored draft for delivery
POST/v1/account/:account/message/:message/submit
Sends an existing draft message. The message must be a draft: stored in the Drafts folder or flagged as a draft (IMAP), carrying the DRAFT label (Gmail), or a draft message (MS Graph). Gmail and MS Graph accounts use the native draft-send call of the provider, which also files the message into the Sent Mail folder and removes the draft. For IMAP accounts the draft is downloaded, sent over SMTP, copied to the Sent Mail folder (unless disabled), and then removed from the Drafts folder.
Delivery is asynchronous. A 2xx means the message was queued, not that it was sent. Failed attempts are retried with exponential backoff up to the configured deliveryAttempts; follow the outcome through the Outbox endpoints or the messageSent, messageDeliveryError and messageFailed webhooks.
For SMTP accounts EmailEngine uploads the sent message to the Sent Mail folder after delivery. Gmail API and MS Graph accounts file sent messages themselves, so no upload is performed.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 429
- 500
- 503
Returns the queue ID the stored draft was accepted under. Delivery happens asynchronously - a 200 means queued, not sent.
Invalid input - the path parameters, query arguments, or request payload did not pass validation
Authentication failed - the access token is missing, invalid, or was not accepted
Access denied - the access token does not grant permission for this operation (token scope, account, or IP address restriction)
Not found - the requested entity (account, message, mailbox, etc.) does not exist
Rate limit exceeded - too many requests were made with this access token
Internal server error - an unexpected error occurred while processing the request
Service unavailable - the worker processing this account is not available, try again later