Статус-страницы

Публичный API status page

Публичный API status page возвращает состояние ресурсов на странице. Все запросы — POST на указанные endpoint’ы.

Overview API

Возвращает ресурсы страницы: общий статус, инциденты, обслуживание и связанные сущности.

curl -X POST https://status200.ru/status-page-api/overview/:statusPageId

Пример структуры ответа (подробности по ссылкам в reference):

{

    "overallStatus": 
        {   // объект Monitor Status
            // worst-case по всем мониторам и группам на странице
            // https://status200.ru/reference/monitor-status
            
        },
    "scheduledMaintenanceEventsPublicNotes": [
        // https://status200.ru/reference/scheduled-maintenance-public-note
        {
            // Scheduled Maintenance Public Note Object
        }, 
        {
            // Scheduled Maintenance Public Note Object
        }
    ],
    "statusPageHistoryChartBarColorRules": [
        // https://status200.ru/reference/status-page-history-chart-bar-color-rule
        {
            // Status Page History Chart Bar Color Rule Object
        },
        {
            // Status Page History Chart Bar Color Rule Object
        }
    ],
    "scheduledMaintenanceEvents": [
        // https://status200.ru/reference/scheduled-maintenance
        {
            // Scheduled Maintenance Event Object
        },
        {
            // Scheduled Maintenance Event Object
        }
    ],
    "activeAnnouncements": [
        // https://status200.ru/reference/status-page-announcement
        {
            // Status Page Announcement Object
        },
        {
            // Status Page Announcement Object
        }
    ],
    "incidentPublicNotes": [
        // https://status200.ru/reference/incident-public-note
        {
            // Incident Public Note Object
        },
        {
            // Incident Public Note Object
        }
    ],
    "activeIncidents": [
        // https://status200.ru/reference/incident
        {
            // Incident Object
        },
        {
            // Incident Object
        }
    ],
    "monitorStatusTimelines": [
        // https://status200.ru/reference/monitor-status-timeline
        {
            // Monitor Status Timeline Object
        },
        {
            // Monitor Status Timeline Object
        }
    ],
    "resourceGroups": [
        // https://status200.ru/reference/resource-group
        {
            // Resource Group Object
        },
        {
            // Resource Group Object
        }
    ],
    "monitorStatuses": [
        // https://status200.ru/reference/monitor-status
        {
            // Monitor Status Object
        },
        {
            // Monitor Status Object
        }

    ],
    "statusPageResources": [
        // https://status200.ru/reference/status-page-resource
        {
            // Status Page Resource Object
        },
        {
            // Status Page Resource Object
        }
    ],
    "incidentStateTimelines": [
        // https://status200.ru/reference/incident-state-timeline
        {
            // Incident State Timeline Object
        },
        {
            // Incident State Timeline Object
        }
    ],
    "statusPage": {
       // https://status200.ru/reference/status-page
    },
    "scheduledMaintenanceStateTimelines": [
        // https://status200.ru/reference/scheduled-maintenance-state-timeline
        {
            // Scheduled Maintenance State Timeline Object
        },
        {
            // Scheduled Maintenance State Timeline Object
        }
    ],
    "monitorGroupCurrentStatuses": {
        // текущий статус группы мониторов
    },
    "monitorsInGroup": {
        // мониторы в группе
    }
}

Uptime API

Uptime по ресурсам status page.

curl -X POST https://status200.ru/status-page-api/uptime/:statusPageId

Тело запроса (опционально):

startDate и endDate в ISO 8601:

{
    "startDate": "2021-09-01T00:00:00Z",
    "endDate": "2021-09-30T23:59:59Z"
}

Интервал не больше 90 дней. Без дат — uptime за последние 14 дней.

Пример ответа:

{
    "statusPageResourceUptimes": [
        {
            "statusPageResourceId": {
                "_type": "ObjectID",
                "value": "cfffa3c3-fdf3-4cd7-9585-d6d408a14663"
            },
            "uptimePercent": 99.98,
            "statusPageResourceName": "Status Page Resource Name",
            "currentStatus": {
                "_id": "cc80b385-4190-42a3-ae8b-9b391e90d79f",
                "isPermissionIf": {},
                "name": "Operational",
                "color": {
                    "_type": "Color",
                    "value": "#2ab57d"
                },
                "isOperationalState": true,
                "priority": 1
            }
        }
    ],
    "groupUptimes": [
        {
            "statusPageGroupId": {
                "_type": "ObjectID",
                "value": "df7632c4-c5c0-453c-88bf-9ee3d68d45f2"
            },
            "uptimePercent": 99.98,
            "statusPageResourceUptimes": [
                {
                    "statusPageResourceId": {
                        "_type": "ObjectID",
                        "value": "8175534f-aa77-456c-ad5b-b8e7b85876aa"
                    },
                    "uptimePercent": 99.98,
                    "statusPageResourceName": "dfg",
                    "currentStatus": {
                        "_id": "cc80b385-4190-42a3-ae8b-9b391e90d79f",
                        "isPermissionIf": {},
                        "name": "Operational",
                        "color": {
                            "_type": "Color",
                            "value": "#2ab57d"
                        },
                        "isOperationalState": true,
                        "priority": 1
                    }
                }
            ],
            "statusPageGroupName": "Group Name",
            "currentStatus": {
                "_id": "cc80b385-4190-42a3-ae8b-9b391e90d79f",
                "isPermissionIf": {},
                "name": "Operational",
                "color": {
                    "_type": "Color",
                    "value": "#2ab57d"
                },
                "isOperationalState": true,
                "priority": 1
            }
        }
    ],
    "startDate": "2021-09-01T00:00:00Z",
    "endDate": "2021-09-30T23:59:59Z"
}

Incident API

Список инцидентов на status page.

curl -X POST https://status200.ru/status-page-api/incidents/:statusPageId
{
    "incidents": [
        // https://status200.ru/reference/incident
        {
            // Incident Object
        },
        {
            // Incident Object
        }
    ]
}

Scheduled Maintenance API

Запланированное обслуживание.

curl -X POST https://status200.ru/status-page-api/scheduled-maintenance/:statusPageId
{
    "scheduledMaintenanceEvents": [
        // https://status200.ru/reference/scheduled-maintenance
        {
            // Scheduled Maintenance Event Object
        },
        {
            // Scheduled Maintenance Event Object
        }
    ]
}

Announcements API

Объявления на странице.

curl -X POST https://status200.ru/status-page-api/announcements/:statusPageId
{
    "announcements": [
        // https://status200.ru/reference/status-page-announcement
        {
            // Announcement Object
        },
        {
            // Announcement Object
        }
    ]
}