Skip to main content

email_not_cancellable

The operation does not apply at the message's current point in its lifecycle. Cancelling and rescheduling work only before a message is sent. Resending works only after it has been sent or has failed.

Status: 409

{
"status": 409,
"type": "email_not_cancellable",
"message": "can only reschedule emails that have not been sent",
"request_id": "req_01J8K2P...",
"doc_url": "https://docs.epostix.com/errors/email_not_cancellable"
}

Why you got this​

  • You cancelled or rescheduled a message that had already gone out. message reads can only reschedule emails that have not been sent.
  • You resent a message that is still scheduled or still in flight. message reads can only resend emails that have been sent or failed.
  • The scheduled time arrived while your request was in flight, so the message left the scheduled state between your read and your write.

How to fix it​

Read the message first and act on the status you get back, rather than on the status you stored earlier. Treat a 409 as the state having moved on: re-read the message, then choose the operation that matches where it now is.

A sent message cannot be pulled back. If the content was wrong, suppress or correct the downstream data and send a new message. Resend repeats the same content to the same recipient, so it recovers a failure rather than replacing a mistake.

Is it safe to retry​

No. The lifecycle does not run backwards, so the identical call fails identically. Re-read the message, then send the operation its current state allows.