---
title: "List all unit-of-measure sets"
method: GET
path: "/quickbooks-desktop/unit-of-measure-sets"
---

# List all unit-of-measure sets

`GET /quickbooks-desktop/unit-of-measure-sets`

Lists all unit-of-measure sets. NOTE: QuickBooks Desktop does not support pagination for unit-of-measure sets; hence, there is no cursor parameter. Users typically have few unit-of-measure sets.

NOTE: The QuickBooks company file must have unit-of-measure enabled (either a single unit per item or multiple units per item).

**NOTE:** QuickBooks Desktop does not support pagination for unit-of-measure sets; hence, there is no `cursor` parameter. Users typically have few unit-of-measure sets.

## Query parameters

- `ids` string[] — Filter for specific unit-of-measure sets 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 unit-of-measure sets by their name(s), case-insensitive. Like `id`, `name` is a unique identifier for an unit-of-measure set. **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 unit-of-measure sets. 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 unit-of-measure sets without limit, unlike paginated endpoints which default to 150 records. This is acceptable because unit-of-measure sets typically have low record counts.
- `status` 'active' | 'all' | 'inactive' — Filter for unit-of-measure sets that are active, inactive, or both.
- `updatedAfter` string — Filter for unit-of-measure sets 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 unit-of-measure sets 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 unit-of-measure sets whose `name` contains this substring, case-insensitive. **NOTE**: If you use this parameter, you cannot also use `nameStartsWith` or `nameEndsWith`.
- `nameStartsWith` string — Filter for unit-of-measure sets 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 unit-of-measure sets 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 unit-of-measure sets whose `name` is alphabetically greater than or equal to this value.
- `nameTo` string — Filter for unit-of-measure sets whose `name` is alphabetically less than or equal to this value.

## Headers

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

## Response `200`

Returns a list of unit-of-measure sets.

- 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` QbdUnitOfMeasureSet[], required — The array of unit-of-measure sets.
    - `id` string, required — The unique identifier assigned by QuickBooks to this unit-of-measure set. This ID is unique across all unit-of-measure sets but not across different QuickBooks object types.
    - `objectType` 'qbd_unit_of_measure_set', required — The type of object. This value is always `"qbd_unit_of_measure_set"`.
    - `createdAt` string, required — The date and time when this unit-of-measure set 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 unit-of-measure set 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 unit-of-measure set 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 unit-of-measure set, unique across all unit-of-measure sets. To ensure this set appears in the QuickBooks UI for companies configured with a single unit per item, prefix the name with "By the" (e.g., "By the Barrel"). **NOTE**: Unit-of-measure sets 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 unit-of-measure set is active. Inactive objects are typically hidden from views and reports in QuickBooks. Defaults to `true`.
    - `unitOfMeasureType` 'area' | 'count' | 'length' | 'other' | 'time' | 'volume' | 'weight', required — The unit-of-measure set's type. Use "other" for a custom type defined in QuickBooks.
    - `baseUnit` QbdBaseUnit, required
      - `name` string, required — The case-insensitive unique name of this base unit, unique across all base units. **NOTE**: Base units 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.
      - `abbreviation` string, required — The base unit's short identifier shown in the QuickBooks U/M field on transaction line items.
    - `relatedUnits` QbdRelatedUnit[], required — The unit-of-measure set's related units, each specifying how many base units they represent (conversion ratio).
      - `name` string, required — The case-insensitive unique name of this related unit, unique across all related units. **NOTE**: Related units 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.
      - `abbreviation` string, required — The related unit's short identifier shown in the QuickBooks U/M field on transaction line items.
      - `conversionRatio` string, required — The number of base units in this related unit, represented as a decimal string. For example, if the base unit is "box" and this related unit is "case" with `conversionRatio` = "10", that means there are 10 boxes in one case.
    - `defaultUnits` QbdDefaultUnit[], required — The unit-of-measure set's default units to appear in the U/M field on transaction line items. You can specify separate defaults for purchases, sales, and shipping.
      - `unitUsedFor` 'purchase' | 'sales' | 'shipping', required — Where this default unit is used as the default: purchase line items, sales line items, or shipping lines.
      - `unit` string, required — The unit name for this default unit, as displayed in the U/M field. If the company file is enabled for multiple units per item, this appears as an available unit for the item. Must correspond to the base unit or a related unit defined in this set.

---

[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)
