{"record":{"id":"1e2c7e436b1fc039","repo":"zylon-ai/private-gpt","slug":"reader-body-reader-is-not-supported-for-exte","errorCode":null,"errorMessage":"Reader '{body.reader}' is not supported for '{extension}'. Valid readers: {valid_readers}","messagePattern":"Reader '(.+?)' is not supported for '(.+?)'\\. Valid readers: (.+?)","errorType":"http","errorClass":"HTTPException","httpStatus":422,"severity":"error","filePath":"private_gpt/server/ingest/convert_router.py","lineNumber":321,"sourceCode":"                \"* object: Returns a hierarchical content tree with typed nodes\\n\\n\"\n                \"Reader Selection:\\n\"\n                \"* Omit 'reader' to use the default reader for the detected file type\\n\"\n                \"* Use GET /v1/artifacts/readers to list available readers and their supported extensions\"\n            ),\n        }\n    },\n)\ndef convert_content(request: Request, body: ConvertBody) -> ConvertResponse:\n    service: ConvertService = request.state.injector.get(ConvertService)\n    registry: ReaderRegistry = request.state.injector.get(ReaderRegistry)\n\n    content = body.input.to_binary_content(get_file_name(body.metadata))\n    extension = get_extension(content.filename)\n\n    if body.reader:\n        valid_readers = registry.get_reader_names(extension)\n        if body.reader not in valid_readers:\n            raise HTTPException(\n                status_code=422,\n                detail=(\n                    f\"Reader '{body.reader}' is not supported for '{extension}'. \"\n                    f\"Valid readers: {valid_readers}\"\n                ),\n            )\n\n    with service.temporary_file(\n        lambda: service.data_path_from_bin_data(\n            content.data, get_extension(content.filename)\n        )\n    ) as data_path:\n        result = service.convert_file(\n            file_data=data_path,\n            file_metadata={**(body.metadata or {}), \"file_name\": content.filename},\n            reader=body.reader,\n        )\n","sourceCodeStart":303,"sourceCodeEnd":339,"githubUrl":"https://github.com/zylon-ai/private-gpt/blob/4a030776a31a901ad80b1bf4d7faa2c1a367efbb/private_gpt/server/ingest/convert_router.py#L303-L339","documentation":"Error \"Reader '{body.reader}' is not supported for '{extension}'. Valid readers: {valid_readers}\" thrown in zylon-ai/private-gpt.","triggerScenarios":"Raised when a convert request names a reader that is not registered or cannot handle the target file extension.","commonSituations":"Calling the convert endpoint with a reader that lacks its optional dependencies, or a typo in the reader name; valid readers for the extension are listed in the message.","solutions":["Choose a reader from the valid_readers list reported in the error for the file's extension.","Install the dependencies for the desired reader (e.g. `uv sync --inexact --extra ingest-documents`) and restart the server.","Convert the file to an extension supported by an available reader before requesting conversion.","Omit the reader field to let the server pick the default reader for the extension."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4a030776a31a901ad80b1bf4d7faa2c1a367efbb","analyzedAt":"2026-08-15T03:51:26.951Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}