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

# Get monitor

> Operation ID: get__watchlists_id_.



## OpenAPI

````yaml /openapi/itoflow-public.openapi.json get /watchlists/{id}
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:
  /watchlists/{id}:
    get:
      tags:
        - Monitors
      summary: Get monitor
      description: 'Operation ID: get__watchlists_id_.'
      operationId: get__watchlists_id_
      parameters:
        - description: Monitor UUID
          in: path
          name: id
          required: true
          schema:
            description: Monitor UUID
            example: 550e8400-e29b-41d4-a716-446655440000
            format: uuid
            type: string
        - in: query
          name: include_version_history
          required: false
          schema:
            enum:
              - 'true'
              - 'false'
            type: string
        - in: query
          name: mandate_version
          required: false
          schema:
            minimum: 1
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Watchlist'
          description: Monitor
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Authentication required
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Server error
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WatchlistLifecycleUnavailableResponse'
          description: Monitor state temporarily unavailable; retry
      security:
        - bearerAuth: []
components:
  schemas:
    Watchlist:
      properties:
        agent_enabled:
          type: boolean
        created_at:
          type: string
        current_version:
          minimum: 1
          type: integer
        current_version_id:
          format: uuid
          type: string
        execution_status:
          $ref: '#/components/schemas/WatchlistLifecycleStatus'
        id:
          format: uuid
          type: string
        kind:
          $ref: '#/components/schemas/WatchlistKind'
        mandate:
          type: string
        mandate_version:
          allOf:
            - $ref: '#/components/schemas/WatchlistVersion'
            - type:
                - object
                - 'null'
        model_key:
          enum:
            - luna
            - sol
            - sol61
            - astra
            - sonnet55
            - opus55
            - terra61
            - haiku55
            - fusion_deep
            - fusion_quick
            - fusion_light
          type: string
        name:
          type: string
        profile:
          $ref: '#/components/schemas/WatchlistProfile'
        profile_config:
          $ref: '#/components/schemas/NullableStoredWatchlistProfileConfig'
        recurrence:
          $ref: '#/components/schemas/WatchlistRecurrence'
        runtime_move_pending:
          description: >-
            True while the monitor is moving to the new runtime. Runs, schedule
            changes, edits and deletion are refused until the move finishes;
            reports stay readable. Monitor reads always include it.
          type: boolean
        symbol_notes:
          $ref: '#/components/schemas/WatchlistSymbolNotes'
        symbols:
          items:
            example: AAPL.US
            pattern: ^[A-Z0-9][A-Z0-9._/&-]{0,38}\.[A-Z0-9]{2,10}$
            type: string
          type: array
        updated_at:
          type: string
        user_email:
          format: email
          type: string
        version_history:
          items:
            $ref: '#/components/schemas/WatchlistVersion'
          type: array
      required:
        - id
        - user_email
        - name
        - symbols
        - symbol_notes
        - agent_enabled
        - execution_status
        - current_version_id
        - current_version
        - mandate
        - recurrence
        - kind
        - profile
        - profile_config
        - created_at
        - updated_at
      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
    WatchlistLifecycleUnavailableResponse:
      properties:
        code:
          enum:
            - MONITOR_LIFECYCLE_UNAVAILABLE
          type: string
        error:
          enum:
            - MONITOR_LIFECYCLE_UNAVAILABLE
          type: string
        message:
          type: string
      required:
        - error
        - code
        - message
      type: object
    WatchlistLifecycleStatus:
      enum:
        - paused
        - running
      type: string
    WatchlistKind:
      enum:
        - user
        - system
      type: string
    WatchlistVersion:
      properties:
        author_type:
          $ref: '#/components/schemas/WatchlistVersionAuthorType'
        change_description:
          type: string
        effective_from:
          type: string
        effective_to:
          type:
            - string
            - 'null'
        id:
          format: uuid
          type: string
        mandate:
          type: string
        model_key:
          enum:
            - luna
            - sol
            - sol61
            - astra
            - sonnet55
            - opus55
            - terra61
            - haiku55
            - fusion_deep
            - fusion_quick
            - fusion_light
          type: string
        profile:
          $ref: '#/components/schemas/WatchlistProfile'
        profile_config:
          $ref: '#/components/schemas/NullableStoredWatchlistProfileConfig'
        recurrence:
          $ref: '#/components/schemas/WatchlistRecurrence'
        source_chat_id:
          type:
            - string
            - 'null'
        symbol_notes:
          $ref: '#/components/schemas/WatchlistSymbolNotes'
        symbols:
          items:
            example: AAPL.US
            pattern: ^[A-Z0-9][A-Z0-9._/&-]{0,38}\.[A-Z0-9]{2,10}$
            type: string
          type: array
        version_number:
          minimum: 1
          type: integer
        watchlist_id:
          format: uuid
          type: string
      required:
        - id
        - watchlist_id
        - version_number
        - mandate
        - symbols
        - symbol_notes
        - recurrence
        - change_description
        - effective_from
        - effective_to
        - author_type
        - source_chat_id
        - profile
        - profile_config
      type: object
    WatchlistProfile:
      enum:
        - research
        - fund_oversight
      type: string
    NullableStoredWatchlistProfileConfig:
      anyOf:
        - $ref: '#/components/schemas/StoredWatchlistProfileConfig'
        - type: 'null'
    WatchlistRecurrence:
      oneOf:
        - properties:
            kind:
              enum:
                - daily
              type: string
            local_time:
              pattern: ^([01]\d|2[0-3]):[0-5]\d$
              type: string
            timezone:
              type: string
          required:
            - kind
            - local_time
            - timezone
          type: object
        - properties:
            kind:
              enum:
                - weekdays
              type: string
            local_time:
              pattern: ^([01]\d|2[0-3]):[0-5]\d$
              type: string
            timezone:
              type: string
          required:
            - kind
            - local_time
            - timezone
          type: object
        - properties:
            kind:
              enum:
                - weekly
              type: string
            local_time:
              pattern: ^([01]\d|2[0-3]):[0-5]\d$
              type: string
            timezone:
              type: string
            weekdays:
              items:
                enum:
                  - monday
                  - tuesday
                  - wednesday
                  - thursday
                  - friday
                  - saturday
                  - sunday
                type: string
              maxItems: 7
              minItems: 1
              type: array
          required:
            - kind
            - weekdays
            - local_time
            - timezone
          type: object
        - type: 'null'
    WatchlistSymbolNotes:
      additionalProperties:
        type: string
      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
    WatchlistVersionAuthorType:
      enum:
        - user
        - chat_agent
        - delegate
        - migration
      type: string
    StoredWatchlistProfileConfig:
      additionalProperties: false
      description: >-
        Optional machine-readable configuration for the monitor profile,
        required by fund_oversight and rejected for research. Set
        subject.portfolio_id to a portfolio the monitor owner holds with no
        linked strategy; it is the only portfolio id here. Name the benchmark
        index, the benchmark basket and each peer fund by qualified symbol, for
        example GSPC.INDX, SPY.US and IVV.US, never a display name; each peer
        needs a holdings book. Put oversight policy, priorities and explanation
        preferences in the mandate, and durable owner policy without a typed
        field in custom, never a copy of current portfolio state. Use only the
        named threshold fields, each in the unit its description gives; unknown
        threshold keys are rejected. To change where a limit warns, set
        thresholds.warnings under the limit's own field, for example
        {"warnings": {"tracking_error_budget": 6}}. To change one row of the
        latest report, key thresholds.metrics by the metric_key that report
        shows for it.
      properties:
        comparators:
          additionalProperties: false
          description: What this fund is measured against.
          properties:
            benchmark:
              additionalProperties: false
              description: The index this fund is measured against.
              properties:
                basket_symbol:
                  description: >-
                    Qualified fund symbol whose shared book stands in for the
                    index constituents. Leave it out when index_symbol is itself
                    a fund, whose own book is then the benchmark book.
                  minLength: 1
                  pattern: ^[A-Z0-9][A-Z0-9._/&-]{0,38}\.[A-Z0-9]{2,10}$
                  type: string
                index_symbol:
                  description: >-
                    Qualified symbol whose returns are the benchmark, for
                    example SPY.US or GSPC.INDX. A price index such as GSPC.INDX
                    leaves dividends out of its return; a fund that tracks it,
                    such as SPY.US, keeps them in its adjusted prices.
                  minLength: 1
                  pattern: ^[A-Z0-9][A-Z0-9._/&-]{0,38}\.[A-Z0-9]{2,10}$
                  type: string
                name:
                  description: Benchmark name as the owner writes it.
                  maxLength: 200
                  minLength: 1
                  type: string
              type: object
            peer_funds:
              description: Peer funds with books, compared holding by holding.
              items:
                additionalProperties: false
                description: >-
                  A comparator fund whose holdings come from the shared book
                  store.
                properties:
                  name:
                    description: Fund name as the owner writes it, for reporting only.
                    maxLength: 200
                    minLength: 1
                    type: string
                  symbol:
                    description: Qualified symbol of the shared fund book.
                    minLength: 1
                    pattern: ^[A-Z0-9][A-Z0-9._/&-]{0,38}\.[A-Z0-9]{2,10}$
                    type: string
                required:
                  - name
                  - symbol
                type: object
              maxItems: 10
              type: array
          type: object
        custom:
          additionalProperties: {}
          description: >-
            Anything the role-named slots do not cover. The engine reads five
            keys here: groups ({"name": ["SYM.EX", ...]}, which a custom_group
            limit needs), windows (overrides of its default windows, such as
            sellable_horizons: [1, 5] in trading days), bets.intended_groups
            (the factor groups the fund means to hold), scenarios.shocks
            ([{"label", "factors": {factor_id: return as a fraction}}]) and
            scenarios.windows ([{"label", "start", "end"}] in ISO days). Every
            other key is the owner's note for the report agent.
          type: object
        subject:
          additionalProperties: false
          description: The portfolio this monitor oversees.
          properties:
            name:
              description: >-
                Subject portfolio name as the owner writes it, for reporting
                only.
              maxLength: 200
              minLength: 1
              type: string
            portfolio_id:
              description: >-
                Portfolio id of the subject book. Must be owned by the monitor
                owner and have no linked strategy.
              type: string
          required:
            - name
          type: object
        thresholds:
          additionalProperties: false
          description: >-
            Engine-readable numeric limits, each in the unit its field gives.
            Put owner context outside these fields in custom.
          properties:
            aum_scenarios:
              description: >-
                Fund sizes to re-run the sell-down at, each in millions (500
                means 500 million) of the currency the liquidity rows report in.
                Each is above zero, at most 50, and no two may match to six
                significant figures.
              items:
                exclusiveMinimum: 0
                type: number
              maxItems: 50
              type: array
            cash_pct:
              description: 'Most cash the fund may hold, in percent: 5 means 5%.'
              minimum: 0
              type:
                - number
                - 'null'
            comparator:
              description: >-
                The comparator relative_weight and tracking_error_budget are
                held against: "benchmark", or the symbol of one peer_funds
                entry. Leave it out to hold them against the benchmark. The
                other comparators still appear on the dashboard, without these
                limits.
              minLength: 1
              type: string
            irs_5pct_bucket_pct:
              description: >-
                Most of the fund allowed in issuers that each weigh more than
                5%, in percent: 50 means 50%.
              minimum: 0
              type:
                - number
                - 'null'
            liquidity:
              additionalProperties: false
              description: >-
                Sell-down defaults to 10% participation over the latest 20
                trading observations. Explicit settings override these defaults.
              properties:
                adtv_window_months:
                  description: >-
                    Calendar-month override for average daily traded value. When
                    unset, use the latest 20 trading observations.
                  exclusiveMinimum: 0
                  type:
                    - number
                    - 'null'
                illiquid_days:
                  description: >-
                    Trading days to sell past which a holding counts as
                    illiquid.
                  minimum: 0
                  type:
                    - number
                    - 'null'
                participation:
                  description: >-
                    Largest share of a day's traded value the fund may sell, as
                    a fraction: 0.3 means 30%. Defaults to 0.1 (10%).
                  exclusiveMinimum: 0
                  maximum: 1
                  type:
                    - number
                    - 'null'
              type: object
            metrics:
              additionalProperties:
                additionalProperties: false
                description: >-
                  An override for one row, replacing what the rule would
                  compute.
                properties:
                  amber:
                    anyOf:
                      - type: number
                      - type: 'null'
                    description: >-
                      Where this row turns amber. Leave it out to place amber a
                      warning_fraction buffer inside red.
                  direction:
                    description: >-
                      What the limit measures: above is a ceiling, below is a
                      floor, outside is a plus-or-minus band.
                    enum:
                      - above
                      - below
                      - outside
                    type: string
                  red:
                    anyOf:
                      - type: number
                      - type: 'null'
                    description: 'The limit itself: where this row turns red.'
                type: object
              description: >-
                Overrides for single rows of this monitor's latest report, keyed
                by the metric_key that report shows for the row, copied exactly.
                To move where a whole limit warns, use warnings. A monitor with
                no report yet has no rows to key.
              type: object
            relative_weight:
              additionalProperties: false
              properties:
                country:
                  description: >-
                    Largest gap allowed between the fund's weight and the limits
                    comparator's weight in any one country, in percentage points
                    either way: 6 means 6 points over or under.
                  minimum: 0
                  type:
                    - number
                    - 'null'
                custom_group:
                  description: >-
                    Largest gap allowed between the fund's weight and the limits
                    comparator's weight in any one group named in custom.groups,
                    in percentage points either way: 6 means 6 points over or
                    under.
                  minimum: 0
                  type:
                    - number
                    - 'null'
                sector:
                  description: >-
                    Largest gap allowed between the fund's weight and the limits
                    comparator's weight in any one sector, in percentage points
                    either way: 6 means 6 points over or under.
                  minimum: 0
                  type:
                    - number
                    - 'null'
                single_name:
                  description: >-
                    Largest gap allowed between the fund's weight and the limits
                    comparator's weight in any one holding, in percentage points
                    either way: 6 means 6 points over or under.
                  minimum: 0
                  type:
                    - number
                    - 'null'
              type: object
            single_issuer_pct:
              description: >-
                Most of the fund allowed in any one issuer, in percent: 25 means
                25%. Every listing of one issuer counts toward one position.
              exclusiveMinimum: 0
              type:
                - number
                - 'null'
            tracking_error_budget:
              description: >-
                Largest forecast tracking error allowed against the limits
                comparator, in percent a year: 4 means 4%, not 0.04.
              minimum: 0
              type:
                - number
                - 'null'
            warning_fraction:
              description: >-
                Where amber sits as a fraction of each limit: 0.8 turns a row
                amber at 80% of its limit, and 1 gives no amber band, so a row
                turns red at its limit. Left out, the engine applies its default
                buffer.
              exclusiveMinimum: 0
              maximum: 1
              type: number
            warnings:
              additionalProperties: false
              description: >-
                Where a limit starts to warn, keyed by that limit's own field
                and in its unit. For example {"tracking_error_budget": 6} warns
                at 6% under an 8% tracking error budget. A warning must sit
                inside its limit. A limit with no warning here warns at
                warning_fraction of its value.
              properties:
                cash_pct:
                  exclusiveMinimum: 0
                  type:
                    - number
                    - 'null'
                irs_5pct_bucket_pct:
                  exclusiveMinimum: 0
                  type:
                    - number
                    - 'null'
                liquidity:
                  additionalProperties: false
                  properties:
                    illiquid_days:
                      exclusiveMinimum: 0
                      type:
                        - number
                        - 'null'
                  type: object
                relative_weight:
                  additionalProperties: false
                  properties:
                    country:
                      exclusiveMinimum: 0
                      type:
                        - number
                        - 'null'
                    custom_group:
                      exclusiveMinimum: 0
                      type:
                        - number
                        - 'null'
                    sector:
                      exclusiveMinimum: 0
                      type:
                        - number
                        - 'null'
                    single_name:
                      exclusiveMinimum: 0
                      type:
                        - number
                        - 'null'
                  type: object
                single_issuer_pct:
                  exclusiveMinimum: 0
                  type:
                    - number
                    - 'null'
                tracking_error_budget:
                  exclusiveMinimum: 0
                  type:
                    - number
                    - 'null'
              type: object
          type: object
      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.