Skip to main content
POST
Reconstruct charts from a saved extraction or split

Overview

Pipeline Step 2 (terminal) — Charts reuses a completed extraction or split. It does not accept a document upload directly.
Reconstruct line, scatter, bar, pie, donut, and well-log charts as auditable data. Each result contains the source page and normalized bounding box, reconstructed series, axis metadata, a confidence score, and warnings. You can also request Excel, CSV, or LAS exports. The endpoint can run synchronously or asynchronously and is billed at 1 credit per reconstructed chart. It must be enabled for your organization.

Request

Provide exactly one source:

charts_config

Options belong inside charts_config. Top-level data_points, agentic_zoom, export_formats, generate_las, and layout_confidence are rejected.
For a split, replace extraction_id with split_id and omit page_range.

Response

With async: true, the endpoint returns HTTP 202:
Poll GET /job/{job_id} until the job reaches a terminal status. The completed chart response is returned in the job response’s result field. charts_id belongs to that completed result; it is not duplicated in the initial async acknowledgement. Extraction mode returns a flat charts array. Split mode returns results, keyed by topic, with each topic’s inherited pages and charts. count is the total number of charts across the response.
excel_url is a compatibility alias. New integrations should iterate over exports. If an export cannot be produced, export_warnings explains why without failing the chart reconstruction.

Export Downloads

Every export URL:
  • requires the same API key as the chart request;
  • belongs to the organization that created the chart result;
  • is deleted after one successful stream;
  • must not be prefetched by an agent, UI, or link preview.
Store the downloaded file. Do not store the URL as a durable artifact reference.

Retrieve Results

Authenticated applications can hydrate saved views without rerunning reconstruction: The public route intentionally returns 404 for missing, private, expired, and deleted extractions so it does not disclose which condition failed.

Accuracy

Chart output is reconstructed from pixels and OCR, so treat values as estimates. Review confidence and warnings, and validate consequential data against the source using the returned page_number and bounding_box. agentic_zoom can help with small labels or dense curves, but does not guarantee exact source values.

Extract

Create the saved extraction consumed by Charts.

Chaining Steps

Reuse extraction and split IDs across downstream steps.

Authorizations

x-api-key
string
header
required

Body

application/json

Input for POST /charts. Provide exactly one target ID.

extraction_id
string<uuid>
required

Completed extraction to process.

split_id
string<uuid>

Completed split whose topic page groups should be processed.

page_range
string

Optional 1-indexed pages for extraction mode, for example "1-3,5". Do not provide this with split_id; split pages are inherited.

Pattern: ^[0-9, -]+$
charts_config
object

Chart reconstruction options. Defaults are used when omitted.

async
boolean
default:false

When true, returns immediately with a job ID. Poll GET /job/{job_id} for the completed chart result.

Response

Completed chart reconstruction.

charts_id
string<uuid>
required
count
integer
required

Total reconstructed charts across the response.

Required range: x >= 0
exports
object[]
required
excel_url
string<uri> | null
required
deprecated

Compatibility alias for the Excel item in exports.

extraction_id
string<uuid> | null
split_id
string<uuid>
page_range
string
charts
object[]

Present in extraction mode.

results
object

Split-mode results keyed by topic name.

export_warnings
string[]
credits_used
number<float>