---
title: "Get Operator Parameters API Reference"
description: "Fetch the custom input fields required by a specific biller before payment."
canonical: "https://eps.eko.in/docs/bbps-get-operator-parameters"
---


> **Canonical URL:** https://eps.eko.in/docs/bbps-get-operator-parameters
> This is a machine-readable Markdown version of the page for AI agents and LLMs. The primary (HTML) version lives at the canonical URL above.

# Get Operator Parameters API Reference

`GET https://staging.eko.in/ekoapi/v3/customer/payment/bbps/operator/{operator_id}/parameters`

Fetch the custom input fields required by a specific biller before payment.

**Behaviour**

- **Read-only**: Changes nothing; only returns data.

Returns the input fields the chosen operator requires — field names, labels, types and validation regex — so you can render the bill-entry form dynamically.

**`list_elements` is the source of truth for this operator's fields.** The documented parameters on Fetch Bill and Pay Bill are only the common set; every `param_name` returned here must also be sent to **both** calls, with identical values. Call this once per operator and cache the result.

The payload is returned under `param_attributes`, not under `data`.

> View product & pricing details: [Bharat Bill Payment System (BBPS)](https://eps.eko.in/products/bbps-api.md)

## Path parameters

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| operator_id | number | yes | The `operator_id` from the Get Operators response. e.g. 5 |

## Query parameters

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| initiator_id | string | yes | Registered mobile number of the API user (see Platform Credentials). e.g. 9962981729 |
| client_ref_id | string | no | Unique reference ID per API call, generated by your system (10–20 characters; 10 recommended). The SDKs generate one for every non-GET call when you don't. e.g. 2026010100123456789 |

## Headers

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| developer_key | string | yes | Static API key issued to your account after KYC. |
| secret-key | string | yes | Dynamic per-request signature: base64(HMAC-SHA256(timestamp, base64(access_key))). |
| secret-key-timestamp | string | yes | Current time in milliseconds since UNIX epoch, used to compute secret-key. Must match server time. |
| content-type | string | yes | application/json e.g. application/json |

## Response

⭐ marks fields highlighted as verifiable.

| Field | Type | Description |
| --- | --- | --- |
| status | number | Primary success indicator (0 = success). |
| message | string | Human-readable response / error message. |
| response_status_id | number | UI display hint only (-1/0 success, 1 failure, 2 initiated, 3 refund initiated, 4 refunded). Never branch on it — use `status` (and `tx_status` for financial APIs), or `response_type_id` where documented. |
| response_type_id | number | A unique id for every possible response shape (success or error) — useful for client logic branching and analytics. |
| data | object | API-specific response payload. |
| data.param_attributes ⭐ | object | Wrapper for the operator's parameter schema — returned at the top level of the response, not under `data`. |
| data.param_attributes.operator_name ⭐ | string | Display name of the operator. |
| data.param_attributes.operator_id | number | The operator this schema belongs to. |
| data.param_attributes.fetchBill ⭐ | number | Whether live bill fetch is supported (`1` = yes). |
| data.param_attributes.BBPS | number | Whether the biller is on the BBPS network; display Bharat BillPay branding per NPCI guidelines. |
| data.param_attributes.list_elements ⭐ | array | The input fields this operator requires. Send every `param_name` to BOTH Fetch Bill and Pay Bill. |
| data.param_attributes.list_elements.param_name ⭐ | string | Field name to submit at bill-fetch / pay time. |
| data.param_attributes.list_elements.param_label | string | Label to show the agent. |
| data.param_attributes.list_elements.param_id | string | Identifier for this field. |
| data.param_attributes.list_elements.param_type | string | Field type — e.g. `Numeric`, `List`. |
| data.param_attributes.list_elements.regex | string | Client-side validation pattern. |
| data.param_attributes.list_elements.error_message | string | Validation message to show when the regex does not match. |

## Response types

Branch on `response_type_id` to decide the next call:

| response_type_id | Meaning | Next step |
| --- | --- | --- |
| 2463 | Parameter schema returned — collect these fields, then fetch the bill. | [bbps-fetch-bill](https://eps.eko.in/docs/bbps-fetch-bill.md) |

## Example response

`response_type_id` `2463` — Parameter schema returned — collect these fields, then fetch the bill.. Next step: [bbps-fetch-bill](https://eps.eko.in/docs/bbps-fetch-bill.md).

```json
{
  "response_status_id": 0,
  "param_attributes": {
    "operator_name": "BSNL  Prepaid",
    "list_elements": [
      {
        "param_label": "Mobile Number",
        "param_name": "utility_acc_no",
        "param_id": "1",
        "param_type": "Numeric",
        "regex": "^[0-9]{10}$",
        "error_message": "Please enter a valid 10 digit Mobile Number (eg. 0940763946)"
      },
      {
        "param_label": "Recharge Type",
        "param_name": "Recharge Type",
        "param_id": "99",
        "param_type": "List",
        "regex": "1|3",
        "error_message": "Please enter valid Recharge Type"
      }
    ],
    "operator_id": 5,
    "fetchBill": 0,
    "BBPS": 0
  },
  "response_type_id": 2463,
  "message": "BBPS operator parameters fetch success",
  "status": 0
}
```
