Lightup Monitors API

The Monitors API from Lightup — 3 operation(s) for monitors.

OpenAPI Specification

lightup-monitors-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  description: Lightup Metrics API provides CRUD interface to Dashboard objects.
  title: Lightup Dashboard API Credentials Monitors API
  version: 1.0.0
servers:
- description: Enter your Lightup subdomain
  url: https://app.{clusterId}.lightup.ai
  variables:
    clusterId:
      default: demo
tags:
- name: Monitors
paths:
  /api/{api_version}/ws/{workspace_id}/monitors/:
    get:
      description: "\n        List all monitors in the workspace based on filters\n        "
      parameters:
      - description: ''
        explode: true
        in: path
        name: api_version
        required: true
        schema:
          allOf:
          - description: An enumeration.
            enum:
            - v1
            title: ApiVersion
            type: string
          default: v1
          title: api_version
      - description: UUID of the workspace; visible in the workspace URL.
        explode: true
        in: path
        name: workspace_id
        required: true
        schema:
          description: UUID of the workspace; visible in the workspace URL.
          title: workspace_id
          type: string
      - description: Filter by list of monitor names
        explode: true
        in: query
        name: names
        required: false
        schema:
          description: Filter by list of monitor names
          items:
            type: string
          title: names
          type: array
      - description: Filter by list of source uuids
        explode: true
        in: query
        name: source_uuids
        required: false
        schema:
          description: Filter by list of source uuids
          items:
            type: string
          title: source_uuids
          type: array
      - description: Filter by list of metric uuids
        explode: true
        in: query
        name: metric_uuids
        required: false
        schema:
          description: Filter by list of metric uuids
          items:
            type: string
          title: metric_uuids
          type: array
      - description: Filter by list of monitor uuids
        explode: true
        in: query
        name: monitor_uuids
        required: false
        schema:
          description: Filter by list of monitor uuids
          items:
            type: string
          title: monitor_uuids
          type: array
      - description: Return monitors from offset
        explode: true
        in: query
        name: offset
        required: false
        schema:
          description: Return monitors from offset
          title: offset
          type: integer
      - description: Return only limit number of monitors
        explode: true
        in: query
        name: limit
        required: false
        schema:
          description: Return only limit number of monitors
          title: limit
          type: integer
      - description: 'Input ''Bearer _access-token_''. To obtain access token, see API, API Credentials: Get access token.'
        explode: true
        in: header
        name: authorization
        required: true
        schema:
          description: 'Input ''Bearer _access-token_''. To obtain access token, see API, API Credentials: Get access token.'
          title: authorization
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema'
                type: array
          description: ''
      summary: Get monitor list
      tags:
      - Monitors
    post:
      description: ''
      parameters:
      - description: ''
        explode: true
        in: path
        name: api_version
        required: true
        schema:
          allOf:
          - description: An enumeration.
            enum:
            - v1
            title: ApiVersion
            type: string
          default: v1
          title: api_version
      - description: UUID of the workspace; visible in the workspace URL.
        explode: true
        in: path
        name: workspace_id
        required: true
        schema:
          description: UUID of the workspace; visible in the workspace URL.
          title: workspace_id
          type: string
      - description: 'Input ''Bearer _access-token_''. To obtain access token, see API, API Credentials: Get access token.'
        explode: true
        in: header
        name: authorization
        required: true
        schema:
          description: 'Input ''Bearer _access-token_''. To obtain access token, see API, API Credentials: Get access token.'
          title: authorization
          type: string
      requestBody:
        content:
          application/json:
            schema:
              definitions:
                Aggressiveness:
                  properties:
                    level:
                      description: Aggressiveness level, either override or level should be set
                      maximum: 10
                      minimum: 1
                      title: Level
                      type: integer
                    override:
                      description: Aggressiveness override, either override or level should be set
                      title: Override
                      type: number
                  title: Aggressiveness
                  type: object
                AlertChannelConfig:
                  properties:
                    channelId:
                      description: UUID of the alert channel
                      title: Channelid
                      type: string
                  required:
                  - channelId
                  title: AlertChannelConfig
                  type: object
                AlertConfig:
                  properties:
                    channels:
                      default: []
                      description: List of alertchannels
                      items:
                        $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/AlertChannelConfig'
                      title: Channels
                      type: array
                    isMuted:
                      default: true
                      description: If true, no notifications are sent on this channel
                      title: Ismuted
                      type: boolean
                    mutingSchedules:
                      default: []
                      description: If schedule is set, no notifications are sent on this channel during schedule
                      items:
                        type: string
                      title: Mutingschedules
                      type: array
                  title: AlertConfig
                  type: object
                ApiVersion:
                  description: An enumeration.
                  enum:
                  - v1
                  title: ApiVersion
                  type: string
                Bound:
                  properties:
                    lower:
                      description: Lower bound, at least one of upper or lower bound should be set
                      title: Lower
                      type: number
                    upper:
                      description: Upper bound, at least one of upper or lower bound should be set
                      title: Upper
                      type: number
                  title: Bound
                  type: object
                ChangeFeatureConfig:
                  properties:
                    type:
                      default: change
                      enum:
                      - change
                      title: Type
                      type: string
                    windowSize:
                      description: Window size in seconds
                      minimum: 0
                      title: Windowsize
                      type: integer
                  title: ChangeFeatureConfig
                  type: object
                DetectionCriteria:
                  description: An enumeration.
                  enum:
                  - toleranceInterval
                  title: DetectionCriteria
                  type: string
                Direction:
                  description: An enumeration.
                  enum:
                  - both
                  - up
                  - down
                  title: Direction
                  type: string
                DoubleDerivativeFeatureConfig:
                  properties:
                    type:
                      default: doubleDerivative
                      enum:
                      - doubleDerivative
                      title: Type
                      type: string
                    windowSize:
                      description: Window size in seconds
                      minimum: 0
                      title: Windowsize
                      type: integer
                  title: DoubleDerivativeFeatureConfig
                  type: object
                ForecastErrorFeatureConfig:
                  properties:
                    absoluteScale:
                      title: Absolutescale
                      type: boolean
                    fittingDuration:
                      exclusiveMinimum: 0
                      title: Fittingduration
                      type: integer
                    forecastDuration:
                      exclusiveMinimum: 0
                      title: Forecastduration
                      type: integer
                    type:
                      default: forecastError
                      enum:
                      - forecastError
                      title: Type
                      type: string
                  title: ForecastErrorFeatureConfig
                  type: object
                IncidentLearning:
                  properties:
                    numIncidents:
                      minimum: 1
                      title: Numincidents
                      type: integer
                  required:
                  - numIncidents
                  title: IncidentLearning
                  type: object
                JobState:
                  description: An enumeration.
                  enum:
                  - success
                  - failed
                  - unknown
                  - complete_but_not_success
                  - job_status_not_available_yet
                  - paused_on_source
                  title: JobState
                  type: string
                ManualThresholdSymptom:
                  properties:
                    bound:
                      $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/Bound'
                    featureConfig:
                      oneOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/ValueFeatureConfig'
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/PercentageChangeFeatureConfig'
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/ChangeFeatureConfig'
                      title: Featureconfig
                    type:
                      default: manualThreshold
                      enum:
                      - manualThreshold
                      title: Type
                      type: string
                  required:
                  - bound
                  - featureConfig
                  title: ManualThresholdSymptom
                  type: object
                PercentageChangeFeatureConfig:
                  properties:
                    type:
                      default: percentageChange
                      enum:
                      - percentageChange
                      title: Type
                      type: string
                    windowSize:
                      description: Window size in seconds
                      minimum: 0
                      title: Windowsize
                      type: integer
                  title: PercentageChangeFeatureConfig
                  type: object
                RollingMeanFeatureConfig:
                  properties:
                    type:
                      default: rollingMean
                      enum:
                      - rollingMean
                      title: Type
                      type: string
                    windowSize:
                      description: Rolling mean window in seconds
                      minimum: 0
                      title: Windowsize
                      type: integer
                  title: RollingMeanFeatureConfig
                  type: object
                RuleConfig:
                  properties:
                    alertConfig:
                      allOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/AlertConfig'
                      description: Alert channel configuration
                      title: Alertconfig
                    driftDuration:
                      description: The duration in seconds after which an anomaly is treated as an incident
                      title: Driftduration
                      type: integer
                    isLive:
                      default: false
                      description: If true, the monitor starts evaluating the metric
                      title: Islive
                      type: boolean
                    liveStartTs:
                      description: This field allows the monitor to start detection from this point in time. This field cannot be modified after it is set. If None, the default is the last 2 weeks of datapoints collected for the corresponding metric
                      title: Livestartts
                      type: number
                    metrics:
                      description: UUID of the metric that is being monitored
                      examples:
                      - - 2cc34698-5a25-4e4e-bd01-5664660f22b7
                      items:
                        type: string
                      maxItems: 1
                      minItems: 1
                      title: Metrics
                      type: array
                    recoveryDuration:
                      description: The duration in seconds after an anomaly has ended when the incident is considered closed
                      minimum: 0
                      title: Recoveryduration
                      type: integer
                    symptom:
                      description: The anomaly detection symptom
                      oneOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/ManualThresholdSymptom'
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/SharpChangeSymptom'
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/SlowBurnTrendChangeSymptom'
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/ValueOutsideExpectationsBetaSymptom'
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/ValueOutsideExpectationsSymptom'
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/ValueOutsideExpectationsWithTrendSymptom'
                      title: Symptom
                  required:
                  - metrics
                  title: RuleConfig
                  type: object
                RuleDisplayStatus:
                  description: An enumeration.
                  enum:
                  - exception
                  - live
                  - loading
                  - partiallyLive
                  - pausedByUser
                  - pausedMetric
                  - pausedTrainingFailure
                  - pausedTrainingFailureInsufficientData
                  - trainingInProgress
                  - pausedSource
                  - resuming
                  - unknown
                  title: RuleDisplayStatus
                  type: string
                RuleMetadata:
                  description: Metadata associated with the monitor
                  properties:
                    idSerial:
                      description: Monitor ID that is set by the system
                      readOnly: true
                      title: Idserial
                      type: integer
                    name:
                      description: User defined name
                      maxLength: 400
                      title: Name
                      type: string
                    ownedBy:
                      allOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/User'
                      description: User that created this object
                      readOnly: true
                      title: Ownedby
                    tags:
                      default: []
                      examples:
                      - - tag_1
                        - tag_2
                      items:
                        maxLength: 90
                        type: string
                      title: Tags
                      type: array
                    updatedBy:
                      allOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/User'
                      description: User that updated this object
                      readOnly: true
                      title: Updatedby
                    uuid:
                      description: System defined UUID
                      readOnly: true
                      title: Uuid
                      type: string
                    workspaceId:
                      description: Workspace UUID associated with this monitor
                      readOnly: true
                      title: Workspaceid
                      type: string
                  required:
                  - name
                  - workspaceId
                  title: RuleMetadata
                  type: object
                RuleRunStatus:
                  description: An enumeration.
                  enum:
                  - exception
                  - ok
                  - paused
                  - pausedByUser
                  - pausedMetric
                  - pausedTrainingFailure
                  - pausedTraining
                  title: RuleRunStatus
                  type: string
                RuleStatus:
                  additionalProperties: false
                  properties:
                    configUpdatedTs:
                      description: Timestamp of last configuration update
                      title: Configupdatedts
                      type: number
                    createdTs:
                      description: Timestamp when created
                      title: Createdts
                      type: number
                    displayStatus:
                      allOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/RuleDisplayStatus'
                      description: Display status
                    lastSampleTs:
                      description: Timestamp for last sample processed
                      title: Lastsamplets
                      type: number
                    runStatus:
                      allOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/RuleRunStatus'
                      description: Status of the last monitor run
                    runStatusMessage:
                      description: User friendly message if runStatus indicates an error condition
                      title: Runstatusmessage
                      type: string
                    runtimeConfig:
                      $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/RuntimeRuleConfig'
                    training:
                      allOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/TrainingStatus'
                      description: Training status
                      title: Training
                  title: RuleStatus
                  type: object
                RuntimeRuleConfig:
                  properties:
                    lastDiscoveryTs:
                      title: Lastdiscoveryts
                      type: integer
                    symptomConfig:
                      oneOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/ManualThresholdSymptom'
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/SharpChangeSymptom'
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/SlowBurnTrendChangeSymptom'
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/ValueOutsideExpectationsBetaSymptom'
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/ValueOutsideExpectationsSymptom'
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/ValueOutsideExpectationsWithTrendSymptom'
                      title: Symptomconfig
                  title: RuntimeRuleConfig
                  type: object
                SharpChangeSymptom:
                  properties:
                    aggressiveness:
                      allOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/Aggressiveness'
                      description: Aggressiveness, more aggressive results in more incidents
                      title: Aggressiveness
                    autoUpdateModel:
                      description: Enable auto training using incident labels
                      title: Autoupdatemodel
                      type: boolean
                    detectionCriteria:
                      allOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/DetectionCriteria'
                      default: toleranceInterval
                      description: Criteria to use for anomaly detection
                    direction:
                      allOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/Direction'
                      description: Capture the direction when the monitor should raise an incident
                    featureConfig:
                      allOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/DoubleDerivativeFeatureConfig'
                      default:
                        type: doubleDerivative
                        windowSize: null
                      title: Featureconfig
                    trainingPeriods:
                      description: List of training periods
                      items:
                        $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/TrainingPeriod'
                      title: Trainingperiods
                      type: array
                    type:
                      default: sharpChange
                      enum:
                      - sharpChange
                      title: Type
                      type: string
                  title: SharpChangeSymptom
                  type: object
                SlowBurnTrendChangeSymptom:
                  properties:
                    aggressiveness:
                      $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/Aggressiveness'
                    direction:
                      $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/Direction'
                    featureConfig:
                      allOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/TrendFeatureConfig'
                      default:
                        type: trendCoefficient
                        windowSize: null
                      title: Featureconfig
                    type:
                      default: slowBurnTrendChange
                      enum:
                      - slowBurnTrendChange
                      title: Type
                      type: string
                  title: SlowBurnTrendChangeSymptom
                  type: object
                TrainingPeriod:
                  properties:
                    endTs:
                      description: End timestamp of the training period
                      title: Endts
                      type: number
                    startTs:
                      description: Start timestamp of the training period
                      title: Startts
                      type: number
                  required:
                  - startTs
                  - endTs
                  title: TrainingPeriod
                  type: object
                TrainingStatus:
                  additionalProperties: false
                  description: This object contains all the status associated with monitor training
                  properties:
                    incidentLearning:
                      allOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/IncidentLearning'
                      description: If incident learning is enabled, this field contains the incident learning status
                      title: Incidentlearning
                    isSlicing:
                      description: Indicates if the metric has slicing columns
                      title: Isslicing
                      type: boolean
                    isTrained:
                      description: Indicated whether the monitor has been trained
                      title: Istrained
                      type: boolean
                    status:
                      allOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/TrainingStatusString'
                      description: Status of training
                    totalSlice:
                      description: If isSlicing is true, this field indicates the total number of slices that were seen in training
                      title: Totalslice
                      type: integer
                    trainedSlice:
                      description: If isSlicing is true, this field indicates the total number of slices that were trained
                      title: Trainedslice
                      type: integer
                    trainingError:
                      description: error encountered during training
                      title: Trainingerror
                      type: string
                    trainingJobState:
                      allOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/JobState'
                      description: Training job status
                  required:
                  - isTrained
                  title: TrainingStatus
                  type: object
                TrainingStatusString:
                  description: An enumeration.
                  enum:
                  - pausedSource
                  - inProgress
                  - complete
                  - failed
                  - notApplicable
                  title: TrainingStatusString
                  type: string
                TrendFeatureConfig:
                  properties:
                    type:
                      default: trendCoefficient
                      enum:
                      - trendCoefficient
                      title: Type
                      type: string
                    windowSize:
                      description: Trend lookback window in seconds
                      minimum: 0
                      title: Windowsize
                      type: integer
                  title: TrendFeatureConfig
                  type: object
                User:
                  properties:
                    email:
                      title: Email
                      type: string
                    id:
                      readOnly: true
                      title: Id
                      type: integer
                    username:
                      description: Email used for Lightup account
                      readOnly: true
                      title: Username
                      type: string
                  required:
                  - email
                  title: User
                  type: object
                ValueFeatureConfig:
                  properties:
                    type:
                      default: value
                      enum:
                      - value
                      title: Type
                      type: string
                  title: ValueFeatureConfig
                  type: object
                ValueOutsideExpectationsBetaSymptom:
                  properties:
                    aggressiveness:
                      allOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/Aggressiveness'
                      description: Aggressiveness, more aggressive results in more incidents
                      title: Aggressiveness
                    autoUpdateModel:
                      description: Enable auto training using incident labels
                      title: Autoupdatemodel
                      type: boolean
                    detectionCriteria:
                      allOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1monitors~1/post/requestBody/content/application~1json/schema/definitions/DetectionCriteria'
                      default: toleranceInterval
                      description: Criteria to use for anomaly detection
                    direction:
                      allOf:
                      - $ref: '#/paths/~1api~1%7Bapi_version%7D~1ws~1%7Bworkspace_id%7D~1moni

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lightup/refs/heads/main/openapi/lightup-monitors-api-openapi.yml