모니터 API 레퍼런스

필드에 사용할 수 있는 값

모니터 지역

값설명
US_EAST_1북버지니아
CA_CENTRAL_1캐나다 (몬트리올)
EU_CENTRAL_1프랑크푸르트
AP_NORTHEAST_1도쿄

모니터 알림 유형

값설명
INCIDENT인시던트 알림
EMAIL이메일 알림
SMSSMS 알림
SLACKSlack 알림
DISCORDDiscord 알림
MICROSOFT_TEAMSMicrosoft Teams 알림
PHONE_CALL전화 알림
WEBHOOKWebhook 알림
GOOGLE_CHATGoogle Chat 알림
WHATSAPPWhatsApp 알림

모니터 상태

값설명
UP모니터가 정상 동작 중입니다
DOWN모니터가 실패했습니다
DEGRADED모니터에 문제가 있습니다
UNKNOWN모니터 상태를 판단할 수 없습니다

모니터 상태 값

값설명
ACTIVE모니터가 체크를 실행하고 알림을 보냅니다
MUTED모니터가 체크를 실행하지만 알림은 보내지 않습니다
PAUSED모니터가 체크를 실행하지 않습니다

모니터 가져오기

이 엔드포인트로 기존 모니터 전체 목록을 조회하고 탐색할 수 있습니다.

엔드포인트:

GET /:page_id/monitors

쿼리 파라미터

파라미터유형기본값설명
pagenumber1가져올 페이지 번호입니다.
limitnumber100페이지당 모니터 수입니다.
searchstringnull결과를 필터링할 검색어입니다.
statusenumnull상태 필터 ('UP', 'DOWN', 'UNKNOWN', 'DEGRADED').

요청 예시

GET /1/monitors?limit=3&page=2&status=DOWN

응답 예시

{
"monitors": [{ "...": "monitor objects" }],
"total": 10,
"page": 3,
"totalPages": 5,
"limit": 2
}

모니터 만들기

엔드포인트:

POST /monitors

요청 예시

{
"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
}
}

응답 예시

{
"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": "STATUSCODE",
"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"
}

모니터 업데이트하기

엔드포인트:

PUT /monitors/:id

요청 예시

{
"url": "https://updated.com",
"name": "Updated Monitor Name"
}

응답 예시

{
"monitor": {
"pageId": "page123",
"url": "https://updated.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": "STATUSCODE",
"comparison": "EQUALS",
"selector": null,
"value": "200"
}
],
"alerts": ["alert1", "alert2"],
"name": "Updated Monitor Name",
"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 updated successfully"
}

모니터 상태 값 업데이트하기

대시보드의 상태 메뉴와 마찬가지로 모니터를 재개, 음소거 또는 일시 중지합니다. 음소거된 모니터는 계속 체크하지만 알림을 보내거나 라우팅 규칙을 실행하거나 구독자에게 알리지 않습니다. 일시 중지된 모니터는 다시 ACTIVE로 설정할 때까지 체크를 멈춥니다.

엔드포인트:

PUT /monitors/:id/state

본문 파라미터

파라미터유형설명
stateenum필수. 새 상태 값 ('ACTIVE', 'MUTED', 'PAUSED').
forMinutesnumber선택 사항이며 MUTED일 때만 사용합니다. 지정한 분이 지나면 음소거가 해제되며, 최대 10080(7일)입니다. 생략하면 상태를 다시 바꿀 때까지 음소거가 유지됩니다.

요청 예시

{
"state": "MUTED",
"forMinutes": 60
}

응답 예시

{
"id": "monitor-id-1",
"state": "MUTED",
"message": "Monitor state updated successfully."
}

모니터 가져오기에서 반환되는 모니터는 active, muted, mutedUntil 필드에 현재 상태를 표시합니다. 일시 중지된 모니터는 active: false입니다. 음소거된 모니터는 active: true와 muted: true이며, mutedUntil은 기한이 있는 음소거가 끝나는 시점입니다.

모니터 삭제하기

엔드포인트:

DELETE /monitors/:id

요청 예시

DELETE /monitors/monitor-id-1

응답 예시

