Skip to main content

internal_error

Something went wrong on our side. The request may or may not have been processed, which is the important part.

Status: 500

{
"status": 500,
"type": "internal_error",
"message": "An internal error occurred",
"request_id": "req_01J8K2P...",
"doc_url": "https://docs.epostix.com/errors/internal_error"
}

Why you got this​

There is nothing wrong with your request. A dependency failed, or a code path we did not expect was reached.

The message is deliberately generic. request_id is what identifies the failure in our logs, so it is the field to keep.

How to fix it​

Retry with exponential backoff, and cap the attempts rather than looping forever.

Keep the original Idempotency-Key. A 500 does not tell you whether the send happened. The idempotency handler does not cache 5xx responses, so a retry can run the operation again after partial work. Check Activity or message events when the outcome is uncertain. A fresh key does not resolve that uncertainty and can create another send.

If it persists, open a support ticket and quote request_id. With it we can find the exact call rather than asking you to reproduce it.

Is it safe to retry​

Use bounded retries with backoff and the original Idempotency-Key. The SDKs do this for eligible transient errors. If attempts run out, inspect the message state before manually resubmitting. See idempotency for the limits of deduplication.