Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Invoice Data Extraction API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Finvoicedataextraction.com%2Finvoicedataextraction" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Finvoicedataextraction.com%2Finvoicedataextraction" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Invoice Data Extraction API.
Upload invoice files in parts through an upload session with signed part URLs
Submit an extraction that describes in plain words which fields to pull from the files
Choose one row per invoice or one row per line item with the output_structure setting
Answer the questions an extraction pauses to ask, then let it continue
GET STARTED
Read extracted rows as JSON with offset and limit, or fetch a download URL for XLSX, CSV, or JSON
Check the account's credit balance before submitting a large batch
Patterns agents use Invoice Data Extraction API for, with concrete tasks.
★ AI bookkeeping agent turning invoices into rows
A developer's agent connected through Jentic finds the Invoice Data Extraction operations by intent and calls them with the API key injected at execution time. It uploads the invoices a user attached, submits an extraction asking for supplier, invoice number, date, and total, waits for it to finish, and hands back a spreadsheet, without the key ever entering the agent's context.
POST /uploads/sessions with an upload_session_id and files, complete each file's upload, POST /extractions with task_name 'October invoices', a prompt asking for supplier, invoice number, date, and total, and output_structure per_invoice, then poll GET /extractions/{extraction_id} until it completes
Line-item extraction for accounts payable
Accounts payable teams need every line on every invoice, not just the totals. Setting output_structure to per_line_item returns one row per line item with the invoice-level fields repeated, so the rows drop straight into a spreadsheet or import file. A single extraction can reference many uploaded files through its file_ids list.
POST /extractions with output_structure per_line_item and a prompt asking for description, quantity, unit price, and amount, then GET /extractions/{extraction_id}/output with format csv
Human-in-the-loop clarification
Real invoices are messy, and a silent guess produces wrong rows. With ask_questions enabled in the submission options, an extraction can stop and ask about something the documents leave unsettled, the caller posts answers, and processing continues from there.
When GET /extractions/{extraction_id} reports the extraction is waiting on questions, POST /extractions/{extraction_id}/answers with the answers the user gave
14 endpoints — the invoice data extraction api turns uploaded invoices and similar documents into structured rows, following a plain-language prompt that says what to extract.
METHOD
PATH
DESCRIPTION
/uploads/sessions
Create an upload session
/uploads/sessions/{upload_session_id}/complete
Complete a file's upload
/extractions
Submit an extraction
/extractions/{extraction_id}
Wait on an extraction's status
/extractions/{extraction_id}/results
Get extracted rows as JSON
/extractions/{extraction_id}/output
Get a download URL for an output file
/extractions/{extraction_id}/answers
Answer an extraction's questions
/uploads/sessions
Create an upload session
/uploads/sessions/{upload_session_id}/complete
Complete a file's upload
/extractions
Submit an extraction
/extractions/{extraction_id}
Wait on an extraction's status
/extractions/{extraction_id}/results
Get extracted rows as JSON
/extractions/{extraction_id}/output
Get a download URL for an output file
/extractions/{extraction_id}/answers
Answer an extraction's questions
What agents get from Jentic-routed access to this vendor.
Setup
Wiring Invoice Data Extraction by hand means a bearer key, a multipart upload flow with signed part URLs and completion calls, and a long-poll on the extraction status before results are ready. Through Jentic you install once, import it from the API Directory, store the key once, and your agent calls it.
Permission scoping
Invoice Data Extraction puts the extraction id in the URL path (/extractions/{extraction_id}/...), so a rule can bound your agent to the operations it needs, such as reading results and downloads. You choose the operations it may call, so destructive ones like deleting or cancelling an extraction are not included unless you add them.
Credential isolation
Your Invoice Data Extraction API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'extract data from invoices' or 'download extraction results', and Jentic returns the matching Invoice Data Extraction operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Invoice Data Extraction API through Jentic.
What authentication does the Invoice Data Extraction API use?
Per its OpenAPI spec, every operation uses bearer authentication: an API key created in the Invoice Data Extraction dashboard, sent as Authorization: Bearer with the key. A team admin's key sees the team's extractions by default. Through Jentic the key is stored by your own instance and attached at call time.
Which output formats does the Invoice Data Extraction API support?
GET /extractions/{extraction_id}/results returns the extracted rows as JSON, paged with offset and limit. GET /extractions/{extraction_id}/output returns a fresh download URL for an output file, with format set to xlsx, csv, or json.
Is the Invoice Data Extraction API free?
According to the OpenAPI spec, every account includes 50 free pages a month, and GET /credits/balance returns the account's remaining credits. Paid pricing is listed on the Invoice Data Extraction website.
What are the rate limits for the Invoice Data Extraction API?
The OpenAPI spec does not specify numeric rate limits. Check the API reference at https://invoicedataextraction.com/docs/api for current limits.
Is there an Invoice Data Extraction MCP server?
You don't need an MCP server to give your agent Invoice Data Extraction. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the upload, extraction, and download operations it needs, discovered on demand rather than loaded into its context.
Can I limit what my agent is allowed to do with Invoice Data Extraction?
Yes. For example, write a rule that allows only GET /extractions/{extraction_id}/results and GET /extractions/{extraction_id}/output, so the agent can read and download finished extractions but cannot submit new ones that spend credits or delete existing ones, and every call it makes is logged.
How do I extract invoice totals through Jentic?
Import the Invoice Data Extraction API from the Jentic API Directory and store your API key once. Your agent searches for 'extract data from invoices', uploads the files with POST /uploads/sessions, submits POST /extractions with a prompt naming the fields, and reads the rows when it completes. To run it on your own infrastructure, install Jentic One from its GitHub repo.
For Agents
Upload invoices, extract fields or line items into rows from a plain-language prompt, answer clarifying questions, and download the results as XLSX, CSV, or JSON.
Use for: I need to extract line items from a folder of supplier invoices, Get the invoice totals and due dates from these PDFs as a spreadsheet, Check whether my extraction has finished, Download the extraction results as a CSV
Not supported: Does not handle invoice creation, bill payment, or posting entries to an accounting ledger. Use for extracting structured data from uploaded documents only.
The Invoice Data Extraction API turns uploaded invoices and similar documents into structured rows, following a plain-language prompt that says what to extract. A caller uploads files through a multipart upload session, submits an extraction with a task_name, prompt, and output_structure of per_invoice, per_line_item, or automatic, and waits on the extraction until it finishes. Results are read as JSON rows or downloaded as an XLSX, CSV, or JSON file, and an extraction submitted with ask_questions can pause to ask the caller about anything the documents leave unsettled before it continues.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>