{
"message": "Monitor deleted successfully."
}

모니터 로그 가져오기

엔드포인트:

GET /monitors/:id/logs

쿼리 파라미터

파라미터유형기본값설명
limitnumber100페이지당 항목 수입니다. 1000을 넘을 수 없습니다.
pagenumber1조회할 페이지 번호입니다.
fromstring1년 전이 ISO 8601 시각 이후의 결과만 반환합니다. 최대 1년 전까지입니다.
tostringnull이 ISO 8601 시각 이전의 결과만 반환합니다.
monitorIdstring-모니터의 ID입니다.
locationstringnull모니터의 지역입니다.
createdAtstring | object | numbernull생성 날짜입니다. 문자열, 숫자 또는 gte와 lte 필드를 가진 객체일 수 있습니다.
isSuccessfulbooleannull체크가 성공했는지 여부입니다.
isSSLCheckbooleannull체크가 SSL 체크인지 여부입니다.
httpStatusCodestringnull응답의 HTTP 상태 코드입니다.
status('UP', 'DOWN', 'UNKNOWN', 'DEGRADED')null모니터의 상태입니다.
dnsTimestring | number | objectnullDNS 조회에 걸린 시간입니다.
tcpTimestring | number | objectnullTCP 연결에 걸린 시간입니다.
tlsTimestring | number | objectnullTLS 핸드셰이크에 걸린 시간입니다.
firstByteTimestring | number | objectnull첫 바이트를 받기까지 걸린 시간입니다.
downloadTimestring | number | objectnull다운로드에 걸린 시간입니다.
responseTimestring | number | objectnull전체 응답 시간입니다.
performanceTimestring | number | objectnull성능 측정 시간입니다.
accessabilityScorestring | number | objectnull접근성 점수입니다.
seoScorestring | number | objectnullSEO 점수입니다.
bestPracticesScorestring | number | objectnull모범 사례 점수입니다.
successfulAssertionsstring | number | objectnull성공한 조건의 수입니다.
sortstring시간순정렬 기준 필드입니다.

요청 예시

GET /monitors/monitor-id-1/logs?limit=100&page=1

응답 예시

{
"monitorLogs": [
// {monitor log object},
// {monitor log object 2}
],
"total": 478,
"page": 1,
"totalPages": 5,
"limit": 100
}

모니터 가동률 가져오기

기간 동안 모니터의 가동률과 응답 시간을 일별 내역과 함께 반환합니다. 기간은 기본적으로 최근 30일이며 최대 395일까지 지정할 수 있습니다. 5일보다 긴 기간은 하루 단위로 측정되고, 종료 시각이 자정이면 그 전날까지만 포함하므로 start=2026-10-01T00:00:00Z&end=2026-11-01T00:00:00Z는 정확히 10월 한 달입니다.

엔드포인트:

GET /monitors/:id/summary

쿼리 파라미터

파라미터유형기본값설명
startstring종료 30일 전기간의 시작(ISO 8601)입니다.
endstring현재기간의 끝(ISO 8601)입니다.

요청 예시

GET /monitors/monitor-id-1/summary?start=2026-10-01T00:00:00Z&end=2026-11-01T00:00:00Z

응답 예시

{
"monitorId": "monitor-id-1",
"start": "2026-10-01T00:00:00.000Z",
"end": "2026-10-31T23:59:59.999Z",
"firstCheckDay": "2026-09-12",
"availability": 99.95,
"checks": 8928,
"failedChecks": 4,
"downtimeSeconds": 720,
"avgResponseTime": 216,
"response95": null,
"avgDailyResponse95": 268,
"days": [
{
"date": "2026-10-01",
"availability": 100,
"checks": 288,
"failedChecks": 0,
"avgResponseTime": 212
}
]
}
  • availability는 성공한 검사의 비율이며, 기간 내 검사가 없었으면 null입니다.
  • downtimeSeconds는 실패한 검사 수에 검사 간격을 곱한 값입니다.
  • firstCheckDay는 모니터에 검사 기록이 있는 첫날입니다. 이 날이 start보다 뒤라면 수치는 그날 이후만 포함합니다.
  • days에는 검사가 있었던 날만 포함됩니다.

