{"record":{"id":"9771fd237306e0ca","repo":"influxdata/influxdb","slug":"not-found","errorCode":null,"errorMessage":"not found","messagePattern":"not found","errorType":"http","errorClass":"Error::NoHandler","httpStatus":404,"severity":"error","filePath":"influxdb3_server/src/http.rs","lineNumber":196,"sourceCode":"    }\n}\n\nimpl From<AuthenticationError> for RoutingError {\n    fn from(e: AuthenticationError) -> Self {\n        Self::Authentication(e)\n    }\n}\n\nimpl From<ResourceAuthorizationError> for RoutingError {\n    fn from(e: ResourceAuthorizationError) -> Self {\n        Self::Authorization(e)\n    }\n}\n\n#[derive(Debug, Error)]\npub enum Error {\n    /// The requested path has no registered handler.\n    #[error(\"not found\")]\n    NoHandler,\n\n    /// The request body content is not valid utf8.\n    #[error(\"body content is not valid utf8: {0}\")]\n    NonUtf8Body(Utf8Error),\n\n    /// The `Content-Encoding` header is invalid and cannot be read.\n    #[error(\"invalid content-encoding header: {0}\")]\n    NonUtf8ContentEncodingHeader(hyper::header::ToStrError),\n\n    /// The `Content-Type` header is invalid and cannot be read.\n    #[error(\"invalid content-type header: {0}\")]\n    NonUtf8ContentTypeHeader(hyper::header::ToStrError),\n\n    /// The specified `Content-Encoding` is not acceptable.\n    #[error(\"unacceptable content-encoding: {0}\")]\n    InvalidContentEncoding(String),\n","sourceCodeStart":178,"sourceCodeEnd":214,"githubUrl":"https://github.com/influxdata/influxdb/blob/06200ef96ba82c5f6727e5038a83af8e722c6875/influxdb3_server/src/http.rs#L178-L214","documentation":"This is the `Error::NoHandler` variant of the HTTP error enum in influxdb3_server. It means the HTTP server received a request whose path (and method) has no registered handler in the router. The library throws it when routing fails before any endpoint logic runs.","triggerScenarios":"Sending an HTTP request to a path that is not registered in the server's router, e.g. a typo'd endpoint, an API that is disabled by a feature flag, or hitting a v1/v2 compatibility path that is not enabled.","commonSituations":"Typos in the URL path (e.g. /write vs /api/v3/write_lp), calling an endpoint added in a newer InfluxDB 3 version while running an older build, querying a disabled module (query vs write server), or wrong port where a different service listens.","solutions":["Check the request path against the server's registered routes (see the router setup in influxdb3_server/src/http.rs) and fix typos","Verify you are running a build/feature flags that enable the endpoint you call","Check that the HTTP port points at the InfluxDB 3 HTTP service, not another component","Upgrade to a version that supports the endpoint if it is a newer API"],"exampleFix":"// before\ncurl -X POST http://localhost:8181/api/v3/write_lps?db=mydb ...\n// after\ncurl -X POST http://localhost:8181/api/v3/write_lp?db=mydb ...","handlingStrategy":"validation","validationCode":"const ROUTES = ['/api/v3/write_lp','/api/v3/query','/health'];\nif (!ROUTES.includes(new URL(url).pathname)) throw new Error('unregistered path: ' + url);","typeGuard":"function hasKnownPath(url) { return ROUTES.includes(new URL(url).pathname); }","tryCatchPattern":null,"preventionTips":["Keep a client-side list of supported endpoint paths for your server version","Pin and version your InfluxDB 3 client library against the server version","Verify the port and base URL point at the InfluxDB 3 HTTP service","Smoke-test endpoints at deploy time with a /health request"],"tags":["http","routing","api"],"backgroundTag":"resource-not-found","analyzedSha":"06200ef96ba82c5f6727e5038a83af8e722c6875","analyzedAt":"2026-09-19T12:55:30.003Z","contentChangedAt":"2026-09-19T12:55:30.003Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}