Перейти к документации
API

Планирование и отмена

Отправить позже, перенести или остановить.

PATCHapi.openemail.uk/emails/{id}

Выполняет любой из 2 запросов на этой странице в вашем рабочем пространстве, с вашим собственным ключом.

Планирование

scheduledAt принимает момент времени ISO-8601 или длительность вроде PT2H, на срок до года вперёд. Запланированное сообщение отвечает 202 со status: "scheduled" и остаётся отменяемым вплоть до самой отправки.

cancellableForSeconds делает то же для немедленной отправки: это окно отмены отправки из редактора, вынесенное наружу, а не прибитое к пользовательской настройке, которой не место в решении о поведении API. Эти два поля взаимоисключающи: запланированное сообщение и так отменяемо.

Запланировать отправку

На два часа вперёд. Ответ несёт id, который понадобится, чтобы перенести или остановить отправку.

curl
curl -X POST "$OE/emails" -H "$AUTH" -H "Content-Type: application/json" \    -d '{      "from": "[email protected]",      "to": ["[email protected]"],      "subject": "Your September invoice",      "html": "<p>Invoice attached.</p>",      "scheduledAt": "PT2H"    }'
Ответ
HTTP/1.1 202 Accepted  Location: /emails/msg_8cd0a316930b4482a8b8440b   {    "object": "email",    "id": "msg_8cd0a316930b4482a8b8440b",    "status": "scheduled",    "scheduledAt": "2026-09-01T10:19:41.345Z",    "cancellableUntil": "2026-09-01T10:19:41.345Z",    "messageId": null,    "transport": null,    "sentAt": null  }

202, а не 200: с ним ещё что-то должно произойти. Немедленная отправка отвечает 200 со status: "sent", поэтому вызывающая сторона может ветвиться по одному лишь коду статуса.

Перенести

PATCH /emails/{id}. Изменить можно только scheduledAt и только пока сообщение в очереди или запланировано.

curl
curl -X PATCH "$OE/emails/msg_8cd0a316930b4482a8b8440b" \    -H "$AUTH" -H "Content-Type: application/json" \    -d '{ "scheduledAt": "PT6H" }'
Ответ
{    "object": "email",    "id": "msg_8cd0a316930b4482a8b8440b",    "status": "scheduled",    "scheduledAt": "2026-09-01T14:20:15.881Z"  }

Остановить

POST /emails/{id}/cancel.

curl
curl -X POST "$OE/emails/msg_8cd0a316930b4482a8b8440b/cancel" -H "$AUTH"
Ответ
{ "object": "email", "id": "msg_8cd0a316930b4482a8b8440b", "status": "cancelled" }

Отменить дважды — не ошибка. Второй вызов возвращает то же отменённое сообщение, поэтому повтор безопасен.

Отмена того, что уже ушло, даёт 409 email_not_cancellable. Отправленное не отменить, и любой другой ответ был бы ложью.