---
title: "Upload a User Document"
method: POST
path: "/2025-06-09/documents"
tags: ["User Documents"]
---

# Upload a User Document

`POST /2025-06-09/documents`

Upload a document for a user. 

**API scope required**: `users.create`

## Headers

- `X-API-KEY` string, required

## Request body

- CreateUserDocumentDto
  - `reference` object, required — Reference to the user who owns this document
    - `userLocator` string — User identifier in the format 'email:user@example.com' or 'userId:123'
  - `documentType` 'id-passport' | 'id-idcard-back' | 'id-idcard-front' | 'id-residency-permit' | 'proof-of-address' | 'proof-of-income' | 'selfie-front' | 'selfie-left' | 'selfie-right', required — Type of document
  - `data` string, required — Base64 encoded document data
  - `expiresAt` string — Document expiration date in YYYY-MM-DD format

## Response `200`

Document replaced successfully

- UserDocumentResponseDto
  - `id` string, required — Unique identifier for the document
  - `documentType` 'id-passport' | 'id-idcard-back' | 'id-idcard-front' | 'id-residency-permit' | 'proof-of-address' | 'proof-of-income' | 'selfie-front' | 'selfie-left' | 'selfie-right', required — Type of document
  - `createdAt` string, required — ISO 8601 timestamp when the document was created
  - `expiresAt` string — Document expiration date in YYYY-MM-DD format

## Other responses

- `201` — Document created successfully

---

[API](https://skmtc.net/crossmint/apis/onramp.md) · [All operations](https://skmtc.net/crossmint/apis/onramp/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/crossmint/onramp/revisions/e2143d192130/schema)
