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

# List commodity futures markets and the contracts they currently list.

> Returns every covered commodity futures market with its commodity, exchange, settlement currency and code prefixes, plus the contracts listed as of today, earliest expiry first and never including one that has already expired. A contract whose generated code would name a different delivery year than its own expiry is omitted, because booking takes the maturity from the code and rejects a position where the two disagree. Listings depend on the current date, so the result is not stable across days. This synchronous operation is read-only.



## OpenAPI

````yaml /risk-and-pricing/atoti-risk-services/apis-endpoints/openapi/openapi.mintlify.json get /api/Commodity/CommodityFutureOptions
openapi: 3.0.4
info:
  title: Derivitec Api 1.0
  version: '1.0'
servers:
  - url: https://api.riskportal.activeviam.com
security:
  - oauth2: []
  - apikey: []
tags:
  - name: AdminUser
  - name: AtotiReport
  - name: AtotiSession
  - name: BloombergOAuth
  - name: Bond
  - name: BondYieldCurvePage
  - name: BookAccess
  - name: Books
  - name: Commodity
  - name: Counterparties
  - name: Currencies
  - name: Equity
  - name: EquityDividend
  - name: EquityPage
  - name: FeatureFlag
  - name: Fx
  - name: FxPage
  - name: GroupAccess
  - name: Home
  - name: LegacyPosition
  - name: MarketData
  - name: MarketDataProvider
  - name: MarketDataProviderAccess
  - name: Meta
  - name: Notification
  - name: Organisation
  - name: PnLReport
  - name: PortfolioAccess
  - name: Portfolios
  - name: Position
  - name: PositionFilter
  - name: PricingEnvironment
  - name: PricingEnvironmentAccess
  - name: RateAsset
  - name: RateAssetPage
  - name: Report
  - name: ReportDefinition
  - name: ReportHistoryLauncherQuery
  - name: ReportLauncher
  - name: ReportQuery
  - name: ReportQueryViewUser
  - name: ReportRestriction
  - name: ReportView
  - name: RiskReport
  - name: Tradable
  - name: TradeBooking
  - name: User
  - name: VarReport
  - name: VarReportQuery
  - name: YieldCurvePage
paths:
  /api/Commodity/CommodityFutureOptions:
    get:
      tags:
        - Commodity
      summary: List commodity futures markets and the contracts they currently list.
      description: >-
        Returns every covered commodity futures market with its commodity,
        exchange, settlement currency and code prefixes, plus the contracts
        listed as of today, earliest expiry first and never including one that
        has already expired. A contract whose generated code would name a
        different delivery year than its own expiry is omitted, because booking
        takes the maturity from the code and rejects a position where the two
        disagree. Listings depend on the current date, so the result is not
        stable across days. This synchronous operation is read-only.
      operationId: CommodityFutureOptions
      responses:
        '200':
          description: >-
            Returns the commodity futures markets with `IsSuccess = true`, or
            `IsSuccess = false` with the reason reference data could not be
            read.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGetCommodityFutureOptionsResponse'
        '400':
          description: BadRequest
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
        - oauth2: []
        - apikey: []
