### Example response for getting all metrics Source: https://instatus.com/help/api/metrics Example JSON response structure for the 'Get all metrics' endpoint, showing metric details and data points. ```json [ { "id": "ckj1qyonq9sdk09819xdg4ehm", "name": "Testing", "active": true, "order": 1, "suffix": "ms", "data": [ { "timestamp": 1608474985000, "value": 355 }, { "timestamp": 1608475225000, "value": 428.25 }, { "timestamp": 1608475465000, "value": 356 }, { "timestamp": 1608475705000, "value": 451.75 }, ... ] }, ... ] ``` -------------------------------- ### Get Routing Rules Example Request Source: https://instatus.com/help/api/routing-rules Example of a GET request to retrieve routing rules for a specific page ID. ```http GET /1/routing-rules ``` -------------------------------- ### Example response for getting a metric Source: https://instatus.com/help/api/metrics Example JSON response for the 'Get a metric' endpoint, detailing a single metric and its data. ```json { "id": "ckj1qyonq9sdk09819xdg4ehm", "name": "Testing", "active": true, "order": 1, "suffix": "ms", "data": [ { "timestamp": 1608474985000, "value": 355 }, { "timestamp": 1608475225000, "value": 428.25 }, { "timestamp": 1608475465000, "value": 356 }, { "timestamp": 1608475705000, "value": 451.75 }, ... ] } ``` -------------------------------- ### Example Response for Get All Components Source: https://instatus.com/help/api/components Illustrates the structure of the JSON response when fetching multiple components, including their ID, name, status, and other properties. ```json [ { "id": "ckf01fvnxywz60a35wdbn5gz5", "name": "App", "status": "OPERATIONAL", "uniqueEmail": "nasa-app-1nozrueut@automation.instatus.com", "description": "", "showUptime": true, "order": 0, "group": null }, { "id": "ckf01fvnxywz50a35nh1qzssm", "name": "Website", "status": "OPERATIONAL", "description": "", "showUptime": true, "order": 0, "group": null, "uniqueEmail": "nasa-website-1nozrueut@automation.instatus.com" } ] ``` -------------------------------- ### Example Response for Get a Component Source: https://instatus.com/help/api/components Shows the JSON structure for a single component's details, including its name, description, status, and unique email. ```json { "id": "ckf01fvnxywz50a35nh1qzssm", "name": "Website", "description": "", "status": "OPERATIONAL", "uniqueEmail": "nasa-website-1nozrueut@automation.instatus.com", "showUptime": true, "order": 0, "group": null } ``` -------------------------------- ### Get Escalation Policies Response Example Source: https://instatus.com/help/api/escalation-policies Example JSON response containing a list of escalation policies. ```json { "escalationPolicies": [ { "id": "escalationPolicy123", "siteId": "site123", "name": "Primary Escalation Policy", "description": "This is the primary escalation policy for site123.", "rules": [ { "id": "rule123", "escalationPolicyId": "escalationPolicy123", "order": 1, "condition": "NOT_ACKNOWLEDGED", "delayInMins": 5, "actions": [ { "id": "action123", "ruleId": "rule123", "type": "NOTIFY_TEAM", "targetId": "team123", "createdAt": "2023-08-08T12:00:00Z", "updatedAt": "2023-08-08T12:00:00Z" }, { "id": "action124", "ruleId": "rule123", "type": "NOTIFY_CURRENT_ON_CALL_USER", "targetId": null, "createdAt": "2023-08-08T12:01:00Z", "updatedAt": "2023-08-08T12:01:00Z" } ] }, { "id": "rule456", "escalationPolicyId": "escalationPolicy123", "order": 2, "condition": "NOT_ACKNOWLEDGED", "delayInMins": 10, "actions": [ { "id": "action125", "ruleId": "rule456", "type": "NOTIFY_NEXT_ON_CALL_USER", "targetId": null, "createdAt": "2023-08-08T12:10:00Z", "updatedAt": "2023-08-08T12:10:00Z" }, { "id": "action126", "ruleId": "rule456", "type": "NOTIFY_WORKSPACE_MEMBER", "targetId": "member456", "createdAt": "2023-08-08T12:12:00Z", "updatedAt": "2023-08-08T12:12:00Z" } ] } ], "repeat": true, "repeatCount": 3, "repeatDelay": 15, "revertAcknowledgement": true, "autoResolveIncidentsAfterRepeat": false, "createdAt": "2023-08-08T12:00:00Z", "updatedAt": "2023-08-08T12:05:00Z" }, { "id": "escalationPolicy456", "siteId": "site123", "name": "Secondary Escalation Policy", "description": "This is the secondary escalation policy for site123.", "rules": [], "repeat": false, "repeatCount": 0, "repeatDelay": 0, "revertAcknowledgement": false, "autoResolveIncidentsAfterRepeat": false, "createdAt": "2023-08-08T12:10:00Z", "updatedAt": "2023-08-08T12:10:00Z" } ] } ``` -------------------------------- ### Get Routing Rules Example Response Source: https://instatus.com/help/api/routing-rules Example JSON response when retrieving routing rules. It includes details about assertions and actions for each rule. ```json { "routingRules": [ { "id": "1", "siteId": "pageId", "assertions": [ { "id": "1", "routingRuleId": "1", "type": "TITLE", "comparison": "CONTAINS", "value": "value1" }, { "id": "2", "routingRuleId": "1", "type": "TITLE", "comparison": "CONTAINS", "value": "value2" } ], "actions": [ { "id": "1", "routingRuleId": "1", "type": "NOTIFY_WORKSPACE_MEMBER", "targetId": "value1" }, { "id": "2", "routingRuleId": "1", "type": "NOTIFY_WORKSPACE_MEMBER", "targetId": "member@platform.com" } ], "createdAt": "2021-09-29T00:00:00.000Z", "updatedAt": "2021-09-29T00:00:00.000Z", "order": 1 } ] } ``` -------------------------------- ### Get Workspaces Response Source: https://instatus.com/help/api/workspaces Example JSON response containing an array of workspace objects. ```json [ { "id": "cmihbdhw90001e7xh9kb3oko7", "createdAt": "2025-11-27T10:52:02.649Z", "updatedAt": "2025-11-27T10:52:03.498Z", "name": "Instatus", "slug": "instatus", "avatar": "https://dashboard.instatus.com/avatars/13.jpg", "sites": ["cmihbdhyg0005e7xhjhim8l74"], "sso": false, "organizationDomains": null, "allowDomainEmails": false, "allowedDomainsDefaultPermission": "READ", "ssoActive": false, "directorySyncActive": false, "enableMultipleOrgs": false, "allowedDomains": null, "allowedEmailDomains": [], "referralId": null, "referralCoupon": null, "referralCode": null, "sendNewWorkspaceMembersStatusPageUpdates": true, "sendNewWorkspaceMembersAutomationIntegrationNotifications": true, "sendNewWorkspaceMembersInvalidCustomDomainNotifications": true, "sendNewWorkspaceMembersPhoneCallNotifications": true, "sendNewWorkspaceMembersWeeklyReportsNotifications": true, "longRunningIncidentNotificationSettings": [0.5, 1, 2, 3, 6, 12], "useSSOLogin": true, "useGoogleLogin": true, "useMagiclinkLogin": true, "usePasswordLogin": true, "useGithubLogin": true }, { "id": "cmjiq4ert0006bd6k027exx68", "createdAt": "2025-12-23T15:12:21.449Z", "updatedAt": "2025-12-23T15:18:57.744Z", "name": "Workspace 2", "slug": "workspace-2", "avatar": "https://dashboard.instatus.com/avatars/26.jpg", "sites": [], "sso": false, "organizationDomains": null, "allowDomainEmails": false, "allowedDomainsDefaultPermission": "READ", "ssoActive": false, "directorySyncActive": false, "enableMultipleOrgs": false, "allowedDomains": null, "allowedEmailDomains": [], "referralId": null, "referralCoupon": null, "referralCode": null, "sendNewWorkspaceMembersStatusPageUpdates": true, "sendNewWorkspaceMembersAutomationIntegrationNotifications": true, "sendNewWorkspaceMembersInvalidCustomDomainNotifications": true, "sendNewWorkspaceMembersPhoneCallNotifications": true, "sendNewWorkspaceMembersWeeklyReportsNotifications": true, "longRunningIncidentNotificationSettings": [0.5, 1, 2, 3, 6, 12], "useSSOLogin": true, "useGoogleLogin": true, "useMagiclinkLogin": true, "usePasswordLogin": true, "useGithubLogin": true } ] ``` -------------------------------- ### Create Escalation Policy Response Example Source: https://instatus.com/help/api/escalation-policies Example JSON response confirming the creation of an escalation policy. ```json { "escalationPolicy": { "id": "new-escalation-policy-id", "pageId": "12345", "name": "Critical Alerts Policy", "description": "Policy for handling critical alerts", "rules": [ { "delayInMins": 5, "condition": "NOT_ACKNOWLEDGED", "actions": [ { "targetId": "target-1", "type": "NOTIFY_WORKSPACE_MEMBER" }, { "targetId": "target-2", "type": "NOTIFY_WORKSPACE_MEMBER" } ] } ], "repeat": true, "repeatDelay": 10, "repeatCount": 3, "autoResolveIncidentsAfterRepeat": false, "revertAcknowledgement": true }, "message": "Routing rule created successfully." } ``` -------------------------------- ### Create Routing Rule Example Response Source: https://instatus.com/help/api/routing-rules Example JSON response after successfully creating a routing rule, confirming the creation with basic rule details. ```json { "routingRule": { "id": "routing-rule-id-1", "order": 1, "siteId": "site123", "updatedAt": "2021-09-01T12:00:00Z", "createdAt": "2021-09-01T12:00:00Z" }, "message": "Routing rule created successfully." } ``` -------------------------------- ### Example Response for Get Audience Group Source: https://instatus.com/help/api/audience-groups This is an example of the JSON response when successfully retrieving an audience group. ```json { "id": "clhaasg3d017058vlp22h9k6w", "siteId": "clcqs5tob3338jrvlf76mhd7t", "name": "Audience Group 1", "teammates": [ { "id": "clhaasg3e017358vlnedqbt7x", "audienceGroupId": "clhaasg3d017058vlp22h9k6w", "teammateId": "clc38kure253016ivlpsuq3vx1", "teammate": { "id": "clc38kure253016ivlpsuq3vx1", "user": { "id": "cl8slhcwu6084mfndq6eh9tq7", "name": null, "email": "buzz@lightyear.com", "avatar": null } } } ], "components": [ { "id": "clhaasg3e017158vlj8lakqhz", "audienceGroupId": "clhaasg3d017058vlp22h9k6w", "componentId": "clcqs5usl3350jrvllb1l2sge", "component": { "id": "clcqs5usl3350jrvllb1l2sge", "name": "Website", "nameTranslationId": null, "description": "", "descriptionTranslationId": null, "status": "OPERATIONAL", "order": 1, "showUptime": true, "createdAt": "2023-01-10T22:04:17.061Z", "updatedAt": "2023-01-10T22:04:17.062Z", "archivedAt": null, "siteId": "clcqs5tob3338jrvlf76mhd7t", "uniqueEmail": "testing-amr-as-owner-private-website-lcqh533jn@automation.instatus.com", "groupId": null, "nameHtml": null, "nameHtmlTranslationId": null, "descriptionHtml": null, "descriptionHtmlTranslationId": null, "isThirdParty": false, "thirdPartyStatus": null, "thirdPartyComponentId": null, "thirdPartyComponentServiceId": null, "importedFromStatuspage": false, "startDate": null, "nameTranslation": null, "descriptionTranslation": null, "group": null } } ] } ``` -------------------------------- ### Get Escalation Policies Request Example Source: https://instatus.com/help/api/escalation-policies Example request for retrieving escalation policies for page ID 1. ```http GET /1/escalation-policies ``` -------------------------------- ### Example response for Get an incident update Source: https://instatus.com/help/api/incident-updates This is an example of the JSON response when fetching an incident update. It includes details about the update message, status, and associated incident. ```json { "id": "ckf1ew8mol30c0a32w400k6s3", "message": "We're currently investigating an issue with the Website", "messageHtml": "

