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

# Get a monitor

> Get a monitor by its ID.

The response shape varies by `type` (`data_quality`, `performance`,
`drift`, `custom_metric`, `tracing`)

<Warning>This endpoint is in alpha, read more [here](https://arize.com/docs/ax/rest-reference#api-version-stages).</Warning>




## OpenAPI

````yaml https://api.arize.com/v2/spec.yaml get /v2/monitors/{monitor_id}
openapi: 3.0.3
info:
  title: Arize REST API
  version: 2.0.0
  description: |
    API specification for the backend data server. The API is hosted globally
    at https://api.arize.com/v2 or in your own environment.
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
  - description: Global
    url: https://api.arize.com
  - description: Regional
    url: https://api.{region}.arize.com
    variables:
      region:
        default: eu-west-1a
        enum:
          - eu-west-1a
          - ca-central-1a
  - description: Custom Host
    url: https://{host}
    variables:
      host:
        default: api.arize.com
security:
  - bearerAuth: []
tags:
  - name: AI Integrations
    description: |
      AI integrations configure access to external LLM providers (e.g. OpenAI,
      Azure OpenAI, AWS Bedrock, Vertex AI). Integrations can be scoped to the
      entire account, a specific organization, or a specific space.
  - name: Annotation Configs
    description: >
      Annotation configs allow you to define consistent annotation schemas that

      can be reused across your workspace, ensuring evaluations are structured
      and

      comparable over time.
  - name: Annotation Queues
    description: >
      Annotation queues help you organize and manage human evaluation workflows.

      Use queues to assign spans or examples to annotators for review and
      labeling.
  - name: API Keys
    description: >
      API keys are used to authenticate requests to the Arize API. List your
      keys

      to view metadata; the raw secret is never returned after creation.
  - name: Audit Logs
    description: >
      Audit logs record authenticated user actions within an account, providing
      a

      chronological trail for security and compliance review. Access requires

      account admin privileges and audit logging to be enabled.
  - name: Datasets
    description: |
      Datasets are structured, version-controlled example collections you use to
      run, evaluate, and track LLM experiments.
  - name: Evaluators
    description: >
      Evaluators are reusable evaluation configurations used to assess the
      quality

      of LLM outputs. They can be template-based (using LLM judges) or
      code-based.
  - name: Experiments
    description: >
      Experiments let you systematically test prompt/model changes using
      datasets,

      tasks, and evaluators.
  - name: Integrations
    description: >
      Integrations configure access to external LLM providers (e.g. OpenAI,

      Azure OpenAI, AWS Bedrock, Vertex AI), notifications services (e.g.
      PagerDuty, Slack), and

      your own agents. Integrations can be scoped to the entire account, a
      specific

      organization, or a specific space.
  - name: Monitors
    description: >
      Monitors continuously track a metric over your model or LLM application
      data

      and alert you when it crosses a threshold. Each monitor watches a single

      metric - data quality, model performance, drift, a custom metric, or a

      tracing metric - and moves between statuses as the metric passes in and
      out of its 

      healthy range.
  - name: Organizations
    description: >
      Organizations are top-level containers within an Arize AX account for
      grouping spaces.
  - name: Projects
    description: |
      Projects represent LLM applications being monitored in Arize where you can
      observe traces and spans.
  - name: Prompts
    description: >
      Prompts are reusable, versioned templates for LLM interactions. Use
      prompts

      to standardize and manage how you interact with LLMs across your
      application.
  - name: Resource Restrictions
    description: |
      Endpoints for restricting and unrestricting resources (projects, models).
  - name: Role Bindings
    description: |
      Role bindings assign a role to a user on a resource. REST currently
      supports space- and project-scoped bindings.
  - name: Roles
    description: >
      Roles define sets of permissions that can be assigned to users within an

      account. Create custom roles to tailor access control to your team's
      needs.
  - name: Spaces
    description: >
      Spaces are containers within an organization for grouping related
      projects,

      datasets, and experiments, enabling collaboration or isolated
      experimentation

      with role-based access control.
  - name: Spans
    description: |
      Spans represent individual operations within a trace. A span captures the
      timing, status, and attributes of a single operation in your application.
  - name: Tasks
    description: |
      Tasks are configurable units of work that tie one or more evaluators to a
      data source (project or dataset). Use tasks to automate evaluation of LLM
      outputs, with support for continuous evaluation and backfill runs.
  - name: Traces
    description: |
      A trace is the collection of spans sharing a trace ID, representing a
      single end-to-end request through an LLM application. Use the Traces
      endpoint to retrieve traces with all of their spans in one call.
  - name: Users
    description: >
      Users represent members of an account. The Users endpoints allow creating,

      listing, updating (display name), and removing users from the account
      programmatically.
  - name: Webhooks
    description: >
      Webhooks are organization-owned destinations that receive event deliveries

      over HTTPS. Deliveries are authenticated with a bearer token or signed
      with

      an HMAC signing secret — the secret is returned exactly once, when the

      webhook is created. Delivery attempts are recorded and can be listed for

      debugging. To choose which events a webhook receives, manage its

      subscriptions through the prompt and evaluator webhook-subscription

      endpoints.
paths:
  /v2/monitors/{monitor_id}:
    get:
      tags:
        - Monitors
      summary: Get a monitor
      description: >
        Get a monitor by its ID.


        The response shape varies by `type` (`data_quality`, `performance`,

        `drift`, `custom_metric`, `tracing`)


        <Warning>This endpoint is in alpha, read more
        [here](https://arize.com/docs/ax/rest-reference#api-version-stages).</Warning>
      operationId: get_monitors
      parameters:
        - $ref: '#/components/parameters/MonitorIdPathParam'
      responses:
        '200':
          $ref: '#/components/responses/Monitor'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimitExceeded'
components:
  parameters:
    MonitorIdPathParam:
      name: monitor_id
      in: path
      required: true
      description: The unique monitor identifier (base64)
      schema:
        $ref: '#/components/schemas/Id'
      example: TW9uaXRvcjoxMjM=
  responses:
    Monitor:
      description: Returns a single monitor object
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Monitor'
          example:
            id: TW9uaXRvcjo4NzEwMToxMlo5Wg==
            name: Test Monitor
            project_id: TW9kZWw6ODU0MjAxODQ6RFNxUg==
            uri: >-
              https://app.arize.com/organizations/ZXhhbXBsZU9yZ2FuaXphdGlvbjo1Njg6V2RnREk=/spaces/U3BhY2U6NzU1OnBsR1c=/monitors/TW9uaXRvcjo4NzEwMToxMlo5Wg==
            status: TRIGGERED
            created_at: '2026-07-09T22:07:34.010Z'
            updated_at: '2026-07-09T23:22:14.638Z'
            threshold:
              type: DYNAMIC_RANGE
              calculation: STDEV
              lower:
                operator: GREATER_THAN
                multiplier: 0.00001
              upper:
                operator: LESS_THAN_OR_EQUAL
                multiplier: 0.00001
            notifications_enabled: true
            manual_evaluation_enabled: false
            created_by_user_id: VXNlcjoxMTIzOlRlc3Rlcg==
            filters:
              - dimension:
                  category: LLM_EVAL
                  name: eval.Test Eval.label
                operator: CONTAINS_STRING
                values:
                  - No Value
                  - 'NULL'
              - dimension:
                  category: USER_ANNOTATION
                  name: annotation.Accuracy.score
                operator: EQUALS
                values:
                  - 'NULL'
            notification_configs:
              - type: EMAIL
                email_address: test.user1@example.com
              - type: EMAIL
                email_address: test.user2@example.com
              - type: EMAIL
                email_address: test.admin@example.com
              - type: WEBHOOK
                id: V2ViaG9vazoyMzpBczpH
                url: https://webhook.site/test-webhook-1
              - type: WEBHOOK
                id: V2ViaG9vazoyNDpTdW5x
                url: https://testsite.com/test5
            downtime:
              start: '2026-07-09T22:47:02.155Z'
              duration_seconds: 3600
              frequency_days: 1
            scheduled_runtime:
              enabled: true
              cadence_seconds: 10800
              days_of_week:
                - 0
            evaluation_window_length_seconds: 86400
            delay_seconds: 0
            evaluated_at: '2026-07-09T23:00:00.000Z'
            latest_computed_value: 251
            notes: >-
              This monitor should trigger when the metric moves slightly above
              the baseline.
            type: TRACING
            metric: COUNT
            dimension:
              category: SPAN_ATTRIBUTE
              name: attributes.output.value
    BadRequest:
      description: Invalid request
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            status: 400
            title: Invalid request parameters
            detail: The 'name' field is required and must be a non-empty string.
            instance: /resource
            type: https://arize.com/docs/ax/rest-reference/errors#invalid-request
    Unauthorized:
      description: Authentication is required
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            status: 401
            title: Authentication required
            detail: You must be authenticated to access this resource.
            instance: /resource
            type: >-
              https://arize.com/docs/ax/rest-reference/errors#authentication-required
    NotFound:
      description: Not found
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            status: 404
            title: Resource not found
            detail: The requested resource with ID '12345' was not found.
            instance: /resource/12345
            type: https://arize.com/docs/ax/rest-reference/errors#resource-not-found
    RateLimitExceeded:
      description: Rate limit exceeded
      headers:
        Retry-After:
          description: |
            When throttled (429), how long to wait before retrying. Value is
            either a delta-seconds integer.
          schema:
            type: integer
            minimum: 0
          example: 42
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
          example:
            status: 429
            title: Rate limit exceeded
            detail: >-
              You have exceeded the allowed number of requests. Please try again
              later.
            instance: /resource
            type: >-
              https://arize.com/docs/ax/rest-reference/errors#rate-limit-exceeded
  schemas:
    Id:
      type: string
      description: A universally unique identifier (base64-encoded opaque string).
      example: RW50aXR5OjEyMzQ1
    Monitor:
      oneOf:
        - $ref: '#/components/schemas/DataQualityMonitor'
        - $ref: '#/components/schemas/PerformanceMonitor'
        - $ref: '#/components/schemas/DriftMonitor'
        - $ref: '#/components/schemas/CustomMetricMonitor'
        - $ref: '#/components/schemas/TracingMonitor'
      discriminator:
        propertyName: type
        mapping:
          DATA_QUALITY:
            $ref: '#/components/schemas/DataQualityMonitor'
          PERFORMANCE:
            $ref: '#/components/schemas/PerformanceMonitor'
          DRIFT:
            $ref: '#/components/schemas/DriftMonitor'
          CUSTOM_METRIC:
            $ref: '#/components/schemas/CustomMetricMonitor'
          TRACING:
            $ref: '#/components/schemas/TracingMonitor'
      description: >
        A monitor. The `type` field discriminates which variant (and therefore
        which type-specific fields) applies.
    Problem:
      type: object
      description: RFC 9457 Problem Details
      properties:
        title:
          type: string
          description: A short, human-readable summary of the problem type
        status:
          type: integer
          description: >-
            The HTTP status code generated by the origin server for this
            occurrence of the problem
        type:
          type: string
          format: uri-reference
          description: A URI reference that identifies the problem type
        detail:
          type: string
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem
        instance:
          type: string
          format: uri-reference
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem
      required:
        - title
        - status
      additionalProperties: false
      x-forward-compatible: true
    DataQualityMonitor:
      x-forward-compatible: true
      allOf:
        - $ref: '#/components/schemas/MonitorBase'
        - type: object
          required:
            - metric
            - dimension
            - model_versions
          properties:
            type:
              type: string
              enum:
                - DATA_QUALITY
            metric:
              $ref: '#/components/schemas/DataQualityMetric'
            dimension:
              $ref: '#/components/schemas/Dimension'
            model_versions:
              type: array
              items:
                type: string
              description: >
                The model versions the metric is scoped to. An empty array means
                all model versions.
            baseline_config:
              $ref: '#/components/schemas/BaselineConfig'
    PerformanceMonitor:
      x-forward-compatible: true
      allOf:
        - $ref: '#/components/schemas/MonitorBase'
        - type: object
          required:
            - metric
            - model_versions
          properties:
            type:
              type: string
              enum:
                - PERFORMANCE
            metric:
              $ref: '#/components/schemas/PerformanceMetric'
            model_versions:
              type: array
              items:
                type: string
              description: >
                The model versions the metric is scoped to. An empty array means
                all model versions.
            positive_class_value:
              type: string
              description: >-
                The positive class used for classification metrics. Omitted when
                unset.
            metric_at_ranking_k_value:
              type: integer
              description: >-
                The `k` cutoff for ranking metrics (e.g. NDCG@k). Omitted when
                unset.
    DriftMonitor:
      x-forward-compatible: true
      allOf:
        - $ref: '#/components/schemas/MonitorBase'
        - type: object
          required:
            - metric
            - dimension
            - baseline_config
            - model_versions
          properties:
            type:
              type: string
              enum:
                - DRIFT
            metric:
              $ref: '#/components/schemas/DriftMetric'
            dimension:
              $ref: '#/components/schemas/Dimension'
            baseline_config:
              $ref: '#/components/schemas/BaselineConfig'
            model_versions:
              type: array
              items:
                type: string
              description: >
                The model versions the metric is scoped to. An empty array means
                all model versions.
    CustomMetricMonitor:
      x-forward-compatible: true
      allOf:
        - $ref: '#/components/schemas/MonitorBase'
        - type: object
          required:
            - custom_metric_id
            - model_versions
          properties:
            type:
              type: string
              enum:
                - CUSTOM_METRIC
            custom_metric_id:
              type: string
              description: |
                The custom metric this monitor evaluates (base64 global ID). 
            model_versions:
              type: array
              items:
                type: string
              description: >
                The model versions the metric is scoped to. An empty array means
                all model versions.
    TracingMonitor:
      x-forward-compatible: true
      allOf:
        - $ref: '#/components/schemas/MonitorBase'
        - type: object
          required:
            - metric
            - dimension
          properties:
            type:
              type: string
              enum:
                - TRACING
            metric:
              allOf:
                - $ref: '#/components/schemas/TracingDataQualityMetric'
              description: Tracing monitors support only these data quality metrics.
            dimension:
              allOf:
                - $ref: '#/components/schemas/Dimension'
              description: >-
                The span/trace-derived field the metric is computed over.
                **Restricted to span_attribute, llm_eval, and user_annotation
                only.** 
    MonitorBase:
      type: object
      x-forward-compatible: true
      required:
        - id
        - name
        - type
        - project_id
        - uri
        - status
        - created_at
        - updated_at
        - threshold
        - notifications_enabled
        - manual_evaluation_enabled
        - created_by_user_id
      properties:
        id:
          type: string
          description: Unique identifier for the monitor (base64 global ID).
        name:
          type: string
          description: Human-readable name of the monitor.
        type:
          allOf:
            - $ref: '#/components/schemas/MonitorType'
          description: Required on create. Immutable after creation.
        project_id:
          type: string
          description: |
            The project that the monitor belongs to (base64 global ID).
        uri:
          type: string
          readOnly: true
          description: The UI deep link to the monitor.
        status:
          allOf:
            - $ref: '#/components/schemas/MonitorStatus'
          description: Current evaluation state. Read-only.
        threshold:
          $ref: '#/components/schemas/ThresholdConfig'
        notifications_enabled:
          type: boolean
          default: true
          description: Whether notifications fire on a triggered transition.
        manual_evaluation_enabled:
          type: boolean
          default: false
          description: >-
            Whether the monitor is evaluated manually rather than on the
            automatic cadence.
        created_by_user_id:
          type: string
          description: The user who created the monitor (base64 global ID).
        filters:
          type: array
          items:
            $ref: '#/components/schemas/MonitorFilter'
          description: >
            Data filters applied to the monitor's metric. Omitted when the
            metric is computed over all data.
        notification_configs:
          type: array
          items:
            $ref: '#/components/schemas/NotificationConfig'
          description: >
            Notification channels (email / integration / webhook) notified on a
            triggered transition. Omitted when no channels are configured.
        created_at:
          type: string
          format: date-time
          readOnly: true
          description: When the monitor was created.
        updated_at:
          type: string
          format: date-time
          readOnly: true
          description: When the monitor was last updated.
        downtime:
          $ref: '#/components/schemas/DowntimeConfig'
        scheduled_runtime:
          $ref: '#/components/schemas/ScheduledRuntimeConfig'
          description: |
            Returned when schedule configuration exists.
        evaluation_window_length_seconds:
          type: integer
          description: |
            The length of the evaluation window in seconds. Omitted when unset.
        delay_seconds:
          type: integer
          description: >
            The delay applied before evaluating a window, in seconds. Omitted
            when unset.
        evaluated_at:
          type: string
          format: date-time
          readOnly: true
          description: >-
            The last time the metric was computed. Omitted if it has never been
            evaluated.
        latest_computed_value:
          type: number
          readOnly: true
          description: >-
            The most recently computed metric value. Omitted if it has never
            been evaluated.
        notes:
          type: string
          description: Free-form notes attached to the monitor. Omitted when unset.
    DataQualityMetric:
      type: string
      enum:
        - COUNT
        - PERCENT_EMPTY
        - CARDINALITY
        - NEW_VALUES
        - MISSING_VALUES
        - AVG
        - SUM
        - STANDARD_DEVIATION
        - P50
        - P95
        - P99
        - P99_9
        - AVERAGE_STRING_LIST_LENGTH
      description: |
        The data quality metric computed over the selected dimension.
    Dimension:
      type: object
      x-forward-compatible: true
      required:
        - category
      properties:
        category:
          allOf:
            - $ref: '#/components/schemas/DimensionCategory'
          description: The category of the monitored dimension.
        name:
          type: string
          description: >
            Name of the monitored field. Omitted when the category has no
            concrete field name. 
    BaselineConfig:
      oneOf:
        - $ref: '#/components/schemas/ModelBaselineConfig'
        - $ref: '#/components/schemas/CustomBaselineConfig'
      discriminator:
        propertyName: type
        mapping:
          MODEL_BASELINE:
            $ref: '#/components/schemas/ModelBaselineConfig'
          CUSTOM_BASELINE:
            $ref: '#/components/schemas/CustomBaselineConfig'
      description: >-
        The comparison dataset configuration used by drift and comparison-based
        data quality monitors. The `type` field determines whether the
        comparison dataset uses the model's primary baseline or a custom fixed
        or moving window.
    PerformanceMetric:
      type: string
      enum:
        - ACCURACY
        - CALIBRATION
        - F_1
        - FALSE_NEGATIVE_DENSITY
        - FALSE_NEGATIVE_RATE
        - FALSE_POSITIVE_RATE
        - PRECISION
        - RECALL
        - SENSITIVITY
        - SPECIFICITY
        - MICRO_AVERAGED_PRECISION
        - MACRO_AVERAGED_PRECISION
        - MULTI_CLASS_PRECISION
        - MICRO_AVERAGED_RECALL
        - MACRO_AVERAGED_RECALL
        - MULTI_CLASS_RECALL
        - ACTUALS_AVERAGE
        - MAE
        - MAPE
        - MEAN_ERROR
        - MSE
        - PREDICTION_AVERAGE
        - RMSE
        - R_SQUARED
        - SMAPE
        - WAPE
        - MASE
        - AUC
        - LOG_LOSS
        - NDCG
        - PR_AUC
        - GROUP_AUC
        - MRR
        - RANKING_MAP
        - RANKING_RECALL
        - RANKING_PRECISION
        - DISPARATE_IMPACT
        - FALSE_POSITIVE_RATE_PARITY
        - RECALL_PARITY
      description: |
        The model performance metric.
    DriftMetric:
      type: string
      enum:
        - PSI
        - KL
        - JS
        - KS
        - EUCLIDEAN_DISTANCE
        - COSINE_SIMILARITY
      description: >
        The statistical drift metric. `PSI`/`KL`/`JS`/`KS` apply to structured
        data;

        `EUCLIDEAN_DISTANCE`/`COSINE_SIMILARITY` apply to unstructured
        (embedding) data.
    TracingDataQualityMetric:
      type: string
      enum:
        - COUNT
        - PERCENT_EMPTY
        - CARDINALITY
        - AVG
        - SUM
        - STANDARD_DEVIATION
        - P50
        - P95
        - P99
        - P99_9
      description: >
        The data quality metrics computed by a tracing monitor.

        Numeric span attributes support aggregations such as `SUM` and `AVG`;

        categorical attributes support `COUNT`, `PERCENT_EMPTY`, and
        `CARDINALITY`.

        Comparison metrics (`NEW_VALUES`, `MISSING_VALUES`) are not supported.
    MonitorType:
      type: string
      enum:
        - DATA_QUALITY
        - PERFORMANCE
        - DRIFT
        - CUSTOM_METRIC
        - TRACING
      description: >
        The kind of monitor. Determines which type-specific fields apply.

        - `DATA_QUALITY` - Monitors a data quality metric (e.g. percent empty,
        CARDINALITY).

        - `PERFORMANCE` - Monitors a model performance metric (e.g. ACCURACY,
        RMSE).

        - `DRIFT` - Monitors distributional drift of a feature/output.

        - `CUSTOM_METRIC` - Monitors a user-defined custom metric.

        - `TRACING` - Monitors a span/trace-derived metric (e.g. span
        attributes, evals).
    MonitorStatus:
      type: string
      enum:
        - TRIGGERED
        - CLEARED
        - NO_DATA
      description: |
        The monitor's current state from its most recent evaluation.
        - `TRIGGERED` - The metric breached the threshold.
        - `CLEARED` - The metric is within healthy bounds.
        - `NO_DATA` - No data was available to evaluate.
    ThresholdConfig:
      oneOf:
        - $ref: '#/components/schemas/ManualSingleThreshold'
        - $ref: '#/components/schemas/DynamicSingleThreshold'
        - $ref: '#/components/schemas/ManualRangeThreshold'
        - $ref: '#/components/schemas/DynamicRangeThreshold'
      discriminator:
        propertyName: type
        mapping:
          MANUAL_SINGLE:
            $ref: '#/components/schemas/ManualSingleThreshold'
          DYNAMIC_SINGLE:
            $ref: '#/components/schemas/DynamicSingleThreshold'
          MANUAL_RANGE:
            $ref: '#/components/schemas/ManualRangeThreshold'
          DYNAMIC_RANGE:
            $ref: '#/components/schemas/DynamicRangeThreshold'
      description: >
        The monitor's threshold. The `type` field discriminates whether the
        threshold is manual or dynamic, and single or a bounded range.
    MonitorFilter:
      type: object
      x-forward-compatible: true
      required:
        - dimension
        - operator
        - values
      properties:
        dimension:
          $ref: '#/components/schemas/Dimension'
        operator:
          $ref: '#/components/schemas/FilterOperator'
        values:
          type: array
          items:
            type: string
          description: The values compared against by the operator.
    NotificationConfig:
      oneOf:
        - $ref: '#/components/schemas/EmailNotificationConfig'
        - $ref: '#/components/schemas/IntegrationNotificationConfig'
        - $ref: '#/components/schemas/WebhookNotificationConfig'
      discriminator:
        propertyName: type
        mapping:
          EMAIL:
            $ref: '#/components/schemas/EmailNotificationConfig'
          INTEGRATION:
            $ref: '#/components/schemas/IntegrationNotificationConfig'
          WEBHOOK:
            $ref: '#/components/schemas/WebhookNotificationConfig'
    DowntimeConfig:
      type: object
      x-forward-compatible: true
      required:
        - start
        - duration_seconds
        - frequency_days
      properties:
        start:
          type: string
          format: date-time
          description: When the downtime window begins.
        duration_seconds:
          type: integer
          description: How long each downtime window lasts, in seconds.
        frequency_days:
          type: integer
          description: How often the downtime window repeats, in days.
    ScheduledRuntimeConfig:
      type: object
      x-forward-compatible: true
      required:
        - enabled
      properties:
        enabled:
          type: boolean
          description: >-
            Whether the monitor runs on a schedule. `false` means automatic
            scheduled evaluation is disabled.
        cadence_seconds:
          type: integer
          description: How often the monitor evaluates, in seconds.
        days_of_week:
          type: array
          items:
            type: integer
            minimum: 0
            maximum: 6
          description: >
            Days of the week the monitor runs on (`0` = Sunday … `6` =
            Saturday).
    DimensionCategory:
      type: string
      enum:
        - FEATURE_LABEL
        - TAG
        - MODEL_VERSION
        - BATCH_ID
        - SPAN_ATTRIBUTE
        - LLM_EVAL
        - USER_ANNOTATION
        - ACTUALS
        - ACTUALS_SCORE
        - ACTUALS_CLASS
        - PREDICTIONS
        - PREDICTIONS_SCORE
        - PREDICTIONS_CLASS
      description: |
        The category of dimension the metric is evaluated over.
    ModelBaselineConfig:
      type: object
      x-forward-compatible: true
      required:
        - type
        - filters
      properties:
        type:
          type: string
          enum:
            - MODEL_BASELINE
        filters:
          type: array
          items:
            $ref: '#/components/schemas/MonitorFilter'
          description: >
            Filters applied to the comparison dataset. An empty array means no
            comparison dataset filters are configured.
      description: |
        Uses the model's primary baseline as the comparison dataset.
    CustomBaselineConfig:
      type: object
      x-forward-compatible: true
      required:
        - type
        - filters
        - model_versions
        - window
      properties:
        type:
          type: string
          enum:
            - CUSTOM_BASELINE
        filters:
          type: array
          items:
            $ref: '#/components/schemas/MonitorFilter'
          description: >
            Filters applied to the comparison dataset. An empty array means no
            comparison dataset filters are configured.
        model_versions:
          type: array
          items:
            type: string
          description: >
            Model versions included in the comparison dataset. An empty array
            means all model versions.
        window:
          $ref: '#/components/schemas/CustomBaselineWindow'
      description: |
        Uses a custom fixed or moving window as the comparison dataset.
    ManualSingleThreshold:
      type: object
      x-forward-compatible: true
      required:
        - type
        - operator
        - value
      properties:
        type:
          type: string
          enum:
            - MANUAL_SINGLE
        operator:
          $ref: '#/components/schemas/ThresholdOperator'
        value:
          type: number
          description: The threshold value the computed metric is compared against.
    DynamicSingleThreshold:
      type: object
      x-forward-compatible: true
      required:
        - type
        - calculation
        - operator
        - multiplier
      properties:
        type:
          type: string
          enum:
            - DYNAMIC_SINGLE
        calculation:
          $ref: '#/components/schemas/ThresholdCalculation'
        operator:
          $ref: '#/components/schemas/ThresholdOperator'
        multiplier:
          type: number
          description: |
            The multiplier applied to the calculation (e.g. number of standard
            deviations) to derive the threshold.
    ManualRangeThreshold:
      type: object
      x-forward-compatible: true
      required:
        - type
        - lower
        - upper
      properties:
        type:
          type: string
          enum:
            - MANUAL_RANGE
        lower:
          allOf:
            - $ref: '#/components/schemas/ManualThresholdBound'
          description: >
            The lower bound of the range. Its operator must be `GREATER_THAN` or
            `GREATER_THAN_OR_EQUAL`.
        upper:
          allOf:
            - $ref: '#/components/schemas/ManualThresholdBound'
          description: >
            The upper bound of the range. Its `operator` must be `LESS_THAN` or
            `LESS_THAN_OR_EQUAL`.
    DynamicRangeThreshold:
      type: object
      x-forward-compatible: true
      required:
        - type
        - calculation
        - lower
        - upper
      properties:
        type:
          type: string
          enum:
            - DYNAMIC_RANGE
        calculation:
          $ref: '#/components/schemas/ThresholdCalculation'
        lower:
          allOf:
            - $ref: '#/components/schemas/DynamicThresholdBound'
          description: >
            The lower bound of the range. Its `operator` must be `GREATER_THAN`
            or `GREATER_THAN_OR_EQUAL`.
        upper:
          allOf:
            - $ref: '#/components/schemas/DynamicThresholdBound'
          description: >
            The upper bound of the range. Its `operator` must be `LESS_THAN` or
            `LESS_THAN_OR_EQUAL`.
    FilterOperator:
      type: string
      enum:
        - GREATER_THAN
        - GREATER_THAN_OR_EQUAL
        - LESS_THAN
        - LESS_THAN_OR_EQUAL
        - EQUALS
        - NOT_EQUALS
        - TOP_N
        - CONTAINS
        - CONTAINS_STRING
        - SIMILAR_TO
      description: >
        Operators used by a monitor's data filters. Includes string operators as
        well as numeric ones.
    EmailNotificationConfig:
      type: object
      x-forward-compatible: true
      required:
        - type
        - email_address
      properties:
        type:
          type: string
          enum:
            - EMAIL
        email_address:
          type: string
          format: email
          description: Email address notified on a triggered transition.
    IntegrationNotificationConfig:
      type: object
      x-forward-compatible: true
      required:
        - type
        - integration_id
      properties:
        type:
          type: string
          enum:
            - INTEGRATION
        integration_id:
          type: string
          description: The integration to notify (base64 global ID).
    WebhookNotificationConfig:
      type: object
      x-forward-compatible: true
      required:
        - type
        - id
      properties:
        type:
          type: string
          enum:
            - WEBHOOK
        id:
          type: string
          description: The webhook to notify (base64 global ID).
        url:
          type: string
          nullable: true
          description: The webhook endpoint URL.
    CustomBaselineWindow:
      oneOf:
        - $ref: '#/components/schemas/FixedCustomBaselineWindow'
        - $ref: '#/components/schemas/MovingCustomBaselineWindow'
      discriminator:
        propertyName: type
        mapping:
          FIXED:
            $ref: '#/components/schemas/FixedCustomBaselineWindow'
          MOVING:
            $ref: '#/components/schemas/MovingCustomBaselineWindow'
      description: >
        The custom comparison window. The `type` field determines whether the
        window is fixed or moving.
    ThresholdOperator:
      type: string
      enum:
        - GREATER_THAN
        - GREATER_THAN_OR_EQUAL
        - LESS_THAN
        - LESS_THAN_OR_EQUAL
        - EQUALS
        - NOT_EQUALS
      description: >
        Numeric comparison operators used when evaluating a computed metric
        value against a threshold.
    ThresholdCalculation:
      type: string
      enum:
        - STDEV
        - MAD
      description: |
        The statistical calculation used to derive a dynamic threshold.
        - `STDEV` - standard deviation of the metric over the baseline.
        - `MAD` - median absolute deviation of the metric over the baseline.
    ManualThresholdBound:
      type: object
      x-forward-compatible: true
      required:
        - operator
        - value
      properties:
        operator:
          $ref: '#/components/schemas/ThresholdOperator'
        value:
          type: number
          description: The bound value the computed metric is compared against.
    DynamicThresholdBound:
      type: object
      x-forward-compatible: true
      required:
        - operator
        - multiplier
      properties:
        operator:
          $ref: '#/components/schemas/ThresholdOperator'
        multiplier:
          type: number
          description: >
            The multiplier applied to the calculation (e.g. number of standard
            deviations) to derive this bound.
    FixedCustomBaselineWindow:
      type: object
      x-forward-compatible: true
      required:
        - type
        - fixed_start_date
        - fixed_end_date
      properties:
        type:
          type: string
          enum:
            - FIXED
        fixed_start_date:
          type: string
          format: date-time
          description: The start of the fixed comparison window.
        fixed_end_date:
          type: string
          format: date-time
          description: The end of the fixed comparison window.
      description: >-
        A custom comparison dataset using data between a fixed start and end
        date.
    MovingCustomBaselineWindow:
      type: object
      x-forward-compatible: true
      required:
        - type
        - moving_window_seconds
        - moving_window_delay_seconds
      properties:
        type:
          type: string
          enum:
            - MOVING
        moving_window_seconds:
          type: integer
          description: The length of the moving comparison window, in seconds.
        moving_window_delay_seconds:
          type: integer
          description: The delay before the moving comparison window, in seconds.
      description: A custom comparison dataset using a moving window defined in seconds.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: <api-key>
      description: >
        Most Arize AI endpoints require authentication. For those endpoints that
        require authentication, include your API key in the request header using
        the format

        ``` Authorization: Bearer <api-key>

        ```

````