Kita CaptureAPI reference

Batch

Process many documents in a single request.

Submit a batch

POST /batch

Process 1 to 100 documents in one request. Not available on the free tier.

POST/batch

curl

curl -X POST "https://api.kita.ai/api/v1/batch" \
  -H "Authorization: Bearer $KITA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "documents": [
    {
      "document_type": "bank_statement"
    }
  ]
}'

Request body · application/json

FieldTypeDescription
documentsrequiredobject[]
  documents[].file_urlstring(uri)
  documents[].file_base64string
  documents[].filenamestring
  documents[].document_typerequiredstringTypes are normalized automatically. `bank-statement`, `Bank Statement` and `bank_statement` are all accepted, and common aliases resolve: `gis` maps to `general_information_sheet`, `afs` to `audited_financial_statement`. One of: bank_statement, bank_statement_summary, bank_certificate, payslip, credit_card_statement, credit_report, loan_statement, passbook, and 29 more.
  documents[].passwordstring
webhook_urlstring(uri)

Response · 202

FieldTypeDescription
successboolean
batch_idstring
statusstring
total_documentsinteger
status_urlstring

Errors

FieldTypeDescription
400errorThe request was rejected. See `error` for the machine-readable code.
403errorNot permitted for this organization or plan.

Submit a batch as file uploads

POST /batch/upload

POST/batch/upload

curl

curl -X POST "https://api.kita.ai/api/v1/batch/upload" \
  -H "Authorization: Bearer $KITA_API_KEY" \
  -F 'files=["@file.pdf"];type=application/json' \
  -F "document_type=bank_statement"

Request body · multipart/form-data

FieldTypeDescription
filesrequiredfile[]
document_typerequiredstringTypes are normalized automatically. `bank-statement`, `Bank Statement` and `bank_statement` are all accepted, and common aliases resolve: `gis` maps to `general_information_sheet`, `afs` to `audited_financial_statement`. One of: bank_statement, bank_statement_summary, bank_certificate, payslip, credit_card_statement, credit_report, loan_statement, passbook, and 29 more.
passwordstringApplied to every file in the batch.

Response · 202

FieldTypeDescription
successboolean
batch_idstring
total_documentsinteger
status_urlstring

Errors

FieldTypeDescription
400errorThe request was rejected. See `error` for the machine-readable code.
403errorNot permitted for this organization or plan.

Check batch status

GET /batch/{batch_id}

GET/batch/{batch_id}

curl

curl -X GET "https://api.kita.ai/api/v1/batch/{batch_id}" \
  -H "Authorization: Bearer $KITA_API_KEY"

Path parameters

FieldTypeDescription
batch_idrequiredstring

Response · 200

FieldTypeDescription
successboolean
batch_idstring
statusstring
total_documentsinteger
completedinteger
failedinteger
progress_percentnumber
documentsobject[]
  documents[].document_idinteger
  documents[].filenamestring
  documents[].statusstringOne of: pending, completed, failed.

Errors

FieldTypeDescription
404errorResource does not exist, or belongs to another organization.

Get batch results

GET /batch/{batch_id}/results

Returns every document in the batch with its full processed result.

GET/batch/{batch_id}/results

curl

curl -X GET "https://api.kita.ai/api/v1/batch/{batch_id}/results" \
  -H "Authorization: Bearer $KITA_API_KEY"

Path parameters

FieldTypeDescription
batch_idrequiredstring

Response · 200

FieldTypeDescription
successboolean
batch_idstring
documentsobject[]
  documents[].idinteger
  documents[].file_namestring
  documents[].document_typestringTypes are normalized automatically. `bank-statement`, `Bank Statement` and `bank_statement` are all accepted, and common aliases resolve: `gis` maps to `general_information_sheet`, `afs` to `audited_financial_statement`. One of: bank_statement, bank_statement_summary, bank_certificate, payslip, credit_card_statement, credit_report, loan_statement, passbook, and 29 more.
  documents[].statusstringOne of: pending, completed, failed.
  documents[].uploaded_atstring(date-time)
  documents[].completed_atstring | null
  documents[].processing_time_secondsnumber
  documents[].file_size_bytesinteger
  documents[].total_cost_usdnumber | nullExact billed cost for universal-pipeline documents. `null` for the legacy per-type pipelines (`bank_statement`, `audited_financial_statement`, `general_information_sheet`).
  documents[].cost_reportobject | null
  documents[].resultobjectType-specific extraction output.

Errors

FieldTypeDescription
404errorResource does not exist, or belongs to another organization.

Get one document from a batch

GET /batch/{batch_id}/document/{document_id}

GET/batch/{batch_id}/document/{document_id}

curl

curl -X GET "https://api.kita.ai/api/v1/batch/{batch_id}/document/42" \
  -H "Authorization: Bearer $KITA_API_KEY"

Path parameters

FieldTypeDescription
batch_idrequiredstring
document_idrequiredintegerPositive integer document ID.

Response · 200

FieldTypeDescription
successboolean
documentobject
  document.idinteger
  document.file_namestring
  document.document_typestringTypes are normalized automatically. `bank-statement`, `Bank Statement` and `bank_statement` are all accepted, and common aliases resolve: `gis` maps to `general_information_sheet`, `afs` to `audited_financial_statement`. One of: bank_statement, bank_statement_summary, bank_certificate, payslip, credit_card_statement, credit_report, loan_statement, passbook, and 29 more.
  document.statusstringOne of: pending, completed, failed.
  document.uploaded_atstring(date-time)
  document.completed_atstring | null
  document.processing_time_secondsnumber
  document.file_size_bytesinteger
  document.total_cost_usdnumber | nullExact billed cost for universal-pipeline documents. `null` for the legacy per-type pipelines (`bank_statement`, `audited_financial_statement`, `general_information_sheet`).
  document.cost_reportobject | null
  document.resultobjectType-specific extraction output.

Errors

FieldTypeDescription
404errorResource does not exist, or belongs to another organization.

On this page