Przejdź do dokumentacji
API

Planowanie i anulowanie

Wyślij później, przesuń albo zatrzymaj.

PATCHapi.openemail.uk/emails/{id}

Uruchamia dowolne z 2 wywołań na tej stronie na twojej przestrzeni roboczej, twoim własnym kluczem.

Planowanie

scheduledAt przyjmuje moment w ISO-8601 albo czas trwania w rodzaju PT2H, maksymalnie rok naprzód. Zaplanowana wiadomość odpowiada 202 ze status: "scheduled" i pozostaje możliwa do anulowania aż do chwili wysłania.

cancellableForSeconds robi to samo dla wysyłki natychmiastowej: to okno cofnięcia wysyłki z edytora wiadomości, wystawione na zewnątrz, a nie przypięte na sztywno do ustawienia użytkownika, któremu nic do zachowania API. Oba wykluczają się wzajemnie: zaplanowaną wiadomość i tak można anulować.

Planowanie wysyłki

Za dwie godziny. Odpowiedź niesie id, które będzie potrzebne, by wysyłkę przesunąć albo zatrzymać.

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"    }'
Odpowiedź
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, nie 200: coś jeszcze musi się z nią wydarzyć. Wysyłka natychmiastowa odpowiada 200 ze status: "sent", więc wywołujący może rozgałęzić się na samym kodzie stanu.

Przesunięcie

PATCH /emails/{id}. Zmienić można tylko scheduledAt i tylko wtedy, gdy wiadomość jest w kolejce albo zaplanowana.

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

Zatrzymanie

POST /emails/{id}/cancel.

curl
curl -X POST "$OE/emails/msg_8cd0a316930b4482a8b8440b/cancel" -H "$AUTH"
Odpowiedź
{ "object": "email", "id": "msg_8cd0a316930b4482a8b8440b", "status": "cancelled" }

Dwukrotne anulowanie nie jest błędem. Drugie wywołanie zwraca tę samą anulowaną wiadomość, więc ponowienie jest bezpieczne.

Anulowanie tej, która już poszła, daje 409 email_not_cancellable. Nie da się jej odesłać z powrotem, a każda inna odpowiedź byłaby kłamstwem.