Skip to main content

internal_error

HTTP 500, type api_error.

Something failed on our side.

Why it happened​

A 5xx is our defect, never yours. There is one code for all of them on purpose: there is nothing in the distinction you could branch on, and a family of internal codes would invite you to write handling for our implementation.

It does not tell you whether the request was applied. A failure can happen before or after the work.

How to fix it​

Retry with the same Idempotency-Key. That is what makes the retry safe when you cannot know whether the original took effect.

If that retry answers idempotency_key_in_flight, follow that page: keep retrying with the same key, and contact support before you send anything under a new key. A read that shows nothing happened does not prove the original has stopped.

A request that takes no Idempotency-Key is safe to retry as it is: a read changes nothing, and DELETE /payment_instruments/{id} on a card that is already detached returns it unchanged, keeping the first detach time.

If it persists, quote the request_id from the response. It is in our logs and it is the first thing support will ask for.