CheckFile API Integration Guide
Integrate AI document verification into your application in hours. Authentication, endpoints, webhooks and error handling.
Integration in 4 steps
Get your API key
Create a CheckFile account and generate an API key from your dashboard. Sandbox mode available for testing.
Submit a dossier
Send documents via POST /api/v1/dossiers with files as multipart/form-data. Each dossier receives a unique identifier.
Receive results
Analysis is asynchronous. Retrieve results via GET /api/v1/dossiers/{id} or configure a webhook for automatic notification.
Configure webhooks
Register a callback URL via POST /api/v1/webhooks. You'll receive a dossier.completed event with the full result.
Authentication
All requests require an Authorization header with your API key. Keys start with cf_live_ (production) or cf_test_ (sandbox).
Authorization: Bearer cf_live_your_api_key_hereCode examples
curl -X POST https://api.checkfile.ai/api/v1/dossiers \
-H "Authorization: Bearer cf_live_your_key" \
-F "partner_id=your_partner" \
-F "reference=DOSSIER-2026-001" \
-F "files[]=@identity.pdf" \
-F "files[]=@proof_of_address.pdf" \
-F "files[]=@payslip.pdf"Main endpoints
/api/v1/dossiers/api/v1/dossiers/{id}/api/v1/dossiers/api/v1/dossiers/{id}/api/v1/webhooks/api/v1/rulesResponse structure
Each returned dossier contains an overall confidence score, per-document details, detected alerts and extracted data.
{
"id": "dos_abc123",
"status": "completed",
"confidence_score": 0.97,
"reference": "DOSSIER-2026-001",
"created_at": "2026-03-28T10:30:00Z",
"documents": [
{
"type": "identity",
"filename": "identity.pdf",
"status": "valid",
"extracted_data": {
"full_name": "Jean Dupont",
"date_of_birth": "1985-06-15",
"document_number": "123456789",
"expiry_date": "2028-01-01"
},
"alerts": []
},
{
"type": "proof_of_address",
"filename": "proof_of_address.pdf",
"status": "valid",
"extracted_data": {
"full_name": "Jean Dupont",
"address": "12 rue de la Paix, 75002 Paris"
},
"alerts": []
}
],
"cross_validation": {
"name_consistency": true,
"address_consistency": true,
"alerts": []
}
}Error handling
The API uses standard HTTP status codes. Errors include a machine code and a human-readable message.
400Invalid request (missing parameter or incorrect format)401Invalid or expired API key404Dossier not found429Rate limit exceeded (100 req/min default)500Server error (retry with exponential backoff)Limits and quotas
Use cases by sector
Automated KYC onboarding: submit identity documents, proof of address and payslips for account opening.
Tenant file verification: cross-analyse 10+ documents in the dossier in under a minute.
Employment document checks: verify work permits, qualifications and certificates in real time.