UptimeRobot Monitor Groups API

The Monitor Groups API from UptimeRobot — 2 operation(s) for monitor groups.

Business capability
Observability Management BC-4220.20

Operations 5

POST /monitor-groups Create a monitor group #
GET /monitor-groups List monitor groups #
GET /monitor-groups/{id} Get a monitor group by ID #
PATCH /monitor-groups/{id} Update a monitor group #
DELETE /monitor-groups/{id} Delete a monitor group #

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/uptimerobot:uptimerobot-monitor-groups-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

uptimerobot-monitor-groups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: UptimeRobot Monitor Groups API
  description: ''
  version: '3.0'
  contact: {}
servers:
- url: https://api.uptimerobot.com/v3
tags:
- name: Monitor Groups
paths:
  /monitor-groups:
    post:
      description: Create a new monitor group with optional initial monitors. Monitors can be assigned by providing their IDs or by specifying existing group IDs whose monitors should be moved.
      operationId: MonitorGroupsController_create
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMonitorGroupDto'
      responses:
        '201':
          description: Monitor group created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorGroupDto'
        '400':
          description: Validation error (invalid name, monitorIds, or groupIds)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '401':
          description: Unauthorized - invalid or missing authentication
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '403':
          description: Forbidden - no write permission or monitor-groups feature not available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        default:
          description: An error response. `code` is a member of the published error code vocabulary.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
      security:
      - bearer: []
      summary: Create a monitor group
      tags:
      - Monitor Groups
    get:
      description: List all monitor groups in a user's account. Values can be paginated with the cursor parameter.
      operationId: MonitorGroupsController_list
      parameters:
      - name: limit
        required: false
        in: query
        description: 'Maximum number of monitor groups to return per page. Default: 50, Min: 1, Max: 200.'
        schema:
          minimum: 1
          maximum: 200
          example: 50
          type: number
      - name: cursor
        required: false
        in: query
        description: Cursor for pagination (ID of the last item from previous page)
        schema:
          type: number
      responses:
        '200':
          description: Monitor groups retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorGroupPaginationDto'
        default:
          description: An error response. `code` is a member of the published error code vocabulary.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
      security:
      - bearer: []
      summary: List monitor groups
      tags:
      - Monitor Groups
  /monitor-groups/{id}:
    get:
      description: Get monitor group details by ID
      operationId: MonitorGroupsController_get
      parameters:
      - name: id
        required: true
        in: path
        description: The monitor group ID
        schema:
          type: number
      responses:
        '200':
          description: Monitor group retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorGroupDto'
        default:
          description: An error response. `code` is a member of the published error code vocabulary.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
      security:
      - bearer: []
      summary: Get a monitor group by ID
      tags:
      - Monitor Groups
    patch:
      description: Update (rename) an existing monitor group
      operationId: MonitorGroupsController_update
      parameters:
      - name: id
        required: true
        in: path
        description: The monitor group ID
        schema:
          type: number
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateMonitorGroupDto'
      responses:
        '200':
          description: Monitor group updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorGroupDto'
        default:
          description: An error response. `code` is a member of the published error code vocabulary.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
      security:
      - bearer: []
      summary: Update a monitor group
      tags:
      - Monitor Groups
    delete:
      description: 'Delete a monitor group. Monitors in the deleted group will be moved to the specified group or to the default group (ID: 0).'
      operationId: MonitorGroupsController_delete
      parameters:
      - name: id
        required: true
        in: path
        description: The monitor group ID to delete
        schema:
          type: number
      - name: monitorsNewGroupId
        required: false
        in: query
        description: 'Optional group ID to move monitors to. If not provided, monitors will be moved to default group (ID: 0).'
        schema:
          minimum: 1
          example: 123
          type: number
      responses:
        '204':
          description: Monitor group deleted successfully
        '400':
          description: Cannot delete default group or invalid new group
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '401':
          description: Unauthorized - invalid or missing authentication
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '403':
          description: Forbidden - no write permission or monitor-groups feature not available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        '404':
          description: Monitor group not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
        default:
          description: An error response. `code` is a member of the published error code vocabulary.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorResponseDto'
      security:
      - bearer: []
      summary: Delete a monitor group
      tags:
      - Monitor Groups
