import requests
url = "https://platform.reducto.ai/parse_async"
payload = {
"input": "<string>",
"async": { "priority": False },
"enhance": {
"agentic": [],
"advanced_chart_agent": False,
"summarize_figures": True,
"intelligent_ordering": False
},
"retrieval": {
"chunking": {
"chunk_mode": "disabled",
"chunk_overlap": 0
},
"filter_blocks": [],
"embedding_optimized": False
},
"formatting": {
"add_page_markers": False,
"table_output_format": "dynamic",
"merge_tables": False,
"include": []
},
"spreadsheet": {
"split_large_tables": {
"enabled": True,
"size": 50
},
"include": [],
"clustering": "accurate",
"exclude": []
},
"settings": {
"ocr_system": "standard",
"extraction_mode": "hybrid",
"force_url_result": False,
"return_ocr_data": False,
"return_images": [],
"embed_pdf_metadata": False,
"extract_document_properties": False,
"embed_pdf_metadata_dpi": 100,
"persist_results": False,
"hybrid_vpc": {}
},
"queue_priority": "auto"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
input: '<string>',
async: {priority: false},
enhance: {
agentic: [],
advanced_chart_agent: false,
summarize_figures: true,
intelligent_ordering: false
},
retrieval: {
chunking: {chunk_mode: 'disabled', chunk_overlap: 0},
filter_blocks: [],
embedding_optimized: false
},
formatting: {
add_page_markers: false,
table_output_format: 'dynamic',
merge_tables: false,
include: []
},
spreadsheet: {
split_large_tables: {enabled: true, size: 50},
include: [],
clustering: 'accurate',
exclude: []
},
settings: {
ocr_system: 'standard',
extraction_mode: 'hybrid',
force_url_result: false,
return_ocr_data: false,
return_images: [],
embed_pdf_metadata: false,
extract_document_properties: false,
embed_pdf_metadata_dpi: 100,
persist_results: false,
hybrid_vpc: {}
},
queue_priority: 'auto'
})
};
fetch('https://platform.reducto.ai/parse_async', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://platform.reducto.ai/parse_async"
payload := strings.NewReader("{\n \"input\": \"<string>\",\n \"async\": {\n \"priority\": false\n },\n \"enhance\": {\n \"agentic\": [],\n \"advanced_chart_agent\": false,\n \"summarize_figures\": true,\n \"intelligent_ordering\": false\n },\n \"retrieval\": {\n \"chunking\": {\n \"chunk_mode\": \"disabled\",\n \"chunk_overlap\": 0\n },\n \"filter_blocks\": [],\n \"embedding_optimized\": false\n },\n \"formatting\": {\n \"add_page_markers\": false,\n \"table_output_format\": \"dynamic\",\n \"merge_tables\": false,\n \"include\": []\n },\n \"spreadsheet\": {\n \"split_large_tables\": {\n \"enabled\": true,\n \"size\": 50\n },\n \"include\": [],\n \"clustering\": \"accurate\",\n \"exclude\": []\n },\n \"settings\": {\n \"ocr_system\": \"standard\",\n \"extraction_mode\": \"hybrid\",\n \"force_url_result\": false,\n \"return_ocr_data\": false,\n \"return_images\": [],\n \"embed_pdf_metadata\": false,\n \"extract_document_properties\": false,\n \"embed_pdf_metadata_dpi\": 100,\n \"persist_results\": false,\n \"hybrid_vpc\": {}\n },\n \"queue_priority\": \"auto\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"job_id": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Parse Async
Convert documents asynchronously into structured JSON with r-1 or a legacy Parse pipeline.
import requests
url = "https://platform.reducto.ai/parse_async"
payload = {
"input": "<string>",
"async": { "priority": False },
"enhance": {
"agentic": [],
"advanced_chart_agent": False,
"summarize_figures": True,
"intelligent_ordering": False
},
"retrieval": {
"chunking": {
"chunk_mode": "disabled",
"chunk_overlap": 0
},
"filter_blocks": [],
"embedding_optimized": False
},
"formatting": {
"add_page_markers": False,
"table_output_format": "dynamic",
"merge_tables": False,
"include": []
},
"spreadsheet": {
"split_large_tables": {
"enabled": True,
"size": 50
},
"include": [],
"clustering": "accurate",
"exclude": []
},
"settings": {
"ocr_system": "standard",
"extraction_mode": "hybrid",
"force_url_result": False,
"return_ocr_data": False,
"return_images": [],
"embed_pdf_metadata": False,
"extract_document_properties": False,
"embed_pdf_metadata_dpi": 100,
"persist_results": False,
"hybrid_vpc": {}
},
"queue_priority": "auto"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
input: '<string>',
async: {priority: false},
enhance: {
agentic: [],
advanced_chart_agent: false,
summarize_figures: true,
intelligent_ordering: false
},
retrieval: {
chunking: {chunk_mode: 'disabled', chunk_overlap: 0},
filter_blocks: [],
embedding_optimized: false
},
formatting: {
add_page_markers: false,
table_output_format: 'dynamic',
merge_tables: false,
include: []
},
spreadsheet: {
split_large_tables: {enabled: true, size: 50},
include: [],
clustering: 'accurate',
exclude: []
},
settings: {
ocr_system: 'standard',
extraction_mode: 'hybrid',
force_url_result: false,
return_ocr_data: false,
return_images: [],
embed_pdf_metadata: false,
extract_document_properties: false,
embed_pdf_metadata_dpi: 100,
persist_results: false,
hybrid_vpc: {}
},
queue_priority: 'auto'
})
};
fetch('https://platform.reducto.ai/parse_async', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://platform.reducto.ai/parse_async"
payload := strings.NewReader("{\n \"input\": \"<string>\",\n \"async\": {\n \"priority\": false\n },\n \"enhance\": {\n \"agentic\": [],\n \"advanced_chart_agent\": false,\n \"summarize_figures\": true,\n \"intelligent_ordering\": false\n },\n \"retrieval\": {\n \"chunking\": {\n \"chunk_mode\": \"disabled\",\n \"chunk_overlap\": 0\n },\n \"filter_blocks\": [],\n \"embedding_optimized\": false\n },\n \"formatting\": {\n \"add_page_markers\": false,\n \"table_output_format\": \"dynamic\",\n \"merge_tables\": false,\n \"include\": []\n },\n \"spreadsheet\": {\n \"split_large_tables\": {\n \"enabled\": true,\n \"size\": 50\n },\n \"include\": [],\n \"clustering\": \"accurate\",\n \"exclude\": []\n },\n \"settings\": {\n \"ocr_system\": \"standard\",\n \"extraction_mode\": \"hybrid\",\n \"force_url_result\": false,\n \"return_ocr_data\": false,\n \"return_images\": [],\n \"embed_pdf_metadata\": false,\n \"extract_document_properties\": false,\n \"embed_pdf_metadata_dpi\": 100,\n \"persist_results\": false,\n \"hybrid_vpc\": {}\n },\n \"queue_priority\": \"auto\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"job_id": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
For parse/split/extract pipelines, the URL of the document to be processed. You can provide one of the following: 1. A publicly available URL 2. A presigned S3 URL 3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document 4. A jobid:// prefixed URL obtained from a previous /parse invocation 5. A list of URLs (for multi-document pipelines, V3 API only)
For edit pipelines, this should be a string containing the edit instructions
The configuration options for asynchronous processing (default synchronous).
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Queue priority. 'batch' places the job in a lower-priority queue for non-urgent bulk work. 'auto' (alias: 'standard') uses the default queue.
auto, standard, batch Response
Successful Response
Was this page helpful?