> ## 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.

# Update an Account

> Update account with Razorpay Partners sub-merchant onboarding 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 update the details of a sub-merchant account.

The information you can update using the Update an Account API differs based on the product activation status.

| Activation Status     | Update Permitted                                                                                                                                                                                                                                                                                                                                                                                                  |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `requested`           | You can update the details for all the fields.                                                                                                                                                                                                                                                                                                                                                                    |
| `needs_clarification` | The fields you can update depend on the `reason_code` mentioned in the `requirements` object in the [Request a Product Activation API](/docs/api/partners/product-configuration/request): <ul><li>**document\_missing** or **field\_missing**: You can update all the fields.</li><li>**needs\_clarification**: You can update only the specific field for which Razorpay is seeking clarification for.</li></ul> |
| `under_review`        | You cannot update any fields.                                                                                                                                                                                                                                                                                                                                                                                     |
| `activated`           | You cannot use this API to update any fields as your account is already active.                                                                                                                                                                                                                                                                                                                                   |

<Warning>
  **Watch Out!**

  Currently, we do not support making concurrent requests to the following Onboarding APIs including their combination on the same `account_id`:

  * Update Account API
  * [Update Stakeholder API](/docs/api/partners/stakeholder/update)
  * [Update Product Configuration API](/docs/api/partners/product-configuration/update-settlement-account-details)

  Please wait for the response of these APIs before making subsequent requests.
</Warning>

Know about the [various error responses](/docs/api/partners/errors) for this API.

<RequestExample>
  ```bash Curl theme={null}
  curl -X PATCH https://api.razorpay.com/v2/accounts/acc_GP4lfNA0iIMn5B \
  -u <ACCESS_TOKEN> \
  -H "Content-Type: application/json" \
  -d '{
  	"customer_facing_business_name": "ABCD Ltd"
  }'
  ```

  ```java Java theme={null}
  RazorpayClient razorpay = new RazorpayClient("[ACCESS_TOKEN]");

  String accountId = "acc_GP4lfNA0iIMn5B";

  JSONObject accountRequest = new JSONObject();
  accountRequest.put("customer_facing_business_name","ABCD Ltd");

  Account account = instance.account.edit(accountId,accountRequest);
  ```

  ```php PHP theme={null}
  $api = new Api(null, null, "<ACCESS_TOKEN>");

  $accountId = "acc_GP4lfNA0iIMn5B";
  $api->account->edit($accountId,array(
     "customer_facing_business_name" => "ABCD Ltd"
  ));
  ```

  ```javascript Node.js theme={null}
  const instance = new Razorpay({
    oauthToken: "<ACCESS_TOKEN>"
  );

  const accountId = "acc_GP4lfNA0iIMn5B";

  instance.accounts.edit(accountId,{
  	"customer_facing_business_name": "ABCD Ltd"
  });
  ```

  ```ruby Ruby theme={null}
  require "razorpay"
  Razorpay.setup('ACCESS_TOKEN')
  accountId = "acc_GP4lfNA0iIMn5B";

  Razorpay::Account.edit(accountId,{
  	"customer_facing_business_name": "ABCD Ltd"
  })
  ```

  ```csharp .NET theme={null}
  RazorpayClient client = new RazorpayClient("[ACCESS_TOKEN]");

  string accountId = "acc_ua2tBezhcEBvap";

  Dictionary<string, object> accountRequest = new Dictionary<string, object>();
  accountRequest.Add("customer_facing_business_name", "Example");

  Account account = client.Account.Fetch(accountId).Edit(accountRequest);
  ```
</RequestExample>

<ResponseExample>
  ```json Success theme={null}
  {
    "id": "acc_GP4lfNA0iIMn5B",
    "type": "standard",
    "status": "created",
    "email": "gauri@example.org",
    "profile": {
      "category": "healthcare",
      "subcategory": "clinic",
      "addresses": {
        "registered": {
          "street1": "507, Koramangala 1st block",
          "street2": "MG Road-1",
          "city": "Bengalore",
          "state": "KARNATAKA",
          "postal_code": "560034",
          "country": "IN"
        }
      }
    },
    "notes": [],
    "created_at": 1610603081,
    "phone": "9000090000",
    "reference_id": "randomId",
    "business_type": "partnership",
    "legal_business_name": "Acme Corp",
    "customer_facing_business_name": "ABCD Ltd"
  }
  ```
</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>

## Response Parameters

<ResponseField name="id" type="string">
  The unique identifier of a sub-merchant account generated by Razorpay. The maximum length is 18 characters. For example, `acc_GLGeLkU2JUeyDZ`.
</ResponseField>

<ResponseField name="type" type="string">
  The account type. Possible value is `standard`.
</ResponseField>

