openapi: 3.1.0
info:
title: Checkly Public Accounts Heartbeats API
version: v1
description: The Checkly Public API allows you to programmatically manage your monitoring checks, alerts, and more. If you have any questions, please do not hesitate to get in touch with us.
contact:
name: Checkly Support
url: https://checklyhq.com/support
license:
name: MIT
servers:
- url: https://api.checklyhq.com
description: Production server
security:
- bearerAuth: []
accountId: []
tags:
- name: Heartbeats
paths:
/v1/heartbeats:
get:
summary: List Heartbeats
description: Retrieve all heartbeat monitors
operationId: listHeartbeats
parameters:
- name: limit
in: query
description: Limit the number of results
schema:
type: integer
default: 10
minimum: 1
maximum: 100
responses:
'200':
description: List of heartbeats
content:
application/json:
schema:
$ref: '#/components/schemas/HeartbeatList'
tags:
- Heartbeats
post:
summary: Create Heartbeat
description: Create a new heartbeat monitor
operationId: createHeartbeat
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/HeartbeatCreate'
responses:
'201':
description: Heartbeat created
content:
application/json:
schema:
$ref: '#/components/schemas/Heartbeat'
tags:
- Heartbeats
components:
schemas:
HeartbeatList:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Heartbeat'
meta:
$ref: '#/components/schemas/PaginationMeta'
Heartbeat:
type: object
properties:
id:
type: string
description: Heartbeat ID
name:
type: string
description: Heartbeat name
period:
type: integer
description: Expected heartbeat period in seconds
grace:
type: integer
description: Grace period in seconds
lastPingAt:
type: string
format: date-time
description: Last ping timestamp
PaginationMeta:
type: object
properties:
currentPage:
type: integer
description: Current page number
totalPages:
type: integer
description: Total number of pages
totalItems:
type: integer
description: Total number of items
limit:
type: integer
description: Items per page
HeartbeatCreate:
type: object
required:
- name
- period
properties:
name:
type: string
description: Heartbeat name
period:
type: integer
description: Expected heartbeat period in seconds
grace:
type: integer
description: Grace period in seconds
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: API Key authentication for Checkly API. You can get your API key at https://app.checklyhq.com/settings/user/api-keys
accountId:
type: apiKey
in: header
name: X-Checkly-Account
description: Your Checkly account ID. You can find it at https://app.checklyhq.com/settings/account/general