Kita

Quickstart

Upload borrower documents, read the credit assessment, and generate a memo.

Kita extracts and analyzes documents. Your lending team makes the credit decision.

1. Set your API key

Open AI Underwriter → Settings → API keys and create a key with read and write permissions. Keep it server-side, never in browser or mobile code.

export KITA_UNDERWRITER_API_KEY="kita_uw_REPLACE_ME"
export KITA_UNDERWRITER_BASE="https://underwriter.kita.ai/api/v1"

2. Create an application and upload a file

Set loan_type to your configured loan product. Keep the request under 4.5 MB; upload larger packages one file at a time.

curl --fail-with-body "$KITA_UNDERWRITER_BASE/intake" \
  -H "Authorization: ApiKey $KITA_UNDERWRITER_API_KEY" \
  -F 'application={"business_name":"Example Bakery","borrower_email":"borrower@example.com","loan_type":"SBA 7(a)","loan_amount":250000,"external_ref":"LOS-44821","send_outreach":false}' \
  -F 'file=@./tax-return.pdf'

A new application returns 201 with the application in data and uploaded files in data.documents. Save data.id:

export KITA_APPLICATION_ID="REPLACE_WITH_DATA_ID"

Reusing external_ref returns the existing application (200) and skips the files. Add files later with the upload endpoint.

3. Check documents and read the assessment

curl --fail-with-body "$KITA_UNDERWRITER_BASE/applications/$KITA_APPLICATION_ID/documents" \
  -H "Authorization: ApiKey $KITA_UNDERWRITER_API_KEY"
 
curl --fail-with-body "$KITA_UNDERWRITER_BASE/applications/$KITA_APPLICATION_ID/credit" \
  -H "Authorization: ApiKey $KITA_UNDERWRITER_API_KEY"

Documents process asynchronously: poll while files are awaiting or processing; low_confidence needs review. Credit results update as documents process and are null when unavailable. See polling and statuses.

4. Generate and retrieve a memo

curl --fail-with-body -X POST "$KITA_UNDERWRITER_BASE/applications/$KITA_APPLICATION_ID/memo" \
  -H "Authorization: ApiKey $KITA_UNDERWRITER_API_KEY"
 
curl --fail-with-body "$KITA_UNDERWRITER_BASE/applications/$KITA_APPLICATION_ID/memo/status" \
  -H "Authorization: ApiKey $KITA_UNDERWRITER_API_KEY"

Generation returns 202. Poll status until synthesis_in_progress is false, then check last_run_status; a failed run is not a completed memo. Then read the sections:

curl --fail-with-body "$KITA_UNDERWRITER_BASE/applications/$KITA_APPLICATION_ID/memo" \
  -H "Authorization: ApiKey $KITA_UNDERWRITER_API_KEY"

Each data.sections[].body keeps its JSON structure (object, string, array, or null) with citation markers removed. For a rendered document, use the memo PDF export.

On this page