We're currently investigating an issue with the Website

", "status": "INVESTIGATING", "notify": true, "started": "2020-09-12T03:38:47.998Z", "incident": { "id": "ckf01m59ueaqb0a32wrljz1yd", "name": "Rocket is going down", "started": "2020-09-12T19:05:17.398Z", "status": "INVESTIGATING", "components": [ { "id": "ckf01fvnxywz50a35nh1qzssm", "name": "Website", "status": "PARTIALOUTAGE", "showUptime": true, "site": { "subdomain": "nasa", "logoUrl": null, "name": "Nasa", "slackIntegrations": [], "subscribers": [] }, "customImpactPercentage": 40, "subscribers": [] } ] } } ``` -------------------------------- ### Example response for adding a metric Source: https://instatus.com/help/api/metrics Example JSON response after successfully adding a new metric, including its ID and initial data structure. ```json { "id": "ckj1qyonq9sdk09819xdg4ehm", "name": "Response time", "active": true, "order": 1, "suffix": "ms", "lastDataAt": 1608561235000, "data": [ { "timestamp": 1608474985000, "value": 355 }, { "timestamp": 1608475225000, "value": 428.25 }, { "timestamp": 1608475465000, "value": 356 }, ... ] } ``` -------------------------------- ### Example Response for Create Audience Group Source: https://instatus.com/help/api/audience-groups This is an example of the JSON response when successfully creating an audience group. ```json { "id": "clhaasg3d017058vlp22h9k6w", "siteId": "clcqs5tob3338jrvlf76mhd7t", "name": "Audience Group 1", "site": { "id": "clcqs5tob3338jrvlf76mhd7t" } } ``` -------------------------------- ### Get subscribers response Source: https://instatus.com/help/api/subscribers Example JSON response containing a list of subscriber objects. ```json [ { "id": "cm1111x6ofgsd5666mzxcw978qh", "email": "ali@instatus.com", "phone": null, "webhook": null, "webhookEmail": null, "confirmed": false, "all": true, "components": [] }, { "id": "cm1111x6ofgsd5666mzxcw978qh", "email": null, "phone": "5417543010" "webhook": null, "webhookEmail": null, "confirmed": false, "all": true, "components": [] } ] ``` -------------------------------- ### Create Escalation Policy Request Example Source: https://instatus.com/help/api/escalation-policies Example JSON request body for creating a new escalation policy. ```json { "pageId": "12345", "name": "Critical Alerts Policy", "description": "Policy for handling critical alerts", "rules": [ { "delayInMins": 5, "condition": "NOT_ACKNOWLEDGED", "actions": [ { "targetId": "target-1", "type": "NOTIFY_WORKSPACE_MEMBER" }, { "targetId": "target-2", "type": "NOTIFY_WORKSPACE_MEMBER" } ] } ], "repeat": true, "repeatDelay": 10, "repeatCount": 3, "autoResolveIncidentsAfterRepeat": false, "revertAcknowledgement": true } ``` -------------------------------- ### Update maintenance response example Source: https://instatus.com/help/api/maintenances Example JSON response returned after a successful maintenance update. ```json { "id": "ckf1g4evp4o5s0a35vozxnjv5", "name": "Test maintenance 2", "status": "NOTSTARTEDYET", "start": "2020-09-12T03:38:47.998Z", "duration": null, "updates": [ { "id": "ckf1g4ffi4o5y0a35rm76vuq9", "message": "We're currently investigating an issue with the Website", "messageHtml": "