ID로 모니터 체크 실행하기

엔드포인트:

GET /monitors/:id/run

쿼리 파라미터

파라미터유형기본값설명
location'US_EAST_1', 'EU_CENTRAL_1', 'AP_NORTHEAST_1', 'AP_SOUTHEAST_2', 'CA_CENTRAL_1'-모니터의 지역입니다. 지정된 값 중 하나여야 합니다.
retrybooleanfalse작업을 재시도할지 여부입니다. 선택 사항입니다.
monitorLogIdstringnull모니터 로그의 고유 식별자입니다. 선택 사항입니다.

요청 예시

GET /monitors/monitor-id-1/run?monitorId=abc123&location=US_EAST_1&retry=true&monitorLogId=log456

응답 예시

{
"status": "success",
"message": "Monitor check run successfully."
}

모니터 알림 만들기

엔드포인트:

POST /monitor-alerts

요청 예시

{
"type": "EMAIL",
"pageId": "page123",
"recipient": "user@example.com",
"recipientWorkspace": "workspace123",
"whenFails": true,
"whenRecovers": true,
"whenDegrades": false,
"whenSslExpires": true,
"sslExpiresInDays": 30,
"monitors": ["monitor1", "monitor2"],
"metadata": "Additional information about the alert"
}

응답 예시

{
"monitor": {
"id": "alert123",
"siteId": "site123",
"type": "EMAIL",
"recipient": "user@example.com",
"whenFails": true,
"whenRecovers": true,
"whenDegrades": false,
"whenSslExpires": true,
"sslExpiresInDays": 30,
"monitors": [{ "id": "monitor1" }, { "id": "monitor2" }],
"createdAt": "2023-08-08T12:00:00Z",
"updatedAt": "2023-08-08T12:00:00Z",
"metadata": "Additional information about the alert"
},
"message": "Monitor Alert created successfully"
}

모니터 알림 업데이트하기

엔드포인트:

PUT /monitor-alerts/:id

요청 예시

{
"type": "EMAIL",
"monitors": ["monitor-1-id", "monitor-2-id", "monitor-3-id"]
}

응답 예시

{
"monitor": {
"type": "EMAIL",
"pageId": "page123",
"recipient": "user@example.com",
"recipientWorkspace": "workspace123",
"whenFails": true,
"whenRecovers": true,
"whenDegrades": false,
"whenSslExpires": true,
"sslExpiresInDays": 30,
"monitors": ["monitor-1-id", "monitor-2-id"],
"metadata": "Additional information about the alert"
},
"message": "Monitor alert updated successfully."
}

모니터 알림 가져오기

엔드포인트:

GET /:page_id/monitor-alerts

쿼리 파라미터

파라미터유형기본값설명
limitnumber100페이지당 항목 수입니다.
pagenumber1조회할 페이지 번호입니다.

요청 예시

GET /1/monitor-alerts?limit=2&page=3

응답 예시

{
"monitorAlerts": [
{...monitor alert objects}
],
"total": 27,
"page": 3,
"totalPages": 14,
"limit": 2
}

모니터 알림 삭제하기

엔드포인트:

DELETE /monitor-alerts/:id

요청 예시

DELETE /monitor-alerts/alert-id-1

응답 예시

{
"message": "Monitor alert deleted successfully."
}

모니터 그룹 만들기

엔드포인트:

POST /monitors-groups

요청 예시

{
"pageId": "page123",
"name": "Example Name",
"childId": "child456"
}

응답 예시

{
"monitor": {
"id": "group123",
"name": "Example Name",
"siteId": "site123",
"collapsed": false,
"monitors": [{ "id": "monitor1" }, { "id": "monitor2" }],
"groupId": "parentGroup123",
"children": [
{ "id": "childGroup1", "name": "Child Group 1" },
{ "id": "childGroup2", "name": "Child Group 2" }
],
"order": 1,
"createdAt": "2023-08-08T12:00:00Z",
"updatedAt": "2023-08-08T12:00:00Z",
"parents": ["parent1", "parent2"],
"componentId": "component123"
},
"message": "Monitor group created successfully."
}

