> ## Documentation Index
> Fetch the complete documentation index at: https://razorpay-881012b3.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload Account Documents

> Upload signatory documents for an Account using Razorpay APIs.

<div style={{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"0.35rem 0.9rem",border:"1px solid rgba(128,128,128,0.28)",borderRadius:"0.5rem",padding:"0.45rem 0.75rem",margin:"0 0 1.25rem",fontSize:"0.875rem"}}>
  <span style={{fontWeight:600}}>Available in</span>
  <span>🇮🇳 India</span>
  <span>🇸🇬 Singapore</span>
  <span>🇺🇸 United States</span>
</div>

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

<br />

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

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

  ```java Java theme={null}
  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 theme={null}
  $api = new Api(null, null, "<ACCESS_TOKEN>");

  $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 theme={null}
  const instance = new Razorpay({
    oauthToken: "<ACCESS_TOKEN>",
  });
  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 theme={null}
  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"
  })
  ```
</RequestExample>

<ResponseExample>
  ```json Success theme={null}
  {
    "business_proof_of_identification": [
      {
        "type": "business_proof_url",
        "url": "<https://rzp.io/i/bzDKbNg>"
      }
    ]
  }
  ```
</ResponseExample>

## Path Parameters

<ParamField path="account_id" type="string" required>
  The unique identifier of a sub-merchant account generated by Razorpay. For example, `acc_GP4lfNA0iIMn5B`.
</ParamField>

## Request Parameters

<ParamField body="file" type="string" required>
  The URL generated once the business proof document is uploaded.
</ParamField>

<ParamField body="document_type" type="string" required>
  The documents valid for the proof type to be shared. Possible values:<br />

  * business\_proof\_of\_identification<br />
    * `shop_establishment_certificate`<br />
    * `gst_certificate`<br />
    * `msme_certificate`<br />
    * `business_proof_url` (In case of HUF deed, Certificate of Incorporation, Partnership Deed, NGO Certificate, Trust Certificate and Society Certificate)<br />
    * `business_pan_url`
  * additional\_documents:<br />
    * `form_12_a_url`<br />
    * `form_80g_url`<br />
    * `cancelled_cheque`
</ParamField>

## Response Parameters

<ResponseField name="business_proof_of_identification" type="array">
  The business proof document. For more details, refer the [Appendix](/docs/partners/aggregators/onboarding-api/appendix).
</ResponseField>

<ResponseField name="type" type="string">
  The type of document uploaded. Check the list of [Document Types](/docs/partners/aggregators/onboarding-api/appendix#document-type).
</ResponseField>

<ResponseField name="document_id" type="string">
  The id generated once the business proof document is uploaded.
</ResponseField>
