---
title: "Upload associate identification documents"
method: POST
path: "/platform/v2/customers/{customerId}/associates/{associateId}/identification-documents"
tags: ["Manage Documents"]
---

# Upload associate identification documents

`POST /platform/v2/customers/{customerId}/associates/{associateId}/identification-documents`

## Request

- Base URL: `https://api.sandbox.bvnk.com`
- URL: `https://api.sandbox.bvnk.com/platform/v2/customers/{customerId}/associates/{associateId}/identification-documents`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/bvnk/apis/bvnk-api-endpoints/docs/platform/v2/customers/:customerId/associates/:associateId/identification-documents/post.ts> (a function with typed inputs; its response is checked against the schema)

Uploads 1-3 identification and address verification documents for a specific associate as `multipart/form-data`.

Use `associateId` returned by the create-associate or list-associates endpoint.

Jurisdiction guidance:
- EU: selfie/liveness and proof of address are generally mandatory.
- US: selfie may be optional while tax and control-person requirements can apply.

If a submitted document is rejected, resubmit a corrected file through the same endpoint; the previous rejected document is replaced.

## Path parameters

- `customerId` string, uuid, required
- `associateId` string, uuid, required

## Request body `multipart/form-data`

- V2IdentificationDocumentsUploadRequest
  - `metadata` V2IdentificationDocumentMetadata[], required
    - `type` 'PASSPORT' | 'NATIONAL_ID' | 'DRIVING_LICENSE' | 'RESIDENCE_PERMIT' | 'UTILITY_BILL' | 'TAX_DOCUMENT' | 'SELFIE' | 'OTHER', required: Document type. Supported associate document types: | Type | Description | When required | | --- | --- | --- | | `PASSPORT` | Passport. | Identity document required | | `NATIONAL_ID` | National identity card. | Alternative to passport | | `DRIVING_LICENSE` | Driver's licence. | Alternative to passport | | `RESIDENCE_PERMIT` | Residence permit. | Alternative to passport | | `UTILITY_BILL` | Proof of residential address, dated within the last three months. | EU: Mandatory; US: Conditional | | `TAX_DOCUMENT` | Government-issued tax document. | Conditional | | `OTHER` | Other supporting document. | Conditional |
    - `subType` string
    - `name` string, required
    - `countryCode` string, required
  - `files` string[], required

## Response `202`

Documents accepted for processing

- V2UploadIdentificationDocumentsResponse: Accepted-batch receipt for an identification-documents upload.
  - `id` string, uuid: Trace handle for the batch; not a persistent lookup key.
  - `associateId` string, uuid
  - `acceptedDocumentCount` integer
  - `createdAt` string, date-time

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `404`: The specified resource was not found

## Changes

- **2026-11-06** `c386d436bf2c`: 1 info
  - added the non-success response with the status `404`
- **2026-06-16** `97d6c0d2fe2e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/bvnk/apis/bvnk-api-endpoints/changes/platform/v2/customers/:customerId/associates/:associateId/identification-documents/post.md)

---

[API](https://skmtc.dev/bvnk/apis/bvnk-api-endpoints.md) - [All operations](https://skmtc.dev/bvnk/apis/bvnk-api-endpoints/llms.txt) - [OpenAPI document](https://skmtc.dev/bvnk/apis/bvnk-api-endpoints/revisions/28a1a9bc94df?raw)
