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

# Read the instrument catalog

> instrument_type is 1 spot or 2 derivatives.

<Note>Preview contract. Production availability remains subject to activation and release qualification. Examples are synthetic; the documentation cannot submit requests.</Note>

## Authorization

`read`; enumeration and exact selection respect instrument restrictions.

## Behavior

instrument\_type is 1 spot or 2 derivatives. Read data.all, optional selected, hash and expiration. Preserve opaque instrument IDs. Send the returned 64-character catalog hash on an equivalent refresh; 304 means the supplied catalog is current and has no new response body.

## Request example

```http theme={null}
GET /v1/symbols/list?exchange_link_id=17&instrument_type=2
Authorization: Bearer YOUR_API_KEY_FROM_PRIVATE_STORAGE
```

All IDs and dates are illustrative. URL-encode opaque query values and supply each allowed key once. Optional filters and their types appear in the generated schema below.

## Response and errors

The generated response schema below is the wire contract. Preserve fixed-point strings, nullable fields and endpoint-specific envelopes. Inspect HTTP status and Content-Type before decoding failures; reused trading routes may return JSON or plain text. Authentication, entitlement and exact link/instrument restrictions apply in addition to endpoint validation. See [errors and recovery](/api/errors-and-limits).

Read the [related guide](/api/accounts-and-instruments) for lifecycle, units and recovery semantics.


## OpenAPI

````yaml api/openapi.json GET /v1/symbols/list
openapi: 3.1.0
info:
  title: Liftx integrations
  version: 1.0.0
  description: >-
    Preview contract for the Liftx API, TradingView webhook and session-owned
    integration settings. Production availability is pending activation and
    release qualification. External access requires Pro or trial entitlement and
    is unmetered within bounded resource limits. Receipt acceptance does not
    confirm execution completion. MCP is not active.
servers:
  - url: https://api.liftx.io
security: []
paths:
  /v1/symbols/list:
    get:
      summary: Read canonical symbols/list
      description: >-
        Returns the canonical Liftx response documented below. Preserve
        fixed-point decimals and inspect HTTP status and Content-Type before
        decoding errors.
      operationId: get_v1_symbols_list
      parameters:
        - name: exchange_link_id
          in: query
          required: true
          schema:
            type: integer
            minimum: 1
            maximum: 9007199254740991
        - name: instrument_type
          in: query
          required: true
          schema:
            type: integer
            format: int64
        - name: instrument_id
          in: query
          required: false
          schema:
            type: string
        - name: hash
          in: query
          required: false
          schema:
            type: string
            pattern: ^[a-f0-9]{64}$
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      all:
                        type: array
                        items:
                          $ref: '#/components/schemas/Symbol'
                      selected:
                        $ref: '#/components/schemas/Symbol'
                      hash:
                        type: string
                      expiration:
                        type: integer
                        format: int64
                    required:
                      - all
                      - hash
                      - expiration
                    additionalProperties: false
                required:
                  - success
                  - data
                additionalProperties: true
              examples:
                synthetic:
                  summary: Synthetic catalog; illustrated limits are not venue defaults
                  description: >-
                    Synthetic documentation data, not an account snapshot,
                    executable market configuration or production-availability
                    assertion. IDs, quantities, prices, times and values are
                    illustrative.
                  value:
                    success: true
                    data:
                      all:
                        - instrument_id: COPY_EXACT_CATALOG_ID
                          fee_schedule_id: SYNTHETIC_FEE_SCHEDULE
                          base: BTC
                          quote: USDT
                          lot_size_atomic: '1'
                          lot_size_scale: 4
                          tick_size_atomic: '1'
                          tick_size_scale: 1
                          instrument_type: 2
                          instrument_topology: 2
                          leverage: 2
                          min_size_atomic: '1'
                          min_size_scale: 4
                          contract_value_atomic: '1'
                          contract_value_scale: 2
                          state: live
                      selected:
                        instrument_id: COPY_EXACT_CATALOG_ID
                        fee_schedule_id: SYNTHETIC_FEE_SCHEDULE
                        base: BTC
                        quote: USDT
                        lot_size_atomic: '1'
                        lot_size_scale: 4
                        tick_size_atomic: '1'
                        tick_size_scale: 1
                        instrument_type: 2
                        instrument_topology: 2
                        leverage: 2
                        min_size_atomic: '1'
                        min_size_scale: 4
                        contract_value_atomic: '1'
                        contract_value_scale: 2
                        state: live
                      hash: >-
                        0000000000000000000000000000000000000000000000000000000000000000
                      expiration: 1893456300
        '304':
          description: Supplied catalog hash is current
        default:
          description: >-
            Integration errors use Error; existing trading handlers retain their
            own JSON or text/plain error codec. Inspect status and content type.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
            text/plain:
              schema:
                type: string
      security:
        - ApiKey: []
components:
  schemas:
    Symbol:
      type: object
      properties:
        instrument_id:
          type: string
        fee_schedule_id:
          type: string
        base:
          type: string
        quote:
          type: string
        lot_size_atomic:
          type: string
        lot_size_scale:
          type: integer
          format: int64
        tick_size_atomic:
          type: string
        tick_size_scale:
          type: integer
          format: int64
        instrument_type:
          type: integer
          format: int64
        instrument_topology:
          type: integer
          format: int64
        leverage:
          type: integer
          format: int64
        min_size_atomic:
          type: string
        min_size_scale:
          type: integer
          format: int64
        contract_value_atomic:
          type: string
        contract_value_scale:
          type: integer
          format: int64
        max_limit_size_atomic:
          type: string
        max_limit_size_scale:
          type: integer
          format: int64
        max_market_size_atomic:
          type: string
        max_market_size_scale:
          type: integer
          format: int64
        max_limit_amount_atomic:
          type: string
        max_limit_amount_scale:
          type: integer
          format: int64
        max_market_amount_atomic:
          type: string
        max_market_amount_scale:
          type: integer
          format: int64
        symbol_hash:
          type: string
        state:
          type: string
      required:
        - instrument_id
        - fee_schedule_id
        - base
        - quote
        - lot_size_atomic
        - lot_size_scale
        - tick_size_atomic
        - tick_size_scale
        - instrument_type
        - instrument_topology
        - leverage
        - min_size_atomic
        - min_size_scale
        - contract_value_atomic
        - contract_value_scale
        - state
      additionalProperties: false
    Error:
      type: object
      properties:
        success:
          const: false
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
          required:
            - code
            - message
          additionalProperties: false
      required:
        - success
        - error
      additionalProperties: false
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      bearerFormat: lx_api_<credential UUID>.<256-bit secret>

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.