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

# Get Instrument Details

> Retrieves detailed information about instruments based on the provided filter criteria. Allows optional filtering by product codes, symbols, instrument IDs, trading states, activation date, and expiration date.



## OpenAPI

````yaml /api-reference/derivatives-api/rest-api/cde-spec.json post /rest/instruments
openapi: 3.0.3
info:
  title: Derivatives Public REST API
  version: 0.1.0
  description: Public REST API for Coinbase Derivatives Exchange Public REST Gateway
servers:
  - url: https://api.exchange.fairx.net
    variables: {}
security:
  - auth_api_key: []
  - auth_timestamp: []
  - auth_passphrase: []
  - auth_signature: []
paths:
  /rest/instruments:
    post:
      tags:
        - Instruments
      summary: Get Instrument Details
      description: >-
        Retrieves detailed information about instruments based on the provided
        filter criteria. Allows optional filtering by product codes, symbols,
        instrument IDs, trading states, activation date, and expiration date.
      operationId: getInstruments
      parameters: []
      requestBody:
        description: Optional instrument filter criteria, can be omitted
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetInstrumentDetailsRequest'
        required: false
      responses:
        '200':
          description: Successfully retrieved instrument details
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InstrumentDetailsResponse'
        '400':
          description: Bad request - invalid parameters
        '403':
          description: Forbidden - insufficient permissions
      deprecated: false
      security: []
