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.