APIToolkit (Monoscope) Monitors API

List monitors and their evaluation status.

OpenAPI Specification

apitoolkit-monitors-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Monoscope Platform Metrics Monitors API
  version: 1.0.0
  description: 'The Monoscope (formerly APIToolkit) Platform REST API lets you

    programmatically query metrics, retrieve telemetry schemas, and manage

    monitors for your projects. Endpoints and shapes here mirror the public

    API reference at https://monoscope.tech/docs/api-reference/. Authentication

    is via project-scoped Bearer API keys.

    '
  contact:
    name: Monoscope
    url: https://monoscope.tech/
    email: hello@monoscope.tech
  license:
    name: AGPL-3.0 (community edition) / Commercial
    identifier: AGPL-3.0-only
servers:
- url: https://api.monoscope.tech/api/v1
  description: Monoscope Cloud production API
security:
- bearerAuth: []
tags:
- name: Monitors
  description: List monitors and their evaluation status.
paths:
  /monitors:
    get:
      tags:
      - Monitors
      summary: List Monitors
      description: List monitors and their evaluation status for a project.
      operationId: listMonitors
      parameters:
      - $ref: '#/components/parameters/ProjectId'
      - name: filter
        in: query
        description: Filter monitors by status.
        schema:
          type: string
          enum:
          - active
          - paused
          - triggered
      - name: since
        in: query
        description: Relative time range for monitor history (e.g. `24h`, `7d`).
        schema:
          type: string
      responses:
        '200':
          description: Array of monitor objects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorsResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  responses:
    Unauthorized:
      description: Missing or invalid Bearer API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimited:
      description: Rate limit exceeded for this API key.
      headers:
        X-RateLimit-Limit:
          schema:
            type: integer
        X-RateLimit-Remaining:
          schema:
            type: integer
        X-RateLimit-Reset:
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    MonitorThreshold:
      type: object
      required:
      - operator
      - value
      properties:
        operator:
          type: string
          enum:
          - '>'
          - '>='
          - <
          - <=
          - ==
        value:
          type: number
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        request_id:
          type: string
    Monitor:
      type: object
      required:
      - id
      - name
      - status
      - query
      - threshold
      - interval
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        status:
          type: string
          enum:
          - active
          - paused
          - triggered
        query:
          type: string
          description: The metric query this monitor evaluates.
        threshold:
          $ref: '#/components/schemas/MonitorThreshold'
        interval:
          type: string
          description: Evaluation interval (e.g. `5m`, `1h`).
        notification_channels:
          type: array
          items:
            type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    MonitorsResponse:
      type: object
      required:
      - monitors
      properties:
        monitors:
          type: array
          items:
            $ref: '#/components/schemas/Monitor'
  parameters:
    ProjectId:
      name: pid
      in: query
      required: true
      description: Project ID (UUID) to scope the request.
      schema:
        type: string
        format: uuid
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: 'Project-scoped Bearer API key. Create via Settings > API Keys in the

        Monoscope dashboard; keys are shown once and are scoped to a single

        project.

        '