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

# Find commodity instruments by identifier or search text.

> Use this operation for a commodity picker or to resolve a linked commodity's internal ID. Search text
matches names, sectors, and subsectors without regard to case. An exact, case-insensitive internal-ID
match also returns an inactive commodity so historical contract links can resolve their descriptor;
ordinary text searches exclude inactive commodities. `HasVolData=true` restricts all results to
commodities with volatility data; its default is
`false`. `StartRow=1` selects the first result; the action does not define a conventional later-page
bound. `IsPaginatedRequest` does not affect this action. It is read-only and completes before returning.



## OpenAPI

````yaml /risk-and-pricing/atoti-risk-services/apis-endpoints/openapi/openapi.mintlify.json post /api/Commodity/GetInstruments
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/GetInstruments:
    post:
      tags:
        - Commodity
      summary: Find commodity instruments by identifier or search text.
      description: >-
        Use this operation for a commodity picker or to resolve a linked
        commodity's internal ID. Search text

        matches names, sectors, and subsectors without regard to case. An exact,
        case-insensitive internal-ID

        match also returns an inactive commodity so historical contract links
        can resolve their descriptor;

        ordinary text searches exclude inactive commodities. `HasVolData=true`
        restricts all results to

        commodities with volatility data; its default is

        `false`. `StartRow=1` selects the first result; the action does not
        define a conventional later-page

        bound. `IsPaginatedRequest` does not affect this action. It is read-only
        and completes before returning.
      operationId: GetInstruments
      requestBody:
        description: >-
          A non-null `SearchTerm` containing an internal commodity ID or search
          text (empty selects all active commodities), `StartRow` greater than
          or equal to 1, `EndRow` greater than or equal to `StartRow`, and
          optional `HasVolData` (default `false`).
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/ApiListCommodityInstrumentsRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/ApiListCommodityInstrumentsRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/ApiListCommodityInstrumentsRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ApiListCommodityInstrumentsRequest'
      responses:
        '200':
          description: Returns matching commodity descriptors and a last-page flag.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiBaseListPaginatedInstrumentsResponse'
        '400':
          description: BadRequest
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
        - oauth2: []
        - apikey: []
components:
  schemas:
    ApiListCommodityInstrumentsRequest:
      required:
        - $type
      type: object
      properties:
        is_paginated_request:
          type: string
          description: >-
            Compatibility paging-mode field with no observable effect in current
            MarketData listing operations.
          nullable: true
        start_row:
          type: integer
          description: >-
            Starting row selector for the requested page; indexing conventions
            are operation-specific.
          format: int32
        end_row:
          type: integer
          description: >-
            Upper row selector for the requested page; each listing operation
            defines whether it is inclusive or exclusive.
          format: int32
        search_term:
          type: string
          description: Text used to filter the available instruments.
          nullable: true
        has_vol_data:
          type: boolean
          description: >-
            When true, keeps only instruments with volatility data; false does
            not apply that filter.
          example: false
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.MarketData.ApiListCommodityInstrumentsRequest,
              Derivitec.Web.Core
      additionalProperties: false
      description: >-
        Searches commodity descriptors by internal ID or by name, sector, and
        subsector, with an optional volatility-data filter.
    ApiBaseListPaginatedInstrumentsResponse:
      description: Shared page of instrument summaries with an end-of-results indicator.
      discriminator:
        propertyName: $type
        mapping:
          Derivitec.Web.Core.MarketData.ApiBaseListPaginatedInstrumentsResponse, Derivitec.Web.Core: >-
            #/components/schemas/ApiBaseListPaginatedInstrumentsResponseMintlifyShape
          Derivitec.Web.Core.MarketData.ApiListCommodityInstrumentsResponse, Derivitec.Web.Core: '#/components/schemas/ApiListCommodityInstrumentsResponse'
      oneOf:
        - $ref: >-
            #/components/schemas/ApiBaseListPaginatedInstrumentsResponseMintlifyShape
        - $ref: '#/components/schemas/ApiListCommodityInstrumentsResponse'
    ApiBaseListPaginatedInstrumentsResponseMintlifyShape:
      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
        instruments:
          type: array
          items:
            $ref: '#/components/schemas/InstrumentInfo'
          description: Instrument summaries in the current page.
          nullable: true
        last_row:
          type: boolean
          description: Whether this page reaches the end of the result set.
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.MarketData.ApiBaseListPaginatedInstrumentsResponse,
              Derivitec.Web.Core
      additionalProperties: false
      description: Shared page of instrument summaries with an end-of-results indicator.
    ApiListCommodityInstrumentsResponse:
      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
        instruments:
          type: array
          items:
            $ref: '#/components/schemas/CommodityInfo'
          description: Instrument summaries in the current page.
          nullable: true
        last_row:
          type: boolean
          description: Whether this page reaches the end of the result set.
        $type:
          type: string
          enum:
            - >-
              Derivitec.Web.Core.MarketData.ApiListCommodityInstrumentsResponse,
              Derivitec.Web.Core
      additionalProperties: false
      description: Paginated search result for commodity instruments.
    InstrumentInfo:
      required:
        - $type
      type: object
      properties:
        code:
          type: string
          description: Instrument code interpreted in the selected identifier namespace.
          nullable: true
        identifier_type:
          enum:
            - Derivitec
            - Ric
            - Bloomberg
            - Isin
            - Figi
            - Sedol
            - RedCode
            - RedPairCode
            - BloombergYellow
            - XIgniteCode
            - CBondsId
            - EdiSecId
            - EdiSymbol
            - Cusip
            - NotSet
          type: string
          description: Namespace that determines how the instrument code is interpreted.
        market_identification_code:
          type: string
          description: >-
            Optional market identification code that further qualifies the
            instrument code.
          nullable: true
        name:
          type: string
          description: Human-readable name of the identified instrument.
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.MarketData.InstrumentInfo, Derivitec.Web.Core
      additionalProperties: false
      description: Instrument identifier with a human-readable instrument name.
    CommodityInfo:
      required:
        - $type
      type: object
      properties:
        id:
          type: string
          description: Gets or sets the id.
          nullable: true
        currency:
          type: string
          description: Gets or sets the currency.
          nullable: true
        exchange:
          type: string
          description: Gets or sets the exchange.
          nullable: true
        name:
          type: string
          description: Gets or sets the name.
          nullable: true
        sector:
          type: string
          description: Gets or sets the sector (Energy, Power, Metals, Agriculture, Other).
          nullable: true
        settlement_calendar:
          type: string
          description: Gets or sets the settlement calendar.
          nullable: true
        is_active:
          type: boolean
          description: >-
            Gets or sets a value indicating whether the commodity is active.

            If false, the commodity will not appear in the list of covered
            commodities and we do not fit a

            convenience yield curve
        settlement_lag:
          type: integer
          description: Gets or sets the settlement lag.
          format: int32
        sub_sector:
          type: string
          description: |-
            Gets or sets the sector 
            Energy: Unrefined, Refined
            Power
            Metals: Precious, Base, Ferrous
            Agriculture: Grains, Soft, Livestock.
          nullable: true
        unit:
          type: string
          description: Gets or sets the unit (metric ton, bushel, etc.).
          nullable: true
        $type:
          type: string
          enum:
            - Derivitec.Web.Core.MarketData.CommodityInfo, Derivitec.Web.Core
      additionalProperties: false
      description: Commodity reference information.
  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

````