Securely upload supporting documents (invoices, receipts, medical records) for claims processing. All uploads are scanned with ClamAV for malware and processed through OCR for text extraction.
Initiate Upload
Request a presigned upload URL
POST /uploads/initiateUpload Binary
PUT the file directly to the presigned URL
PUT <presigned_url>Confirm Upload
Trigger the processing pipeline
POST /uploads/:id/confirmAsync Processing
Virus scan → OCR → Text extraction → Webhook notification
Webhook event: upload.completed/uploads/initiatecurl -X POST http://localhost:8000/api/v1/uploads/initiate \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"schema_registration_id": "uuid-of-your-schema-registration",
"channel_type": "pdf",
"source_format": "pdf.invoice.v2",
"original_filename": "medical_invoice.pdf",
"file_size_bytes": 245678,
"declared_mime_type": "application/pdf"
}'{
"upload_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"upload_url": "https://storage.example.com/presigned/...",
"storage_key": "uploads/tenant-id/xxxxxxxx.pdf",
"expires_at": "2026-05-20T11:30:00Z",
"upload_mode": "presigned"
}curl -X PUT "UPLOAD_URL_FROM_STEP_1" \
-H "Content-Type: application/pdf" \
--data-binary @medical_invoice.pdf/uploads/:id/confirmcurl -X POST http://localhost:8000/api/v1/uploads/upl_8f3d9c2e1a7b/confirm \
-H "Authorization: Bearer YOUR_TOKEN"| Type | Extensions | Max Size | OCR |
|---|---|---|---|
| PDF Documents | 25 MB | ||
| Images | .jpg, .jpeg, .png, .tiff | 10 MB | |
| Office Docs | .docx, .xlsx | 25 MB |