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
/batchcurl
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
| Field | Type | Description |
|---|---|---|
documentsrequired | object[] | |
documents[].file_url | string(uri) | |
documents[].file_base64 | string | |
documents[].filename | string | |
documents[].document_typerequired | string | Types 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[].password | string | |
webhook_url | string(uri) |
Response · 202
| Field | Type | Description |
|---|---|---|
success | boolean | |
batch_id | string | |
status | string | |
total_documents | integer | |
status_url | string |
Errors
| Field | Type | Description |
|---|---|---|
400 | error | The request was rejected. See `error` for the machine-readable code. |
403 | error | Not permitted for this organization or plan. |
Submit a batch as file uploads
POST /batch/upload
POST
/batch/uploadcurl
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
| Field | Type | Description |
|---|---|---|
filesrequired | file[] | |
document_typerequired | string | Types 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. |
password | string | Applied to every file in the batch. |
Response · 202
| Field | Type | Description |
|---|---|---|
success | boolean | |
batch_id | string | |
total_documents | integer | |
status_url | string |
Errors
| Field | Type | Description |
|---|---|---|
400 | error | The request was rejected. See `error` for the machine-readable code. |
403 | error | Not 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
| Field | Type | Description |
|---|---|---|
batch_idrequired | string |
Response · 200
| Field | Type | Description |
|---|---|---|
success | boolean | |
batch_id | string | |
status | string | |
total_documents | integer | |
completed | integer | |
failed | integer | |
progress_percent | number | |
documents | object[] | |
documents[].document_id | integer | |
documents[].filename | string | |
documents[].status | string | One of: pending, completed, failed. |
Errors
| Field | Type | Description |
|---|---|---|
404 | error | Resource 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}/resultscurl
curl -X GET "https://api.kita.ai/api/v1/batch/{batch_id}/results" \
-H "Authorization: Bearer $KITA_API_KEY"Path parameters
| Field | Type | Description |
|---|---|---|
batch_idrequired | string |
Response · 200
| Field | Type | Description |
|---|---|---|
success | boolean | |
batch_id | string | |
documents | object[] | |
documents[].id | integer | |
documents[].file_name | string | |
documents[].document_type | string | Types 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[].status | string | One of: pending, completed, failed. |
documents[].uploaded_at | string(date-time) | |
documents[].completed_at | string | null | |
documents[].processing_time_seconds | number | |
documents[].file_size_bytes | integer | |
documents[].total_cost_usd | number | null | Exact billed cost for universal-pipeline documents. `null` for the legacy per-type pipelines (`bank_statement`, `audited_financial_statement`, `general_information_sheet`). |
documents[].cost_report | object | null | |
documents[].result | object | Type-specific extraction output. |
Errors
| Field | Type | Description |
|---|---|---|
404 | error | Resource 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
| Field | Type | Description |
|---|---|---|
batch_idrequired | string | |
document_idrequired | integer | Positive integer document ID. |
Response · 200
| Field | Type | Description |
|---|---|---|
success | boolean | |
document | object | |
document.id | integer | |
document.file_name | string | |
document.document_type | string | Types 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.status | string | One of: pending, completed, failed. |
document.uploaded_at | string(date-time) | |
document.completed_at | string | null | |
document.processing_time_seconds | number | |
document.file_size_bytes | integer | |
document.total_cost_usd | number | null | Exact billed cost for universal-pipeline documents. `null` for the legacy per-type pipelines (`bank_statement`, `audited_financial_statement`, `general_information_sheet`). |
document.cost_report | object | null | |
document.result | object | Type-specific extraction output. |
Errors
| Field | Type | Description |
|---|---|---|
404 | error | Resource does not exist, or belongs to another organization. |

