> ## Documentation Index
> Fetch the complete documentation index at: https://razorpay-60c89f9a-mintlify-audit-missing-sections-1778528421.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload Account Documents

> **POST** `/v2/accounts/:account_id/documents`

Use this endpoint to upload business documents for a sub-merchant's account. Know about the [various error responses](/api/partners/errors) for this API.

The information you can update using the Upload Account Documents API differs based on the [product activation status](/partners/aggregators/onboarding-api#product-activation-status-and-updates-permitted).

### Request

````cURL: Curl theme={null}
curl -X POST https://api.razorpay.com/v2/accounts/acc_Go5TSvGPw0NB8v/documents \
-u  \
-F 'file=@/Users/your_name/Downloads/sample_uploaded.jpeg' // file path
-F 'document_type=business_proof_url' 

```java: Java
RazorpayClient razorpay = new RazorpayClient("[ACCESS_TOKEN]");

String accountId = "acc_M83Uw27KXuC7c8";

JSONObject request = new JSONObject();
request.put("files","/Users/your_name/Downloads/sample_uploaded.jpeg");
request.put("document_type","business_proof_url");

Account account = instance.account.uploadAccountDoc(accountId, request);

```php: PHP
$api = new Api(null, null, "");

$accountId = "acc_M83Uw27KXuC7c8";
$payload = [
   'file'=> '/Users/your_name/Downloads/sample_uploaded.pdf'
   "document_type" => "business_proof_url"
];
$api->account->fetch($accoundId)->uploadAccountDoc($payload);

```javascript: Node.js

const instance = new Razorpay({
  oauthToken: "",
});
const accountId = "acc_GP4lfNA0iIMn5B";

const uploadfile = fs.createReadStream(
  "/Users/your_name/Downloads/sample_uploaded.pdf",
);

var formData = {
  file: {
    value: uploadfile,
    options: {
      filename: "sample_uploaded.pdf",
      contentType: null,
    },
  },
  document_type: "business_proof_url",
};

instance.accounts.uploadAccountDoc(accountId, formData);

```ruby: Ruby
require "razorpay"
Razorpay.setup('ACCESS_TOKEN')
account_id = "acc_0000000000001"

Razorpay::Account.upload_account_doc(account_id,{
  "file": File.new("/Users/your_name/Downloads/sample_uploaded.jpeg"),
  "document_type": "business_proof_url"
})
````

### Response

```json: Success theme={null}
{
  "business_proof_of_identification": [
    {
      "type": "business_proof_url",
      "url": ""
    }
  ]
}
```

### Parameters

`account_id` *mandatory*
: `string` The unique identifier of a sub-merchant account generated by Razorpay. For example, `acc_GP4lfNA0iIMn5B`.

### Parameters

`file` *mandatory*
: `string` The URL generated once the business proof document is uploaded.

`document_type` *mandatory*
: `string` The documents valid for the proof type to be shared. Possible values:

* business\_proof\_of\_identification

  * `shop_establishment_certificate`

  * `gst_certificate`

  * `msme_certificate`

  * `business_proof_url` (In case of HUF deed, Certificate of Incorporation, Partnership Deed, NGO Certificate, Trust Certificate and Society Certificate)

  * `business_pan_url`
* additional\_documents:

  * `form_12_a_url`

  * `form_80g_url`

  * `cancelled_cheque`

### Parameters

`business_proof_of_identification`
: `array` The business proof document. For more details, refer the [Appendix](/partners/aggregators/onboarding-api/appendix).

`type`
: `string` The type of document uploaded. Check the list of [Document Types](/partners/aggregators/onboarding-api/appendix#document-type).

`document_id`
: `string` The id generated once the business proof document is uploaded.