components:
  schemas:
    ApiGetCommodityFutureOptionsResponse:
      required:
        - $type
      type: object
      properties:
        is_success:
          type: boolean
          description: >-
            Whether the operation completed successfully. The default is `true`;
            error outcomes set it to `false`.
          example: true
        error_messages:
          type: array
          items:
            type: string
          description: >-
            Messages explaining operation-level failures. The collection is
            empty by default.
          nullable: true
        commodity_future_markets:
          type: array
          items:
            $ref: '#/components/schemas/CommodityFutureMarketOption'
          description: >-
            Every commodity futures market covered by reference data, ordered by
            commodity name and then

            exchange. Empty when reference data lists none, or when the request
            failed.
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.TradeBooking.ApiGetCommodityFutureOptionsResponse,
              Derivitec.Web.Core
      additionalProperties: false
      description: >-
        The commodity futures markets available to trade booking, used to
        populate the underlyer

        selector for commodity futures and commodity options.
    CommodityFutureMarketOption:
      required:
        - $type
      type: object
      properties:
        futures_market_id:
          type: string
          description: >-
            Identifies this futures market within Derivitec reference data.
            Stable across requests and

            used to keep a selection pointing at the same market.
          nullable: true
        commodity_id:
          type: string
          description: >-
            Identifies the underlying commodity in Derivitec reference data.
            Several markets can quote

            the same commodity on different exchanges.
          nullable: true
        display_name:
          type: string
          description: >-
            The commodity's name as traders know it, used as the label in the
            underlyer selector.
          nullable: true
          example: Aluminium
        currency:
          type: string
          description: >-
            The ISO currency this market's contracts settle in. Applied to a
            booked contract when the

            market is chosen, so a position cannot carry a currency the market
            does not quote.
          nullable: true
          example: USD
        exchange:
          type: string
          description: >-
            The exchange the contracts are listed on, which distinguishes
            markets sharing a commodity.
          nullable: true
          example: LME
        settlement_type:
          enum:
            - cash
            - physical
          type: string
          description: >-
            Settlement method defined by this futures market: cash payment or
            physical delivery.

            Applied to the commodity future when its market is selected and
            shown read-only; import

            rejects a supplied settlement method that differs from this
            reference-data value.
        bloomberg_prefix:
          type: string
          description: >-
            The prefix Bloomberg codes for this market start with. Empty when
            the market has no

            Bloomberg coverage.
          nullable: true
          example: LA
        reuters_prefix:
          type: string
          description: >-
            The prefix Reuters codes for this market start with, used to
            recognise which market a

            futures code already on a position belongs to. Empty when the market
            has no Reuters coverage.
          nullable: true
          example: MAL
        listed_contracts:
          type: array
          items:
            $ref: '#/components/schemas/TradeBookingFutureContractOption'
          description: >-
            The contracts this market lists as of today, earliest expiry first
            and never including one

            that has already expired or one whose futures code would resolve to
            a different delivery

            year than its own expiry. Empty when the market lists nothing
            bookable, in which case no

            expiry can be chosen for it.
          nullable: true
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.TradeBooking.CommodityFutureMarketOption,
              Derivitec.Web.Core
      additionalProperties: false
      description: >-
        A commodity futures market a trade can be booked against, together with
        the contracts it

        currently lists. Choosing one of these fills in the underlyer, exchange
        and currency of a

        commodity future or commodity option so that they cannot be typed
        inconsistently.
    TradeBookingFutureContractOption:
      required:
        - $type
      type: object
      properties:
        futures_code:
          type: string
          description: >-
            The Reuters futures code identifying this contract, such as `MALZ6`.
            Import and booking

            take the maturity from this code alone, so it is what fixes which
            contract is bought or sold.
          nullable: true
          example: MALZ6
        display_code:
          type: string
          description: >-
            The same contract written the way traders read it on a Bloomberg
            screen. Shown in the

            selector; never used to book.
          nullable: true
          example: LAZ6 Comdty
        expiration_date:
          type: string
          description: >-
            The date this contract expires, as a UTC calendar date with no
            meaningful time of day. It

            agrees with
            Derivitec.Web.Core.TradeBooking.TradeBookingFutureContractOption.FuturesCode
            by construction - a contract whose code would resolve

            to another date is not offered - and a booking that states the two
            out of step is rejected.
          format: date-time
          example: '2026-12-16T00:00:00Z'
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.TradeBooking.TradeBookingFutureContractOption,
              Derivitec.Web.Core
      additionalProperties: false
      description: >-
        One listed futures contract a trade can be booked against, as offered by
        a futures market's

        expiry selector.
  securitySchemes:
    oauth2:
      type: oauth2
      description: >-
        OAuth2 access-token requested from AWS Cognito and provided as a Auth
        Bearer header
      flows:
        implicit:
          authorizationUrl: https://auth.riskportal.derivitec.com/oauth2/authorize
          scopes: {}
    apikey:
      type: apiKey
      description: API-Key requested via the site and provided as a header
      name: x-api-key
      in: header

````