{"record":{"id":"b341a2b36386b247","repo":"tinyhumansai/openhuman","slug":"backend-returned-success-but-no-data-for","errorCode":null,"errorMessage":"Backend returned success but no data for {} {}","messagePattern":"Backend returned success but no data for (.+?) (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/integrations/client.rs","lineNumber":495,"sourceCode":"        url: &str,\n        value: serde_json::Value,\n    ) -> anyhow::Result<T> {\n        let method_upper = method.to_uppercase();\n        let envelope: BackendResponse<T> = serde_json::from_value(value)?;\n        if !envelope.success {\n            let msg = envelope\n                .error\n                .unwrap_or_else(|| \"unknown backend error\".into());\n            crate::core::observability::report_error_or_expected(\n                msg.as_str(),\n                \"integrations\",\n                method,\n                &[(\"path\", path), (\"failure\", \"envelope_error\")],\n            );\n            anyhow::bail!(\"Backend error for {} {}: {}\", method_upper, url, msg);\n        }\n        envelope.data.ok_or_else(|| {\n            anyhow::anyhow!(\n                \"Backend returned success but no data for {} {}\",\n                method_upper,\n                url\n            )\n        })\n    }\n\n    async fn request_json<T: serde::de::DeserializeOwned>(\n        &self,\n        method: reqwest::Method,\n        path: &str,\n        body: Option<&serde_json::Value>,\n    ) -> anyhow::Result<T> {\n        reject_backend_webhook_path(method.as_str(), path)?;\n        enforce_backend_egress(path)?;\n        emit_backend_egress(path);\n        self.ensure_budget_available(path).await?;\n        let url = crate::api::config::api_url(&self.backend_url, path);","sourceCodeStart":477,"sourceCodeEnd":513,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/integrations/client.rs#L477-L513","documentation":"Envelope decode succeeded and success=true, but the {success,data} envelope carried no data payload to deserialize into T. The backend violated its own response shape for this method/path; reported with failure=envelope_error.","triggerScenarios":"Thrown at src/openhuman/integrations/client.rs:495 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry the request — occasionally a backend hiccup","Check whether the endpoint genuinely returns an empty payload and the client expectation is wrong","Report to the backend team if it reproduces consistently"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"749120085864ce16e0f273c7b86fac7740b39c5b","analyzedAt":"2026-08-17T21:21:45.363Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}