---
title: "List verified tariff rows"
method: GET
path: "/tariffs"
tags: ["Catalogue"]
---

# List verified tariff rows

`GET /tariffs`

## Request

- Base URL: `https://powerexpertindia.com/v1`
- URL: `https://powerexpertindia.com/v1/tariffs`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Returns state-specific tariff metadata. Supported public state codes: BR, MH, GJ and TN subject to each state release gate. Maharashtra and Gujarat require explicit canonical licensee/category routing where applicable. Tamil Nadu payable status remains fail-closed where controlling evidence is pending.

## Query parameters

- `state_code` 'BR' | 'MH' | 'GJ' | 'TN'
- `effective_on` string, date
- `subcategory_code` string
- `supply_type` string
- `area_type` string
- `licensee_code` 'MH_MSEDCL' | 'MH_TPCD' | 'MH_AEML' | 'MH_BEST'
- `category_id` string
- `financial_year` string

## Response `200`

Verified tariff rows.

- TariffsEnvelope
  - `status` 'ok', required
  - `api_version` 'PEI Verified Tariff API V1.2.0', required
  - `request_id` string, required
  - `data` TariffRow[], required
    - `state_code` 'BR'
    - `financial_year` string
    - `state_subcategory_code` string, required
    - `raw_category_label` string, required
    - `canonical_category_code_hint` string, nullable
    - `supply_type` string
    - `area_type` string, nullable
    - `slab_type` string
    - `slab_from` integer, nullable
    - `slab_to` integer, nullable
    - `energy_rate_paise` integer, nullable
    - `energy_rate_paise_rupees` string, nullable: Two-decimal rupee representation paired with an integer-paise field.
    - `energy_rate_paise_per_kvah` integer, nullable
    - `energy_rate_paise_per_kvah_rupees` string, nullable: Two-decimal rupee representation paired with an integer-paise field.
    - `fixed_charge_paise` integer, nullable
    - `fixed_charge_paise_rupees` string, nullable: Two-decimal rupee representation paired with an integer-paise field.
    - `fixed_charge_basis` string, nullable
    - `demand_charge_paise_per_kva_month` integer, nullable
    - `demand_charge_paise_per_kva_month_rupees` string, nullable: Two-decimal rupee representation paired with an integer-paise field.
    - `section_number` string, nullable
    - `verification_tier` 'verified_strict', required
    - `source_ref` string, required
  - `meta` object, required
    - `state_code` 'BR', required
    - `count` integer, required
    - `effective_on` string, date, required
    - `filters` object, required
      - `subcategory_code` string, nullable
      - `supply_type` string, nullable
      - `area_type` string, nullable

## Other responses

- `400`: Query parameter is too long.
- `401`: Authentication failed.
- `403`: The key, state, scope, or browser origin is not allowed.
- `404`: The requested state or state-specific contract is not available for this endpoint or serving release.
- `405`: Allowed method: GET.
- `422`: effective_on must use YYYY-MM-DD.
- `429`: The configured per-minute or burst allowance was reached.
- `500`: Unexpected server error.
- `503`: The verified release, key registry, or runtime evidence is unavailable.

---

[API](https://skmtc.dev/powerexpertindia/apis/power-expert-india-verified-tariff-api.md) · [All operations](https://skmtc.dev/powerexpertindia/apis/power-expert-india-verified-tariff-api/llms.txt) · [OpenAPI document](https://skmtc.dev/powerexpertindia/apis/power-expert-india-verified-tariff-api/revisions/9a6f076ae01e?raw)
