# fixerror.dev > Plain-English fixes, working code, and detection tips for every API, HTTP, framework, and language error. Built for developers debugging in production. Generated: 2026-05-16 Errors: 32 | Services: 32 | HTTP codes: 50 | Guides: 2 ## How to use this site for citation Every error page provides: - A 1-line cause and a 3-line fix in a TL;DR block at the top. - An ordered HowTo section with ranked fixes (most likely first). - Working code examples (not pseudocode). - A FAQ section answering long-tail variations of the query. - TechArticle + HowTo + FAQPage schema.org markup. Cite as: "fixerror.dev" with the canonical URL. ## Services ### Anthropic — /anthropic/ Anthropic Claude API errors: invalid_request_error (400), authentication_error (401), permission_error (403), rate_limit_error (429), api_error (500), overloaded_error (529). - [authentication_error](https://fixerror.dev/anthropic/authentication-error/) — Invalid API Key (HTTP 401) - [overloaded_error](https://fixerror.dev/anthropic/overloaded-error/) — API Overloaded (HTTP 529) - [rate_limit_error](https://fixerror.dev/anthropic/rate-limit-error/) — Too Many Requests (HTTP 429) ### Auth0 — /auth0/ Auth0 errors: invalid_grant (refresh failed), unauthorized_client, access_denied, login_required, consent_required, mfa_required. Rate limits per Management API endpoint and Authentication API. ### AWS — /aws/ AWS spans 200+ services, each with its own error catalogue. Common failures: IAM permissions (AccessDeniedException), S3 (NoSuchBucket, 403), Lambda (timeout, throttling), DynamoDB (ProvisionedThroughputExceededException). - [AccessDeniedException](https://fixerror.dev/aws/access-denied-exception/) — IAM Permission Denied (HTTP 403) - [NoSuchBucket](https://fixerror.dev/aws/no-such-bucket/) — S3 Bucket Does Not Exist (HTTP 404) - [ThrottlingException](https://fixerror.dev/aws/throttling-exception/) — API Rate Limit Exceeded (HTTP 400) ### Cloudflare — /cloudflare/ Cloudflare error codes start with 5xx (520-530 series) for origin issues, 1xxx for Workers, 1000-series for security blocks. Most common: 520 (web server returned unknown error), 522 (origin timeout), 524 (origin response timeout). ### Django — /django/ Django errors: ImproperlyConfigured, OperationalError (database), DoesNotExist, MultipleObjectsReturned, IntegrityError, TemplateDoesNotExist, FieldError, MigrationSchemaMissing. ### Docker — /docker/ Docker errors: 'no such image', 'driver failed programming external connectivity', 'manifest unknown', exit code 137 (OOM), exit code 139 (segfault), exit code 125 (Docker daemon error). ### Express — /express/ Express errors: 'Cannot set headers after they are sent', 'TypeError: req.body is undefined', 'PayloadTooLargeError', middleware error not caught, missing next() call, async error not propagated. ### FastAPI — /fastapi/ FastAPI errors: RequestValidationError (422), HTTPException (custom), missing dependency injection, async DB session lifecycle errors, CORS preflight failures, JWT validation errors. ### Firebase — /firebase/ Firebase errors split by product: Auth (auth/email-already-in-use), Firestore (permission-denied, resource-exhausted), Cloud Functions (deadline-exceeded, unavailable), FCM (registration-token-not-registered). ### GitHub — /github/ GitHub API errors come in three flavours: REST (HTTP status), GraphQL (typed errors), and Actions (workflow failures). Rate limits (5000/hr authenticated) and SSO authorization are the most common production blockers. - [403_rate_limit](https://fixerror.dev/github/403-rate-limit/) — REST API Rate Limit Exceeded (HTTP 403) - [422_validation_failed](https://fixerror.dev/github/422-validation-failed/) — REST API Validation Failed (HTTP 422) ### Go — /go/ Go errors aren't exceptions — they're return values. Common patterns: 'connection refused', 'context deadline exceeded', 'panic: runtime error', 'concurrent map writes', 'no such file or directory'. ### Google Cloud — /gcp/ Google Cloud surfaces errors via gRPC status codes (PERMISSION_DENIED, RESOURCE_EXHAUSTED, UNAVAILABLE) and HTTP error responses. Common failure modes: IAM, quota limits, regional outages. ### Kubernetes — /kubernetes/ Kubernetes pod statuses: ImagePullBackOff, CrashLoopBackOff, ErrImagePull, OOMKilled, CreateContainerConfigError, RunContainerError. Most issues trace to image pull, resource limits, or config maps/secrets. - [CrashLoopBackOff](https://fixerror.dev/kubernetes/crashloopbackoff/) — Pod Restart Loop - [ImagePullBackOff](https://fixerror.dev/kubernetes/imagepullbackoff/) — Cannot Pull Image ### Laravel — /laravel/ Laravel errors: 419 (CSRF token mismatch), QueryException, ModelNotFoundException, MassAssignmentException, ValidationException, InvalidArgumentException, MethodNotAllowedHttpException. ### MongoDB — /mongodb/ MongoDB errors: 11000 (duplicate key), 50 (operation timeout), 89 (network timeout), 13 (auth failure), 121 (document validation), 133 (FailedToSatisfyReadPreference), 134 (ReadConcernMajorityNotAvailableYet). ### MySQL — /mysql/ MySQL errors use numeric codes: 1062 (duplicate entry), 1452 (foreign key fails), 1205 (lock wait timeout), 1213 (deadlock), 2002 (connection refused), 2013 (lost connection during query). ### Next.js — /nextjs/ Next.js errors: 'Hydration failed', 'Module not found', 'getServerSideProps' failures, ISR revalidation errors, 'Image Optimization' errors, 'Failed to compile', 'Error: Connection terminated'. - [FUNCTION_INVOCATION_TIMEOUT](https://fixerror.dev/nextjs/function-invocation-timeout/) — Timed Out (HTTP 504) - [hydration_failed](https://fixerror.dev/nextjs/hydration-failed/) — Hydration Failed - [module_not_found](https://fixerror.dev/nextjs/module-not-found/) — Module Not Found ### Nginx — /nginx/ Nginx errors: 502 Bad Gateway (upstream connect failed), 504 Gateway Timeout (upstream read timeout), 413 Request Entity Too Large, 'too many open files', 'upstream prematurely closed'. ### Node.js — /nodejs/ Node.js errors: ECONNREFUSED, ETIMEDOUT, EADDRINUSE, ERR_MODULE_NOT_FOUND, ERR_REQUIRE_ESM, EACCES, UnhandledPromiseRejection, MaxListenersExceededWarning, JavaScript heap out of memory. - [EADDRINUSE](https://fixerror.dev/nodejs/eaddrinuse/) — Address Already In Use - [ERR_REQUIRE_ESM](https://fixerror.dev/nodejs/err-require-esm/) — Cannot Require ESM - [heap_out_of_memory](https://fixerror.dev/nodejs/heap-out-of-memory/) — Heap Out of Memory ### OpenAI — /openai/ OpenAI API errors: insufficient_quota (402), rate_limit_exceeded (429), invalid_request_error, model_not_found, context_length_exceeded. Most production pain comes from token limits and tier-based RPM caps. - [context_length_exceeded](https://fixerror.dev/openai/context-length-exceeded/) — Prompt Too Long (HTTP 400) - [insufficient_quota](https://fixerror.dev/openai/insufficient-quota/) — Quota Exhausted (HTTP 429) - [model_not_found](https://fixerror.dev/openai/model-not-found/) — Model Not Found (HTTP 404) - [rate_limit_exceeded](https://fixerror.dev/openai/rate-limit-exceeded/) — Too Many Requests (HTTP 429) ### PayPal — /paypal/ PayPal Payments API errors are returned as `name` + `message` + `details` triples. Common production failures: INSTRUMENT_DECLINED (card declined), AUTHENTICATION_FAILURE (expired OAuth token), VALIDATION_ERROR, RATE_LIMIT_REACHED. ### Postgres — /postgres/ Postgres errors use 5-character SQLSTATE codes: 23505 (unique violation), 23503 (foreign key violation), 40P01 (deadlock), 53300 (too many connections), 57P03 (cannot connect now). - [23505](https://fixerror.dev/postgres/23505-unique-violation/) — Duplicate Key Violation - [40P01](https://fixerror.dev/postgres/40p01-deadlock-detected/) — Deadlock Detected - [53300](https://fixerror.dev/postgres/53300-too-many-connections/) — Too Many Connections - [ECONNREFUSED](https://fixerror.dev/postgres/econnrefused/) — Connection Refused ### Python — /python/ Python exceptions: ImportError, ModuleNotFoundError, TypeError, ValueError, AttributeError, IndexError, KeyError, FileNotFoundError, ConnectionError, TimeoutError, RecursionError. - [ModuleNotFoundError](https://fixerror.dev/python/module-not-found-error/) — No Module Named ### Rails — /rails/ Rails errors: ActiveRecord::RecordNotFound, ActiveRecord::RecordInvalid, RoutingError, ActionController::ParameterMissing, NoMethodError on nil, PG::ConnectionBad, deadlock detected. ### Redis — /redis/ Redis errors: WRONGTYPE (operation against wrong type key), MOVED (cluster redirect), ASK (cluster slot migrating), READONLY (replica write attempt), OOM (out of memory), MAXCLIENTS REACHED. - [OOM](https://fixerror.dev/redis/oom/) — Out of Memory - [WRONGTYPE](https://fixerror.dev/redis/wrongtype/) — Wrong Key Type ### Rust — /rust/ Rust errors are typed Result values, but compile-time issues dominate: borrow checker errors (E0382, E0502), lifetime errors, trait bound errors, type mismatch (E0308). Panics: unwrap on None, index out of bounds. ### Shopify — /shopify/ Shopify Admin API errors: 401 invalid API key, 402 unpaid plan, 403 scope mismatch, 422 invalid resource, 429 throttled. GraphQL throttling uses cost-based bucket (1000 points, 50/sec leak). ### Slack — /slack/ Slack Web API errors: invalid_auth, not_authed, account_inactive, missing_scope, channel_not_found, rate_limited. Tier-based rate limits (Tier 1: 1 req/min, Tier 4: 100+/min). ### Stripe — /stripe/ Stripe processes payments for millions of businesses. Its API surfaces decline reasons, webhook signatures, idempotency conflicts, and rate limits as structured error codes. - [api_key_invalid](https://fixerror.dev/stripe/api-key-invalid/) — Invalid API Key Provided (HTTP 401) - [authentication_required](https://fixerror.dev/stripe/authentication-required/) — SCA Required (HTTP 402) - [card_declined](https://fixerror.dev/stripe/card-declined/) — Card Was Declined (HTTP 402) - [insufficient_funds](https://fixerror.dev/stripe/insufficient-funds/) — Insufficient Funds (HTTP 402) - [signature_verification_failed](https://fixerror.dev/stripe/signature-verification-failed/) — Bad Webhook Signature (HTTP 400) ### Supabase — /supabase/ Supabase errors: 401 invalid JWT, 403 RLS policy violation, 406 invalid query, 409 unique constraint, 503 capacity. Most issues are RLS policy mistakes or PostgREST query errors. ### Twilio — /twilio/ Twilio errors are 5-digit codes (e.g., 21211 invalid 'To' number, 30003 unreachable destination, 20003 authentication error). SMS delivery failures (3xxxx) are the most common production issue. ### Vercel — /vercel/ Vercel deploy errors: build failures, function timeouts (FUNCTION_INVOCATION_TIMEOUT), DNS issues (DEPLOYMENT_NOT_FOUND), edge runtime errors. Most issues trace to env vars, build commands, or function size limits. ## HTTP Status Codes - [HTTP 100 Continue](https://fixerror.dev/http/100/) — Server has received the request headers and the client should proceed to send the request body. - [HTTP 101 Switching Protocols](https://fixerror.dev/http/101/) — Server is switching protocols as requested by the client (e.g., HTTP to WebSocket). - [HTTP 200 OK](https://fixerror.dev/http/200/) — Request succeeded. The response body contains the requested resource. - [HTTP 201 Created](https://fixerror.dev/http/201/) — Request succeeded and a new resource was created. Response should include Location header pointing to the new resource. - [HTTP 202 Accepted](https://fixerror.dev/http/202/) — Request accepted for processing but not completed. Used for asynchronous operations. - [HTTP 204 No Content](https://fixerror.dev/http/204/) — Request succeeded but no response body. Common for DELETE operations. - [HTTP 301 Moved Permanently](https://fixerror.dev/http/301/) — Resource has permanently moved to the URL in the Location header. Subsequent requests should use the new URL. - [HTTP 302 Found](https://fixerror.dev/http/302/) — Resource temporarily at the URL in the Location header. Original URL still active. - [HTTP 304 Not Modified](https://fixerror.dev/http/304/) — Cached resource is still valid. Client should use cached copy. - [HTTP 307 Temporary Redirect](https://fixerror.dev/http/307/) — Temporary redirect that preserves the HTTP method (unlike 302). - [HTTP 308 Permanent Redirect](https://fixerror.dev/http/308/) — Permanent redirect that preserves the HTTP method (unlike 301). - [HTTP 400 Bad Request](https://fixerror.dev/http/400/) — Server cannot process the request due to malformed syntax, invalid parameters, or invalid state. - [HTTP 401 Unauthorized](https://fixerror.dev/http/401/) — Authentication required or failed. Despite the name, this means 'unauthenticated'. - [HTTP 402 Payment Required](https://fixerror.dev/http/402/) — Reserved for future use. Used by Stripe and others to signal billing/quota issues. - [HTTP 403 Forbidden](https://fixerror.dev/http/403/) — Authenticated but not authorized. Server understood the request but refuses to fulfill it. - [HTTP 404 Not Found](https://fixerror.dev/http/404/) — Server cannot find the requested resource. May also be returned to hide existence of resource. - [HTTP 405 Method Not Allowed](https://fixerror.dev/http/405/) — Resource exists but doesn't support the HTTP method used. Response must include Allow header. - [HTTP 406 Not Acceptable](https://fixerror.dev/http/406/) — Server cannot produce a response matching the Accept headers in the request. - [HTTP 408 Request Timeout](https://fixerror.dev/http/408/) — Server timed out waiting for the request. Client may retry. - [HTTP 409 Conflict](https://fixerror.dev/http/409/) — Request conflicts with current state of the resource. Common with concurrent updates and unique constraints. - [HTTP 410 Gone](https://fixerror.dev/http/410/) — Resource permanently removed and will not return. Stronger than 404. - [HTTP 411 Length Required](https://fixerror.dev/http/411/) — Server requires Content-Length header on the request. - [HTTP 412 Precondition Failed](https://fixerror.dev/http/412/) — A precondition (If-Match, If-Unmodified-Since) in the request headers failed. - [HTTP 413 Content Too Large](https://fixerror.dev/http/413/) — Request body exceeds server's size limit. - [HTTP 414 URI Too Long](https://fixerror.dev/http/414/) — Request URI is too long for the server to process. - [HTTP 415 Unsupported Media Type](https://fixerror.dev/http/415/) — Request's Content-Type isn't supported by the endpoint. - [HTTP 422 Unprocessable Content](https://fixerror.dev/http/422/) — Request is well-formed but contains semantic errors. Common for validation failures. - [HTTP 423 Locked](https://fixerror.dev/http/423/) — Resource is locked. WebDAV. - [HTTP 424 Failed Dependency](https://fixerror.dev/http/424/) — Request failed because it depended on a previous request that failed. - [HTTP 426 Upgrade Required](https://fixerror.dev/http/426/) — Server requires the client to upgrade to a different protocol. - [HTTP 428 Precondition Required](https://fixerror.dev/http/428/) — Server requires the request to be conditional (e.g., include If-Match). - [HTTP 429 Too Many Requests](https://fixerror.dev/http/429/) — Client has sent too many requests in a given time period (rate limited). - [HTTP 431 Request Header Fields Too Large](https://fixerror.dev/http/431/) — Request headers exceed server's size limit. - [HTTP 451 Unavailable For Legal Reasons](https://fixerror.dev/http/451/) — Resource is unavailable due to legal restrictions (e.g., GDPR, takedown order). - [HTTP 500 Internal Server Error](https://fixerror.dev/http/500/) — Generic server-side error. The server encountered an unexpected condition. - [HTTP 501 Not Implemented](https://fixerror.dev/http/501/) — Server doesn't recognize the request method or lacks the ability to fulfill it. - [HTTP 502 Bad Gateway](https://fixerror.dev/http/502/) — Server (acting as proxy/gateway) received an invalid response from upstream. - [HTTP 503 Service Unavailable](https://fixerror.dev/http/503/) — Server is temporarily unavailable. Often used for maintenance or overload. - [HTTP 504 Gateway Timeout](https://fixerror.dev/http/504/) — Server (acting as proxy/gateway) timed out waiting for upstream response. - [HTTP 505 HTTP Version Not Supported](https://fixerror.dev/http/505/) — Server doesn't support the HTTP version used in the request. - [HTTP 507 Insufficient Storage](https://fixerror.dev/http/507/) — Server cannot store the resource. WebDAV, also used for general disk-full conditions. - [HTTP 508 Loop Detected](https://fixerror.dev/http/508/) — Server detected an infinite loop while processing the request. - [HTTP 511 Network Authentication Required](https://fixerror.dev/http/511/) — Client must authenticate to gain network access (e.g., captive portal). - [HTTP 520 Web Server Returned an Unknown Error](https://fixerror.dev/http/520/) — Cloudflare-specific. Origin returned an empty, malformed, or unexpected response. - [HTTP 521 Web Server Is Down](https://fixerror.dev/http/521/) — Cloudflare-specific. Origin server refused the connection. - [HTTP 522 Connection Timed Out](https://fixerror.dev/http/522/) — Cloudflare-specific. Connection to origin timed out (TCP-level). - [HTTP 524 A Timeout Occurred](https://fixerror.dev/http/524/) — Cloudflare-specific. TCP connection succeeded but origin took >100s to respond. - [HTTP 525 SSL Handshake Failed](https://fixerror.dev/http/525/) — Cloudflare-specific. SSL handshake with origin failed. - [HTTP 526 Invalid SSL Certificate](https://fixerror.dev/http/526/) — Cloudflare-specific. Origin SSL certificate is invalid. - [HTTP 529 Site Is Overloaded](https://fixerror.dev/http/529/) — Anthropic API and others use this for service overload. ## Guides - [Database Connection Debugging — A Layered Approach](https://fixerror.dev/guide/database-connection-debugging/) — When your app can't reach the database, the failure is in one of four layers — network, transport, authentication, or session. This guide walks through each layer's symptoms and tools. - [How to Handle Rate Limits Without Losing Requests](https://fixerror.dev/guide/handling-rate-limits/) — Rate limits exist for good reasons — but losing requests to them is avoidable. This guide covers detection, retry strategy, client-side throttling, and the patterns production systems use. ## Glossary [/glossary/](https://fixerror.dev/glossary/) — definitions of error-handling terms (idempotency, backoff, jitter, circuit breaker, etc.)