---
title: "Query product rate plans"
method: POST
path: "/commerce/plans/list"
tags: ["Commerce"]
---

# Query product rate plans

`POST /commerce/plans/list`

Queries product rate plans (PRPs) from the Product Catalog using filters such as plan ID, name, or product ID.  
You can optionally expand related Product Rate Plan Charges (PRPCs) in the response.

## Headers

- `Accept-Encoding` string
- `Content-Encoding` string
- `Zuora-Track-Id` string
- `Zuora-Entity-Ids` string
- `Zuora-Org-Ids` string

## Request body

- ListPlansRequest — Request body for retrieving Product Rate Plans from the Product Catalog.
  - `filters` object[], required — Filter conditions for querying product rate plans. Each filter defines a field, operator, and value.
    - `field` string, required — Field name to filter by, such as `prp_id`, `product_id`, or `prp_name`.
    - `operator` 'EQ' | 'NE' | 'IN' | 'LIKE' | 'GT' | 'GTE' | 'LT' | 'LTE' | 'SW' | 'EW', required — Comparison operator for the filter condition. Supported values: - `EQ` (equals) - `NE` (not equals) - `IN` (in a list of values) - `LIKE` (partial match) - `GT` (greater than) - `GTE` (greater than or equal) - `LT` (less than) - `LTE` (less than or equal) - `SW` (starts with) - `EW` (ends with)
    - `value` string, required — Value to match for the specified field.
  - `expand` object — Expand related entities in the response.
    - `product_rate_plan_charges` boolean — Whether to include associated Product Rate Plan Charges (PRPCs).

## Response `200`

OK

- ListPlansResponse — Response body containing a list of Product Rate Plans.
  - `values` object[] — List of Product Rate Plans returned by the query.
    - `id` string — Unique identifier of the Product Rate Plan.
    - `name` string — Product Rate Plan name.
    - `description` string — Product Rate Plan description.
    - `productId` string — Identifier of the product this plan belongs to.
    - `startDate` string, date — Effective start date of the plan (UTC, YYYY-MM-DD).
    - `endDate` string, date — Effective end date of the plan (UTC, YYYY-MM-DD).
    - `state` string — Current plan state.
    - `status` string — Status of the plan.
    - `activeCurrencies` string[] — Currencies supported by this plan.
    - `accounting` AccountingResponse — Accounting fields returned by the API. `*Type` fields are derived from the tenant's chart of accounts and are read-only.
      - `accountingCode` string — An accounting code associated with the charge for reporting or ERP mapping. Typically a short code or identifier, not the GL account name.
      - `accountsReceivableAccount` string — Accounts Receivable (AR) account to book invoices for this charge. Must match an existing account in the tenant's chart of accounts.
      - `accountsReceivableAccountType` string — System-derived type/category of the AR account from the chart of accounts. Examples include "AccountsReceivable".
      - `adjustmentLiabilityAccount` string — The name of the account where the Account Type is "Adjustment Liability".
      - `adjustmentLiabilityAccountType` string — System-derived type/category of the Adjustment Liability account from the chart of accounts. Examples include "AdjustmentLiability".
      - `adjustmentRevenueAccount` string — The name of the account where the Account Type is "Adjustment Revenue".
      - `adjustmentRevenueAccountType` string — System-derived type/category of the Adjustment Revenue account from the chart of accounts. Examples include "AdjustmentRevenue".
      - `contractAssetAccount` string — The name of the account where the Account Type is "Contract Asset".
      - `contractAssetAccountType` string — System-derived type/category of the Contract Asset account from the chart of accounts.
      - `contractLiabilityAccount` string — The name of the account where the Account Type is "Contract Liability".
      - `contractLiabilityAccountType` string — System-derived type/category of the Contract Liability account from the chart of accounts. Examples include "ContractLiability".
      - `contractRecognizedRevenueAccount` string — Recognized revenue account used specifically for contract-based recognition flows. Must match an existing account in the tenant's chart of accounts.
      - `contractRecognizedRevenueAccountType` string — System-derived type/category of the Contract Recognized Revenue account from the chart of accounts.
      - `deferredRevenueAccount` string — Deferred revenue (liability) account to book revenue before recognition. Must match an existing account in the tenant's chart of accounts.
      - `deferredRevenueAccountType` string — System-derived type/category of the Deferred Revenue account from the chart of accounts.
      - `recognizedRevenueAccount` string — The name of the account where the Account Type is "Recognized Revenue".
      - `recognizedRevenueAccountType` string — System-derived type/category of the Recognized Revenue account from the chart of accounts.
      - `unbilledReceivablesAccount` string — The name of the account where the Account Type is "Unbilled Receivables".
      - `unbilledReceivablesAccountType` string — System-derived type/category of the Unbilled Receivables account from the chart of accounts.
      - `productRatePlanChargeId` string — The ID of your product rate plan charge.
    - `productRatePlanNumber` string — Product Rate Plan number.
    - `productRatePlanCharges` object[] — List of Product Rate Plan Charges (PRPCs) belonging to the plan.
      - `id` string — Unique identifier of the Product Rate Plan Charge.
      - `name` string — Charge name.
      - `chargeType` string — Charge type (recurring, one_time, or usage).
      - `chargeModel` string — Charge model (flat_fee, per_unit, tiered, etc.).
      - `listPriceBase` string — Indicates how list price is interpreted.
      - `specificListPriceBase` number — Optional override for list price base when billing uses a specific period configuration.
      - `triggerEvent` string — Event that triggers the charge.
      - `unitOfMeasure` string — Unit of measure used for pricing (for example, Each).
      - `defaultQuantity` number — Default quantity applied for the charge.
      - `endDateCondition` string — Condition that determines when the charge ends.
      - `upToPeriodsType` string — Unit applied when charge ends after a fixed duration.
      - `upToPeriods` number — Number of periods defining fixed charge duration.
      - `billCycle` object — Billing cycle configuration.
      - `pricing` object — Pricing configuration for the charge.
      - `pricingSummary` string[] — Human-readable pricing summary lines.
      - `taxMode` string — Tax mode for this charge.
      - `taxable` boolean — Indicates whether the charge is taxable.
      - `createdById` string — ID of the user who created the charge.
      - `createdTime` string, date-time — Timestamp when the charge was created.
      - `updatedById` string — ID of the user who last updated the charge.
      - `updatedTime` string, date-time — Timestamp when the charge was last updated.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `500` — Internal Server Error

---

[API](https://skmtc.dev/zuora/apis/api-reference.md) · [All operations](https://skmtc.dev/zuora/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zuora/api-reference/revisions/d11e237f3e54/schema)
