monit-rs Incidents API

Create and retrieve incidents.

Operations 5

GET /api/v1/incidents List incidents #
GET /api/v1/incidents/{incident_id} Incident detail #
POST /api/v1/incidents/{incident_id}/ack Acknowledge an open incident #
POST /api/v1/incidents/{incident_id}/assign Assign an incident to a user #
POST /api/v1/incidents/{incident_id}/resolve Resolve an incident #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/monit-rs:monit-rs-incidents-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

monit-rs-incidents-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Monit Rs Incidents API
  version: 2026.08.30
  contact:
    name: monit.rs support
    url: https://monit.rs/contact
    email: support@monit.rs
  license:
    name: Data licensed for direct reuse; see terms
    url: https://monit.rs/terms
  termsOfService: https://monit.rs/terms
  x-logo:
    url: https://monit.rs/logo.png
    backgroundColor: '#0f172a'
    altText: monit.rs
  x-origin:
  - url: https://monit.rs/openapi.yaml
    format: openapi
    version: '3.1'
  x-providerName: monit.rs
  description: 'Operations tagged incidents across 2 of this provider''s published API definitions: api.monit.rs-openapi.json, monit-rs-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://monit.rs
  description: Production
tags:
- name: Incidents
  description: Create and retrieve incidents.
paths:
  /api/v1/incidents:
    get:
      tags:
      - Incidents
      summary: List incidents
      security:
      - ApiKeyBearer: []
      - BearerJwt: []
      x-scopes:
      - read:incidents
      parameters:
      - $ref: '#/components/parameters/CursorParam'
      - $ref: '#/components/parameters/LimitParam'
      responses:
        '200':
          description: List of incidents.
      operationId: getApiV1Incidents
      x-operation-id-source: derived
    servers:
    - url: https://monit.rs
      description: Production
  /api/v1/incidents/{incident_id}:
    get:
      tags:
      - Incidents
      summary: Incident detail
      security:
      - ApiKeyBearer: []
      - BearerJwt: []
      x-scopes:
      - read:incidents
      parameters:
      - name: incident_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Incident with timeline.
        '404':
          description: Not found.
      operationId: getApiV1IncidentsByIncidentId
      x-operation-id-source: derived
    servers:
    - url: https://monit.rs
      description: Production
  /api/v1/incidents/{incident_id}/ack:
    post:
      tags:
      - Incidents
      summary: Acknowledge an open incident
      security:
      - BearerJwt: []
      parameters:
      - name: incident_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Incident Id
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IncidentAcknowledge'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncidentDetailResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '404':
          description: Not found.
        '409':
          description: Conflicts with existing state.
      operationId: postApiV1IncidentsByIncidentIdAck
      x-operation-id-source: derived
    servers:
    - url: https://monit.rs
      description: Production
  /api/v1/incidents/{incident_id}/assign:
    post:
      tags:
      - Incidents
      summary: Assign an incident to a user
      security:
      - BearerJwt: []
      parameters:
      - name: incident_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Incident Id
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IncidentAssign'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncidentDetailResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '400':
          description: Invalid request.
        '404':
          description: Not found.
        '409':
          description: Conflicts with existing state.
      operationId: postApiV1IncidentsByIncidentIdAssign
      x-operation-id-source: derived
    servers:
    - url: https://monit.rs
      description: Production
  /api/v1/incidents/{incident_id}/resolve:
    post:
      tags:
      - Incidents
      summary: Resolve an incident
      security:
      - BearerJwt: []
      parameters:
      - name: incident_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Incident Id
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IncidentResolve'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IncidentDetailResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '404':
          description: Not found.
      operationId: postApiV1IncidentsByIncidentIdResolve
      x-operation-id-source: derived
    servers:
    - url: https://monit.rs
      description: Production
