HTTP API¶
The server implements Reducto's v3 API. Every request may carry Authorization: Bearer <READANYDOC_API_KEY>; it is
required when that variable is set. Bodies are JSON. An interactive schema is served at /docs on your server
(FastAPI's OpenAPI UI).
Routes¶
| Method and path | Purpose | Guide |
|---|---|---|
POST /upload |
Upload a file (multipart file); returns file_id (reducto://...) |
Server quickstart |
DELETE /upload/{file_id} |
Remove an upload | |
POST /parse, /parse_async |
Parse | Parse |
POST /extract, /extract_async |
Extract | Extract |
POST /split, /split_async |
Split | Split |
POST /classify, /classify_async |
Classify | Classify |
POST /edit, /edit_async |
Fill PDF forms | Edit |
GET /job/{job_id} |
Status and result | Jobs |
GET /jobs |
List jobs, newest first | |
POST /cancel/{job_id} |
Cancel | |
DELETE /job/{job_id} |
Delete a job and its files | |
POST /configure_webhook |
Default webhook URL | |
GET /version |
"readanydoc-<version>" |
|
GET /health |
Health check (no key needed) | |
POST /pipeline, /pipeline_async |
Deprecated by Reducto; returns 501 |
Inputs¶
input accepts a reducto:// file id from /upload, the upload response object, an http(s) URL, jobid://<id>
to reuse an earlier parse, or a list of these (parsed in order into one response).
Example¶
curl -s -X POST http://localhost:8000/extract \
-H "Authorization: Bearer $READANYDOC_API_KEY" -H "content-type: application/json" \
-d '{"input": "https://example.com/invoice.pdf",
"instructions": {"schema": {"type": "object", "properties": {"total": {"type": "number"}}}},
"settings": {"citations": {"enabled": true}}}'
Field-level detail and every difference from Reducto: Compatibility. Errors: Errors.