canonical: https://jentic.com/apis/api.koncile.ai/koncile

# Koncile API

The Koncile API extracts structured data from documents such as invoices, pay slips, and contracts using configurable templates and fields. It uploads files for processing, returns the extracted document data once a task completes, and manages the folders, templates, fields, and instructions that control how each document type is parsed.

## For AI agents

Upload invoices, pay slips, and contracts for automated data extraction, then retrieve the structured results. Configure the templates, fields, and instructions that control how each document type is parsed.

## Scope

Does not handle accounting, payment processing, or document e-signature. Use for document data extraction only.

## Capabilities

- Upload invoices, pay slips, or contracts for automated data extraction
- Retrieve the structured data extracted from a processed document
- Define extraction templates and the fields captured from each document type
- Add parsing instructions that guide how a field is extracted
- Organize documents into folders and check extraction task results
- List and fetch processed documents and their source files

## Use cases

### AI Document Processing Agent

An AI agent ingests incoming invoices or contracts, uploads each file to Koncile, waits for the extraction task, and reads back the structured fields to post into downstream systems. Through Jentic the agent discovers the upload and fetch operations by intent and calls them without hand-wiring the API, so document intake runs end to end.

Example prompt: Upload a PDF invoice, poll for the task result, and return the extracted total and line items

### Invoice Data Extraction

Convert scanned or PDF invoices into structured data ready for accounting or ERP entry. Koncile parses each document against a template, and the fetch-document-data operation returns the captured fields once processing completes. This removes manual keying while keeping the mapping under your control through templates and fields.

Example prompt: Extract the invoice number, date, and total from an uploaded supplier invoice

### Template and Field Configuration

Set up how a new document type is parsed by creating a template, adding the fields to capture, and attaching instructions that guide extraction. This lets teams onboard a new supplier or contract format without changing code, and keeps extraction consistent across every document routed to that template.

Example prompt: Create a template for supplier contracts and add a field that captures the renewal date

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/upload_file/` | Upload a file for extraction |
| GET | `/v1/fetch_document_data/` | Fetch extracted document data |
| GET | `/v1/fetch_tasks_results/` | Fetch extraction task results |
| POST | `/v1/create_template/` | Create an extraction template |
| POST | `/v1/create_field/` | Add a field to a template |

## Key resources

- **Files and documents** — Upload files, list processed documents, and fetch extracted document data
- **Templates and fields** — Create, update, and delete the templates and fields that define extraction
- **Folders and instructions** — Organize documents into folders and manage parsing instructions

## Why Jentic

- **Setup:** Wiring the Koncile API by hand means handling its bearer-token auth, the upload then poll then fetch sequence, and the template setup yourself. Through Jentic you install once, import Koncile from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Koncile identifies folders, templates, and documents through query parameters and the request body, so rules bound which operations your agent may call, not which document it touches. You choose the operations it may call, so destructive ones like deleting a template or document are not included unless you add them.
- **Credential handling:** Your Koncile token 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.
- **Discovery method:** Agents search Jentic by intent such as 'upload an invoice for extraction' or 'get extracted document data', and Jentic returns the matching Koncile operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Mindee** — Document parsing API compared with Koncile's template-driven extraction
- **Rossum** — Invoice-focused document AI versus Koncile's multi-document-type extraction
- **Veryfi** — Receipt and expense OCR that handles document types alongside Koncile

## FAQ

### What authentication does the Koncile API use?

The Koncile API authenticates with a bearer token in the Authorization header, per its OpenAPI spec. Through Jentic the token is stored encrypted by your own Jentic One instance and injected at call time, so it never enters the agent's prompt or logs.

### Can I extract data from an invoice with the Koncile API?

Yes. Upload the file with POST `/v1/upload_file`/, then call GET `/v1/fetch_document_data`/ once the extraction task completes to read the structured fields. The template you assign controls which fields are captured.

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

The OpenAPI spec does not specify rate limits. Check the Koncile documentation at https://api.koncile.ai/documentation for current limits before running large batch extraction jobs.

### Is there a Koncile MCP server?

You don't need an MCP server to give your agent the Koncile API. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls the upload and extraction operations it needs.

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

Yes. Write a rule that allows only the upload and fetch-document-data operations, so the agent can submit files and read results but cannot delete templates or documents, and every call it makes is logged.

### How do I extract document data with the Koncile API through Jentic?

Search Jentic for 'extract data from a document', and it returns the POST `/v1/upload_file`/ and GET `/v1/fetch_document_data`/ operations with their input schemas so your agent runs the extraction directly. To run it on your own infrastructure, install Jentic One from its GitHub repo.
