Skip to content

Get the draft replying to a message

GET
/mail/mailboxes/{mailbox}/drafts/messages/{messageId}
curl --request GET \
--url https://mail.work.optidata.cloud/api/mail/mailboxes/78/drafts/messages/4186 \
--header 'Authorization: Bearer <token>'

Find the unsent draft that was started as a reply or forward of {messageId}. Use it to reopen a half-written answer when the user comes back to a thread.

mailbox
required
integer

Id of the mailbox. Every mailbox the caller may use is listed in their account.

messageId
required
string

Id of the message.

The draft.

Media typeapplication/json

A message being composed.

object
id
integer
mailbox_id
integer
type

How an outgoing message came to be.

string
Allowed values: new reply forward
status

Where a draft stands. not_sent is still being written, sending has been handed to the queue, sent has left, and failed could not be delivered.

string
Allowed values: not_sent sending sent failed
reply_server_message_id

The message this draft answers, when it answers one.

string | null
subject
string | null
body
string | null
date
string
is_read_receipt_enabled
boolean
from
Array<object>

One participant of a message.

object
name

Display name, when one is known.

string | null
email
string format: email
type

The role the address plays: f sender, t recipient, c carbon copy, b blind copy, r reply-to.

string | null
to
Array<object> | null

One participant of a message.

object
name

Display name, when one is known.

string | null
email
string format: email
type

The role the address plays: f sender, t recipient, c carbon copy, b blind copy, r reply-to.

string | null
cc
Array<object> | null

One participant of a message.

object
name

Display name, when one is known.

string | null
email
string format: email
type

The role the address plays: f sender, t recipient, c carbon copy, b blind copy, r reply-to.

string | null
bcc
Array<object> | null

One participant of a message.

object
name

Display name, when one is known.

string | null
email
string format: email
type

The role the address plays: f sender, t recipient, c carbon copy, b blind copy, r reply-to.

string | null
attachments

The files uploaded to the draft.

Array<object>
object
created_at
string
updated_at
string
Example
{
"id": 918,
"type": "new",
"status": "not_sent",
"from": [
{
"name": "Jane Doe",
"email": "jane.doe@acme.example",
"type": "f"
}
],
"to": [
{
"name": "Jane Doe",
"email": "jane.doe@acme.example",
"type": "f"
}
],
"cc": [
{
"name": "Jane Doe",
"email": "jane.doe@acme.example",
"type": "f"
}
],
"bcc": [
{
"name": "Jane Doe",
"email": "jane.doe@acme.example",
"type": "f"
}
]
}

Missing, malformed or expired authentication key.

Media typeapplication/json

Authentication failures use an error key rather than message.

object
error
required
string
Examples
Examplemissing

No bearer token sent

{
"error": "JWT passport exception: Missing bearer token in request"
}

The caller may not act on this mailbox, user or resource.

Media typeapplication/json

Generic error envelope used by policy, binding and framework failures.

object
message
required

Human-readable description of the failure.

string
Examples
Exampledenied
{
"message": "This action is unauthorized."
}

No such draft.

Media typeapplication/json

Acknowledgement returned by several write operations.

object
message
required
string
Examples
Examplemissing
{
"message": "Draft not found."
}

Rate limit exceeded. Retry after the window resets.

Media typeapplication/json

Generic error envelope used by policy, binding and framework failures.

object
message
required

Human-readable description of the failure.

string
Examples
Examplethrottled
{
"message": "Too Many Attempts."
}