We're currently investigating an issue with the Website

", "status": "NOTSTARTEDYET", "notify": true, "started": "2020-09-12T03:38:47.998Z", "ended": null, "duration": null, "createdAt": "2020-09-13T18:42:43.614Z" } ], "components": [ { "id": "ckf01fvnxywz50a35nh1qzssm", "name": "Website", "status": "OPERATIONAL", "showUptime": true, "site": { "id": "ckf01fonve9i40a32oas5b0uw", "name": "Nasa", "subdomain": "nasa", "color": null, "logoUrl": null, "publicEmail": null } } ], "translations": { "name": { "fr": "Entretien des tests" }, "message": { "fr": "Nous planifions une maintenance test" } } } ``` -------------------------------- ### Create Routing Rule Example Request Source: https://instatus.com/help/api/routing-rules Example JSON payload for creating a new routing rule. Note that `targetId` in actions can be a workspace member email or a team ID. ```json { "routingRule": { "assertions": [ { "id": "1", "routingRuleId": "1", "type": "TITLE", "comparison": "CONTAINS", "value": "value1" }, { "id": "2", "routingRuleId": "1", "type": "TITLE", "comparison": "CONTAINS", "value": "value2"'", } ], "actions": [ { "id": "1", "routingRuleId": "1", "type": "NOTIFY_WORKSPACE_MEMBER", "targetId": "member2@platform.com" }, { "id": "2", "routingRuleId": "1", "type": "NOTIFY_WORKSPACE_MEMBER", "targetId": "member@platform.com" } ], "order": 1, "siteId": "site-id-1" }, "message": "Routing rule updated successfully" } ``` -------------------------------- ### Get teammates response Source: https://instatus.com/help/api/teammates Example JSON response containing a list of team member objects. ```json [ { "id": "cm1111x6ofgsd5666mzxcw978qh", "user": { "id": "cm111114566gsd5666mzxcw978qh", "name": "Ali Salah", "email": "ali@instatus.com", "avatar": "https://res.cloudinary.com/sup/image/upload/v1600287654/avatars/uuhfbauwwv7zjzzejgik.jpg" } } ] ``` -------------------------------- ### Example response for Add an incident update Source: https://instatus.com/help/api/incident-updates This is an example of the JSON response after successfully adding an incident update. It confirms the details of the update and the associated incident. ```json { "id": "ckf1ew8mol30c0a32w400k6s3", "message": "We're currently investigating an issue with the Website", "messageHtml": "

We're currently investigating an issue with the Website

", "status": "INVESTIGATING", "notify": true, "started": "2020-09-12T03:38:47.998Z", "incident": { "id": "ckf01m59ueaqb0a32wrljz1yd", "name": "Rocket is going down", "started": "2020-09-12T19:05:17.398Z", "status": "INVESTIGATING", "components": [ { "id": "ckf01fvnxywz50a35nh1qzssm", "name": "Website", "status": "OPERATIONAL", "showUptime": true, "site": { "subdomain": "nasa", "logoUrl": null, "name": "Nasa", "slackIntegrations": [], "subscribers": [] }, "subscribers": [] } ] }, "translations": { "message": { "fr": "Nous enquêtons actuellement sur un problème avec le site Web" } } } ``` -------------------------------- ### Example User Profile Response Source: https://instatus.com/help/api/user-profile This is an example of the JSON response structure you can expect when successfully retrieving a user's profile. It includes user identification and basic profile details. ```json { "id": "hkf01fozve9e40a32aas5b0uc", "email": "ali@instatus.com", "name": "Ali", "slug": "ali", "avatar": "https://res.cloudinary.com/sup/image/upload/v1622398781/avatars/spzy0jvdmhges13oeooo.jpg" } ``` -------------------------------- ### Update template request example Source: https://instatus.com/help/api/templates Example JSON payload for updating a template, including component status and translations. ```json { "type": "INCIDENT", "name": "Test template 2", "message": "We're currently investigating an issue with the Website", "status": "INVESTIGATING", "notify": true, "components": [ { "id": "cl9fzgipf14075qjvljphlnwkk", "status": "MAJOROUTAGE", } ], "translations": { "name": { "fr": "Modèle de test" }, "message": { "fr": "Nous enquêtons actuellement sur un problème avec le site Web" } } } ``` -------------------------------- ### Example Public Status Summary Response Source: https://instatus.com/help/api/public-data This is an example of the JSON response you can expect when accessing the summary endpoint. It includes the page's overall status, details about active incidents, and planned maintenances. ```json { "page": { "name": "Instatus", "url": "https://instat.us", "status": "HASISSUES" }, "activeIncidents": [ { "name": "We're facing an issue with our API", "started": "Sat Jun 11 2022 18:55:50 GMT+0000 (Coordinated Universal Time)", "status": "INVESTIGATING", "impact": "MAJOROUTAGE", "url": "https://testing-widget.instatus.com/incident/cl4a8n3070721qtmzvts760c4" } ], "activeMaintenances": [ { "name": "Database maintenance", "start": "Sat Jun 11 2022 18:55:54 GMT+0000 (Coordinated Universal Time)", "status": "NOTSTARTEDYET", "duration": "60", "url": "https://testing-widget.instatus.com/maintenance/cl4a8nlv50918qtmzdlw60ivu" } ] } ``` -------------------------------- ### Update template response example Source: https://instatus.com/help/api/templates The response returned after successfully updating a template. ```json { "id": "cl9ranzrn0040xovluqicus6h", "type": "INCIDENT", "name": "Test template 2", "nameTranslationId": null, "message": "We're currently investigating an issue with the Website", "messageTranslationId": null, "messageHtml": "

We're currently investigating an issue with the Website

", "messageHtmlTranslationId": null, "status": "INVESTIGATING", "notify": true, "createdAt": "2022-10-27T16:43:09.394Z", "siteId": "cl9fzgilx14063qjvl5oqdtxtg", "importedFromStatuspage": false, "deletedAt": null, "components": [ { "id": "cl9xockck01654tvlwfn7vbaz", "status": "OPERATIONAL", "componentId": "cl9fzgipf14075qjvljphlnwkk", "templateId": "cl9ranzrn0040xovluqicus6h", "importedFromStatuspage": false } ], "translations": { "name": { "fr": "Modèle de test" }, "message": { "fr": "Nous enquêtons actuellement sur un problème avec le site Web" } } } ``` -------------------------------- ### Example Response for Create Component Source: https://instatus.com/help/api/components The response after successfully creating a component, including its assigned ID, unique email, and other properties. ```json { "id": "ckf1d4f6a4aaf0a356vqg0rdm", "name": "Test component", "description": "Testing", "uniqueEmail": "nasa-test-component-oomaksikj@automation.instatus.com", "status": "OPERATIONAL", "showUptime": true, "order": 8, "group": null, "translations": { "name": { "fr": "Composant de test" }, "description": { "fr": "En test" } } } ``` -------------------------------- ### Create Workspace Request Source: https://instatus.com/help/api/workspaces Example JSON body for creating a new workspace. ```json { "name": "Instatus", "slug": "in-status", "sendNewWorkspaceMembersStatusPageUpdates": true, "sendNewWorkspaceMembersAutomationIntegrationNotifications": true, "sendNewWorkspaceMembersInvalidCustomDomainNotifications": true, "sendNewWorkspaceMembersPhoneCallNotifications": true, "sendNewWorkspaceMembersWeeklyReportsNotifications": true, "longRunningIncidentNotificationSettings": [0.5, 1, 2, 3, 6, 12] } ``` -------------------------------- ### Create Monitor Response Source: https://instatus.com/help/api/monitors Example response after successfully creating a monitor. It includes the details of the created monitor and a success message. ```json { "monitor": { "pageId": "page123", "url": "https://example.com", "httpMethod": "GET", "body": null, "headers": { "Content-Type": "application/json", "Authorization": "Bearer token" }, "queryParams": { "search": "test", "limit": "10" }, "basicAuth": { "username": "user", "password": "password" }, "type": "HTTP", "assertions": [ { "id": "assertion1", "type": "STATUS_CODE", "comparison": "EQUALS", "selector": null, "target": "200" } ], "alerts": ["alert1", "alert2"], "name": "Example Monitor", "locations": "US_EAST_1", "checksInterval": 300, "createComponent": true, "createMetric": true, "onFail": { "createIncident": true, "createOutageDuration": true, "publishIncident": true, "notifySubscribers": true }, "onRecover": { "resolveIncident": true, "resolveOutageDuration": true, "publishIncident": true, "notifySubscribers": true }, "createdAt": "2023-08-08T12:00:00Z", "updatedAt": "2023-08-08T12:00:00Z" }, "message": "Monitor created successfully" } ``` -------------------------------- ### Create a Monitor Source: https://instatus.com/help/api/monitors Creates a new monitor with specified configurations, including URL, HTTP method, assertions, and alert settings. ```APIDOC ## POST /monitors ### Description Creates a new monitor with specified configurations, including URL, HTTP method, assertions, and alert settings. ### Method POST ### Endpoint /monitors ### Request Body - **pageId** (string) - Required - The ID of the page the monitor belongs to. - **url** (string) - Required - The URL to monitor. - **httpMethod** (string) - Required - The HTTP method to use (e.g., GET, POST). - **body** (object) - Optional - The request body for POST requests. - **headers** (object) - Optional - Custom headers for the request. - **queryParams** (object) - Optional - Query parameters for the request. - **basicAuth** (object) - Optional - Basic authentication credentials. - **username** (string) - Required - Username for basic authentication. - **password** (string) - Required - Password for basic authentication. - **type** (string) - Required - The type of monitor (e.g., 'HTTP'). - **assertions** (array) - Required - A list of assertions to check. - **type** (string) - Required - The type of assertion (e.g., 'STATUSCODE'). - **comparison** (string) - Required - The comparison operator (e.g., 'EQUALS'). - **selector** (string) - Optional - A selector for assertions (e.g., for JSON response). - **target** (string) - Required - The target value for the assertion. - **alerts** (array) - Required - A list of alert IDs to associate with the monitor. - **name** (string) - Required - The name of the monitor. - **locations** (string) - Required - The location(s) to monitor from (e.g., 'US_EAST_1'). - **checksInterval** (number) - Required - The interval in seconds between checks. - **createComponent** (boolean) - Optional - Whether to create a component. - **createMetric** (boolean) - Optional - Whether to create a metric. - **onFail** (object) - Optional - Actions to perform when the monitor fails. - **createIncident** (boolean) - Optional. - **createOutageDuration** (boolean) - Optional. - **publishIncident** (boolean) - Optional. - **notifySubscribers** (boolean) - Optional. - **onRecover** (object) - Optional - Actions to perform when the monitor recovers. - **resolveIncident** (boolean) - Optional. - **resolveOutageDuration** (boolean) - Optional. - **publishIncident** (boolean) - Optional. - **notifySubscribers** (boolean) - Optional. ### Request Example ```json { "pageId": "page123", "url": "https://example.com", "httpMethod": "GET", "body": null, "headers": { "Content-Type": "application/json", "Authorization": "Bearer token" }, "queryParams": { "search": "test", "limit": "10" }, "basicAuth": { "username": "user", "password": "password" }, "type": "HTTP", "assertions": [ { "type": "STATUSCODE", "comparison": "EQUALS", "selector": null, "target": "200" } ], "alerts": ["alert-id-1", "alert-id-2"], "name": "Example Monitor", "locations": "US_EAST_1", "checksInterval": 300, "createComponent": true, "createMetric": true, "onFail": { "createIncident": true, "createOutageDuration": true, "publishIncident": true, "notifySubscribers": true }, "onRecover": { "resolveIncident": true, "resolveOutageDuration": true, "publishIncident": true, "notifySubscribers": true } } ``` ### Response #### Success Response (200) - **monitor** (object) - The created monitor object. - **pageId** (string) - The ID of the page the monitor belongs to. - **url** (string) - The URL being monitored. - **httpMethod** (string) - The HTTP method used. - **body** (object) - The request body. - **headers** (object) - Custom headers. - **queryParams** (object) - Query parameters. - **basicAuth** (object) - Basic authentication credentials. - **type** (string) - The type of monitor. - **assertions** (array) - Assertions configured for the monitor. - **alerts** (array) - Associated alert IDs. - **name** (string) - The name of the monitor. - **locations** (string) - The monitoring locations. - **checksInterval** (number) - The interval between checks. - **createComponent** (boolean) - Indicates if a component was created. - **createMetric** (boolean) - Indicates if a metric was created. - **onFail** (object) - Actions on failure. - **onRecover** (object) - Actions on recovery. - **createdAt** (string) - Timestamp of creation. - **updatedAt** (string) - Timestamp of last update. - **message** (string) - Confirmation message. ### Response Example ```json { "monitor": { "pageId": "page123", "url": "https://example.com", "httpMethod": "GET", "body": null, "headers": { "Content-Type": "application/json", "Authorization": "Bearer token" }, "queryParams": { "search": "test", "limit": "10" }, "basicAuth": { "username": "user", "password": "password" }, "type": "HTTP", "assertions": [ { "id": "assertion1", "type": "STATUS_CODE", "comparison": "EQUALS", "selector": null, "target": "200" } ], "alerts": ["alert1", "alert2"], "name": "Example Monitor", "locations": "US_EAST_1", "checksInterval": 300, "createComponent": true, "createMetric": true, "onFail": { "createIncident": true, "createOutageDuration": true, "publishIncident": true, "notifySubscribers": true }, "onRecover": { "resolveIncident": true, "resolveOutageDuration": true, "publishIncident": true, "notifySubscribers": true }, "createdAt": "2023-08-08T12:00:00Z", "updatedAt": "2023-08-08T12:00:00Z" }, "message": "Monitor created successfully" } ``` ``` -------------------------------- ### POST /v1/workspaces Source: https://instatus.com/help/api/workspaces Creates a new workspace with the provided configuration settings. ```APIDOC ## POST /v1/workspaces ### Description Creates a new workspace in the system. ### Method POST ### Endpoint /v1/workspaces ### Parameters #### Request Body - **name** (string) - Required - The name of the workspace. - **slug** (string) - Required - The URL slug for the workspace. - **sendNewWorkspaceMembersStatusPageUpdates** (boolean) - Optional - Notification setting. - **longRunningIncidentNotificationSettings** (array) - Optional - List of notification intervals. ### Request Example { "name": "Instatus", "slug": "in-status" } ### Response #### Success Response (200) - **id** (string) - The unique identifier of the created workspace. #### Response Example { "id": "cmjirgpcx0000c20yxm94si6q", "name": "Instatus" } ``` -------------------------------- ### Get User Profile Endpoint Source: https://instatus.com/help/api/user-profile Use this GET endpoint to retrieve the authenticated user's profile information. No special setup is required beyond authentication. ```http GET /v1/user ``` -------------------------------- ### Get On-call Schedule Members Request Source: https://instatus.com/help/api/on-call-schedules Example request to fetch members for a specific schedule ID. ```http GET /on-call-schedules/clzmgn2ze40301poblv9e1pq5/members ``` -------------------------------- ### Create On-call Schedule Response Source: https://instatus.com/help/api/on-call-schedules Example response returned after successfully creating an on-call schedule. ```json { "id": "clzmgn2ze40301poblv9e1pq5", "name": "Primary On-call Schedule", "description": "This schedule is for the primary on-call team.", "status": "ACTIVE", "onCallShifts": [ { "id": "clzmgn2zt40361pobj78giwf7", "name": "Primary", "order": 1, "members": [ { "id": "clzmgn2zt40401pobjzq0pwjd", "order": 3, "color": "#0470a6", "workspaceMember": { "id": "member123", "user": { "id": "clh8nmaan72592bfokqjqd95s1", "name": null, "email": "member12@email.com", "avatar": null } } }, { "id": "clzmgn2zt40381pob690bwaxx", "order": 1, "color": "#195397", "workspaceMember": { "id": "member456", "user": { "id": "clzajmm98115510h5olxn5i7ljr", "name": null, "email": "member45@email.com", "avatar": null } } } ], "rotationType": "WEEKLY", "customRotationTypeValue": null, "customRotationTypeUnit": null, "startDate": "2024-08-09T08:42:34.557Z", "endDate": "2024-08-21T08:42:00.000Z", "restrictionType": "TIMEINTERVALS", "timeOfDayRestrictionStartTime": null, "timeOfDayRestrictionEndTime": null, "timeIntervals": [ { "id": "clzmjq8bn313521ioblyzg7hic", "startDay": "SATURDAY", "startDayTime": "1970-01-01T21:00:00.000Z", "endDay": "SUNDAY", "endDayTime": "1970-01-01T03:00:00.000Z" } ] } ] } ``` -------------------------------- ### Get On-call Schedule Members Response Source: https://instatus.com/help/api/on-call-schedules Example JSON response containing current, next, and all members of the schedule. ```json { "currentMembers": [ { "id": "clh8nmaan72592bfokqjqd95s1", "name": null, "email": "member1@email.com", "phone": null, "avatar": "https://example.com/avatar.jpg" } ], "nextMembers": [ { "id": "clzajmm98115510h5olxn5i7ljr", "name": null, "email": "member2@email.com", "phone": null, "avatar": null } ], "allMembers": [ { "id": "clh8nmaan72592bfokqjqd95s1", "name": null, "email": "member1@email.com", "phone": null, "avatar": "https://example.com/avatar.jpg" }, { "id": "clzajmm98115510h5olxn5i7ljr", "name": null, "email": "member2@email.com", "phone": null, "avatar": null } ] } ```