{"record":{"id":"c42eac2983e7d576","repo":"BerriAI/litellm","slug":"upstream-request-failed-with-status-status-bod","errorCode":null,"errorMessage":"upstream request failed with status {status}: {body}","messagePattern":"upstream request failed with status (.+?): (.+?)","errorType":"exception","errorClass":"CoreError","httpStatus":null,"severity":"error","filePath":"litellm-rust/crates/core/src/error.rs","lineNumber":22,"sourceCode":"\n#[derive(Debug, Error, PartialEq, Eq)]\npub enum CoreError {\n    #[error(\"expected {expected}, got {actual}\")]\n    InvalidType {\n        expected: &'static str,\n        actual: &'static str,\n    },\n    #[error(\"missing required field: {0}\")]\n    MissingField(&'static str),\n    #[error(\"invalid response: {0}\")]\n    InvalidResponse(String),\n    #[error(\"invalid provider: {0}\")]\n    InvalidProvider(String),\n    #[error(\"invalid request: {0}\")]\n    InvalidRequest(String),\n    #[error(\"{0}\")]\n    Auth(String),\n    #[error(\"upstream request failed with status {status}: {body}\")]\n    Http { status: u16, body: String },\n    #[error(\"upstream network error: {0}\")]\n    Network(String),\n    #[error(\"routing error: {0}\")]\n    Routing(String),\n}\n\npub fn json_type_name(value: &serde_json::Value) -> &'static str {\n    match value {\n        serde_json::Value::Null => \"null\",\n        serde_json::Value::Bool(_) => \"bool\",\n        serde_json::Value::Number(_) => \"number\",\n        serde_json::Value::String(_) => \"string\",\n        serde_json::Value::Array(_) => \"array\",\n        serde_json::Value::Object(_) => \"object\",\n    }\n}\n","sourceCodeStart":4,"sourceCodeEnd":40,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm-rust/crates/core/src/error.rs#L4-L40","documentation":"Error \"upstream request failed with status {status}: {body}\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm-rust/crates/core/src/error.rs:22 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the upstream status {status} and body {body}: fix auth for 401/403, payload for 400/422, or retry/back off for 429/5xx."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}