For the complete documentation index, see llms.txt. This page is also available as Markdown.

Integration Overview

Overview of connecting your system to the Mindee API.

General Description

Mindee is ideal for handling large amounts of documents. The vast majority of our users will want to connect Mindee to their systems using our APIs.

It's then possible to design any number of different use cases around document processing. These can be for purely internal processing or to provide final end users with a polished experience.

In this section we'll go over the major steps required for a successful integration, and link to the relevant sections of the documentation.

Before Starting

You'll need at least one model configured, see the Models Overview section for more details. This can be any model type (extraction or utility model), all models are integrated in a very similar way.

We recommend using the Live Test feature before attempting to integrate the API.

You'll also need at least one API key, see the Manage API Keys section for more info.

How to Integrate

All file processing routes are asynchronous, no synchronous routes are provided. You can either use a polling or webhook workflow.

If using our SDK integrations polling is abstracted away for you, meaning you can use a single synchronous method within the SDK to receive processing results.

These are are the fastest and easiest way to call our APIs, and allow our support teams to better help you.

Client Libraries / SDKs

For a quick introduction and copy-paste ready code, look in the Extraction Quick Start section.

Supported languages/frameworks: Python, Node.js (JS/TS), PHP, Ruby, Java, .NET (C#).

We provide full support for Client Libraries regardless of your plan. You can report any issues on our bug tracker or directly on GitHub.

No-Code or Low-Code

If you're integrating using a no-code or low-code platform, take a look at the No-Code Integration section.

Manual Integration

If none of the above options fit your requirements, take a look at the Manual Integration section.

What to Send

You can send either a local file or an URL, it makes no difference for server-side processing.

However, when using our client libraries, you can Adjust the Source File if you have it locally.

How to Receive Results

Inference operations are always asynchronous, meaning there is a route to POST the file and another mechanism to retrieve the results.

You can decide on using either the polling flow or the webhook flow.

Using Polling - uses a GET route, and is better suited for testing and small volumes.

Using Webhooks - sends directly to your server, and is more suited for heavy production use.

Developing and Testing

A typical release life cycle could look like this:

  1. Start with a new model. If you are making adjustments to an existing production model, we recommend copying it and only making changes to the copy. Consider adding versioning info to the copied model's name, i.e. "Invoices v1.1" or "Receipts 2026-05-17".

  2. Adjust your code as needed and test.

  3. When deploying your code to testing or production environments, use the new model's ID.

  4. After deployment, lock your production model to avoid accidental changes.

  5. GOTO 1

Frequently Asked Questions

Can I use the same V1 API keys in the V2?

No, V1 and V2 do not share API key information.

Can I run V1 and V2 in parallel?

Yes, absolutely.

Running both platforms in parallel is not only supported but recommended if you are migrating from V1 to V2.

All SDKs have full support for V1 and V2 running in parallel, more information here: Client Libraries / SDKs

Do you provide a testing or staging environment?

We do not provide separate environments for development, staging, production, etc.

For information on testing your models and code before deploying to production, take a look at: Developing and Testing

Last updated

Was this helpful?