---
title: "Upload Document"
method: POST
path: "/v2/document"
---

# Upload Document

`POST /v2/document`

Upload a document for a customer.

## Response `201`

- union
  - object — Response for an ID document uploaded for an individual customer.
    - `id` string, required — The unique identifier of the document
    - `targetId` string, required — The unique identifier of the target entity for which the document is being uploaded
    - `createdAt` string, required — The date and time the document was created
    - `fileName` string, required — The name of the document file
    - `fileSize` number, required — The size of the document in bytes
    - `mimeType` string, required — The MIME type of the document file
    - `description` string, required — The description of the document
    - `target` 'customer', required — The target entity for which the document is being uploaded
    - `documentType` 'drivers' | 'passport' | 'id_card' | 'residence_permit', required — The type of the document
    - `country` string, required — The ISO3166-1 Alpha-3 country code associated with the document (e.g., USA, GBR, FRA)
    - `side` 'front' | 'back', required — The side of the document if it has multiple sides (e.g., front, back). Leave undefined for single-sided documents.
  - object — Response for a non-identity individual-customer document: proof_of_address_document, liveness_report_document, w8_ben_document, or source_of_funds_document.
    - `id` string, required — The unique identifier of the document
    - `targetId` string, required — The unique identifier of the target entity for which the document is being uploaded
    - `createdAt` string, required — The date and time the document was created
    - `fileName` string, required — The name of the document file
    - `fileSize` number, required — The size of the document in bytes
    - `mimeType` string, required — The MIME type of the document file
    - `description` string, required — The description of the document
    - `target` 'customer', required — The target entity for which the document is being uploaded
    - `documentType` 'passport' | 'drivers' | 'id_card' | 'residence_permit' | 'proof_of_address_document' | 'liveness_report_document' | 'w8_ben_document' | 'source_of_funds_document', required — Non-ID document type (liveness report, tax form, or source-of-funds declaration)
    - `country` string, required — Country associated with the document when one was resolved for the upload
    - `side` 'front' | 'back', required — Document side, if applicable
  - object — Response containing an uploaded company document for a business customer.
    - `id` string, required — The unique identifier of the document
    - `targetId` string, required — The unique identifier of the target entity for which the document is being uploaded
    - `createdAt` string, required — The date and time the document was created
    - `fileName` string, required — The name of the document file
    - `fileSize` number, required — The size of the document in bytes
    - `mimeType` string, required — The MIME type of the document file
    - `description` string, required — The description of the document
    - `target` 'customer', required — The target entity for which the document is being uploaded
    - `documentType` 'proof_of_address_document' | 'incorporation_cert_document' | 'incorporation_articles_document' | 'shareholder_registry_document' | 'directors_registry_document' | 'w8_ben_e_document' | 'corporate_resolution_document' | 'bank_statement_document' | 'financial_statements_document' | 'source_of_funds_document' | 'regulated_activity_document' | 'flow_of_funds_document' | 'proof_of_nature_of_business_document', required — The type of the document
  - object — Response for an ID document uploaded for a business representative.
    - `id` string, required — The unique identifier of the document
    - `targetId` string, required — The unique identifier of the target entity for which the document is being uploaded
    - `createdAt` string, required — The date and time the document was created
    - `fileName` string, required — The name of the document file
    - `fileSize` number, required — The size of the document in bytes
    - `mimeType` string, required — The MIME type of the document file
    - `description` string, required — The description of the document
    - `target` 'business_representative', required
    - `documentType` 'drivers' | 'passport' | 'id_card' | 'residence_permit', required — The type of the document
    - `country` string, required — The ISO3166-1 Alpha-3 country code associated with the document (e.g., USA, GBR, FRA)
    - `side` 'front' | 'back', required — The side of the document if it has multiple sides (e.g., front, back). Leave undefined for single-sided documents.
  - object — Response for other documents uploaded for business representatives.
    - `id` string, required — The unique identifier of the document
    - `targetId` string, required — The unique identifier of the target entity for which the document is being uploaded
    - `createdAt` string, required — The date and time the document was created
    - `fileName` string, required — The name of the document file
    - `fileSize` number, required — The size of the document in bytes
    - `mimeType` string, required — The MIME type of the document file
    - `description` string, required — The description of the document
    - `target` 'business_representative', required — The target entity for which the document is being uploaded
    - `documentType` 'passport' | 'drivers' | 'id_card' | 'residence_permit' | 'proof_of_address_document' | 'liveness_report_document' | 'w9_document' | 'w8_ben_document' | 'source_of_funds_document', required — The type of the document
  - object — Response for a supporting document uploaded for a transfer.
    - `target` 'transfer', required — The target entity for which the document was uploaded
    - `id` string, required — The unique identifier of the uploaded document
    - `originalFilename` string, required — The original filename of the uploaded document
    - `mimeType` string, required — The MIME type of the document file
    - `fileSize` number, required — The size of the document in bytes
    - `uploadedAt` union, required — The date and time the document was uploaded
      - string
      - unknown

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `422` — Unprocessable Entity - Validation Error

---

[API](https://skmtc.net/spherepay/apis/docs-spherepay-co.md) · [All operations](https://skmtc.net/spherepay/apis/docs-spherepay-co/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spherepay/docs-spherepay-co/versions/4f3f5484aed3/schema)
