---
title: "List cost clusters"
method: GET
path: "/merchant-account/{merchantId}/cost-clusters"
tags: ["Cost & Fees"]
---

# List cost clusters

`GET /merchant-account/{merchantId}/cost-clusters`

## Request

- Base URL: `http://localhost:8080`
- URL: `http://localhost:8080/merchant-account/{merchantId}/cost-clusters`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Top cost clusters for a merchant with their learned rate, any override, and the fit verdict.

## Path parameters

- `merchantId` string, required

## Query parameters

- `limit` integer
- `connector` string
- `account` string
- `report_date` string
- `ingestion_id` string
- `order` string

## Response `200`

Cost clusters

- ClusterFee[]
  - `key` string: Opaque cluster key, used in the override PUT/DELETE path.
  - `connector` string
  - `card_network` string
  - `variant` string
  - `funding` string
  - `issuer_country` string
  - `currency` string
  - `ic_category` string
  - `n` integer: Transaction count. 0 for an override-only cluster no longer in the top set.
  - `gross_sum` number, double
  - `model_pct_bps` number, double, nullable
  - `model_fixed` number, double, nullable
  - `override_pct_bps` number, double, nullable
  - `override_fixed` number, double, nullable
  - `override_updated_at` string, nullable
  - `effective_pct_bps` number, double, nullable: Null when the cluster has no usable rate at all.
  - `effective_fixed` number, double, nullable
  - `source` 'override' | 'model' | 'segmented'
  - `verdict` string: `GOOD`, `THIN`, `NON_LINEAR`, or `""` for an override-only cluster. A non-GOOD rate is shown so it can be corrected - it is not what the router trusts.
  - `card_product` string: Issuer BIN's dominant interchange rate as integer bps (`"115"`), or `""` when the report carried no PAN.
  - `segments` ApiClusterSegment[]: Recovered per-segment rates for a capped/tiered cluster. Empty for an ordinary GOOD cluster.
    - `seg_idx` integer
    - `lo` number, double: Inclusive lower bound of the amount range this piece prices.
    - `hi` number, double: Exclusive upper bound.
    - `pct_bps` number, double, nullable
    - `fixed` number, double, nullable
    - `bps_rmse` number, double, nullable
    - `n` integer
    - `gross_sum` number, double
    - `verdict` 'GOOD' | 'THIN' | 'NON_LINEAR'

## Changes

- **2026-08-04** `36e7a0972ee6`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/juspay/apis/decision-engine/changes/merchant-account/:merchantId/cost-clusters/get.md)

---

[API](https://skmtc.dev/juspay/apis/decision-engine.md) - [All operations](https://skmtc.dev/juspay/apis/decision-engine/llms.txt) - [OpenAPI document](https://skmtc.dev/juspay/apis/decision-engine/revisions/718ef5ac8634?raw)
