> ## 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 payment methods

> Returns a list of payment methods. NOTE: QuickBooks Desktop does not support pagination for payment methods; hence, there is no `cursor` parameter. Users typically have few payment methods.



## OpenAPI

````yaml GET /quickbooks-desktop/payment-methods
openapi: 3.1.0
info:
  title: Conductor API
  version: 0.0.1
servers:
  - url: https://api.conductor.is/v1
security:
  - BearerAuth: []
paths:
  /quickbooks-desktop/payment-methods:
    get:
      summary: List all payment methods
      description: >-
        Returns a list of payment methods. NOTE: QuickBooks Desktop does not
        support pagination for payment methods; hence, there is no `cursor`
        parameter. Users typically have few payment methods.
      parameters:
        - in: query
          name: ids
          description: >-
            Filter for specific payment methods 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 payment methods 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 payment methods by their name(s),
            case-insensitive. Like `id`, `name` is a unique identifier for a
            payment method.


            **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 payment methods by their name(s),
              case-insensitive. Like `id`, `name` is a unique identifier for a
              payment method.


              **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:
              - Cash
        - in: query
          name: limit
          description: >-
            The maximum number of objects to return.


            **IMPORTANT**: QuickBooks Desktop does not support cursor-based
            pagination for payment methods. 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 payment
            methods without limit, unlike paginated endpoints which default to
            150 records. This is acceptable because payment methods typically
            have low record counts.
          schema:
            type: integer
            minimum: 1
            description: >-
              The maximum number of objects to return.


              **IMPORTANT**: QuickBooks Desktop does not support cursor-based
              pagination for payment methods. 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 payment
              methods without limit, unlike paginated endpoints which default to
              150 records. This is acceptable because payment methods typically
              have low record counts.
            example: 10
        - in: query
          name: status
          description: Filter for payment methods that are active, inactive, or both.
          schema:
            type: string
            enum:
              - active
              - all
              - inactive
            default: active
            description: Filter for payment methods that are active, inactive, or both.
            example: active
        - in: query
          name: updatedAfter
          description: >-
            Filter for payment methods 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 payment methods 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 payment methods 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 payment methods 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 payment methods 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 payment methods 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 payment methods 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 payment methods 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 payment methods 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 payment methods 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 payment methods whose `name` is alphabetically greater
            than or equal to this value.
          schema:
            type: string
            description: >-
              Filter for payment methods whose `name` is alphabetically greater
              than or equal to this value.
            example: A
        - in: query
          name: nameTo
          description: >-
            Filter for payment methods whose `name` is alphabetically less than
            or equal to this value.
          schema:
            type: string
            description: >-
              Filter for payment methods whose `name` is alphabetically less
              than or equal to this value.
            example: Z
        - in: query
          name: paymentMethodType
          description: Filter for payment methods of this type.
          schema:
            type: string
            enum:
              - american_express
              - cash
              - check
              - debit_card
              - discover
              - e_check
              - gift_card
              - master_card
              - other
              - other_credit_card
              - visa
            description: Filter for payment methods of this type.
            example: cash
        - 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 payment methods.
          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/payment-methods
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/qbd_payment_method'
                    description: The array of payment methods.
                required:
                  - objectType
                  - url
                  - data
                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
            });

            const paymentMethods = await conductor.qbd.paymentMethods.list({
              conductorEndUserId: 'end_usr_1234567abcdefg',
            });

            console.log(paymentMethods.data);
        - 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
            )
            payment_methods = conductor.qbd.payment_methods.list(
                conductor_end_user_id="end_usr_1234567abcdefg",
            )
            print(payment_methods.data)
components:
  schemas:
    qbd_payment_method:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this payment method.
            This ID is unique across all payment methods but not across
            different QuickBooks object types.
          example: 80000001-1234567890
        objectType:
          type: string
          const: qbd_payment_method
          description: The type of object. This value is always `"qbd_payment_method"`.
          example: qbd_payment_method
        createdAt:
          type: string
          description: >-
            The date and time when this payment method 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 payment method 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 payment
            method 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 payment method, unique
            across all payment methods.


            **NOTE**: Payment methods 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: Cash
        isActive:
          type: boolean
          description: >-
            Indicates whether this payment method is active. Inactive objects
            are typically hidden from views and reports in QuickBooks. Defaults
            to `true`.
          example: true
        paymentMethodType:
          type: string
          enum:
            - american_express
            - cash
            - check
            - debit_card
            - discover
            - e_check
            - gift_card
            - master_card
            - other
            - other_credit_card
            - visa
          description: This payment method's type.
          example: cash
      required:
        - id
        - objectType
        - createdAt
        - updatedAt
        - revisionNumber
        - name
        - isActive
        - paymentMethodType
      additionalProperties: false
      title: The Payment Method object
      x-conductor-object-type: other
      summary: >-
        A payment method defines a type of payment scheme in QuickBooks Desktop,
        such as Cash or Check, that specifies how a customer pays for goods or
        services.
  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).