> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lumx.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload a document

> This endpoint uploads a document for a customer's verification.



## OpenAPI

````yaml /openapi/api-production.yaml post /customers/{id}/documents
openapi: 3.1.0
info:
  version: 1.0.0
  title: Lumx API
  description: >-
    A cross-border banking API with instant settlements and unmatched liquidity,
    powered by stablecoins.
servers:
  - url: https://api.lumx.io
  - url: https://api-sandbox.lumx.io
security: []
paths:
  /customers/{id}/documents:
    post:
      tags:
        - Customers
      summary: Upload a document
      description: This endpoint uploads a document for a customer's verification.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Customer's unique identifier.
        - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CustomerDocumentUploadRequest'
      responses:
        '204':
          description: Document successfully uploaded.
      security:
        - apiKey: []
components:
  parameters:
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: false
      schema:
        type: string
        format: uuid
      description: >-
        Optional UUID v4 idempotency key. If you resend the same key with a
        different request body, the API returns a 409 error. Cached responses
        include the header `X-Idempotency-Cached: true`. Keys expire after 24
        hours.
  schemas:
    CustomerDocumentUploadRequest:
      type: object
      properties:
        file:
          type: string
          format: binary
          description: >-
            Document file to be uploaded. Maximum size is 50MB. Accepts images
            (JPG, PNG) and PDF.
        type:
          type: string
          description: Document type.
          enum:
            - ID_CARD
            - PASSPORT
            - DRIVERS_LICENSE
            - BANK_STATEMENT
            - INCOME_TAX_RETURN
            - DELIVERY_RECEIPT
            - SELFIE
            - INCORPORATION_ARTICLES
            - SHAREHOLDER_REGISTRY
            - DIRECTORS_REGISTRY
            - POWER_OF_ATTORNEY
            - REGULATED_ACTIVITY_DOCUMENT
            - SIGNED_BALANCE_SHEET
            - SIGNED_CORPORATE_STRUCTURE_CHART
            - SIGNED_INCOME_STATEMENT
            - PROOF_OF_ADDRESS
            - OTHER
          example: ID_CARD
        side:
          type: string
          description: >-
            Document side. Required only for ID_CARD, PASSPORT, and
            DRIVERS_LICENSE.
          enum:
            - FRONT_SIDE
            - BACK_SIDE
          example: FRONT_SIDE
        country:
          type: string
          description: Document country using ISO 3166-1 alpha-3 code.
          example: BRA
        associatedPartyId:
          type: string
          format: uuid
          description: >-
            Associated party's unique identifier. Required when uploading
            documents for associated parties.
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
      required:
        - file
        - type
        - country
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: Bearer authentication header on the format `Bearer <API_KEY>`.

````