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

# Official OI history for a whole dex

> Per-coin open-interest history for EVERY coin on the requested dex in one response, from Hyperliquid's official market snapshots (open interest, mark price, and rolling 24h notional volume per snapshot). The batch replaces N calls to /live/official-oi/{coin} with one window scan; the per-coin route remains for single-market callers. Hours is clamped to the 90-day product ceiling (1..2160). Coins are grouped in symbol order with each history ascending by time; a coin with no snapshots in the window is simply absent.



## OpenAPI

````yaml /api-reference/openapi.json get /api/public/v1/live/official-oi
openapi: 3.1.0
info:
  title: coinversa-api
  version: 0.1.0
servers:
  - url: https://api.coinversa.ai
    description: Production
security: []
paths:
  /api/public/v1/live/official-oi:
    get:
      tags:
        - Live Markets
      summary: Official OI history for a whole dex
      description: >-
        Per-coin open-interest history for EVERY coin on the requested dex in
        one response, from Hyperliquid's official market snapshots (open
        interest, mark price, and rolling 24h notional volume per snapshot). The
        batch replaces N calls to /live/official-oi/{coin} with one window scan;
        the per-coin route remains for single-market callers. Hours is clamped
        to the 90-day product ceiling (1..2160). Coins are grouped in symbol
        order with each history ascending by time; a coin with no snapshots in
        the window is simply absent.
      operationId: get-api-public-v1-live-official-oi
      parameters:
        - description: >-
            Dex to list (hl for native, or a builder-dex prefix like xyz, km,
            cash)
          explode: false
          in: query
          name: dex
          schema:
            default: hl
            description: >-
              Dex to list (hl for native, or a builder-dex prefix like xyz, km,
              cash)
            type: string
        - description: Look-back window in hours (clamped to 1..2160)
          explode: false
          in: query
          name: hours
          schema:
            default: 168
            description: Look-back window in hours (clamped to 1..2160)
            format: int32
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfficialOIBatchBody'
          description: OK
        '400':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Bad Request
        '401':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Unauthorized
        '422':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Unprocessable Entity
        '429':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Too Many Requests
        '500':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Internal Server Error
        '504':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/APIError'
          description: Gateway Timeout
      security:
        - apiKey: []
components:
  schemas:
    OfficialOIBatchBody:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - https://api.coinversa.ai/schemas/OfficialOIBatchBody.json
          format: uri
          readOnly: true
          type: string
        coins:
          items:
            $ref: '#/components/schemas/OfficialOICoinSeries'
          type:
            - array
            - 'null'
        dex:
          type: string
        hours:
          format: int32
          type: integer
      required:
        - dex
        - hours
        - coins
      type: object
    APIError:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - https://api.coinversa.ai/schemas/APIError.json
          format: uri
          readOnly: true
          type: string
        code:
          description: Machine-readable error code
          type: string
        current_tier:
          description: Caller's effective tier
          type: string
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        required_tier:
          description: Minimum tier for this operation
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
        upgrade_url:
          description: Where to upgrade
          type: string
      type: object
    OfficialOICoinSeries:
      additionalProperties: false
      properties:
        coin:
          type: string
        history:
          items:
            $ref: '#/components/schemas/OfficialOIEntry'
          type:
            - array
            - 'null'
      required:
        - coin
        - history
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
    OfficialOIEntry:
      additionalProperties: false
      properties:
        coin:
          type: string
        dayNtlVlm:
          format: double
          type: number
        dex:
          type: string
        markPx:
          format: double
          type: number
        openInterest:
          format: double
          type: number
        timestamp:
          format: int64
          type: integer
      required:
        - timestamp
        - coin
        - dex
        - openInterest
        - markPx
        - dayNtlVlm
      type: object
  securitySchemes:
    apiKey:
      description: Get one at https://coinversa.ai/developers
      in: header
      name: X-API-Key
      type: apiKey

````