List all subtotal items

Returns a list of subtotal items. Use the cursor parameter to paginate through the results.

get/quickbooks-desktop/subtotal-items

Query parameters

idsstring[]

Filter for specific subtotal items 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.

Filter for specific subtotal items 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.

[
  "80000001-1234567890"
]
namesstring[]

Filter for specific subtotal items by their name(s), case-insensitive. Like id, name is a unique identifier for a subtotal item.

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.

Filter for specific subtotal items by their name(s), case-insensitive. Like id, name is a unique identifier for a subtotal item.

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.

[
  "Labor subtotal"
]
limitinteger

The maximum number of objects to return. Accepts values ranging from 1 to 150, defaults to 150. When used with cursor-based pagination, this parameter controls how many results are returned per page. To paginate through results, combine this with the cursor parameter. Each response will include a nextCursor value that can be passed to subsequent requests to retrieve the next page of results.

Example:150

The maximum number of objects to return. Accepts values ranging from 1 to 150, defaults to 150. When used with cursor-based pagination, this parameter controls how many results are returned per page. To paginate through results, combine this with the cursor parameter. Each response will include a nextCursor value that can be passed to subsequent requests to retrieve the next page of results.

cursorstring

The pagination token to fetch the next set of results when paginating with the limit parameter. Do not include this parameter on the first call. Use the nextCursor value returned in the previous response to request subsequent results.

Example:12345678-abcd-abcd-example-1234567890ab

The pagination token to fetch the next set of results when paginating with the limit parameter. Do not include this parameter on the first call. Use the nextCursor value returned in the previous response to request subsequent results.

status'active' | 'all' | 'inactive'

Filter for subtotal items that are active, inactive, or both.

Example:active

Filter for subtotal items that are active, inactive, or both.

updatedAfterstring

Filter for subtotal items 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-012025-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.
Example:2025-01-01T12:34:56+00:00

Filter for subtotal items 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-012025-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.
updatedBeforestring

Filter for subtotal items 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-012025-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.
Example:2025-02-01T12:34:56+00:00

Filter for subtotal items 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-012025-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.
nameContainsstring

Filter for subtotal items whose name contains this substring, case-insensitive.

NOTE: If you use this parameter, you cannot also use nameStartsWith or nameEndsWith.

Example:ABC

Filter for subtotal items whose name contains this substring, case-insensitive.

NOTE: If you use this parameter, you cannot also use nameStartsWith or nameEndsWith.

nameStartsWithstring

Filter for subtotal items whose name starts with this substring, case-insensitive.

NOTE: If you use this parameter, you cannot also use nameContains or nameEndsWith.

Example:ABC

Filter for subtotal items whose name starts with this substring, case-insensitive.

NOTE: If you use this parameter, you cannot also use nameContains or nameEndsWith.

nameEndsWithstring

Filter for subtotal items whose name ends with this substring, case-insensitive.

NOTE: If you use this parameter, you cannot also use nameContains or nameStartsWith.

Example:ABC

Filter for subtotal items whose name ends with this substring, case-insensitive.

NOTE: If you use this parameter, you cannot also use nameContains or nameStartsWith.

nameFromstring

Filter for subtotal items whose name is alphabetically greater than or equal to this value.

Example:A

Filter for subtotal items whose name is alphabetically greater than or equal to this value.

nameTostring

Filter for subtotal items whose name is alphabetically less than or equal to this value.

Example:Z

Filter for subtotal items whose name is alphabetically less than or equal to this value.

Headers

Conductor-End-User-Idstring required

The ID of the End-User to receive this request.

Example:end_usr_1234567abcdefg

The ID of the End-User to receive this request.

Response

Returns a list of subtotal items.

objectType'list' required

The type of object. This value is always "list".

urlstring required

The endpoint URL where this list can be accessed.

nextCursorstring nullable required

The nextCursor is a pagination token returned in the response when you use the limit parameter in your request. To retrieve subsequent pages of results, include this token as the value of the cursor request parameter in your following API calls.

NOTE: The nextCursor value remains constant throughout the pagination process for a specific list instance; continue to use the same nextCursor token in each request to fetch additional pages.

remainingCountnumber nullable required

The number of objects remaining to be fetched.

hasMoreboolean required

Indicates whether there are more objects to be fetched.

Example response

