data:{mime};base64, prefix) or as a publicly accessible HTTP/HTTPS URL.| Parameter | Type | Required | Description |
|---|---|---|---|
user_id | integer | Yes | Unique identifier of the customer |
application/json)| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Document category. See allowed values below. |
file | string | Yes | Base64-encoded file content or a public HTTP/HTTPS URL to the file. |
type values| Value | Description |
|---|---|
onboarding_form | Onboarding form |
bank_statement | Bank account statement |
payslip | Salary payslip |
employment_contract | Employment contract |
tax_return | Tax return |
tax_certificate | Tax certificate |
company_accounts | Company financial accounts |
dividend_statement | Dividend statement |
investment_statement | Investment portfolio statement |
crypto_wallet_statement | Cryptocurrency wallet statement |
sale_of_property | Property sale documentation |
sale_of_vehicle | Vehicle sale documentation |
sale_of_company_shares | Company shares sale documentation |
inheritance_document | Inheritance documentation |
gift_declaration | Gift declaration |
loan_agreement | Loan agreement |
savings_evidence | Savings evidence |
invoice | Invoice |
freelance_income_evidence | Freelance income evidence |
pension_statement | Pension statement |
unemployment_benefit_statement | Unemployment benefit statement |
source_of_funds_declaration | Source of funds declaration |
other | Other supporting document |
{
"type": "bank_statement",
"file": "data:application/pdf;base64,JVBERi0xLjQKJeLjz9MK..."
}{
"type": "payslip",
"file": "https://cdn.example.com/documents/payslip-january.pdf"
}200 OK){
"status": "ok"
}| HTTP Status | Error Code | Description |
|---|---|---|
| 200 | authorization_incorrect | Invalid or missing auth header |
| 403 | user_not_in_integration | Customer does not belong to the authenticated integration |
| 404 | user_not_found | Customer ID does not exist |
| 422 | invalid_file | File content is not valid Base64 |
| 422 | invalid_file_url | URL is unreachable or returns an empty/invalid response |
| 422 | file_too_large | File exceeds the 100 MB size limit |
| 422 | Validation error | Missing or invalid type / file fields |
| 500 | file_upload_failed | Cloud storage upload failed |
| 500 | unexpected_error | Internal server error |
data: prefix) are also supported.curl --location 'https://sandbox.cryptopocket.io/api/customers//documents' \
--header 'Content-Type: application/json' \
--data '{
"type": "bank_statement",
"file": "data:application/pdf;base64,JVBERi0xLjQKJeLjz9MK..."
}'{
"status": "ok"
}