components:
  schemas:
    GetInstrumentDetailsRequest:
      type: object
      additionalProperties: false
      properties:
        product_codes:
          type: array
          items:
            type: string
          example:
            - BIP
        symbols:
          type: array
          items:
            type: string
          example:
            - BIPZ30
            - B*
        instrument_ids:
          type: array
          items:
            type: integer
            format: int32
          example:
            - 1234
            - 12345
        trading_states:
          type: array
          items:
            $ref: '#/components/schemas/InstrumentTradingState'
          example:
            - PRE_OPEN
            - EXPIRED
        activation_date:
          type: string
          format: date
          example: '2026-02-12'
        expiration_date:
          type: string
          format: date
          example: '2026-02-12'
    InstrumentDetailsResponse:
      type: object
      additionalProperties: false
      properties:
        product_id:
          type: integer
          format: int32
          description: Unique identifier for the product
          example: 409
        instrument_id:
          type: integer
          format: int32
          description: Unique identifier for the instrument
          example: 410
        contract_type:
          $ref: '#/components/schemas/ContractType'
          description: Contract type (e.g. OUTRIGHT, SPREAD)
          example: OUTRIGHT
        product_group:
          $ref: '#/components/schemas/ProductGroup'
          description: Product group classification (e.g. CRYPTO)
          example: CRYPTO
        symbol:
          type: string
          description: Trading symbol for the instrument
          example: BITN22
        product_code:
          type: string
          description: Product code identifier
          example: BIT
        trading_state:
          $ref: '#/components/schemas/InstrumentTradingState'
          description: Current trading state of the instrument
          example: OPEN
        contract_unit:
          type: string
          description: Unit of the contract (e.g. Bitcoin)
          example: Bitcoin
        contract_size:
          type: number
          format: double
          description: Size of one contract
          example: 0.01
        price_band:
          type: integer
          format: int32
          description: Price band threshold in ticks
          example: 100
        price_band_multiplier:
          type: integer
          format: int32
          description: Multiplier applied to the price band threshold
          example: 4
        price_band_reference_price:
          type: number
          format: double
          description: Reference price used for price band calculations
          example: 50000.5
        max_order_size:
          type: integer
          format: int32
          description: Maximum allowed order size in contracts
          example: 1000
        market_order_protection_ticks:
          type: integer
          format: int32
          description: Market order protection limit in ticks
          example: 10
        short_initial_margin:
          type: integer
          format: int32
          description: Initial margin requirement for short positions in basis points
          example: 5000
        long_initial_margin:
          type: integer
          format: int32
          description: Initial margin requirement for long positions in basis points
          example: 5000
        price_limit_reference_price:
          type: number
          format: double
          description: Reference price used for price limit calculations
          example: 50000.5
        prior_settlement_price:
          type: number
          format: double
          description: Prior session settlement price
          example: 49500.5
        last_end_of_day_settlement_price:
          type: number
          format: double
          description: Last end-of-day settlement price
          example: 49500.5
        low_limit_price:
          type: number
          format: double
          description: Lower price limit for the instrument
          example: 45000.5
        high_limit_price:
          type: number
          format: double
          description: Upper price limit for the instrument
          example: 55000.5
        tick_size:
          type: number
          format: double
          description: Minimum price increment in decimal
          example: 0.01
        activation_time:
          type: string
          format: date-time
          description: Time when the instrument becomes active for trading
          example: 2022-06-26T17:50
        expiration_time:
          type: string
          format: date-time
          description: Time when the instrument expires
          example: 2022-07-29T11:00
        final_settlement_date:
          type: string
          format: date
          description: Date of final settlement
          example: '2022-07-29'
        first_trading_session_date:
          type: string
          format: date
          description: First date the instrument is available for trading
          example: '2022-06-26'
        last_trading_session_date:
          type: string
          format: date
          description: Last date the instrument is available for trading
          example: '2022-07-29'
        lead_transition_date:
          type: string
          format: date
          description: Date when the instrument transitions to lead month
          example: '2022-07-01'
        is_lead:
          type: boolean
          description: Whether this instrument is the lead month contract
          example: true
        is24x7_enabled:
          type: boolean
          description: Whether 24x7 trading is enabled
          example: true
        is_perp:
          type: boolean
          description: Whether the instrument is a perpetual contract
          example: false
        fair_value_limit_range:
          type: integer
          format: int32
          description: Fair value limit range in ticks
          example: 100
        funding_interval_minutes:
          type: integer
          format: int32
          description: Funding interval for perpetual contracts in minutes
          example: 10
        is_block_eligible:
          type: boolean
          description: Whether the instrument is eligible for block trades
          example: true
        block_min_qty:
          type: integer
          format: int32
          description: Minimum quantity for block trades
          example: 100
        trading_session_date:
          type: string
          format: date
          description: Current trading session date
          example: '2022-07-15'
        expiry_year:
          type: integer
          format: int32
          description: Expiry year of the instrument
          example: 2022
        expiry_month:
          type: integer
          format: int32
          description: Expiry month of the instrument
          example: 7
        fml_short_enabled:
          type: boolean
          description: Whether FML short-side monitoring is enabled
          example: true
        fml_short_back_month_enabled:
          type: boolean
          description: >-
            Whether FML short-side monitoring is enabled for back month
            contracts
          example: true
        fml_short_lead_month_ticks_threshold:
          type: integer
          format: int32
          description: FML short-side threshold for lead month contracts in ticks
          example: 200
        fml_short_back_month_ticks_threshold:
          type: integer
          format: int32
          description: FML short-side threshold for back month contracts in ticks
          example: 200
        fml_short_look_back_ms:
          type: integer
          format: int32
          description: FML short-side look-back window in milliseconds
          example: 1000
        fml_short_pb_multiplier_enabled:
          type: boolean
          description: >-
            Whether the price band multiplier is applied to FML short-side
            thresholds
          example: true
        fml_long_enabled:
          type: boolean
          description: Whether FML long-side monitoring is enabled
          example: false
        fml_long_back_month_enabled:
          type: boolean
          description: Whether FML long-side monitoring is enabled for back month contracts
          example: false
        fml_long_lead_month_ticks_threshold:
          type: integer
          format: int32
          description: FML long-side threshold for lead month contracts in ticks
          example: 0
        fml_long_back_month_ticks_threshold:
          type: integer
          format: int32
          description: FML long-side threshold for back month contracts in ticks
          example: 0
        fml_long_look_back_ms:
          type: integer
          format: int32
          description: FML long-side look-back window in milliseconds
          example: 0
        fml_long_pb_multiplier_enabled:
          type: boolean
          description: >-
            Whether the price band multiplier is applied to FML long-side
            thresholds
          example: false
        fml_halt_duration:
          type: integer
          format: int32
          description: Duration of an FML halt in milliseconds
          example: 20000
        fml_max_reopen_loops:
          type: integer
          format: int32
          description: Maximum number of FML reopen attempts
          example: 3
    InstrumentTradingState:
      type: string
      enum:
        - PRE_OPEN
        - OPEN
        - HALT
        - PAUSE
        - CLOSE
        - PRE_OPEN_NO_CANCEL
        - EXPIRED
    ContractType:
      type: string
      enum:
        - OUTRIGHT
        - CALENDAR_SPREAD
        - OPTION
    ProductGroup:
      type: string
      enum:
        - CURRENCY
        - EQUITY
        - ENERGY
        - METALS
        - INTEREST_RATE
        - AGRICULTURE
        - CRYPTO
  securitySchemes:
    auth_api_key:
      in: header
      name: CB-ACCESS-KEY
      description: The key string of the API key for the request
      type: apiKey
    auth_timestamp:
      in: header
      name: CB-ACCESS-TIMESTAMP
      description: The timestamp of when the request is being made (in epoch seconds)
      type: apiKey
    auth_passphrase:
      in: header
      name: CB-ACCESS-PASSPHRASE
      description: The passphrase affiliated with the API Key
      type: apiKey
    auth_signature:
      in: header
      name: CB-ACCESS-SIGN
      description: >-
        An HMAC SHA-256 signature using the API Key secret on the string
        TIMESTAMP, METHOD, REQUEST_PATH, BODY
      type: apiKey

````