components:
  schemas:
    UpdateMonitorGroupDto:
      type: object
      properties:
        name:
          type: string
          maxLength: 255
          description: Name of the monitor group
          example: Production Monitors
    ApiErrorResponseDto:
      type: object
      properties:
        code:
          type: string
          description: A stable, machine-readable error code. Always a member of the published vocabulary.
          enum:
          - 000-001
          - 000-002
          - 000-003
          - 000-004
          - 000-005
          - 000-006
          - 000-007
          - 000-008
          - 000-009
          - 000-010
          - 000-011
          - 000-012
          - 000-013
          - 000-014
          - 003-001
          - 003-002
          - 003-003
          - 003-004
          - 003-005
          - 003-006
          - 003-007
          - 003-008
          - 003-009
          - 003-010
          - 003-011
          - 003-012
          - 003-013
          - 003-014
          - 003-015
          - 003-016
          - 003-017
          - 003-018
          - 003-019
          - 003-020
          - 003-021
          - 004-001
          - 004-002
          - 004-033
          - 004-034
          - 004-035
          - 004-036
          - 004-037
          - 004-038
          - 004-039
          - 004-040
          - 004-041
          - 004-042
          - 004-003
          - 004-004
          - 004-005
          - 004-006
          - 004-007
          - 004-008
          - 004-009
          - 004-010
          - 004-011
          - 004-012
          - 004-013
          - 004-014
          - 004-015
          - 004-016
          - 004-017
          - 004-018
          - 004-019
          - 004-020
          - 004-021
          - 004-022
          - 004-023
          - 004-024
          - 004-025
          - 004-026
          - 004-027
          - 004-028
          - 004-029
          - 004-030
          - 004-031
          - 004-032
          - 004-043
          - 004-044
          - 004-045
          - 005-001
          - 005-002
          - 006-001
          - 009-001
          - 009-002
          - 009-003
          - 009-004
          - 009-005
          - 009-006
          - 009-007
          - 009-008
          - 009-009
          - 009-010
          - 009-011
          - 009-012
          - 009-013
          - 009-014
          - 009-015
          - 009-016
          - 009-017
          - 009-022
          - 009-023
          - 009-024
          - 009-025
          - 009-018
          - 009-019
          - 009-020
          - 009-026
          - 009-027
          - 009-028
          - 009-033
          - 009-034
          - 009-021
          - 009-033
          - 009-030
          - 009-036
          - 009-037
          - 011-001
          - 011-002
          - 011-003
          - 011-004
          - 011-005
          - 011-006
          - 011-007
          - 011-008
          - 011-009
          - 011-010
          - 011-011
          - 011-012
          - 011-013
          - 011-014
          - 011-015
          - 011-016
          - 011-017
          - 011-018
          - 011-019
          - 011-020
          - 011-021
          - 011-022
          - 011-023
          - 011-024
          - 011-025
          - 011-026
          - 011-027
          - 011-028
          - 011-029
          - 013-001
          - 013-002
          - 013-003
          - 013-004
          - 013-005
          - 013-006
          - 013-007
          - 013-008
          - 017-001
          - 017-002
          - 018-001
          - 018-002
          - 018-003
          - 018-004
          - 018-005
          - 018-006
          - 018-007
          - 018-008
          - 018-009
          - 018-010
          - 018-011
          - 018-012
          - 021-001
          - 021-002
          - 021-003
          - 021-004
          - 021-005
          - 021-006
          - 021-007
          - 021-008
          - 021-009
          - 021-010
          - 021-011
          - 021-012
          - 021-013
          - 021-014
          - 021-015
          - 021-016
          - 021-017
          - 021-018
          - 021-019
          - 021-020
          - 021-021
          - 021-022
          - 021-023
          - 021-024
          - 021-025
          - 021-026
          - 021-027
          - 021-028
          - 021-029
          - 021-030
          - 021-031
          - 021-032
          - 021-033
          - 021-034
          - 021-035
          - 021-036
          - 021-037
          - 021-038
          - 021-039
          - 021-040
          - 021-041
          - 021-042
          - 021-043
          - 021-044
          - 021-045
          - 021-046
          - 021-047
          - 021-048
          - 021-049
          - 021-050
          - 021-051
          - 021-052
          - 022-001
          - 024-001
          - 024-002
          - 024-003
          - 024-004
          - 024-005
          - 024-006
          - 024-007
          - 024-008
          - 025-002
          - 025-003
          - 025-004
          - 025-005
          - 025-006
          - 025-007
          - 025-008
          - 025-009
          - 025-010
          - 025-011
          - 025-012
          - 025-013
          - 025-014
          - 025-015
          - 025-016
          - 025-017
          - 025-018
          - 025-019
          - 025-020
          - 025-021
          - 025-022
          - 021-053
          - 021-054
          - 021-055
          - 021-056
          - 021-057
          - 021-058
          - 021-059
          - 021-060
          - 021-061
          - 021-062
          - 021-065
          - 021-066
          - 021-067
          - 021-068
          - 026-001
          - 026-002
          - 026-003
          - 026-004
          - 026-005
          - 026-006
          - 026-007
          - 026-008
          - 026-009
          - 026-016
          - 026-017
          - 026-018
          - 026-019
          - 026-020
          - 027-001
          - 027-002
          - 027-003
          - 027-004
          - 027-005
          - 027-006
          - 027-007
          - 027-008
          - 027-009
          - 027-010
          - 027-011
          - 027-012
          - 027-013
          - 027-014
          - 028-001
          - 028-002
          - 029-001
          - 029-002
          - 029-003
          - 029-004
          - 029-005
          - 029-006
          - 029-007
          - 029-008
          - 029-009
          - 029-010
          - 029-011
          - 029-012
          - 029-013
          - 029-014
          - 029-015
        message:
          description: Human-readable error detail. An array of per-field messages for validation failures, a single string otherwise.
          oneOf:
          - type: string
          - type: array
            items:
              type: string
        statusCode:
          type: number
          description: The HTTP status code, present on validation failures.
        error:
          type: string
          description: The HTTP status text, present on validation failures.
      required:
      - code
      - message
    MonitorGroupDto:
      type: object
      properties:
        id:
          type: number
          minimum: 0
        name:
          type: string
          minLength: 1
          maxLength: 255
        createdAt:
          oneOf:
          - {}
          - type: string
        updatedAt:
          oneOf:
          - {}
          - type: string
      required:
      - id
      - name
      - createdAt
      - updatedAt
    MonitorGroupPaginationDto:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              id:
                type: number
                minimum: 0
              name:
                type: string
                minLength: 1
                maxLength: 255
              createdAt:
                oneOf:
                - {}
                - type: string
              updatedAt:
                oneOf:
                - {}
                - type: string
            required:
            - id
            - name
            - createdAt
            - updatedAt
        nextLink:
          type:
          - string
          - 'null'
      required:
      - data
      - nextLink
    CreateMonitorGroupDto:
      type: object
      properties:
        name:
          type: string
          maxLength: 255
          description: Name of the monitor group
          example: Production Monitors
        monitorIds:
          description: List of monitor IDs to be assigned to this group
          example:
          - 1
          - 2
          - 3
          type: array
          items:
            type: number
            minimum: 1
        groupIds:
          description: List of group IDs whose monitors should be moved to this new group
          example:
          - 1
          - 2
          type: array
          items:
            type: number
            minimum: 0
      required:
      - name
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: Enter your API token (without the "Bearer" prefix — it is added automatically).