---
title: "Initiate Document Upload"
method: POST
path: "/owners/documents/"
tags: ["Account Owners"]
---

# Initiate Document Upload

`POST /owners/documents/`

## Request

- Base URL: `https://app2test.infiniaweb.com/infinia_api/v1/accounts`
- URL: `https://app2test.infiniaweb.com/infinia_api/v1/accounts/owners/documents/`
- Auth: HTTP basic

Generate pre-signed URLs for uploading account owner documents.One of 'individual', 'organization', or 'external' is required depending on 'type' and 'kyc_mode'.

## Headers

- `x-company-id` integer: ID of a child company for authentication. If not provided, the parent company will be authenticated.

## Request body

- AccountOwnerDocumentRequest
  - `document_type` 'NATIONAL_ID' | 'PASSPORT' | 'DRIVERS_LICENSE' | 'SELFIE' | 'CERTIFICATE_OF_INCORPORATION' | 'SOURCE_OF_FUNDS' | 'PROOF_OF_ADDRESS' | 'OWNERSHIP_STRUCTURE' | 'TAX_REGISTRATION' | 'CORPORATE_ORG_CHART' | 'OTHER', required: Type of document for KYC/KYB verification
  - `double_sided` boolean: Whether the document has two sides (e.g., front and back of an ID card)

## Response `200`

Successful Response

- AccountOwnerDocumentSuccessResponse
  - `status` 'success'
  - `data` AccountOwnerDocumentResponse, required
    - `id` string, required: Document ID
    - `upload_front_url` string, required: Pre-signed URL for uploading the front side of the document
    - `upload_back_url` string: Pre-signed URL for uploading the back side of the document (if double_sided is true)
    - `expires_at` string, date-time: Expiration timestamp for the pre-signed URLs

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `422`: Unprocessable Entity
- `500`: Internal Server Error

---

[API](https://skmtc.dev/infiniaweb/apis/accounts.md) - [All operations](https://skmtc.dev/infiniaweb/apis/accounts/llms.txt) - [OpenAPI document](https://skmtc.dev/infiniaweb/apis/accounts/revisions/2faae77050e4?raw)
