> For the complete documentation index, see [llms.txt](https://docs.mindee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mindee.com/integrations/api-overview.md).

# Integration Overview

## 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](/models/models-overview.md) 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](/models/live-test.md) feature before attempting to integrate the API.

You'll also need at least one API key, see the [Manage API Keys](/integrations/api-keys.md) 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](/extraction-models/sdk-integration/quick-start.md) section.

{% hint style="success" %}
**Ask for Code Samples**

You can ask for specific code samples from the documentation AI.

Use the "Ask" button at the top of any page, or click below:

<button type="button" class="button primary" data-action="ask" data-query="List available model types and a brief description (Extraction, Split, Crop, Classify, OCR), allow to pick one. Then list available SDK languages and allow to pick one. Finally ask for model ID, and generate the code sample for polling." data-icon="gitbook-assistant">Ask "Write a code sample for me."</button>
{% endhint %}

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](https://feedback.mindee.com/?b=685c08afd7a1d2e47b124cbb) or directly on [GitHub](https://github.com/orgs/mindee/repositories).

### 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](/extraction-models/no-code-integration.md) section.

### Manual Integration

If none of the above options fit your requirements, take a look at the [Manual Integration](/integrations/api-reference.md) section.

{% hint style="warning" %}
**We do not recommend manually integrating**, and cannot guarantee full support.

Pro plans and above benefit from extended integration support.
{% endhint %}

## 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 [Load and Adjust a File](/integrations/client-libraries-sdk/load-and-adjust-a-file.md#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](/integrations/polling-for-results.md) - uses a GET route, and is better suited for testing and small volumes.

[Using Webhooks](/integrations/webhooks.md) - 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](/models/model-settings.md#locking-the-data-schema) to avoid accidental changes.
5. `GOTO 1`

## Frequently Asked Questions

<details>

<summary><strong>Can I use the same V1 API keys in the V2?</strong></summary>

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

</details>

<details>

<summary><strong>Can I run V1 and V2 in parallel?</strong></summary>

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](/integrations/client-libraries-sdk.md)

</details>

<details>

<summary><strong>Do you provide a testing or staging environment?</strong></summary>

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](#developing-and-testing "mention")

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mindee.com/integrations/api-overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
