Skip to main content
POST
/
api
/
v1
/
classify
/
batch
Batch Classification (Async)
curl --request POST \
  --url https://extraction-api.nanonets.com/api/v1/classify/batch \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form 'categories=[{"name": "Invoice"}, {"name": "Contract"}, {"name": "Receipt"}]' \
  --form files.items='@example-file'
{
  "success": true,
  "message": "<string>",
  "batch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "total_files": 123,
  "successful_files": 123,
  "failed_files": 123,
  "results": [
    {
      "success": true,
      "message": "<string>",
      "record_id": "<string>",
      "filename": "<string>",
      "status": "queued",
      "result": {
        "total_pages": 0,
        "mode": "page",
        "splits": [
          {
            "category": "<string>",
            "pages": [
              123
            ],
            "segment_key": "<string>",
            "segments": [
              {
                "value": "<string>",
                "pages": [
                  123
                ]
              }
            ]
          }
        ]
      },
      "processing_time": 123
    }
  ]
}

Authorizations

Authorization
string
header
required

API key as Bearer token: Authorization: Bearer YOUR_API_KEY

Body

multipart/form-data
categories
string
required

JSON array of category objects (max 50 categories)

Example:

"[{\"name\": \"Invoice\"}, {\"name\": \"Contract\"}, {\"name\": \"Receipt\"}]"

files
file[]

Files to classify (max 50)

Maximum array length: 50
record_ids
string

Comma-separated record IDs of existing uploaded files to classify

mode
enum<string>
default:page

'document', 'page', or 'section'

Available options:
document,
page,
section
merge_unknown_segments
string

Set to 'true' to fill missing segment values from previous pages (page-level only)

Response

Batch queued

success
boolean
required
message
string
required
batch_id
string<uuid>
required
total_files
integer
required
successful_files
integer
required
failed_files
integer
required
results
object[]
required