Individual Documents API
APIs for uploading and managing documents for individual customers.
Base URL: https://sandbox.finhub.cloud
Available Operations
Get Documents GET /customer/individual/{customerId}/documents
Upload Document POST /customer/individual/{customerId}/documents
Upload Document
Uploads a document for an individual customer for KYC/AML verification purposes.
For complete details on authentication, compliance headers, and SDK implementation examples, refer to the Standard HTTP Headers reference documentation.
Document Requirements
File Requirements:
Maximum file size: 10 MB
Supported formats: PDF, JPG, JPEG, PNG
Documents must be clear and readable
All text must be legible
No alterations or modifications allowed
Request
Bearer token for authentication
Must be multipart/form-data for file uploads
Required for Compliance & Audit Client’s originating IP address for KYC compliance tracking Example: 192.168.1.100
Required for Compliance & Audit Client application identifier for security analysis Example: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
Document file (multipart/form-data)
Type of document: GOVERNMENT_ID, PROOF_OF_ADDRESS, SOURCE_OF_FUNDS, SELFIE
Code Examples
curl -X POST "https://sandbox.finhub.cloud/api/v2.1/customer/individual/cust_12345/documents" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "X-Tenant-ID: YOUR_TENANT_ID" \
-H "X-Forwarded-For: 192.168.1.100" \
-H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" \
-F "file=@/path/to/passport.pdf" \
-F "documentType=GOVERNMENT_ID"
{
"success" : true ,
"data" : {
"documentId" : "doc_12345" ,
"customerId" : "cust_12345" ,
"documentType" : "GOVERNMENT_ID" ,
"status" : "UPLOADED" ,
"uploadedAt" : "2024-01-15T10:30:00Z"
}
}
Get Documents
Retrieves all documents for a customer.
Request
Code Examples
curl -X GET "https://sandbox.finhub.cloud/api/v2.1/customer/individual/cust_12345/documents" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "X-Tenant-ID: YOUR_TENANT_ID"
Delete Document
Deletes a specific document.
Code Examples
curl -X DELETE "https://sandbox.finhub.cloud/api/v2.1/customer/individual/cust_12345/documents/doc_12345" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "X-Tenant-ID: YOUR_TENANT_ID"
Document Types & Requirements
Government ID (GOVERNMENT_ID)
Accepted Documents:
Passport (preferred for international customers)
National ID card
Driver’s license (with photo)
Requirements:
Must be government-issued
Must be valid (not expired)
Photo must be clear and readable
All text must be legible
Full document visible (all corners)
Proof of Address (PROOF_OF_ADDRESS)
Accepted Documents:
Utility bill (electricity, water, gas)
Bank statement
Government letter
Tax document with address
Requirements:
Issued within last 3 months
Must show full name matching customer record
Must show complete address
Issuer logo/letterhead visible
Source of Funds (SOURCE_OF_FUNDS)
Accepted Documents:
Employment contract
Payslips (last 3 months)
Tax returns
Bank statements showing income
Requirements:
Recent (within last 6 months)
Shows source of income
Amount visible (if applicable)
Selfie Photo (SELFIE)
Requirements:
Clear face photo
Good lighting
Face fills frame
No filters or alterations
Used for liveness check
Common Document Errors
Error: File Too Large
Problem:
{
"code" : 400 ,
"message" : "File size exceeds maximum limit" ,
"data" : {
"error" : "FILE_SIZE_EXCEEDED" ,
"maxSize" : "10MB" ,
"actualSize" : "15MB"
}
}
Solution: Compress or resize the document to under 10 MB
Problem:
{
"code" : 400 ,
"message" : "Invalid file format" ,
"data" : {
"error" : "INVALID_FILE_FORMAT" ,
"allowedFormats" : [ "PDF" , "JPG" , "JPEG" , "PNG" ],
"receivedFormat" : "DOCX"
}
}
Solution: Convert document to PDF, JPG, JPEG, or PNG
Error: Document Not Readable
Problem:
{
"code" : 422 ,
"message" : "Document quality insufficient" ,
"data" : {
"error" : "DOCUMENT_NOT_READABLE" ,
"reason" : "Image too blurry or dark"
}
}
Solution:
Take photo in good lighting
Ensure document is flat and fully visible
Use higher resolution
Avoid glare or shadows
Best Practices
Prepare Documents
Scan at 300 DPI minimum
Use color scanning for IDs
Ensure all corners visible
Check file size before upload
Verify Quality
Check image clarity
Verify all text readable
Ensure no glare or shadows
Confirm document not expired
Upload Correctly
Use correct document type
Include all required headers
Handle upload errors gracefully
Verify upload success
Track Status
Check document status after upload
Wait for verification review
Resubmit if rejected
API Schema Reference
For the complete OpenAPI schema specification of this endpoint, including all request and response structures, see the API Schema Mapping document.
Response Codes
Code Description 200Documents retrieved successfully 201Document uploaded successfully 400Invalid request data (file too large, wrong format) 403Access denied 404Document or customer not found 413Payload too large (>10MB) 422Document quality insufficient 500Internal server error