Kita CaptureAPI reference

Verification

Cross-document verification and per-document authenticity reports.

Cross-document verification

POST /verify

Compare 2 to 50 already-processed documents against each other. Runs 34 cross-checks including name consistency, income-to-deposit matching, employer verification and financial cross-references.

This does not re-process documents. It analyses the fraud detection and extraction data computed during initial processing.

POST/verify

curl

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

Request body · application/json

FieldTypeDescription
document_idsrequiredinteger[]

Response · 200

FieldTypeDescription
document_countinteger
documentsobject[]Per-document fraud summary.
  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[].authenticity_scoreinteger0 to 100.
  documents[].risk_levelstring`low` is a score of 80 or above, `medium` 50 to 79, `high` below 50. One of: low, medium, high.
  documents[].integrity_checksobject[]
    documents[].integrity_checks[].keystring
    documents[].integrity_checks[].labelstring
    documents[].integrity_checks[].statusstringOne of: pass, warn, fail, not_run.
  documents[].signal_summaryobjectCounts of signals by severity.
    documents[].signal_summary.total_signalsinteger
    documents[].signal_summary.critical_countinteger
    documents[].signal_summary.high_countinteger
    documents[].signal_summary.medium_countinteger
    documents[].signal_summary.low_countinteger
document_summaryobjectCount of documents by type.
cross_doc_scoreinteger0 to 100 cross-document consistency score.
signalsobject[]Cross-check results, such as name matching and income verification.
  signals[].keystringStable identifier for the check, for example `name_consistency`.
  signals[].severitystringOne of: critical, high, medium, low.
  signals[].confidencenumber0 to 1.
  signals[].reasonstringHuman-readable explanation of what was found.
  signals[].statusstringWhether the finding reads as good or as a concern.
field_verifiabilityobjectWhich fields can be verified, per document type.
corroborationobjectField by field, which documents confirm each value.
missing_idsinteger[]Requested document IDs that were not found. Present only when some are missing.

Errors

FieldTypeDescription
400errorThe request was rejected. See `error` for the machine-readable code.
404errorResource does not exist, or belongs to another organization.

Single-document authenticity

POST /verify/single

Full fraud detection and authenticity report for one document.

POST/verify/single

curl

curl -X POST "https://api.kita.ai/api/v1/verify/single" \
  -H "Authorization: Bearer $KITA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "document_id": 42
}'

Request body · application/json

FieldTypeDescription
document_idrequiredinteger

Response · 200

FieldTypeDescription
authenticity_scoreinteger0 to 100 overall authenticity score.
risk_levelstring`low` is a score of 80 or above, `medium` 50 to 79, `high` below 50. One of: low, medium, high.
category_scoresobjectPer-category breakdown: metadata, layout, editing, visual quality, and content-specific.
integrity_checksobject[]
  integrity_checks[].keystring
  integrity_checks[].labelstring
  integrity_checks[].statusstringOne of: pass, warn, fail, not_run.
signalsobject[]
  signals[].keystringStable identifier for the check, for example `name_consistency`.
  signals[].severitystringOne of: critical, high, medium, low.
  signals[].confidencenumber0 to 1.
  signals[].reasonstringHuman-readable explanation of what was found.
  signals[].statusstringWhether the finding reads as good or as a concern.
signal_summaryobjectCounts of signals by severity.
  signal_summary.total_signalsinteger
  signal_summary.critical_countinteger
  signal_summary.high_countinteger
  signal_summary.medium_countinteger
  signal_summary.low_countinteger
type_specific_signalsobject | nullDocument-type-specific validation, such as invoice arithmetic or receipt totals. `null` when the type has none.
metaobjectExecution metadata.

Errors

FieldTypeDescription
400errorThe request was rejected. See `error` for the machine-readable code.
404errorResource does not exist, or belongs to another organization.

On this page