---
title: "Upload File"
method: POST
path: "/organization-document"
tags: ["Document Upload"]
---

# Upload File

`POST /organization-document`

## Request

- Base URL: `https://api.finmo.net/v1`
- URL: `https://api.finmo.net/v1/organization-document`
- Auth: HTTP basic

You can now use this generic endpoint to upload documents to the Finmo ecosystem for a variety of workflows. Upon successful upload, the API returns a unique document ID along with other relevant metadata. This document ID can be referenced in subsequent API calls across different modules.

File upload via API now follows a two-step process. Below is Process Overview:

**1. Requesting Upload URL:**
This step generates an **Upload URL** for file submission. The request should specify a **doc_type** and a **file_type**. You must store the **org_document_id** parameter from the response in your system for future reference.

**2. Uploading File to the Upload URL:**
Use the **upload_url** from the previous step to upload the file via a PUT request.
Example: **PUT /upload_url** uploads the file to the system.

Set the header based on the type of file you are sending:
```--header 'Content-Type: <file_type>'```

**Note:** 
1. Store **org_document_id** from the response for further use to submit the document & to fetch the document which depends in is_downloadable flag
2. **URL validity**: upload_url, download_url is valid for 30 seconds. If it expires, you must request a new link.


There are several valid doc_type values, each with file format and size requirements.

| Use Case                                    | Doc Type          | Description                                                                           | File Type                                         | Max Size | Is Downloadable |
| ------------------------------------------- | ----------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------- | -------- | --------------- |
| [Customer Creation](/reference/newcustomer-1) | CUSTOMER DOCUMENT | Documents required to create Customer, such as identity proof or address verification | image/png, image/jpeg, image/jpg, application/pdf | 5MB      | True            |

## Request body

- object
  - `doc_type` 'CUSTOMER_DOCUMENT', required
  - `file_name` string
  - `file_type` 'image/png' | 'image/jpeg' | 'application/pdf' | 'image/jpg', required
  - `descriptor` string
  - `metadata` object

## Response `201`

Created

- object
  - `data` object
    - `org_document_id` string
    - `upload_url` string
    - `upload_url_expire_at` string
    - `org_id` string
    - `doc_type` string
    - `file_name` string
    - `file_type` string
    - `descriptor` string
    - `metadata` object
    - `is_downloadable` boolean
    - `download_url` string
    - `download_url_expire_at` string
    - `created_at` string
    - `updated_at` string
    - `is_deleted` boolean
    - `deleted_at` string
  - `request_id` string
  - `request_time` string, date-time
  - `status_code` integer
  - `status_text` string
  - `success` boolean

## Changes

- **2026-11-03** `39e5e5ab5c3a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/finmo/apis/finmo-api/changes/organization-document/post.md)

---

[API](https://skmtc.dev/finmo/apis/finmo-api.md) - [All operations](https://skmtc.dev/finmo/apis/finmo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/finmo/apis/finmo-api/revisions/39e5e5ab5c3a?raw)
