---
title: "Submit Document"
method: POST
path: "/submit_document"
tags: ["Documents"]
---

# Submit Document

`POST /submit_document`

Submit a document for either a person or a business. This endpoint returns a presigned upload URL that can be used to upload the document file.

The request must specify either a person document or a business document based on the `type` field. The response will contain a presigned `upload_location` URL that expires after a certain time.

## Headers

- `LMG-Data-Privacy-Access-Principal` string, required
- `LMG-Data-Privacy-Access-Justification` string, required

## Request body

- union
  - PersonDocumentUploadRequest
    - `person` string, required — The identifier of the person for whom the document is being submitted
    - `type` 'person.identification_bundle', required — A category describing a person document: <ul> <li><code>person.identification_bundle</code> - A bundle of identification documents for a person </ul>
  - BusinessDocumentUploadRequestV2
    - `business` string, required — The identifier of the business for which the document is being submitted
    - `type` 'business.articles_of_association' | 'business.commercial_register_extract' | 'business.shareholder_list', required — A category describing a business document: <ul> <li><code>business.articles_of_association</code> - Articles of association for a business <li><code>business.commercial_register_extract</code> - Commercial register extract <li><code>business.shareholder_list</code> - List of shareholders </ul>

## Response `201`

Successful Response

- union
  - PersonDocumentUploadResponse
    - `person` string, required — The identifier of the person for whom the document was submitted
    - `type` 'person.identification_bundle', required — A category describing a person document: <ul> <li><code>person.identification_bundle</code> - A bundle of identification documents for a person </ul>
    - `upload_location` string, required — A presigned URL to upload the person document. Use this URL to upload a document with the HTTP method `PUT` and the content type header set to `application/zip`.
    - `expires_at` string, date-time, required — The expiry date for the upload link. Please only create upload links for immediate uploads.
  - BusinessDocumentUploadResponseV2
    - `business` string, required — The identifier of the business for which the document was submitted
    - `type` 'business.articles_of_association' | 'business.commercial_register_extract' | 'business.shareholder_list', required — A category describing a business document: <ul> <li><code>business.articles_of_association</code> - Articles of association for a business <li><code>business.commercial_register_extract</code> - Commercial register extract <li><code>business.shareholder_list</code> - List of shareholders </ul>
    - `upload_location` string, required — A presigned URL to upload the business document. Use this URL to upload a document with the HTTP method `PUT` and the content type header set to `application/pdf`.
    - `expires_at` string, date-time, required — The expiry date for the upload link. Please only create upload links for immediate uploads.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `422` — Unprocessable Entity
- `5XX` — Server Error

---

[API](https://skmtc.net/lemon/apis/lemon-markets-brokerage-api.md) · [All operations](https://skmtc.net/lemon/apis/lemon-markets-brokerage-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lemon/lemon-markets-brokerage-api/versions/3c8cfd3a96c9/schema)