<ResponseField name="status" type="string">
  The status of the account. Possible values:

  * `created`: Account status when the merchant account is created.
  * `activated`: Account status when the merchant KYC is approved.
  * `needs_clarification`: Account status when the merchant is asked to provide clarifications related to the KYC details submitted.
  * `under_review`: Account status when the merchant submits all the KYC requirements.
  * `suspended`: Account status when the merchant account is identified as potentially fraudulent and is suspended.
  * `rejected`: Account status when the KYC details submitted by the merchant are rejected during manual review.
</ResponseField>

<ResponseField name="email" type="string">
  The sub-merchant's business email address.
</ResponseField>

<ResponseField name="phone" type="integer">
  The sub-merchant's business phone number. The minimum length is 8 characters and the maximum length is 15.
</ResponseField>

<ResponseField name="legal_business_name" type="string">
  The name of the sub-merchant's business. For example, `Acme Corp`. The minimum length is 4 characters and the maximum length is 200.
</ResponseField>

<ResponseField name="customer_facing_business_name" type="string">
  The sub-merchant billing label as it appears on the Dashboard. The minimum length is 1 character and the maximum length is 255. This parameter might be required to complete the KYC process. However, it is optional for this API.
</ResponseField>

<ResponseField name="business_type" type="string">
  The type of business operated by the sub-merchant. Possible values: [Business Types](/docs/partners/aggregators/onboarding-api/appendix).
</ResponseField>

<ResponseField name="reference_id" type="string">
  Partner's external account reference id. The minimum length is 1 character and the maximum length is 512.
</ResponseField>

<ResponseField name="profile" type="object">
  The business details of the sub-merchant's account.
</ResponseField>