모니터 그룹 업데이트하기

엔드포인트:

PUT /monitors-groups/:id

요청 예시

{
"name": "Updated Monitor Group Name"
}

응답 예시

{
"monitor": {
"id": "group123",
"name": "Updated Monitor Group Name",
"siteId": "site123",
"collapsed": true,
"monitors": [{ "id": "monitor1" }, { "id": "monitor2" }],
"groupId": "parentGroup123",
"children": [
{ "id": "childGroup1", "name": "Child Group 1" },
{ "id": "childGroup2", "name": "Child Group 2" }
],
"order": 1,
"createdAt": "2023-08-08T12:00:00Z",
"updatedAt": "2023-08-08T12:00:00Z",
"parents": ["parent1", "parent2"],
"componentId": "component123"
},
"message": "Monitor group updated successfully."
}

모니터 그룹 삭제하기

엔드포인트:

DELETE /monitors-groups/:id

요청 예시

DELETE /monitors-groups/group-id-1

응답 예시

{
"message": "Monitor group deleted successfully."
}

그룹에 모니터 추가하기

엔드포인트:

POST /monitors-groups/:id/monitors

요청 예시

{
"monitors": ["monitor1", "monitor2", "monitor3"]
}

응답 예시

{
"message": "Monitors added to the group successfully."
}

모니터 그룹 체크 실행하기

엔드포인트:

GET /monitors-groups/:id/run

쿼리 파라미터

파라미터유형기본값설명
location'US_EAST_1', 'EU_CENTRAL_1', 'AP_NORTHEAST_1', 'AP_SOUTHEAST_2', 'CA_CENTRAL_1'-모니터의 지역입니다. 지정된 값 중 하나여야 합니다.
retrybooleanfalse작업을 재시도할지 여부입니다. 선택 사항입니다.
monitorLogIdstringnull모니터 로그의 고유 식별자입니다. 선택 사항입니다.

요청 예시

GET /monitors-groups/group-id-1/run

응답 예시

{
"result": "OK",
"monitorLogId": "monitor-log-id-1"
}

Cron 모니터

Cron 모니터는 HTTP 핑으로 예약 작업을 추적합니다. 제품 설정과 대시보드 사용법은 Cron 모니터링을 참고하세요.

필드에 사용할 수 있는 값

Cron 모니터 상태

값설명
UP모니터가 정상 동작 중입니다
DOWN모니터가 실패했습니다
DEGRADED모니터에 문제가 있습니다
UNKNOWN모니터 상태를 판단할 수 없습니다

Cron 모니터 상태 값

값설명
ACTIVE모니터가 활성 상태로 체크됩니다
PAUSED모니터 체크가 일시 중지되었습니다
MUTED모니터가 음소거되었습니다 (알림 없음)

Cron 모니터 로그 상태

값설명
SUCCESS작업이 성공적으로 완료되었습니다
FAILURE작업이 명시적으로 실패를 보고했습니다
MISSED작업이 예상 시간 안에 핑을 보내지 않았습니다
LATE작업이 주기를 넘겼지만 유예 시간 안에 핑을 보냈습니다
STARTED작업이 시작을 보고했습니다 (실행 시간 측정용)

주기와 유예 시간

period와 grace는 모두 초 단위입니다. period는 작업이 실행되어야 하는 주기이고, grace는 모니터를 장애로 표시하기까지 추가로 허용하는 시간입니다.

Cron 모니터 가져오기

엔드포인트:

GET /:page_id/monitors/cron

쿼리 파라미터

파라미터유형기본값설명
limitnumber100페이지당 cron 모니터 수입니다. 최대 100입니다.
pagenumber1페이지 번호입니다.
searchstringnull이름으로 결과를 필터링할 검색어입니다.
statusenumnull상태 필터 ('UP', 'DOWN', 'UNKNOWN', 'DEGRADED').

요청 예시

GET /page123/monitors/cron?limit=10&page=1&status=DOWN

응답 예시

