Site24x7 Monitors API
Create, retrieve, update, and delete monitors of all types
Create, retrieve, update, and delete monitors of all types
openapi: 3.0.3
info:
title: Site24x7 REST Alarms Monitors API
description: The Site24x7 REST API (v2.0) enables programmatic access to all monitoring operations including creating and managing monitors for websites, servers, cloud resources, APIs, and databases; configuring alert thresholds, notification profiles, and on-call schedules; scheduling maintenance windows; retrieving availability, performance, and SLA reports; managing IT automation actions; and administering users, groups, and third-party integrations. Authentication uses OAuth 2.0 via the Zoho Developer Console.
version: '2.0'
contact:
name: Site24x7 Support
url: https://www.site24x7.com/contact.html
termsOfService: https://www.site24x7.com/terms.html
license:
name: Site24x7 Terms of Service
url: https://www.site24x7.com/terms.html
servers:
- url: https://www.site24x7.com/api
description: US data center
- url: https://www.site24x7.eu/api
description: EU data center
- url: https://www.site24x7.in/api
description: India data center
- url: https://www.site24x7.net.au/api
description: Australia data center
- url: https://app.site24x7.jp/api
description: Japan data center
- url: https://www.site24x7.ca/api
description: Canada data center
- url: https://app.site24x7.uk/api
description: UK data center
- url: https://app.site24x7.ae/api
description: UAE data center
- url: https://www.site24x7.sa/api
description: Saudi Arabia data center
security:
- ZohoOAuth: []
tags:
- name: Monitors
description: Create, retrieve, update, and delete monitors of all types
paths:
/monitors:
get:
operationId: listMonitors
tags:
- Monitors
summary: List all monitors
description: Retrieve a list of all monitors configured in the account.
parameters:
- $ref: '#/components/parameters/ApiVersionHeader'
responses:
'200':
description: List of monitors returned successfully
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/MonitorListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createMonitor
tags:
- Monitors
summary: Create a monitor
description: Create a new monitor. The monitor type is determined by the `type` field in the request body.
parameters:
- $ref: '#/components/parameters/ApiVersionHeader'
requestBody:
required: true
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/MonitorCreate'
responses:
'200':
description: Monitor created successfully
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/MonitorResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/monitors/{monitor_id}:
get:
operationId: getMonitor
tags:
- Monitors
summary: Get a monitor
description: Retrieve the configuration and details of a specific monitor by its ID.
parameters:
- $ref: '#/components/parameters/MonitorId'
- $ref: '#/components/parameters/ApiVersionHeader'
responses:
'200':
description: Monitor details returned successfully
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/MonitorResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateMonitor
tags:
- Monitors
summary: Update a monitor
description: Modify the configuration of an existing monitor.
parameters:
- $ref: '#/components/parameters/MonitorId'
- $ref: '#/components/parameters/ApiVersionHeader'
requestBody:
required: true
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/MonitorCreate'
responses:
'200':
description: Monitor updated successfully
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/MonitorResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteMonitor
tags:
- Monitors
summary: Delete a monitor
description: Permanently remove a monitor from the account.
parameters:
- $ref: '#/components/parameters/MonitorId'
- $ref: '#/components/parameters/ApiVersionHeader'
responses:
'200':
description: Monitor deleted successfully
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/ApiResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/monitors/name/{display_name}:
get:
operationId: getMonitorByName
tags:
- Monitors
summary: Get a monitor by name
description: Retrieve monitor details using the monitor's display name.
parameters:
- name: display_name
in: path
required: true
schema:
type: string
description: Display name of the monitor
- $ref: '#/components/parameters/ApiVersionHeader'
responses:
'200':
description: Monitor returned successfully
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/MonitorResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteMonitorByName
tags:
- Monitors
summary: Delete a monitor by name
description: Remove a monitor using its display name.
parameters:
- name: display_name
in: path
required: true
schema:
type: string
description: Display name of the monitor
- $ref: '#/components/parameters/ApiVersionHeader'
responses:
'200':
description: Monitor deleted successfully
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/ApiResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/monitors/{monitor_id}/activate:
put:
operationId: activateMonitor
tags:
- Monitors
summary: Activate a monitor
description: Re-enable a previously suspended monitor.
parameters:
- $ref: '#/components/parameters/MonitorId'
- $ref: '#/components/parameters/ApiVersionHeader'
responses:
'200':
description: Monitor activated successfully
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/ApiResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/monitors/{monitor_id}/suspend:
put:
operationId: suspendMonitor
tags:
- Monitors
summary: Suspend a monitor
description: Pause monitoring operations for a specific monitor.
parameters:
- $ref: '#/components/parameters/MonitorId'
- $ref: '#/components/parameters/ApiVersionHeader'
responses:
'200':
description: Monitor suspended successfully
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/ApiResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/monitors/{monitor_id}/poll:
post:
operationId: pollMonitor
tags:
- Monitors
summary: Poll a monitor immediately
description: Initiate an immediate check for a specific monitor.
parameters:
- $ref: '#/components/parameters/MonitorId'
- $ref: '#/components/parameters/ApiVersionHeader'
responses:
'200':
description: Poll initiated successfully
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/ApiResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/monitors/{monitor_id}/polling_status:
get:
operationId: getMonitorPollingStatus
tags:
- Monitors
summary: Get polling status
description: Retrieve the current polling status for a specific monitor.
parameters:
- $ref: '#/components/parameters/MonitorId'
- $ref: '#/components/parameters/ApiVersionHeader'
responses:
'200':
description: Polling status returned successfully
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/ApiResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/monitors/{monitor_id}/mute:
put:
operationId: muteMonitor
tags:
- Monitors
summary: Mute a monitor
description: Silence alert notifications for a specific monitor.
parameters:
- $ref: '#/components/parameters/MonitorId'
- $ref: '#/components/parameters/ApiVersionHeader'
responses:
'200':
description: Monitor muted successfully
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/ApiResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/monitors/{monitor_id}/unmute:
put:
operationId: unmuteMonitor
tags:
- Monitors
summary: Unmute a monitor
description: Resume alert notifications for a previously muted monitor.
parameters:
- $ref: '#/components/parameters/MonitorId'
- $ref: '#/components/parameters/ApiVersionHeader'
responses:
'200':
description: Monitor unmuted successfully
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/ApiResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
parameters:
MonitorId:
name: monitor_id
in: path
required: true
schema:
type: string
description: Unique monitor identifier
ApiVersionHeader:
name: Accept
in: header
required: false
schema:
type: string
default: application/json; version=2.0
description: API version header. Defaults to version 2.0.
responses:
Unauthorized:
description: Authentication failed or token is missing
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/ErrorResponse'
BadRequest:
description: Invalid request parameters or body
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/ErrorResponse'
NotFound:
description: The requested resource was not found
content:
application/json;version=2.0:
schema:
$ref: '#/components/schemas/ErrorResponse'
schemas:
ApiResponse:
type: object
properties:
code:
type: integer
description: Response code (0 = success)
example: 0
message:
type: string
description: Response message
example: success
required:
- code
- message
Monitor:
type: object
properties:
monitor_id:
type: string
description: Unique identifier for the monitor
display_name:
type: string
description: Human-readable name of the monitor
type:
type: string
description: Monitor type (e.g., URL, SERVER, SSL_CERT, REST_API)
example: URL
website:
type: string
format: uri
description: URL being monitored (for website monitors)
check_frequency:
type: integer
description: Check interval in minutes
example: 5
location_profile_id:
type: string
description: ID of the location profile used for checks
notification_profile_id:
type: string
description: ID of the notification profile
threshold_profile_id:
type: string
description: ID of the threshold profile
monitor_groups:
type: array
items:
type: string
description: List of monitor group IDs this monitor belongs to
tag_ids:
type: array
items:
type: string
description: List of tag IDs associated with this monitor
status:
type: integer
description: Current status (0=Down, 1=Up, 2=Trouble, 3=Critical, 5=Suspended, 7=Maintenance)
enum:
- 0
- 1
- 2
- 3
- 5
- 7
created_time:
type: string
format: date-time
description: Timestamp when the monitor was created
last_polled_time:
type: string
format: date-time
description: Timestamp of the last polling check
MonitorResponse:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
data:
$ref: '#/components/schemas/Monitor'
MonitorListResponse:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Monitor'
ErrorResponse:
type: object
properties:
code:
type: integer
description: Error code
message:
type: string
description: Error description
error_info:
type: string
description: Additional error details
MonitorCreate:
type: object
required:
- display_name
- type
properties:
display_name:
type: string
description: Human-readable name for the monitor
example: My Website Monitor
type:
type: string
description: Monitor type identifier
example: URL
website:
type: string
format: uri
description: URL to monitor (for website/API monitors)
example: https://example.com
check_frequency:
type: integer
description: Polling interval in minutes
default: 5
example: 5
location_profile_id:
type: string
description: ID of the location profile for check locations
notification_profile_id:
type: string
description: ID of the notification profile for alerts
threshold_profile_id:
type: string
description: ID of the threshold profile for alerting criteria
monitor_groups:
type: array
items:
type: string
description: Monitor group IDs to assign this monitor to
tag_ids:
type: array
items:
type: string
description: Tag IDs to associate with this monitor
timeout:
type: integer
description: Request timeout in seconds
default: 10
securitySchemes:
ZohoOAuth:
type: http
scheme: bearer
bearerFormat: Zoho-oauthtoken
description: 'OAuth 2.0 token obtained from the Zoho Developer Console. Pass as `Authorization: Zoho-oauthtoken {access_token}`.'
externalDocs:
description: Site24x7 API Documentation
url: https://www.site24x7.com/help/api/