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

# Resolve canonical instrument identifiers

> Resolve an instrument identifier for portfolio import. This canonical symbol lookup accepts Itoflow symbol, ticker, broker symbol, ISIN, Itoflow exchange code, ISO 10383 MIC, and currency evidence. Conflicting, incomplete or unsupported evidence is rejected rather than guessed.

Operation ID: getSymbolsResolve.



## OpenAPI

````yaml /openapi/itoflow-public.openapi.json get /symbols/resolve
openapi: 3.1.0
info:
  description: >-
    All Itoflow APIs are experimental and may change without notice. Read-only
    operations marked interactive can be tried from the documentation; the
    others are reference-only.
  title: Itoflow Developer API
  version: 1.0.0
servers:
  - description: Itoflow API
    url: https://api.itoflow.ai
security: []
tags:
  - name: Account
  - name: Billing
  - name: Brokers
  - name: Chat
  - name: Connected MCP servers
  - name: GitHub
  - name: Market data
  - name: Monitors
  - name: Notifications
  - name: Portfolios
  - name: Risk runs
  - name: Sharing and data
  - name: Strategies
paths:
  /symbols/resolve:
    get:
      tags:
        - Market data
      summary: Resolve canonical instrument identifiers
      description: >-
        Resolve an instrument identifier for portfolio import. This canonical
        symbol lookup accepts Itoflow symbol, ticker, broker symbol, ISIN,
        Itoflow exchange code, ISO 10383 MIC, and currency evidence.
        Conflicting, incomplete or unsupported evidence is rejected rather than
        guessed.


        Operation ID: getSymbolsResolve.
      operationId: getSymbolsResolve
      parameters:
        - in: query
          name: broker_symbol
          required: false
          schema:
            maxLength: 80
            minLength: 1
            type: string
        - in: query
          name: company_name
          required: false
          schema:
            maxLength: 500
            minLength: 1
            type: string
        - in: query
          name: currency
          required: false
          schema:
            maxLength: 10
            minLength: 1
            type: string
        - description: >-
            Supported Itoflow exchange code such as US or LSE; do not pass a
            venue name such as NASDAQ.
          in: query
          name: exchange
          required: false
          schema:
            description: >-
              Supported Itoflow exchange code such as US or LSE; do not pass a
              venue name such as NASDAQ.
            maxLength: 20
            minLength: 1
            type: string
        - in: query
          name: isin
          required: false
          schema:
            maxLength: 20
            minLength: 1
            type: string
        - description: >-
            ISO 10383 market identifier code used as venue evidence, such as
            XNAS.
          in: query
          name: mic
          required: false
          schema:
            description: >-
              ISO 10383 market identifier code used as venue evidence, such as
              XNAS.
            maxLength: 10
            minLength: 1
            type: string
        - in: query
          name: siq_symbol
          required: false
          schema:
            maxLength: 70
            minLength: 1
            type: string
        - description: >-
            Ticker on the supplied exchange or MIC. Letters followed by one dot,
            slash or space and one or two class letters use the dashed listing
            when it exists (BRK.B, BRK/B or BRK B becomes BRK-B). BRKB is not
            guessed. Other evidence must agree.
          in: query
          name: ticker
          required: false
          schema:
            description: >-
              Ticker on the supplied exchange or MIC. Letters followed by one
              dot, slash or space and one or two class letters use the dashed
              listing when it exists (BRK.B, BRK/B or BRK B becomes BRK-B). BRKB
              is not guessed. Other evidence must agree.
            maxLength: 80
            minLength: 1
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstrumentResolveSuccessResponse'
          description: Canonical Itoflow instrument
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Authentication required
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstrumentResolveFailureResponse'
          description: Identifier evidence is incomplete, unresolved, or conflicting
      security:
        - bearerAuth: []
components:
  schemas:
    InstrumentResolveSuccessResponse:
      properties:
        instrument:
          $ref: '#/components/schemas/InstrumentResolveInstrument'
        ok:
          enum:
            - true
          type: boolean
      required:
        - instrument
        - ok
      type: object
    Error:
      properties:
        available:
          description: Optional available amount or value
          type: string
        billing_action:
          $ref: '#/components/schemas/BillingAction'
        code:
          description: Machine-readable error code
          type: string
        currentVersion:
          description: Current server-side version, when relevant
          type: number
        details:
          description: Optional structured error details
        error:
          description: Error type or code
          type: string
        expectedVersion:
          description: Client-provided expected version, when relevant
          type: number
        message:
          description: Human-readable error message
          type: string
        requested:
          description: Optional requested amount or value
          type: string
        usage:
          description: Optional usage metadata for limit errors
      required:
        - error
      type: object
    InstrumentResolveFailureResponse:
      discriminator:
        mapping:
          canonical_currency_missing: '#/components/schemas/InstrumentResolveGenericFailureResponse'
          exchange_or_mic_required: '#/components/schemas/InstrumentResolveGenericFailureResponse'
          identifier_evidence_missing: '#/components/schemas/InstrumentResolveGenericFailureResponse'
          instrument_identifier_conflict: '#/components/schemas/InstrumentResolveGenericFailureResponse'
          instrument_identity_unresolved: '#/components/schemas/InstrumentResolveGenericFailureResponse'
          unsupported_exchange: '#/components/schemas/InstrumentResolveUnsupportedExchangeResponse'
          unsupported_mic: '#/components/schemas/InstrumentResolveUnsupportedMicResponse'
        propertyName: error
      oneOf:
        - $ref: '#/components/schemas/InstrumentResolveGenericFailureResponse'
        - $ref: '#/components/schemas/InstrumentResolveUnsupportedExchangeResponse'
        - $ref: '#/components/schemas/InstrumentResolveUnsupportedMicResponse'
    InstrumentResolveInstrument:
      properties:
        broker_symbol:
          type: string
        currency:
          type: string
        exchange:
          type: string
        isin:
          type: string
        mic:
          type: string
        name:
          type: string
        siq_symbol:
          type: string
      required:
        - currency
        - exchange
        - name
        - siq_symbol
      type: object
    BillingAction:
      description: Action that resolves a billing-related rejection
      properties:
        href:
          type: string
        kind:
          enum:
            - upgrade
            - payment_method
            - spending_cap
            - billing
          type: string
        label:
          type: string
      required:
        - href
        - label
        - kind
      type: object
    InstrumentResolveGenericFailureResponse:
      properties:
        error:
          enum:
            - canonical_currency_missing
            - exchange_or_mic_required
            - identifier_evidence_missing
            - instrument_identifier_conflict
            - instrument_identity_unresolved
          type: string
        message:
          type: string
        missing_evidence:
          items:
            type: string
          type: array
        ok:
          enum:
            - false
          type: boolean
      required:
        - error
        - message
        - ok
      type: object
    InstrumentResolveUnsupportedExchangeResponse:
      properties:
        error:
          enum:
            - unsupported_exchange
          type: string
        message:
          type: string
        ok:
          enum:
            - false
          type: boolean
        supported_exchanges:
          items:
            type: string
          type: array
      required:
        - error
        - message
        - ok
        - supported_exchanges
      type: object
    InstrumentResolveUnsupportedMicResponse:
      properties:
        error:
          enum:
            - unsupported_mic
          type: string
        message:
          type: string
        ok:
          enum:
            - false
          type: boolean
        supported_mics:
          items:
            type: string
          type: array
      required:
        - error
        - message
        - ok
        - supported_mics
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      description: Itoflow access token issued for the Itoflow API.
      scheme: bearer
      type: http

````

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