> ## 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 currencies

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



## OpenAPI

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


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


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


            **IMPORTANT**: QuickBooks Desktop does not support cursor-based
            pagination for currencies. 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 currencies
            without limit, unlike paginated endpoints which default to 150
            records. This is acceptable because currencies 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 currencies. 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
              currencies without limit, unlike paginated endpoints which default
              to 150 records. This is acceptable because currencies typically
              have low record counts.
            example: 10
        - in: query
          name: status
          description: Filter for currencies that are active, inactive, or both.
          schema:
            type: string
            enum:
              - active
              - all
              - inactive
            default: active
            description: Filter for currencies that are active, inactive, or both.
            example: active
        - in: query
          name: updatedAfter
          description: >-
            Filter for currencies 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 currencies 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 currencies 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 currencies 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 currencies 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 currencies 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 currencies 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 currencies 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 currencies 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 currencies 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 currencies whose `name` is alphabetically greater than or
            equal to this value.
          schema:
            type: string
            description: >-
              Filter for currencies whose `name` is alphabetically greater than
              or equal to this value.
            example: A
        - in: query
          name: nameTo
          description: >-
            Filter for currencies whose `name` is alphabetically less than or
            equal to this value.
          schema:
            type: string
            description: >-
              Filter for currencies 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 currencies.
          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/currencies
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/qbd_currency'
                    description: The array of currencies.
                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 currencies = await conductor.qbd.currencies.list({
              conductorEndUserId: 'end_usr_1234567abcdefg',
            });

            console.log(currencies.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
            )
            currencies = conductor.qbd.currencies.list(
                conductor_end_user_id="end_usr_1234567abcdefg",
            )
            print(currencies.data)
components:
  schemas:
    qbd_currency:
      type: object
      properties:
        id:
          type: string
          description: >-
            The unique identifier assigned by QuickBooks to this currency. This
            ID is unique across all currencies but not across different
            QuickBooks object types.
          example: 80000001-1234567890
        objectType:
          type: string
          const: qbd_currency
          description: The type of object. This value is always `"qbd_currency"`.
          example: qbd_currency
        createdAt:
          type: string
          description: >-
            The date and time when this currency 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 currency 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 currency
            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 currency, unique across all
            currencies. For built-in currencies, the name is the internationally
            accepted currency name and is not editable.


            **NOTE**: Currencies 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: United States Dollar
        isActive:
          type: boolean
          description: >-
            Indicates whether this currency is active. Inactive objects are
            typically hidden from views and reports in QuickBooks. Defaults to
            `true`.
          example: true
        currencyCode:
          type: string
          description: >-
            The internationally accepted currency code used by this currency,
            typically based on the ISO 4217 standard (for example, USD for US
            Dollars). Built-in QuickBooks currencies follow ISO 4217. For
            user-defined currencies, following ISO 4217 is recommended but not
            required. In many cases, the three-letter code is formed from the
            country's two-letter internet code plus a currency letter (e.g., BZ
            + D → BZD for Belize Dollar).
          example: USD
        currencyFormat:
          oneOf:
            - $ref: '#/components/schemas/qbd_currency_format'
            - type: 'null'
          description: >-
            Controls how this currency displays thousands separators, grouping,
            and decimal places.
        isUserDefinedCurrency:
          type:
            - boolean
            - 'null'
          description: >-
            Indicates whether this currency was created by a QuickBooks user
            (`true`) or is a built-in currency (`false`).
          example: false
        exchangeRate:
          type:
            - number
            - 'null'
          description: >-
            The market exchange rate between this currency's currency and the
            home currency in QuickBooks at the time of this transaction.
            Represented as a decimal value (e.g., 1.2345 for 1 EUR = 1.2345 USD
            if USD is the home currency).
          example: 1.2345
        asOfDate:
          type:
            - string
            - 'null'
          format: date
          description: >-
            The date when the exchange rate for this currency was last updated,
            in ISO 8601 format (YYYY-MM-DD).
          example: '2024-08-01'
      required:
        - id
        - objectType
        - createdAt
        - updatedAt
        - revisionNumber
        - name
        - isActive
        - currencyCode
        - currencyFormat
        - isUserDefinedCurrency
        - exchangeRate
        - asOfDate
      additionalProperties: false
      title: The Currency object
      x-conductor-object-type: other
      summary: >-
        A currency represents either a built-in ISO 4217 currency or a
        user-defined currency in a multi-currency QuickBooks company file.
        Built-in currencies have standardized names and codes and support
        automatic exchange-rate downloads in the QuickBooks UI. User-defined
        currencies behave the same in QuickBooks but their exchange rates are
        never auto-updated; you must maintain rates yourself.
    qbd_currency_format:
      type: object
      properties:
        thousandSeparator:
          type:
            - string
            - 'null'
          enum:
            - apostrophe
            - comma
            - period
            - space
            - null
          description: >-
            Controls the thousands separator when displaying currency values
            (for example, "1,000,000"). Defaults to comma.
          example: comma
        thousandSeparatorGrouping:
          type:
            - string
            - 'null'
          enum:
            - x_xx_xx_xxx
            - xx_xxx_xxx
            - null
          description: >-
            Controls how digits are grouped for thousands when displaying
            currency values (for example, "10,000,000").
          example: xx_xxx_xxx
        decimalPlaces:
          type:
            - string
            - 'null'
          enum:
            - '0'
            - '2'
            - null
          description: >-
            Controls the number of decimal places displayed for currency values.
            Use `0` to hide decimals or `2` to display cents.
          example: '2'
        decimalSeparator:
          type:
            - string
            - 'null'
          enum:
            - comma
            - period
            - null
          description: >-
            Controls the decimal separator when displaying currency values (for
            example, "1.00" vs "1,00"). Defaults to period.
          example: period
      required:
        - thousandSeparator
        - thousandSeparatorGrouping
        - decimalPlaces
        - decimalSeparator
      additionalProperties: false
      title: The Currency Format 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).