retrysafe
← All rules

permanent-error-returns-5xx

warning

A permanent failure (invalid signature, malformed payload) is answered with 5xx, causing pointless retries.

Why it goes wrong

Providers retry 5xx responses for hours or days. A request that failed validation will fail the same way every time, wasting retries and possibly getting the endpoint disabled.

Safe pattern

Answer 400 for malformed payloads and 400/401 for bad signatures; reserve 5xx for transient failures worth retrying.

Configure

// retrysafe.config.ts
export default defineConfig({
  rules: { "permanent-error-returns-5xx": "warning" }, // or "off"
});

// or, for one line (a reason is required):
// retrysafe-ignore permanent-error-returns-5xx -- <why this is safe>