Errors

Error codes from the SDK and the Server API, and what to do about each.

In the SDK

These reach onError as code. The borrower sees a plain-language message for each and can usually fix it on the spot.

CodeCauseWhat happens
encrypted_pdfThe PDF needs a document password.The flow asks for it.
invalid_pdf_passwordWrong document password.The borrower can retry.
unsupported_formatNot a PDF or supported image, or a video.The borrower picks another file.
invalid_image, corrupt_pdf, empty_documentThe file cannot be opened.The borrower picks another file.
document_too_large, too_many_pages, oversized_imageOver a limit.The borrower picks a smaller copy.
multiple_image_framesAn animated or multi-frame image.Export pages as a PDF or separate photos.
document_limit_reached12 files already uploaded.Remove one first.
connection_error, rate_limitedNetwork trouble or throttling.The flow offers Retry.
client_token_expired, invalid_client_token, missing_client_tokenThe 30-minute token ran out, was replaced, or was not sent.Get a new client token and reopen.
session_lockedThe files were already shared.Nothing to do; the session shows its receipt.

From the Server API

StatusCodeFix
401missing_api_keySend your key in the X-API-Key header.
401invalid_api_keyThe key matches no organization. Check for a truncated or rotated key.
401wrong_environmentUse a risk_test_ key on test and a risk_live_ key on production.
403origin_not_allowedorigin must exactly match an origin registered with Kita: scheme, host and port, no path.
403profile_not_enabledThe model profile is not enabled for your organization.
404session_not_foundWrong ID, another organization's session, or expired.
409idempotency_conflictSame Idempotency-Key, different body. Use one key per applicant.
409results_not_readyWait for the webhook or for a terminal status.
413request_too_largeThe request exceeded the size limit.
422invalid_request, market_profile_not_validatedA field failed validation, or country does not match your profile.
429rate_limitedWait for Retry-After seconds.
503archive_unavailableDeletion could not reach the archive. Nothing was removed; retry.

A file that could not be read

A session can finish as partial or failed. Each document then carries a reason: model_rejected or blank_document (not a readable financial document), extraction_error (every provider failed), or processing_timeout. The borrower is not shown these after sharing; decide in your own flow whether to ask for a clearer copy.

On this page