> ## Documentation Index
> Fetch the complete documentation index at: https://docs.conductor.is/llms.txt
> Use this file to discover all available pages before exploring further.

# List all subtotal items

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



## OpenAPI

````yaml GET /quickbooks-desktop/subtotal-items
openapi: 3.1.0
info:
  title: Conductor API
  version: 0.0.1
servers:
  - url: https://api.conductor.is/v1
security:
  - BearerAuth: []
paths:
  /quickbooks-desktop/subtotal-items:
    get:
      summary: List all subtotal items
      description: >-
        Returns a list of subtotal items. Use the `cursor` parameter to paginate
        through the results.
      parameters:
        - in: query
          name: ids
          description: >-
            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.
          schema:
            type: array
            items:
              type: string
            description: >-
              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.
            example:
              - 80000001-1234567890
        - in: query
          name: names
          description: >-
            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.
          schema:
            type: array
            items:
              type: string
            description: >-
              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.
            example:
              - Labor subtotal
        - in: query
          name: limit
          description: >-
            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.
          schema:
            type: integer
            minimum: 1
            maximum: 150
            default: 150
            description: >-
              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
        - in: query
          name: cursor
          description: >-
            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.
          schema:
            type: string
            description: >-
              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
        - in: query
          name: status
          description: Filter for subtotal items that are active, inactive, or both.
          schema:
            type: string
            enum:
              - active
              - all
              - inactive
            default: active
            description: Filter for subtotal items that are active, inactive, or both.
            example: active
        - in: query
          name: updatedAfter
          description: >-
            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-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.
          schema:
            type: string
            description: >-
              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-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.
            example: '2025-01-01T12:34:56.000Z'
        - in: query
          name: updatedBefore
          description: >-
            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-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.
          schema:
            type: string
            description: >-
              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-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.
            example: '2025-02-01T12:34:56.000Z'
        - in: query
          name: nameContains
          description: >-
            Filter for subtotal items whose `name` contains this substring,
            case-insensitive.


            **NOTE**: If you use this parameter, you cannot also use
            `nameStartsWith` or `nameEndsWith`.
          schema:
            type: string
            description: >-
              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
        - in: query
          name: nameStartsWith
          description: >-
            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`.
          schema:
            type: string
            description: >-
              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
        - in: query
          name: nameEndsWith
          description: >-
            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`.
          schema:
            type: string
            description: >-
              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
        - in: query
          name: nameFrom
          description: >-
            Filter for subtotal items whose `name` is alphabetically greater
            than or equal to this value.
          schema:
            type: string
            description: >-
              Filter for subtotal items whose `name` is alphabetically greater
              than or equal to this value.
            example: A
        - in: query
          name: nameTo
          description: >-
            Filter for subtotal items whose `name` is alphabetically less than
            or equal to this value.
          schema:
            type: string
            description: >-
              Filter for subtotal items whose `name` is alphabetically less than
              or equal to this value.
            example: Z
        - in: header
          name: Conductor-End-User-Id
          description: The ID of the End-User to receive this request.
          schema:
            type: string
            description: The ID of the End-User to receive this request.
            example: end_usr_1234567abcdefg
            x-stainless-naming:
              typescript:
                method_argument: conductorEndUserId
              mcp:
                method_argument: conductorEndUserId
          required: true
      responses:
        '200':
          description: Returns a list of subtotal items.
          headers:
            Conductor-Request-Id:
              schema:
                type: string
                description: The unique identifier for this API request.
                example: req_1234567abcdefg
              required: true
          content:
            application/json:
              schema:
                type: object
                properties:
                  objectType:
                    type: string
                    const: list
                    description: The type of object. This value is always `"list"`.
                    example: list
                  url:
                    type: string
                    description: The endpoint URL where this list can be accessed.
                    example: /v1/quickbooks-desktop/subtotal-items
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/qbd_subtotal_item'
                    description: The array of subtotal items.
                  nextCursor:
                    type:
                      - string
                      - 'null'
                    description: >-
                      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.
                    example: 12345678-abcd-abcd-example-1234567890ab
                  remainingCount:
                    type:
                      - number
                      - 'null'
                    description: The number of objects remaining to be fetched.
                    example: 10
                  hasMore:
                    type: boolean
                    description: Indicates whether there are more objects to be fetched.
                required:
                  - objectType
                  - url
                  - data
                  - nextCursor
                  - remainingCount
                  - hasMore
                additionalProperties: false
      security:
        - BearerAuth: []
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import Conductor from 'conductor-node';

            const conductor = new Conductor({
              apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
            });

            // Automatically fetches more pages as needed.
            for await (const subtotalItem of conductor.qbd.subtotalItems.list({
              conductorEndUserId: 'end_usr_1234567abcdefg',
            })) {
              console.log(subtotalItem.id);
            }
        - lang: Python
          source: |-
            import os
            from conductor import Conductor

            conductor = Conductor(
                api_key=os.environ.get("CONDUCTOR_SECRET_KEY"),  # This is the default and can be omitted
            )
            page = conductor.qbd.subtotal_items.list(
                conductor_end_user_id="end_usr_1234567abcdefg",
            )
            page = page.data[0]
            print(page.id)
