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

# Fetch a Product Configuration

> Fetch a product configuration using the Razorpay API.

<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 fetch a product configuration.

<RequestExample>
  ```bash Curl theme={null}
  curl -X GET 'https://api.razorpay.com/v2/accounts/acc_HQVlm3bnPmccC0/products/acc_prd_HEgNpywUFctQ9e/' \
       -u [YOUR_KEY_ID]:[YOUR_SECRET] \
  ```

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

  String accountId = "acc_HQVlm3bnPmccC0";

  String productId = "acc_prd_HEgNpywUFctQ9e";

  Account product = instance.product.fetch(accountId, productId);
  ```

  ```python Python theme={null}
  import razorpay
  client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET"))

  accountId = "acc_HQVlm3bnPmccC0"

  productId = "acc_prd_HEgNpywUFctQ9e"

  client.product.fetch(accountId, productId)
  ```

  ```php PHP theme={null}
  $api = new Api($key_id, $secret);

  $accountId = "acc_HQVlm3bnPmccC0";

  $productId = "acc_prd_HEgNpywUFctQ9e";

  $api->account->fetch($accountId)->products()->fetch($productId);
  ```

  ```csharp .NET theme={null}
  RazorpayClient client = new RazorpayClient(your_key_id, your_secret);

  string accountId = "acc_HQVlm3bnPmccC0";

  string productId = "acc_prd_HEgNpywUFctQ9e";

  Product product = client.Product.Fetch(accountId, productId)
  ```

  ```ruby Ruby theme={null}
  require "razorpay"
  Razorpay.setup('YOUR_KEY_ID', 'YOUR_SECRET')

  accountId = "acc_HQVlm3bnPmccC0"

  productId = "acc_prd_HEgNpywUFctQ9e"

  Razorpay::Product.fetch(accountId, productId)
  ```

  ```javascript Node.js theme={null}
  var instance = new Razorpay({ key_id: 'YOUR_KEY_ID', key_secret: 'YOUR_SECRET' })

  var accountId = "acc_HQVlm3bnPmccC0";

  var productId = "acc_prd_HEgNpywUFctQ9e";

  instance.products.fetch(accountId, productId);
  ```

  ```go Go theme={null}
  import ( razorpay "github.com/razorpay/razorpay-go" )
  client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET")

  accountId := "acc_HQVlm3bnPmccC0"

  productId := "acc_prd_HEgNpywUFctQ9e"

  body, err := client.Product.Fetch(accountId, productId, nil, nil)
  ```

  ```bash CLI theme={null}
  razorpay route accounts product-fetch acc_IEIkSOM5VJb2Lm pro_IEIkSOM5VJb2Lm
  ```
</RequestExample>

<ResponseExample>
  ```json Success theme={null}
  {
     "requested_configuration":[

     ],
     "active_configuration":{
        "settlements":{
           "account_number":null,
           "ifsc_code":null,
           "beneficiary_name":null
        }
     },
     "requirements":[
        {
           "field_reference":"settlements.beneficiary_name",
           "resolution_url":"/accounts/acc_HQVlm3bnPmccC0/products/acc_prd_HEgNpywUFctQ9e",
           "reason_code":"field_missing",
           "status":"required"
        },
        {
           "field_reference":"settlements.account_number",
           "resolution_url":"/accounts/acc_HQVlm3bnPmccC0/products/acc_prd_HEgNpywUFctQ9e",
           "reason_code":"field_missing",
           "status":"required"
        },
        {
           "field_reference":"settlements.ifsc_code",
           "resolution_url":"/accounts/acc_HQVlm3bnPmccC0/products/acc_prd_HEgNpywUFctQ9e",
           "reason_code":"field_missing",
           "status":"required"
        }
     ],
     "tnc":{
        "id":"tnc_K1eopApuHyBE7D",
        "accepted":true,
        "accepted_at":1659638222
     },
     "id":"acc_prd_HEgNpywUFctQ9e",
     "product_name":"route",
     "activation_status":"needs_clarification",
     "account_id":"acc_HQVlm3bnPmccC0",
     "requested_at":1659638222
  }
  ```

  ```json Failure theme={null}
  {
     "error":{
        "code":"BAD_REQUEST_ERROR",
        "description":"The provided product config id doesn't exist for the merchant",
        "source":"NA",
        "step":"NA",
        "reason":"NA",
        "metadata":{

        }
     }
  }
  ```
</ResponseExample>

## Path Parameters

<ParamField path="account_id" type="string" required>
  The unique identifier of an account generated by Razorpay. For example, `acc_HQVlm3bnPmccC0`.
</ParamField>

<ParamField path="product_id" type="string" required>
  The unique identifier of a product generated by Razorpay. For example, `acc_prd_HEgNpywUFctQ9e`.
</ParamField>

## Response Parameters

<ResponseField name="requested_configuration" type="object">
  The configuration of the product requested by the user that is yet to be set as active.
</ResponseField>

<ResponseField name="active_configuration" type="object">
  The configuration of the product that has been set as active.
</ResponseField>

<ResponseField name="settlements" type="object">
  The Settlement settings object.
</ResponseField>

<ResponseField name="account_number" type="string">
  The bank account number to which settlements are made. Account details can be found on the Dashboard. For example, 7878780080316316
</ResponseField>

<ResponseField name="ifsc_code" type="string">
  The IFSC associated with the bank account. For example, `RATN0VAAPIS`.
</ResponseField>

<ResponseField name="beneficiary_name" type="string">
  The name of the beneficiary associated with the bank account. This API parameter is needed to complete the KYC process. However, it is optional for this API.
</ResponseField>

<ResponseField name="requirements" type="object">
  The list of requirements to be enabled for this product or some of the configurations under this product.
</ResponseField>

## Errors

<AccordionGroup>
  <Accordion title="The provided product config id doesn't exist for the merchant.">
    **Code:** `400`

    This error occurs when the provided product configuration does not belong to the Linked Account.

    **Solution:** Ensure you provide the correct `product_id` associated with the Linked Account.
  </Accordion>
</AccordionGroup>
