[
  {
    "code": 100,
    "name": "Continue",
    "category": "1xx Informational",
    "description": "The server has received the request headers and the client should proceed to send the request body.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Client included an Expect: 100-continue header"
    ]
  },
  {
    "code": 101,
    "name": "Switching Protocols",
    "category": "1xx Informational",
    "description": "The server is switching protocols as requested by the client via the Upgrade header.",
    "specification": "RFC 9110",
    "commonCauses": [
      "WebSocket handshake",
      "HTTP/2 upgrade"
    ]
  },
  {
    "code": 102,
    "name": "Processing",
    "category": "1xx Informational",
    "description": "WebDAV: The server has received and is processing the request, but no response is available yet.",
    "specification": "RFC 2518",
    "commonCauses": [
      "Long-running WebDAV operation"
    ]
  },
  {
    "code": 103,
    "name": "Early Hints",
    "category": "1xx Informational",
    "description": "Used to return some response headers before final HTTP message.",
    "specification": "RFC 8297",
    "commonCauses": [
      "Server hinting Link headers for preload before final response"
    ]
  },
  {
    "code": 200,
    "name": "OK",
    "category": "2xx Success",
    "description": "The request has succeeded. The information returned with the response is dependent on the method used in the request.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Successful GET, POST, PUT, or PATCH"
    ]
  },
  {
    "code": 201,
    "name": "Created",
    "category": "2xx Success",
    "description": "The request has been fulfilled and resulted in a new resource being created.",
    "specification": "RFC 9110",
    "commonCauses": [
      "POST that created a resource (return Location header)"
    ]
  },
  {
    "code": 202,
    "name": "Accepted",
    "category": "2xx Success",
    "description": "The request has been accepted for processing, but the processing has not been completed.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Async job enqueued"
    ]
  },
  {
    "code": 203,
    "name": "Non-Authoritative Information",
    "category": "2xx Success",
    "description": "The server is a transforming proxy that received a 200 OK from its origin, but is returning a modified version of the origin's response.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Response transformed by intermediate proxy"
    ]
  },
  {
    "code": 204,
    "name": "No Content",
    "category": "2xx Success",
    "description": "The server successfully processed the request and is not returning any content.",
    "specification": "RFC 9110",
    "commonCauses": [
      "DELETE succeeded",
      "PUT with no response body"
    ]
  },
  {
    "code": 205,
    "name": "Reset Content",
    "category": "2xx Success",
    "description": "The server successfully processed the request, but is not returning any content. The user agent should reset the document view.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Form submission that should clear inputs"
    ]
  },
  {
    "code": 206,
    "name": "Partial Content",
    "category": "2xx Success",
    "description": "The server is delivering only part of the resource due to a range header sent by the client.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Range request",
      "Resumable download"
    ]
  },
  {
    "code": 207,
    "name": "Multi-Status",
    "category": "2xx Success",
    "description": "WebDAV: The message body contains an XML message with multiple status codes for separate operations.",
    "specification": "RFC 4918",
    "commonCauses": [
      "WebDAV PROPFIND or batch operation"
    ]
  },
  {
    "code": 208,
    "name": "Already Reported",
    "category": "2xx Success",
    "description": "WebDAV: The members of a DAV binding have already been enumerated and are not being included again.",
    "specification": "RFC 5842",
    "commonCauses": [
      "WebDAV bind extension"
    ]
  },
  {
    "code": 226,
    "name": "IM Used",
    "category": "2xx Success",
    "description": "The server has fulfilled a request and the response is a representation of the result of one or more instance-manipulations.",
    "specification": "RFC 3229",
    "commonCauses": [
      "Delta encoding response"
    ]
  },
  {
    "code": 300,
    "name": "Multiple Choices",
    "category": "3xx Redirection",
    "description": "Indicates multiple options for the resource from which the client may choose.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Content negotiation with multiple representations"
    ]
  },
  {
    "code": 301,
    "name": "Moved Permanently",
    "category": "3xx Redirection",
    "description": "This and all future requests should be directed to the given URI.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Permanent URL change",
      "Domain migration"
    ]
  },
  {
    "code": 302,
    "name": "Found",
    "category": "3xx Redirection",
    "description": "Tells the client to look at (browse to) another URL. The original URL still applies for future requests.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Temporary redirect (legacy use; prefer 307)"
    ]
  },
  {
    "code": 303,
    "name": "See Other",
    "category": "3xx Redirection",
    "description": "The response to the request can be found under another URI using the GET method.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Post/Redirect/Get pattern"
    ]
  },
  {
    "code": 304,
    "name": "Not Modified",
    "category": "3xx Redirection",
    "description": "Indicates that the resource has not been modified since the version specified by the request headers.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Conditional GET with If-None-Match or If-Modified-Since"
    ]
  },
  {
    "code": 305,
    "name": "Use Proxy",
    "category": "3xx Redirection",
    "description": "Deprecated. The requested resource is available only through a proxy.",
    "specification": "RFC 7231",
    "commonCauses": [
      "Legacy use; deprecated for security reasons"
    ]
  },
  {
    "code": 307,
    "name": "Temporary Redirect",
    "category": "3xx Redirection",
    "description": "In this case, the request should be repeated with another URI; however, future requests should still use the original URI. The method must not change.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Temporary redirect preserving HTTP method"
    ]
  },
  {
    "code": 308,
    "name": "Permanent Redirect",
    "category": "3xx Redirection",
    "description": "The request and all future requests should be repeated using another URI. The method must not change.",
    "specification": "RFC 7538",
    "commonCauses": [
      "Permanent redirect preserving HTTP method"
    ]
  },
  {
    "code": 400,
    "name": "Bad Request",
    "category": "4xx Client Error",
    "description": "The server cannot or will not process the request due to an apparent client error.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Malformed JSON",
      "Missing required parameters",
      "Invalid syntax"
    ]
  },
  {
    "code": 401,
    "name": "Unauthorized",
    "category": "4xx Client Error",
    "description": "Authentication is required and has failed or has not yet been provided.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Missing or invalid Authorization header",
      "Expired token"
    ]
  },
  {
    "code": 402,
    "name": "Payment Required",
    "category": "4xx Client Error",
    "description": "Reserved for future use. Sometimes used by APIs to indicate exceeding a free-tier quota.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Quota exceeded",
      "Subscription required"
    ]
  },
  {
    "code": 403,
    "name": "Forbidden",
    "category": "4xx Client Error",
    "description": "The request was valid, but the server is refusing action. The user might not have the necessary permissions.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Insufficient permissions",
      "IP block",
      "CORS rejection at origin"
    ]
  },
  {
    "code": 404,
    "name": "Not Found",
    "category": "4xx Client Error",
    "description": "The requested resource could not be found but may be available in the future.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Wrong URL",
      "Resource deleted",
      "Typo in path"
    ]
  },
  {
    "code": 405,
    "name": "Method Not Allowed",
    "category": "4xx Client Error",
    "description": "A request method is not supported for the requested resource.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Sending POST to a GET-only endpoint"
    ]
  },
  {
    "code": 406,
    "name": "Not Acceptable",
    "category": "4xx Client Error",
    "description": "The requested resource is capable of generating only content not acceptable according to the Accept headers.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Accept header mismatch"
    ]
  },
  {
    "code": 407,
    "name": "Proxy Authentication Required",
    "category": "4xx Client Error",
    "description": "The client must first authenticate itself with the proxy.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Forward proxy requires credentials"
    ]
  },
  {
    "code": 408,
    "name": "Request Timeout",
    "category": "4xx Client Error",
    "description": "The server timed out waiting for the request.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Slow network",
      "Idle keep-alive timeout"
    ]
  },
  {
    "code": 409,
    "name": "Conflict",
    "category": "4xx Client Error",
    "description": "Indicates that the request could not be processed because of conflict in the current state of the resource.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Concurrent edit",
      "Version mismatch",
      "Duplicate key"
    ]
  },
  {
    "code": 410,
    "name": "Gone",
    "category": "4xx Client Error",
    "description": "Indicates that the resource requested is no longer available and will not be available again.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Deprecated endpoint",
      "Permanently removed resource"
    ]
  },
  {
    "code": 411,
    "name": "Length Required",
    "category": "4xx Client Error",
    "description": "The request did not specify the length of its content, which is required by the requested resource.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Missing Content-Length on a method that requires it"
    ]
  },
  {
    "code": 412,
    "name": "Precondition Failed",
    "category": "4xx Client Error",
    "description": "The server does not meet one of the preconditions specified in the request headers.",
    "specification": "RFC 9110",
    "commonCauses": [
      "If-Match or If-Unmodified-Since failed"
    ]
  },
  {
    "code": 413,
    "name": "Content Too Large",
    "category": "4xx Client Error",
    "description": "The request is larger than the server is willing or able to process.",
    "specification": "RFC 9110",
    "commonCauses": [
      "File upload too large",
      "Body exceeds limit"
    ]
  },
  {
    "code": 414,
    "name": "URI Too Long",
    "category": "4xx Client Error",
    "description": "The URI provided was too long for the server to process.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Excessive query string",
      "Long path"
    ]
  },
  {
    "code": 415,
    "name": "Unsupported Media Type",
    "category": "4xx Client Error",
    "description": "The request entity has a media type which the server or resource does not support.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Wrong Content-Type",
      "Sent XML to JSON-only endpoint"
    ]
  },
  {
    "code": 416,
    "name": "Range Not Satisfiable",
    "category": "4xx Client Error",
    "description": "The client has asked for a portion of the file, but the server cannot supply that portion.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Range outside resource bounds"
    ]
  },
  {
    "code": 417,
    "name": "Expectation Failed",
    "category": "4xx Client Error",
    "description": "The server cannot meet the requirements of the Expect request-header field.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Server does not support Expect: 100-continue"
    ]
  },
  {
    "code": 418,
    "name": "I'm a teapot",
    "category": "4xx Client Error",
    "description": "Returned by teapots requested to brew coffee. An April Fools' joke standardised in RFC 2324.",
    "specification": "RFC 2324",
    "commonCauses": [
      "Used as an Easter egg or generic refusal indicator"
    ]
  },
  {
    "code": 421,
    "name": "Misdirected Request",
    "category": "4xx Client Error",
    "description": "The request was directed at a server that is not able to produce a response.",
    "specification": "RFC 9110",
    "commonCauses": [
      "HTTP/2 connection coalescing edge case"
    ]
  },
  {
    "code": 422,
    "name": "Unprocessable Content",
    "category": "4xx Client Error",
    "description": "The request was well-formed but was unable to be followed due to semantic errors.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Validation error in payload"
    ]
  },
  {
    "code": 423,
    "name": "Locked",
    "category": "4xx Client Error",
    "description": "WebDAV: The resource that is being accessed is locked.",
    "specification": "RFC 4918",
    "commonCauses": [
      "WebDAV resource lock held by another client"
    ]
  },
  {
    "code": 424,
    "name": "Failed Dependency",
    "category": "4xx Client Error",
    "description": "WebDAV: The request failed because it depended on another request and that request failed.",
    "specification": "RFC 4918",
    "commonCauses": [
      "WebDAV chained operation failure"
    ]
  },
  {
    "code": 425,
    "name": "Too Early",
    "category": "4xx Client Error",
    "description": "Indicates that the server is unwilling to risk processing a request that might be replayed.",
    "specification": "RFC 8470",
    "commonCauses": [
      "TLS 1.3 0-RTT protection"
    ]
  },
  {
    "code": 426,
    "name": "Upgrade Required",
    "category": "4xx Client Error",
    "description": "The client should switch to a different protocol such as TLS/1.3.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Server requires HTTPS or HTTP/2"
    ]
  },
  {
    "code": 428,
    "name": "Precondition Required",
    "category": "4xx Client Error",
    "description": "The origin server requires the request to be conditional.",
    "specification": "RFC 6585",
    "commonCauses": [
      "API requires If-Match for concurrency safety"
    ]
  },
  {
    "code": 429,
    "name": "Too Many Requests",
    "category": "4xx Client Error",
    "description": "The user has sent too many requests in a given amount of time.",
    "specification": "RFC 6585",
    "commonCauses": [
      "Rate limit exceeded"
    ]
  },
  {
    "code": 431,
    "name": "Request Header Fields Too Large",
    "category": "4xx Client Error",
    "description": "The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large.",
    "specification": "RFC 6585",
    "commonCauses": [
      "Oversized cookie",
      "Excessive headers"
    ]
  },
  {
    "code": 451,
    "name": "Unavailable For Legal Reasons",
    "category": "4xx Client Error",
    "description": "A server operator has received a legal demand to deny access to a resource.",
    "specification": "RFC 7725",
    "commonCauses": [
      "Geo-block due to court order",
      "DMCA takedown"
    ]
  },
  {
    "code": 500,
    "name": "Internal Server Error",
    "category": "5xx Server Error",
    "description": "A generic error message, given when an unexpected condition was encountered.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Unhandled exception",
      "Bug",
      "Database error"
    ]
  },
  {
    "code": 501,
    "name": "Not Implemented",
    "category": "5xx Server Error",
    "description": "The server either does not recognize the request method, or it lacks the ability to fulfil the request.",
    "specification": "RFC 9110",
    "commonCauses": [
      "HTTP method not supported"
    ]
  },
  {
    "code": 502,
    "name": "Bad Gateway",
    "category": "5xx Server Error",
    "description": "The server was acting as a gateway or proxy and received an invalid response from the upstream server.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Upstream service down",
      "Reverse proxy received invalid response"
    ]
  },
  {
    "code": 503,
    "name": "Service Unavailable",
    "category": "5xx Server Error",
    "description": "The server is currently unavailable (because it is overloaded or down for maintenance).",
    "specification": "RFC 9110",
    "commonCauses": [
      "Maintenance window",
      "Overload",
      "Circuit breaker open"
    ]
  },
  {
    "code": 504,
    "name": "Gateway Timeout",
    "category": "5xx Server Error",
    "description": "The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Upstream server slow",
      "Connection timed out"
    ]
  },
  {
    "code": 505,
    "name": "HTTP Version Not Supported",
    "category": "5xx Server Error",
    "description": "The server does not support the HTTP protocol version used in the request.",
    "specification": "RFC 9110",
    "commonCauses": [
      "Unsupported HTTP version requested"
    ]
  },
  {
    "code": 506,
    "name": "Variant Also Negotiates",
    "category": "5xx Server Error",
    "description": "Transparent content negotiation for the request results in a circular reference.",
    "specification": "RFC 2295",
    "commonCauses": [
      "Misconfigured content negotiation"
    ]
  },
  {
    "code": 507,
    "name": "Insufficient Storage",
    "category": "5xx Server Error",
    "description": "WebDAV: The server is unable to store the representation needed to complete the request.",
    "specification": "RFC 4918",
    "commonCauses": [
      "Disk full",
      "Quota exceeded server-side"
    ]
  },
  {
    "code": 508,
    "name": "Loop Detected",
    "category": "5xx Server Error",
    "description": "WebDAV: The server detected an infinite loop while processing the request.",
    "specification": "RFC 5842",
    "commonCauses": [
      "Cyclical WebDAV bindings"
    ]
  },
  {
    "code": 510,
    "name": "Not Extended",
    "category": "5xx Server Error",
    "description": "Further extensions to the request are required for the server to fulfil it.",
    "specification": "RFC 2774",
    "commonCauses": [
      "Required extension declaration missing"
    ]
  },
  {
    "code": 511,
    "name": "Network Authentication Required",
    "category": "5xx Server Error",
    "description": "The client needs to authenticate to gain network access.",
    "specification": "RFC 6585",
    "commonCauses": [
      "Captive portal",
      "Public Wi-Fi login required"
    ]
  }
]
