API Reference

Take a look at the API Overview if you are setting up your integration for the first time.

Send a file for an inference.

post

Send a file to the asynchronous processing queue for an inference.

Results can be retrieved in two ways:

  • Loop on the polling_url endpoint in the response until the status is Processed or Failed (polling)

  • Use a webhook to be notified when the inference is finished. Webhooks can be configured on the platform on a per-model basis.

Authorizations
Body

Form to enqueue an inference.

model_idstring · uuid4Required

Model ID to use for the inference.

filestring · binaryRequired

Upload a file as bytes.

webhook_idsstring · uuid4[]Optional

Webhook IDs to call after all processing is finished. If empty, no webhooks will be used.

Default: []
ragbooleanOptional

If true, activate Retrieval-Augmented Generation.

Default: false
aliasany ofOptional

Use an alias to link the file to your own DB. If empty, no alias will be used.

Example: my_file_alias
stringOptional
or
nullOptional
Responses
202
Successful Response
application/json
post
POST /v2/inferences/enqueue HTTP/1.1
Host: api-v2.mindee.net
Authorization: YOUR_API_KEY
Content-Type: multipart/form-data
Accept: */*
Content-Length: 94

{
  "model_id": "text",
  "file": "binary",
  "webhook_ids": [
    "text"
  ],
  "rag": false,
  "alias": "my_file_alias"
}
{
  "job": {
    "id": "text",
    "model_id": "text",
    "filename": "file.jpg",
    "alias": "text",
    "created_at": "2025-06-26T09:41:29.898Z",
    "status": "Processing",
    "polling_url": "https://example.com",
    "result_url": "https://example.com",
    "webhooks": [
      {
        "id": "text",
        "created_at": "2025-06-26T09:41:29.898Z",
        "status": "Processing",
        "error": {
          "status": 1,
          "detail": "text"
        }
      }
    ],
    "error": {
      "status": 1,
      "detail": "text"
    }
  }
}

Get the status of a file's processing.

get

Get the status of an inference that was previously enqueued.

If you are using webhooks there is no need to call this route.

When the job status is Processing or Failed the return code will be HTTP 200.

When the job status is Processed the return code will be HTTP 302. The processing result can then be retrieved in two ways:

  • Recommended: Using a GET on the URL specified in the result_url field of the response

  • Allowing your client to redirect on the Location header of the response

Authorizations
Path parameters
job_idstring · uuid4Required
Responses
200
Successful Response
application/json
get
GET /v2/jobs/{job_id} HTTP/1.1
Host: api-v2.mindee.net
Authorization: YOUR_API_KEY
Accept: */*
{
  "job": {
    "id": "text",
    "model_id": "text",
    "filename": "file.jpg",
    "alias": "text",
    "created_at": "2025-06-26T09:41:29.898Z",
    "status": "Processing",
    "polling_url": "https://example.com",
    "result_url": "https://example.com",
    "webhooks": [
      {
        "id": "text",
        "created_at": "2025-06-26T09:41:29.898Z",
        "status": "Processing",
        "error": {
          "status": 1,
          "detail": "text"
        }
      }
    ],
    "error": {
      "status": 1,
      "detail": "text"
    }
  }
}

Get the result of a completed inference.

get

Get the result of an inference that was previously enqueued.

The inference will only be available after it has finished processing.

If you are using webhooks there is no need to call this route. However, the JSON payload described here is what will be sent to each specified webhook's URL.

If you activated the "Delete extracted data when fetched" option for the model, the inference will be deleted after this route completes. Any further requests to the same inference ID will return a 404.

Authorizations
Path parameters
inference_idstring · uuid4Required
Responses
200
Successful Response
application/json
get
GET /v2/inferences/{inference_id} HTTP/1.1
Host: api-v2.mindee.net
Authorization: YOUR_API_KEY
Accept: */*
{
  "inference": {
    "id": "text",
    "model": {
      "id": "text"
    },
    "file": {
      "name": "text",
      "alias": "text"
    },
    "result": {
      "fields": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      },
      "options": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    }
  }
}

Inference Processed

When an inference is processed, this payload is sent to the specified webhooks.

Webhooks are specified in the webhooks_ids parameter when enqueuing an inference.

Payload

Response for an inference.

Responses
200
Successful Response
application/json
Responseany

Payload

{
  "inference": {
    "id": "text",
    "model": {
      "id": "text"
    },
    "file": {
      "name": "text",
      "alias": "text"
    },
    "result": {
      "fields": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      },
      "options": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    }
  }
}

Last updated

Was this helpful?