canonical: https://jentic.com/apis/accurai.com/accurai

# AccurAI API

Jentic publishes the only available OpenAPI specification for AccurAI API, keeping it validated and agent-ready. AccurAI is an AI-powered document processing service that extracts structured data from uploaded documents - invoices, receipts, forms - and exposes the result through a simple two-endpoint API. Documents are submitted to POST /documents and the structured extraction is retrieved by id from GET /documents/{id}. Authentication is via an Authorization header API key, and the base URL is api.accurai.com.

## For AI agents

Submit a document for AI-powered extraction and retrieve the structured fields back so agents can pull invoice, receipt, or form data into downstream systems.

## Scope

Does not handle document storage, signature workflows, or human review queues - use for AI extraction of structured fields from a single document submission only.

## Capabilities

- Upload a document for AI extraction at POST /documents
- Retrieve the extracted structured result by document id at GET /documents/{id}
- Process invoice, receipt, and form documents via the same submission endpoint
- Poll the document id until extraction completes for asynchronous workflows
- Pass an API key via the Authorization header to authenticate requests

## Use cases

### Invoice Capture into an Accounting System

An accounts-payable workflow uploads incoming PDF invoices to POST /documents, polls GET /documents/{id} until extraction completes, and writes the structured fields (vendor, total, line items) into an accounting system. This replaces manual invoice keying with an extraction pipeline and reduces approval cycle time.

Example prompt: Upload a PDF invoice via POST /documents, poll GET /documents/{id} until status is complete, and return the vendor, total, and line items

### Receipt Capture for Expense Reports

A travel and expense app accepts photographed receipts from employees, submits each to AccurAI for extraction, and pre-fills the expense report with merchant, date, total, and category. Employees confirm and submit, instead of typing values from a small receipt photo. The two-endpoint surface keeps integration narrow and predictable.

Example prompt: Submit a receipt JPG to POST /documents, retrieve the extraction, and return merchant, date, and total fields

### Form Data Extraction Pipeline

An ops team digitizes paper forms - onboarding forms, claim forms, intake forms - by scanning them and pushing each scan to AccurAI. The extracted fields land in a database. Compared to manual transcription, throughput goes from dozens per day per person to hundreds, with the same person reviewing exceptions instead of typing every form.

Example prompt: Process a stack of scanned onboarding forms and write each extraction result into a CSV row keyed by document id

### Agent-Driven Document Triage via Jentic

An AI assistant that helps process inbound vendor email uses AccurAI through Jentic to extract attached invoices and receipts before classifying them. The agent searches Jentic for the right operation, uploads each attachment, and reads back the structured data. The API key never enters the agent's context window.

Example prompt: Through Jentic, search 'extract structured fields from a PDF invoice', load POST /documents, submit the attachment, and return the extraction

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /documents | Submit a document for AI extraction |
| GET | /documents/{id} | Retrieve the extracted result for a submitted document |

## Key resources

- **Documents** — Submit a document for AI extraction (POST) and retrieve the extracted result by id (GET)

## Why Jentic

- **Setup:** Wiring the AccurAI API by hand means attaching the Authorization header, uploading a document, and polling the retrieval endpoint by id yourself. Through Jentic you install once, import the AccurAI API from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** The document id is created by the upload POST and then read back, so limit the agent to the operations it needs, such as submitting a document and retrieving its extracted fields. You choose the operations it may call, so nothing beyond submit and retrieve runs unless you add it.
- **Credential handling:** Your AccurAI API key is stored once, encrypted, by your own Jentic One instance and injected as the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'extract structured fields from a PDF invoice', and Jentic returns POST /documents with the upload schema and the matching GET /documents/{id} retrieval operation so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Mindee API** — AI document parsing API with prebuilt models for invoices, receipts, and IDs.
- **Rossum API** — Enterprise document understanding platform for invoices and structured documents.
- **Stripe API** — Pay extracted invoices through Stripe after the AccurAI extraction step.

## FAQ

### Why is there no official OpenAPI spec for AccurAI API?

AccurAI does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call AccurAI API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the AccurAI API use?

An API key sent in the Authorization header on each request. Through Jentic, the key is stored encrypted in the vault and injected at execution time, so the raw value never enters the agent's context.

### Can I extract line items from invoices with the AccurAI API?

Yes. POST /documents accepts an invoice and the extraction returned by GET /documents/{id} includes the structured fields the model was trained for, typically vendor, totals, dates, and line items. The exact schema returned depends on the document type detected during processing.

### What are the rate limits for the AccurAI API?

The OpenAPI spec does not document explicit rate limits. Treat the API as throughput-bounded by your plan and back off on 429 responses. For batch processing, throttle submissions to a few per second and rely on GET /documents/{id} for asynchronous retrieval.

### How do I extract a PDF invoice through Jentic?

Run pip install jentic, then search 'extract structured fields from a PDF invoice'. Jentic returns POST /documents with its input schema. Load it, attach the PDF, execute, then call GET /documents/{id} to retrieve the extraction. Three async calls for the round trip.

### Is processing synchronous or do I need to poll?

Submission is via POST /documents and the extracted result is fetched separately via GET /documents/{id}, which means longer documents are best handled by submitting and polling rather than expecting an inline response. Poll with a short backoff (e.g. 1-2 seconds) until the result is available.

### Can I limit what my agent is allowed to do with the AccurAI API?

Yes. Because you run Jentic One yourself, your own rules decide which AccurAI operations the agent may call and which credentials it may use. This API exposes just two operations, submitting a document at POST /documents and reading the extraction back at GET /documents/{id}, so you can scope the agent to only those and nothing beyond submit and retrieve runs unless you add it. The AccurAI API key stays under your control and is injected only when a permitted operation executes.