{
  "objectType": "list",
  "url": "/v1/quickbooks-desktop/subtotal-items",
  "data": [
    {
      "id": "80000001-1234567890",
      "objectType": "qbd_subtotal_item",
      "createdAt": "2025-01-01T12:34:56+00:00",
      "updatedAt": "2025-02-01T12:34:56+00:00",
      "revisionNumber": "1721172183",
      "name": "Labor subtotal",
      "barcode": "012345678905",
      "isActive": true,
      "description": "Subtotal for all labor costs on this project",
      "specialItemType": "finance_charge",
      "externalId": "12345678-abcd-1234-abcd-1234567890ab",
      "customFields": [
        {
          "ownerId": "0",
          "name": "Customer Rating",
          "type": "string_1024_type",
          "value": "Premium"
        }
      ]
    }
  ],
  "nextCursor": "12345678-abcd-abcd-example-1234567890ab",
  "remainingCount": 10
}

Changes

Changed in 5 of the 46 revisions of this API.20414

    • for the query request parameter status, default value active was added

      request-parameter-default-value-added

    • for the query request parameter status, default value active was removed

      request-parameter-default-value-removed

  • 10d4e9ebd1df64See the full diff
    • response property data/items/barcode list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property data/items/description list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property data/items/externalId list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property data/items/specialItemType list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property nextCursor list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property remainingCount list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • removed the finance_charge enum value from the data/items/specialItemType response property for the response status 200

      response-property-enum-value-removed

    • removed the reimbursable_expense_group enum value from the data/items/specialItemType response property for the response status 200

      response-property-enum-value-removed

    • removed the reimbursable_expense_subtotal enum value from the data/items/specialItemType response property for the response status 200

      response-property-enum-value-removed

    • removed the undefined enum value from the data/items/specialItemType response property for the response status 200

      response-property-enum-value-removed

  • 8e0b7df2044d646See the full diff
    • the response property data/items/barcode became nullable for the status 200

      response-property-became-nullable

    • the response property data/items/description became nullable for the status 200

      response-property-became-nullable

    • the response property data/items/externalId became nullable for the status 200

      response-property-became-nullable

    • the response property data/items/specialItemType became nullable for the status 200

      response-property-became-nullable

    • the response property nextCursor became nullable for the status 200

      response-property-became-nullable

    • the response property remainingCount became nullable for the status 200

      response-property-became-nullable

    • added the new finance_charge enum value to the data/items/specialItemType response property for the response status 200

      response-property-enum-value-added

    • added the new reimbursable_expense_group enum value to the data/items/specialItemType response property for the response status 200

      response-property-enum-value-added

    • added the new reimbursable_expense_subtotal enum value to the data/items/specialItemType response property for the response status 200

      response-property-enum-value-added

    • added the new undefined enum value to the data/items/specialItemType response property for the response status 200

      response-property-enum-value-added

    • response property data/items/barcode list-of-types was narrowed by removing types null from media type application/json of response 200

      response-property-list-of-types-narrowed

    • response property data/items/description list-of-types was narrowed by removing types null from media type application/json of response 200

      response-property-list-of-types-narrowed

    • response property data/items/externalId list-of-types was narrowed by removing types null from media type application/json of response 200

      response-property-list-of-types-narrowed

    • response property data/items/specialItemType list-of-types was narrowed by removing types null from media type application/json of response 200

      response-property-list-of-types-narrowed

    • response property nextCursor list-of-types was narrowed by removing types null from media type application/json of response 200

      response-property-list-of-types-narrowed

    • response property remainingCount list-of-types was narrowed by removing types null from media type application/json of response 200

      response-property-list-of-types-narrowed

  • 5f832f69567564See the full diff
    • response property data/items/barcode list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property data/items/description list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property data/items/externalId list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property data/items/specialItemType list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property nextCursor list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • response property remainingCount list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • removed the finance_charge enum value from the data/items/specialItemType response property for the response status 200

      response-property-enum-value-removed

    • removed the reimbursable_expense_group enum value from the data/items/specialItemType response property for the response status 200

      response-property-enum-value-removed

    • removed the reimbursable_expense_subtotal enum value from the data/items/specialItemType response property for the response status 200

      response-property-enum-value-removed

    • removed the undefined enum value from the data/items/specialItemType response property for the response status 200

      response-property-enum-value-removed