API Reference
You'll need your Model ID and an API key to use the API.
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 isProcessed
orFailed
(polling)Use a webhook to be notified when the inference is finished. Webhooks can be configured on the platform on a per-model basis.
Form to enqueue an inference.
Model ID to use for the inference.
Upload a file as bytes.
Webhook IDs to call after all processing is finished. If empty, no webhooks will be used.
[]
If true
, activate Retrieval-Augmented Generation.
false
Use an alias to link the file to your own DB. If empty, no alias will be used.
my_file_alias
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 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 responseAllowing your client to redirect on the
Location
header of the response
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 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.
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"
}
}
}
}
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.
Response for an inference.
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?