{
"cronMonitors": [
{
"id": "cron-abc123",
"name": "Daily backup",
"slug": "my-page-x7k2m9n4p1q8w3e5",
"period": 86400,
"grace": 3600,
"status": "UP",
"state": "ACTIVE",
"siteId": "page123",
"order": 1,
"groupId": null,
"componentId": "component-id-1",
"onFailCreateIncident": true,
"onFailCreateOutageDuration": false,
"onFailPublishIncident": true,
"onFailNotifySubscribers": true,
"onRecoverResolveIncident": true,
"onRecoverResolveOutageDuration": false,
"onRecoverPublishIncident": true,
"onRecoverNotifySubscribers": true,
"createTemplateId": null,
"resolveTemplateId": null,
"createdAt": "2024-01-15T08:00:00.000Z",
"updatedAt": "2024-01-15T08:00:00.000Z"
}
],
"total": 1,
"page": 1,
"totalPages": 1,
"limit": 10
}

Cron 모니터 만들기

엔드포인트:

POST /monitors/cron

요청 예시

{
"pageId": "page123",
"name": "Daily backup",
"period": 86400,
"grace": 3600,
"alerts": ["alert-id-1", "alert-id-2"],
"createComponent": true,
"onFail": {
"createIncident": true,
"createOutageDuration": false,
"publishIncident": true,
"notifySubscribers": true
},
"onRecover": {
"resolveIncident": true,
"resolveOutageDuration": false,
"publishIncident": true,
"notifySubscribers": true
}
}

응답 예시

{
"cronMonitor": {
"id": "cron-abc123",
"name": "Daily backup",
"slug": "my-page-x7k2m9n4p1q8w3e5",
"period": 86400,
"grace": 3600,
"status": "UP",
"state": "ACTIVE",
"siteId": "page123",
"order": 1,
"groupId": null,
"componentId": "component-id-1",
"onFailCreateIncident": true,
"onFailCreateOutageDuration": false,
"onFailPublishIncident": true,
"onFailNotifySubscribers": true,
"onRecoverResolveIncident": true,
"onRecoverResolveOutageDuration": false,
"onRecoverPublishIncident": true,
"onRecoverNotifySubscribers": true,
"createTemplateId": null,
"resolveTemplateId": null,
"createdAt": "2024-01-15T08:00:00.000Z",
"updatedAt": "2024-01-15T08:00:00.000Z"
},
"message": "Cron monitor created successfully."
}

응답에는 slug가 포함됩니다. 이 값으로 작업의 핑 URL을 만드세요. 첫 성공 핑이 백그라운드 체크 작업을 예약합니다.

Cron 모니터 업데이트하기

엔드포인트:

PUT /monitors/cron/:id

요청 예시

{
"name": "Daily backup (updated)",
"period": 43200,
"grace": 1800,
"state": "PAUSED",
"alerts": ["alert-id-1"],
"onFail": {
"notifySubscribers": false
}
}

응답 예시

{
"cronMonitor": {
"id": "cron-abc123",
"name": "Daily backup (updated)",
"slug": "my-page-x7k2m9n4p1q8w3e5",
"period": 43200,
"grace": 1800,
"status": "UP",
"state": "PAUSED",
"siteId": "page123",
"order": 1,
"groupId": null,
"componentId": "component-id-1",
"onFailCreateIncident": true,
"onFailCreateOutageDuration": false,
"onFailPublishIncident": true,
"onFailNotifySubscribers": false,
"onRecoverResolveIncident": true,
"onRecoverResolveOutageDuration": false,
"onRecoverPublishIncident": true,
"onRecoverNotifySubscribers": true,
"createTemplateId": null,
"resolveTemplateId": null,
"alerts": [
{
"id": "alert-id-1",
"type": "EMAIL",
"recipient": "ops@example.com"
}
],
"createdAt": "2024-01-15T08:00:00.000Z",
"updatedAt": "2024-01-16T10:30:00.000Z"
},
"message": "Cron monitor updated successfully."
}

Cron 모니터 삭제하기

엔드포인트:

DELETE /monitors/cron/:id

요청 예시

DELETE /monitors/cron/cron-abc123

응답 예시