components:
  schemas:
    qbd_subtotal_item:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this subtotal item.
            This ID is unique across all subtotal items but not across different
            QuickBooks object types.
          example: 80000001-1234567890
        objectType:
          type: string
          const: qbd_subtotal_item
          description: The type of object. This value is always `"qbd_subtotal_item"`.
          example: qbd_subtotal_item
        createdAt:
          type: string
          description: >-
            The date and time when this subtotal item 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.
          example: '2025-01-01T12:34:56.000Z'
        updatedAt:
          type: string
          description: >-
            The date and time when this subtotal item 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.
          example: '2025-02-01T12:34:56.000Z'
        revisionNumber:
          type: string
          description: >-
            The current QuickBooks-assigned revision number of this subtotal
            item 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.
          example: '1721172183'
        name:
          type: string
          description: >-
            The case-insensitive unique name of this subtotal item, unique
            across all subtotal items.


            **NOTE**: Subtotal items 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.
          example: Labor subtotal
        barcode:
          type:
            - string
            - 'null'
          description: The subtotal item's barcode.
          example: '012345678905'
        isActive:
          type: boolean
          description: >-
            Indicates whether this subtotal item is active. Inactive objects are
            typically hidden from views and reports in QuickBooks. Defaults to
            `true`.
          example: true
        description:
          type:
            - string
            - 'null'
          description: >-
            The subtotal item's description that will appear on sales forms that
            include this item.
          example: Subtotal for all labor costs on this project
        specialItemType:
          type:
            - string
            - 'null'
          enum:
            - finance_charge
            - reimbursable_expense_group
            - reimbursable_expense_subtotal
            - null
          description: The type of special item for this subtotal item.
          example: finance_charge
        externalId:
          type:
            - string
            - 'null'
          description: >-
            A globally unique identifier (GUID) you, the developer, can provide
            for tracking this object in your external system. This field is
            immutable and can only be set during object creation.
          example: 12345678-abcd-1234-abcd-1234567890ab
        customFields:
          type: array
          items:
            $ref: '#/components/schemas/qbd_custom_field'
          description: >-
            The custom fields for the subtotal item object, added as
            user-defined data extensions, not included in the standard
            QuickBooks object.
      required:
        - id
        - objectType
        - createdAt
        - updatedAt
        - revisionNumber
        - name
        - barcode
        - isActive
        - description
        - specialItemType
        - externalId
        - customFields
      additionalProperties: false
      title: The Subtotal Item object
      x-conductor-object-type: item
      summary: >-
        A subtotal item calculates the sum of all items above it on a sales
        form, up to the previous subtotal. This is particularly important for
        applying discounts because discounts can only be applied to the line
        directly above them, requiring items to be subtotaled first.
    qbd_custom_field:
      type: object
      properties:
        ownerId:
          type: string
          description: >-
            The identifier of the owner of the custom field, which QuickBooks
            internally calls a "data extension". For public custom fields
            visible in the UI, such as those added by the QuickBooks user, this
            is always "0". For private custom fields that are only visible to
            the application that created them, this is a valid GUID identifying
            the owning application. Internally, Conductor always fetches all
            public custom fields (those with an `ownerId` of "0") for all
            objects.
          example: '0'
        name:
          type: string
          description: >-
            The name of the custom field, unique for the specified `ownerId`.
            For public custom fields, this name is visible as a label in the
            QuickBooks UI.
          example: Customer Rating
        type:
          type: string
          enum:
            - amount_type
            - date_time_type
            - integer_type
            - percent_type
            - price_type
            - quantity_type
            - string_1024_type
            - string_255_type
          description: The data type of this custom field.
          example: string_1024_type
        value:
          type: string
          description: >-
            The value of this custom field. The maximum length depends on the
            field's data type.
          example: Premium
      required:
        - ownerId
        - name
        - type
        - value
      additionalProperties: false
      title: The Custom Field object
      x-conductor-object-type: nested
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your Conductor secret key using Bearer auth (e.g., `"Authorization:
        Bearer {{YOUR_SECRET_KEY}}"`).

````

Built with [Mintlify](https://mintlify.com).