---
title: "List all price levels"
method: GET
path: "/quickbooks-desktop/price-levels"
---

# List all price levels

`GET /quickbooks-desktop/price-levels`

Returns a list of price levels.

**NOTE:** QuickBooks Desktop does not support pagination for price levels; hence, there is no `cursor` parameter. Users typically have few price levels.

## Query parameters

- `ids` string[] — Filter for specific price levels by their QuickBooks-assigned unique identifier(s). **IMPORTANT**: If you include this parameter, QuickBooks will ignore all other query parameters for this request. **NOTE**: If any of the values you specify in this parameter are not found, the request will return an error.
- `names` string[] — Filter for specific price levels by their name(s), case-insensitive. Like `id`, `name` is a unique identifier for a price level. **IMPORTANT**: If you include this parameter, QuickBooks will ignore all other query parameters for this request. **NOTE**: If any of the values you specify in this parameter are not found, the request will return an error.
- `limit` integer — The maximum number of objects to return. **IMPORTANT**: QuickBooks Desktop does not support cursor-based pagination for price levels. This parameter will limit the response size, but you cannot fetch subsequent results using a cursor. For pagination, use the name-range parameters instead (e.g., `nameFrom=A&nameTo=B`). When this parameter is omitted, the endpoint returns all price levels without limit, unlike paginated endpoints which default to 150 records. This is acceptable because price levels typically have low record counts.
- `status` 'active' | 'all' | 'inactive' — Filter for price levels that are active, inactive, or both.
- `updatedAfter` string — Filter for price levels updated on or after this date/time. Accepts the following ISO 8601 formats: - **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **start of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T00:00:00`). - **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer. - **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.
- `updatedBefore` string — Filter for price levels updated on or before this date/time. Accepts the following ISO 8601 formats: - **date-only** (YYYY-MM-DD) - QuickBooks Desktop interprets the date as the **end of the specified day** in the local timezone of the end-user's computer (e.g., `2025-01-01` → `2025-01-01T23:59:59`). - **datetime without timezone** (YYYY-MM-DDTHH:mm:ss) - QuickBooks Desktop interprets the timestamp in the local timezone of the end-user's computer. - **datetime with timezone** (YYYY-MM-DDTHH:mm:ss±HH:mm) - QuickBooks Desktop interprets the timestamp using the specified timezone.
- `nameContains` string — Filter for price levels whose `name` contains this substring, case-insensitive. **NOTE**: If you use this parameter, you cannot also use `nameStartsWith` or `nameEndsWith`.
- `nameStartsWith` string — Filter for price levels whose `name` starts with this substring, case-insensitive. **NOTE**: If you use this parameter, you cannot also use `nameContains` or `nameEndsWith`.
- `nameEndsWith` string — Filter for price levels whose `name` ends with this substring, case-insensitive. **NOTE**: If you use this parameter, you cannot also use `nameContains` or `nameStartsWith`.
- `nameFrom` string — Filter for price levels whose `name` is alphabetically greater than or equal to this value.
- `nameTo` string — Filter for price levels whose `name` is alphabetically less than or equal to this value.
- `itemIds` string[] — Filter for price levels containing these items.
- `currencyIds` string[] — Filter for price levels in these currencies.

## Headers

- `Conductor-End-User-Id` string, required — The ID of the End-User to receive this request.

## Response `200`

Returns a list of price levels.

- object
  - `objectType` 'list', required — The type of object. This value is always `"list"`.
  - `url` string, required — The endpoint URL where this list can be accessed.
  - `data` QbdPriceLevel[], required — The array of price levels.
    - `id` string, required — The unique identifier assigned by QuickBooks to this price level. This ID is unique across all price levels but not across different QuickBooks object types.
    - `objectType` 'qbd_price_level', required — The type of object. This value is always `"qbd_price_level"`.
    - `createdAt` string, required — The date and time when this price level was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.
    - `updatedAt` string, required — The date and time when this price level was last updated, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm), which QuickBooks Desktop interprets in the local timezone of the end-user's computer.
    - `revisionNumber` string, required — The current QuickBooks-assigned revision number of this price level object, which changes each time the object is modified. When updating this object, you must provide the most recent `revisionNumber` to ensure you're working with the latest data; otherwise, the update will return an error.
    - `name` string, required — The case-insensitive unique name of this price level, unique across all price levels. **NOTE**: Price levels do not have a `fullName` field because they are not hierarchical objects, which is why `name` is unique for them but not for objects that have parents.
    - `isActive` boolean, required — Indicates whether this price level is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to `true`.
    - `priceLevelType` 'fixed_percentage' | 'per_item', required — The price level's type.
    - `fixedPercentage` string, nullable, required — The fixed percentage adjustment applied to all items for this price level (instead of a per-item price level). Once you create the price level, you cannot change this. When this price level is applied to a customer, it automatically adjusts the `rate` and `amount` columns for applicable line items in sales orders and invoices for that customer. This value supports both positive and negative values - a value of "20" increases prices by 20%, while "-10" decreases prices by 10%.
    - `perItemPriceLevels` QbdPerItemPriceLevel[], required — The per-item price level configurations for this price level.
      - `item` object, required — The item associated with this per-item price level. This can refer to any good or service that the business buys or sells, including item types such as a service item, inventory item, or special calculation item like a discount item or sales-tax item.
        - `id` string, nullable, required — The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
        - `fullName` string, nullable, required — The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own `name`, separated by colons. Not case-sensitive.
      - `customPrice` string, nullable, required — The fixed amount custom price for this per-item price level that overrides the standard price for the specified item. Used when setting an absolute price value for the item in this price level.
      - `customPricePercent` string, nullable, required — The fixed discount percentage for this per-item price level that modifies the specified item's standard price. Used to create a fixed percentage markup or discount specific to this item within this price level.
    - `currency` object, nullable, required — The price level's currency. For built-in currencies, the name and code are standard ISO 4217 international values. For user-defined currencies, all values are editable.
      - `id` string, nullable, required — The unique identifier assigned by QuickBooks to this object. This ID is unique across all objects of the same type, but not across different QuickBooks object types.
      - `fullName` string, nullable, required — The fully-qualified unique name for this object, formed by combining the names of its parent objects with its own `name`, separated by colons. Not case-sensitive.

---

[API](https://skmtc.net/conductor-is/apis/conductor-api.md) · [All operations](https://skmtc.net/conductor-is/apis/conductor-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/conductor-is/conductor-api/revisions/0b07b3ebe160/schema)