components:
  schemas:
    IncidentResolve:
      properties:
        resolved:
          type: boolean
          title: Resolved
          default: true
      type: object
      title: IncidentResolve
    IncidentEndpointSummary:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        name:
          type: string
          title: Name
        url:
          type: string
          title: Url
        method:
          type: string
          title: Method
      type: object
      required:
      - id
      - name
      - url
      - method
      title: IncidentEndpointSummary
    IncidentAcknowledge:
      properties:
        acknowledged:
          type: boolean
          title: Acknowledged
          default: true
      type: object
      title: IncidentAcknowledge
    IncidentTimelineEventResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        incident_id:
          type: string
          format: uuid
          title: Incident Id
        regression_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Regression Id
        actor_user_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Actor User Id
        event_type:
          type: string
          title: Event Type
        message:
          anyOf:
          - type: string
          - type: 'null'
          title: Message
        metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Metadata
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - id
      - incident_id
      - regression_id
      - actor_user_id
      - event_type
      - message
      - created_at
      title: IncidentTimelineEventResponse
    IncidentRegressionSummary:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        endpoint_id:
          type: string
          format: uuid
          title: Endpoint Id
        regression_type:
          type: string
          title: Regression Type
        severity:
          type: string
          title: Severity
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        is_acknowledged:
          type: boolean
          title: Is Acknowledged
        is_resolved:
          type: boolean
          title: Is Resolved
        resolved_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Resolved At
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - id
      - endpoint_id
      - regression_type
      - severity
      - description
      - is_acknowledged
      - is_resolved
      - resolved_at
      - created_at
      title: IncidentRegressionSummary
    IncidentAssign:
      properties:
        assign_to_me:
          type: boolean
          title: Assign To Me
          default: false
        name:
          anyOf:
          - type: string
            maxLength: 120
          - type: 'null'
          title: Name
        email:
          anyOf:
          - type: string
            maxLength: 255
          - type: 'null'
          title: Email
        clear:
          type: boolean
          title: Clear
          default: false
      type: object
      title: IncidentAssign
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    IncidentDetailResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        user_id:
          type: string
          format: uuid
          title: User Id
        endpoint_id:
          type: string
          format: uuid
          title: Endpoint Id
        status:
          type: string
          title: Status
        severity:
          type: string
          title: Severity
        title:
          type: string
          title: Title
        summary:
          anyOf:
          - type: string
          - type: 'null'
          title: Summary
        regression_count:
          type: integer
          title: Regression Count
        first_detected_at:
          type: string
          format: date-time
          title: First Detected At
        last_detected_at:
          type: string
          format: date-time
          title: Last Detected At
        acknowledged_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Acknowledged At
        acknowledged_by_user_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Acknowledged By User Id
        resolved_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Resolved At
        resolved_by_user_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Resolved By User Id
        opened_alert_sent_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Opened Alert Sent At
        last_alerted_severity:
          anyOf:
          - type: string
          - type: 'null'
          title: Last Alerted Severity
        recovery_alert_sent_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Recovery Alert Sent At
        escalation_policy_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Escalation Policy Id
        assigned_to_user_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Assigned To User Id
        assigned_contact:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Assigned Contact
        assigned_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Assigned At
        assigned_by_user_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Assigned By User Id
        escalation_status:
          type: string
          title: Escalation Status
          default: pending
        current_escalation_step:
          type: integer
          title: Current Escalation Step
          default: 0
        next_escalation_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Next Escalation At
        last_escalated_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Escalated At
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updated At
        endpoint:
          anyOf:
          - $ref: '#/components/schemas/IncidentEndpointSummary'
          - type: 'null'
        regressions:
          items:
            $ref: '#/components/schemas/IncidentRegressionSummary'
          type: array
          title: Regressions
        timeline:
          items:
            $ref: '#/components/schemas/IncidentTimelineEventResponse'
          type: array
          title: Timeline
        regressions_truncated:
          type: boolean
          title: Regressions Truncated
          default: false
        timeline_truncated:
          type: boolean
          title: Timeline Truncated
          default: false
      type: object
      required:
      - id
      - user_id
      - endpoint_id
      - status
      - severity
      - title
      - summary
      - regression_count
      - first_detected_at
      - last_detected_at
      - acknowledged_at
      - acknowledged_by_user_id
      - resolved_at
      - resolved_by_user_id
      - created_at
      title: IncidentDetailResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
  parameters:
    CursorParam:
      name: cursor
      in: query
      required: false
      schema:
        type: string
      description: 'Opaque cursor from a previous response''s `next_cursor` field or `Link: rel=next` header. Omit for first page.'
    LimitParam:
      name: limit
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 200
        default: 50
      description: Max items per page.
  securitySchemes:
    ApiKeyBearer:
      type: http
      scheme: bearer
      bearerFormat: mrs_live_*
      description: monit.rs API key (mrs_live_ prefix). Get one at https://monit.rs/settings?tab=api-keys after signing in.
    BearerJwt:
      type: http
      scheme: bearer
      description: Bearer JWT token for authenticated user sessions.
externalDocs:
  description: Full public site + browsable changelog
  url: https://monit.rs/changelog
x-refined-from:
- api.monit.rs-openapi.json
- monit-rs-openapi.json