Application data ingestion
Submit loan application data along with associated files for processing and analysis.
When async_processing is true (default), the API returns immediately
after files are uploaded and processing continues in the background.
Use the Full Analysis webhook to receive results when complete.
When async_processing is false, the API waits for all processing to
finish and returns the full analysis payload (same structure as the
Full Analysis webhook). Sync requests can take several minutes.
File URLs must be publicly accessible or signed so Kaaj can download them.
Reusing the same appId merges/updates existing data.
Body·ApplicationDataRequest
- Type: stringapp
Id requiredUnique identifier for the application
- Type: ApplicationDataObjectdatarequiredProperties: 12
All fields are optional. You can submit just files and Kaaj will extract information automatically.
- Type: booleanasync
_processing true(default) returns immediately after upload; use webhooks for results.falsewaits for full analysis in the response.
Responses
- application/json
- 401
Missing or invalid Bearer token. Response body is empty.
- application/json
- application/json
curl https://api.kaaj.ai/application/data \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"appId": "Kaaj-app-1",
"data": {
"files": [
{
"filename": "loan_application.pdf",
"url": "https://example.com/files/loan_app.pdf",
"docType": "loan_application"
}
]
}
}'
{
"success": true,
"task_id": "987da4ba-ecaa-4abd-8231-416ae3fd4395",
"filesProcessed": 3,
"totalFiles": 3,
"uploadedFiles": [
{
"fileId": 12345,
"filename": "bank_statement_sep_2025.pdf",
"docType": "bankstatement",
"mimeType": "application/pdf",
"originalUrl": "https://example.com/files/bank_statement.pdf",
"container": "lender-container",
"blob": "Kaaj-app-1/20251015120000_uuid_bank_statement_sep_2025.pdf",
"size": 245678,
"contentType": "application/pdf"
}
]
}