{
"cronMonitor": {
"id": "cron-abc123",
"name": "Daily backup",
"slug": "my-page-x7k2m9n4p1q8w3e5",
"period": 86400,
"grace": 3600,
"status": "UP",
"state": "ACTIVE",
"siteId": "page123",
"order": 1,
"groupId": null,
"componentId": "component-id-1",
"onFailCreateIncident": true,
"onFailCreateOutageDuration": false,
"onFailPublishIncident": true,
"onFailNotifySubscribers": true,
"onRecoverResolveIncident": true,
"onRecoverResolveOutageDuration": false,
"onRecoverPublishIncident": true,
"onRecoverNotifySubscribers": true,
"createTemplateId": null,
"resolveTemplateId": null,
"createdAt": "2024-01-15T08:00:00.000Z",
"updatedAt": "2024-01-15T08:00:00.000Z"
},
"message": "Cron monitor deleted successfully."
}

Cron 모니터 로그 가져오기

엔드포인트:

GET /monitors/cron/:id/logs

쿼리 파라미터

파라미터유형기본값설명
limitnumber100페이지당 로그 수입니다. 최대 127입니다.
pagenumber1페이지 번호입니다. 최대 1000입니다.
startDatestring1년 전로그 범위의 ISO 8601 시작일입니다.
endDatestring현재로그 범위의 ISO 8601 종료일입니다.
importanceenumnull중요도로 로그를 필터링합니다 ('all', 'important').

요청 예시

GET /monitors/cron/cron-abc123/logs?limit=50&page=1&importance=important

응답 예시

{
"logs": [
{
"id": "log-xyz789",
"monitorId": "cron-abc123",
"status": "SUCCESS",
"requestType": "GET",
"agent": "curl/8.4.0",
"ipAddress": "203.0.113.10",
"createdAt": "2024-01-16T06:00:00.000Z",
"startedAt": "2024-01-16T05:59:58.000Z"
}
],
"page": 1
}

Cron 모니터 요약 가져오기

엔드포인트:

GET /monitors/cron/:id/summary

요청 예시

GET /monitors/cron/cron-abc123/summary

응답 예시

{
"summary": {
"totalLogs": 120,
"totalFailedLogs": 3,
"availability": 97.5,
"oneDayAvailability": 100,
"previousDayAvailability": 100,
"sevenDayAvailability": 98.2,
"previousSevenDayAvailability": 96.1,
"thirtyDayAvailability": 97.5,
"previousThirtyDayAvailability": 95.8,
"lastSuccess": "2024-01-16T06:00:00.000Z",
"lastFailure": "2024-01-10T06:00:00.000Z",
"lastStarted": null,
"upSince": "2024-01-10T07:00:00.000Z",
"downSince": null
}
}

핑 엔드포인트

이 엔드포인트에는 인증이 필요하지 않습니다. 모니터의 slug가 시크릿 역할을 합니다.

API 기본 URL 또는 전용 cron 호스트로 핑을 보낼 수 있습니다.

  • 성공: https://cron.instatus.com/{slug} 또는 GET / POST / HEAD /monitors/cron/{slug}
  • 실패: https://cron.instatus.com/{slug}/fail 또는 GET / POST / HEAD /monitors/cron/{slug}/fail
  • 시작: https://cron.instatus.com/{slug}/start 또는 GET / POST / HEAD /monitors/cron/{slug}/start

작업이 일정대로 완료될 때마다 성공 핑을 보내세요. 실행 시간을 기록하려면 작업 실행 전에 시작 핑을, 종료 시 성공 또는 실패 핑을 보내세요.

성공 핑 예시

curl https://cron.instatus.com/my-page-x7k2m9n4p1q8w3e5

응답 예시

{
"id": "log-xyz789",
"monitorId": "cron-abc123",
"status": "SUCCESS",
"requestType": "GET",
"agent": "curl/8.4.0",
"ipAddress": "203.0.113.10",
"createdAt": "2024-01-16T06:00:00.000Z"
}

slug가 올바르지 않으면 다음과 같이 응답합니다.

{
"message": "Monitor not found"
}