/api/v2/users/{userId}/kyc/equalsmoney/documentsRespond to an EqualsMoney document request
Uploads one or more documents for one item returned in `AdditionalDocumentsRequested`. Send the `Files` multipart field once for each PDF, JPEG, or PNG file. Files are combined into one PDF in the order supplied, then uploaded to EqualsMoney as the single document response for that request item. **Multipart example** ```text Type=PROOF_OF_FUNDS AssociatedPersonId=optional-person-id Files=@statement.pdf Files=@invoice.jpg Files=@receipt.png ``` **Limits:** 10 files; 10 MB per input file; 50 MB total input; 100 combined pages; 50 megapixels per image; 10 MB generated PDF. The legacy singular `File` field remains accepted for existing integrations but is deprecated.
Authentication
Send your API key in the x-api-key header on every request.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| userId (path) | unknown | Yes | User ID whose EqualsMoney application requested the document |
Request body
multipart/form-data
| Field | Type | Required | Description |
|---|---|---|---|
| File | string (binary) | No | Deprecated single-document field retained for compatibility. New integrations should use `Files`, including when uploading only one file. |
| Files | array of string (binary) | No | Documents to combine. Repeat the `Files` multipart field for every file; array order is preserved in the generated PDF. |
| Type | string | Yes | The exact request item type returned in `AdditionalDocumentsRequested`, for example `PROOF_OF_FUNDS`. |
| AssociatedPersonId | string | No | Associated person identifier from the request item. Omit for company-level or primary-user requests. |
Responses
200 — OK
| Field | Type | Required | Description |
|---|---|---|---|
| Success | boolean | No | |
| DocumentId | string | No | |
| Type | string | No | |
| FileName | string | No | |
| RemainingAdditionalDocumentsRequested | array of EqualsMoneyAdditionalDocumentRequestV2 | No |
400 — Bad Request
| Field | Type | Required | Description |
|---|---|---|---|
| Message | string | No | |
| Code | string | No | |
| Status | unknown | No | |
| ValidationErrors | object | No | |
| Details | string | No |
401 — Unauthorized
| Field | Type | Required | Description |
|---|---|---|---|
| Message | string | No | |
| Code | string | No | |
| Status | unknown | No | |
| ValidationErrors | object | No | |
| Details | string | No |
404 — Not Found
| Field | Type | Required | Description |
|---|---|---|---|
| Message | string | No | |
| Code | string | No | |
| Status | unknown | No | |
| ValidationErrors | object | No | |
| Details | string | No |
500 — Internal Server Error
| Field | Type | Required | Description |
|---|---|---|---|
| Message | string | No | |
| Code | string | No | |
| Status | unknown | No | |
| ValidationErrors | object | No | |
| Details | string | No |
Example request
curl -X POST "https://{base_url}/api/v2/users/{userId}/kyc/equalsmoney/documents" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: multipart/form-data" \
-d '{"Type":"…"}'This page is generated from the live OpenAPI specification and always matches the current API.