Skip to content

Reschedule a delivery

PUT
/mail/mailboxes/{mailbox}/scheduled/{scheduledDraft}
curl --request PUT \
--url https://mail.work.optidata.cloud/api/mail/mailboxes/78/scheduled/44 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "scheduled_at": "2026-08-21 14:30:00", "timezone": "America/Sao_Paulo" }'

Move a still-pending delivery to a new moment, subject to the same 10-minute floor. A delivery already being sent, sent or cancelled cannot be moved.

Requires scheduled sending to be enabled for the tenant.

mailbox
required
integer

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

scheduledDraft
required
integer

Id of the scheduled delivery.

Media typeapplication/json
object
scheduled_at
required

The new moment, read in timezone.

string
timezone

IANA time zone. Defaults to the one already stored.

string
Examples
Examplelater
{
"scheduled_at": "2026-08-21 14:30:00",
"timezone": "America/Sao_Paulo"
}

The updated scheduled delivery.

Media typeapplication/json

A draft waiting for its delivery time.

object
id
integer
draft_id
integer
mailbox_id
integer
scheduled_at

When the message will be sent.

string
timezone

The time zone the user chose the moment in.

string
status

Where a scheduled delivery stands.

string
Allowed values: pending processing sent failed cancelled
sent_at
string | null
attempts

How many delivery attempts have been made.

integer
last_error

Why the last attempt failed, when one did.

string | null
created_at
string
updated_at
string
Example
{
"id": 44,
"timezone": "America/Sao_Paulo",
"status": "pending"
}

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"
}

Scheduled sending is not enabled for this tenant.

Media typeapplication/json

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

object
message
required

Human-readable description of the failure.

string
Examples
Exampledisabled
{
"message": "Not available"
}

No such resource, or it does not belong to the caller.

Media typeapplication/json

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

object
message
required

Human-readable description of the failure.

string
Examples
Examplemissing
{
"message": "No query results for model."
}

The request body or query string failed validation.

Media typeapplication/json
object
message
required

The first validation message.

string
errors
required

Validation messages keyed by field name.

object
key
additional properties
Array<string>
Examples
Exampleinvalid
{
"message": "The conversations field is required.",
"errors": {
"conversation_ids": [
"The conversations field is required."
]
}
}

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."
}