<ResponseField name="category" type="string">
  The business category of the sub-merchant. Possible values: [Business Category](/docs/partners/aggregators/onboarding-api/appendix#business-category)
</ResponseField>

<ResponseField name="subcategory" type="string">
  The business sub-category of the sub-merchant. Possible values: [Business Sub-Category](/docs/partners/aggregators/onboarding-api/appendix#business-sub-category)
</ResponseField>

<ResponseField name="description" type="string">
  This parameter has been deprecated. Pass the description using the `business_model` parameter.
</ResponseField>

<ResponseField name="business_model" type="string">
  The business description. The minimum length is 1 character and the maximum length is 255.
</ResponseField>

<ResponseField name="addresses" type="object">
  Details of sub-merchant's address.<br />
</ResponseField>

<ResponseField name="operation" type="object">
  Details of the sub-merchant's operational address. This parameter might be required to complete the KYC process. However, it is optional for this API.
</ResponseField>

<ResponseField name="street1" type="string">
  Address, line 1. The maximum length is 100 characters.
</ResponseField>

<ResponseField name="street2" type="string">
  Address, line 2. The maximum length is 100 characters.
</ResponseField>

<ResponseField name="city" type="string">
  The city. The maximum length is 100 characters.
</ResponseField>

<ResponseField name="state" type="string">
  The state. The minimum length is 2 and the maximum length is 100.
</ResponseField>

<ResponseField name="postal_code" type="integer">
  The postal code. This should be exactly 6 characters.
</ResponseField>

<ResponseField name="country" type="string">
  The country. The minimum length is 2 and the maximum length is 64. This can either be a country code in capital letters or the full name of the country in lower case letters. For example, for India, you must write either `IN` or `india`. [List of supported Countries](/docs/partners/aggregators/onboarding-api/appendix#country-list).
</ResponseField>

<ResponseField name="registered" type="object">
  Details of the sub-merchant's registered address.
</ResponseField>

<ResponseField name="street1" type="string">
  Address, line 1. The maximum length is 100 characters.
</ResponseField>

<ResponseField name="street2" type="string">
  Address, line 2. The maximum length is 100 characters.
</ResponseField>

<ResponseField name="city" type="string">
  The city. The maximum length is 100 characters.
</ResponseField>

<ResponseField name="state" type="string">
  The state. The minimum length is 2 and the maximum length is 100.
</ResponseField>

<ResponseField name="postal_code" type="integer">
  The postal code. This should be exactly 6 characters.
</ResponseField>

<ResponseField name="country" type="string">
  The country. The minimum length is 2 and the maximum length is 64. This can either be a country code in capital letters or the full name of the country in lower case letters. For example, for India, you must write either `IN` or `india`. [List of supported Countries](/docs/partners/aggregators/onboarding-api/appendix#country-list).
</ResponseField>

<ResponseField name="legal_info" type="object">
  The legal details about the sub-merchant's business.
</ResponseField>

<ResponseField name="pan" type="string">
  Valid PAN number details of the sub-merchant's business.

  * This is a 10-digit alphanumeric code. For example, `AVOJB1111K`.
  * The 4th digit should be either of 'C', 'H', 'F', 'A', 'T', 'B', 'J', 'G', 'L'.
  * The regex for Company PAN is `/^[a-zA-z]{5}\d{4}[a-zA-Z]{1}$/`.<br /> This parameter might be required to complete the KYC process. However, it is optional for this API.
</ResponseField>

<ResponseField name="gst" type="string">
  Valid GSTIN number details of the sub-merchant.

  * This is a 15-digit PAN-based unique identification number.
  * The Regex for GSTIN is `/^[0123][0-9][a-z]{5}[0-9]{4}[a-z][0-9][a-z0-9][a-z0-9]$/gi`.
</ResponseField>

<ResponseField name="cin" type="string">
  CIN is for Private Limited and Public Limited, whereas LLPIN is for LLP business type.

  * This is a 21-digit alpha-numeric number.
  * The Regex for CIN is `/^([a-z]{3}-\d{4}|[ul]\d{5}[a-z]{2}\d{4}[a-z]{3}\d{6})$/i`.
</ResponseField>

<ResponseField name="brand" type="object">
  The branding details of the sub-merchant's business.
</ResponseField>

<ResponseField name="color" type="string">
  The color code of sub-merchant's business brand. This is a 6-character hex code (Regex: \[a-fA-F0-9]\{6}).
</ResponseField>

<ResponseField name="notes" type="object">
  Contains user-defined fields stored by the partner for reference purposes.
</ResponseField>

<ResponseField name="contact_name" type="string">
  The name of the contact. The minimum length is 4 and the maximum length is 255 characters.
</ResponseField>

<ResponseField name="contact_info" type="object">
  Options available for contact support.
</ResponseField>

<ResponseField name="chargeback" type="object">
  The type of contact support.
</ResponseField>

<ResponseField name="email" type="string">
  The email id of chargeback POC. The maximum length is:

  * local part (before @): 64 characters.
  * domain part (after @): 68 characters. <br /> The total character length supported is 132.
</ResponseField>

<ResponseField name="phone" type="integer">
  The phone number of chargeback POC. The maximum length is 10 characters.
</ResponseField>

<ResponseField name="policy_url" type="string">
  The URL of chargeback policy. Regex is (protocol://`razorpay.com`:port/resource path?querystring#fragementid)<br /> protocol-both http/https allowed. Only domain name is mandatory.
</ResponseField>

<ResponseField name="refund" type="object">
  The type of contact support.
</ResponseField>

<ResponseField name="email" type="string">
  The email id of refund POC. The maximum length is:

  * local part (before @): 64 characters.
  * domain part (after @): 68 characters. <br /> The total character length supported is 132.
</ResponseField>

<ResponseField name="phone" type="integer">
  The phone number of refund POC. The maximum length is 10 characters.
</ResponseField>

<ResponseField name="policy_url" type="string">
  The URL of refund policy. Regex is (protocol://`razorpay.com`:port/resource path?querystring#fragementid) <br /> protocol-both http/https allowed.
</ResponseField>

<ResponseField name="support" type="array">
  The type of contact support.
</ResponseField>

<ResponseField name="email" type="string">
  The email id of support POC. The maximum length is:

  * local part (before @): 64 characters.
  * domain part (after @): 68 characters. <br /> The total character length supported is 132.
</ResponseField>

<ResponseField name="phone" type="integer">
  The phone number of support POC. The maximum length is 10 characters.
</ResponseField>

<ResponseField name="policy_url" type="string">
  The URL of support policy. Regex is (protocol://`razorpay.com`:port/resource path?querystring#fragementid) <br /> protocol-both http/https allowed.
</ResponseField>

<ResponseField name="apps" type="object">
  The app details of the sub-merchant's business
</ResponseField>

<ResponseField name="websites" type="array">
  The website/app for the sub-merchant's business. A minimum of 1 website is required.
</ResponseField>

<ResponseField name="android" type="array">
  Android app details
</ResponseField>

<ResponseField name="url" type="string">
  The link of the Android app. Regex is (protocol://`razorpay.com`:port/resource path?querystring#fragementid) <br /> protocol-both http/https allowed.
</ResponseField>

<ResponseField name="name" type="string">
  The name of the Android app.
</ResponseField>

<ResponseField name="ios" type="array">
  iOS app details
</ResponseField>

<ResponseField name="url" type="string">
  The link of the iOS app. Regex is (protocol://`razorpay.com`:port/resource path?querystring#fragementid) <br /> protocol-both http/https allowed.
</ResponseField>

<ResponseField name="name" type="string">
  The name of the iOS app.
</ResponseField>

<ResponseField name="activated_at" type="integer">
  Unix timestamp that indicates when the merchant account was activated. This parameter has `null` value till the account is activated.
</ResponseField>

<ResponseField name="live" type="boolean">
  Indicates the payments acceptance status of the merchant account. Possible values:

  * `true`:  Merchant can start accepting customer payments.
  * `false`: Merchant cannot accept customer payments.
</ResponseField>

<ResponseField name="hold_funds" type="boolean">
  Indicates the settlements status of the merchant account. Possible values:

  * `true`:  Settlement are on hold. Funds are not transferred to the merchant account.
  * `false`: Settlements can be transferred to the merchant account.
</ResponseField>
