---
title: "Get a list of events for a heartbeat"
method: GET
path: "/v1/checks/heartbeats/{checkId}/events"
tags: ["Heartbeats"]
---

# Get a list of events for a heartbeat

`GET /v1/checks/heartbeats/{checkId}/events`

## Request

- Base URL: `https://api.checklyhq.com`
- URL: `https://api.checklyhq.com/v1/checks/heartbeats/{checkId}/events`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/checklyhq/apis/checkly-public-api/docs/v1/checks/heartbeats/:checkId/events/get.ts> (a function with typed inputs; its response is checked against the schema)

Get all events from a heartbeat.

## Path parameters

- `checkId` string, required

## Query parameters

- `startTime` string, date
- `endTime` string, date
- `limit` number

## Headers

- `x-checkly-account` string: Your Checkly account ID, you can find it at https://app.checklyhq.com/settings/account/general

## Response `200`

Successful

- HeartbeatsV1EventsForCheck[]
  - `events` HeartbeatsV1Event[]
    - `id` string, uuid, required
    - `state` 'FAILING' | 'EARLY' | 'RECEIVED' | 'GRACE' | 'LATE': Describe the event state, if the ping was received or not.
    - `timestamp` string, date: UTC timestamp on which we received the event.
    - `source` string, nullable: Source which triggered the event.
    - `userAgent` string, nullable: User agent from the ping.
  - `stats` HeartbeatsV1EventStats
    - `last24Hours` HeartbeatsV1AvailabilityResponse, nullable
      - `successRatio` HeartbeatsV1AvailabilitySuccessRatio
        - `previousPeriod` number
        - `currentPeriod` number
      - `totalEntitiesCurrentPeriod` number
    - `last7Days` HeartbeatsV1AvailabilityResponse, nullable
      - `successRatio` HeartbeatsV1AvailabilitySuccessRatio
        - `previousPeriod` number
        - `currentPeriod` number
      - `totalEntitiesCurrentPeriod` number

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `429`: Too Many Requests

## Changes

- **2026-10-31** `bc90d1bfa738`: 2 info
  - added the optional property `errorCode` to the response with the `400` status
  - added the optional property `errorCode` to the response with the `403` status
- **2026-08-12** `87d29dc7b4fe`: 2 breaking, 1 info
  - for the `query` request parameter `endTime`, default value `2026-08-03T03:10:37.191Z` was removed
  - for the `query` request parameter `startTime`, default value `2026-08-02T03:10:37.190Z` was removed
  - added the non-success response with the status `400`
- **2026-08-05** `9e903da4f3da`: 2 breaking
  - for the `query` request parameter `endTime`, default value was changed from `2026-07-13T03:11:26.007Z` to `2026-08-03T03:10:37.191Z`
  - for the `query` request parameter `startTime`, default value was changed from `2026-07-12T03:11:26.007Z` to `2026-08-02T03:10:37.190Z`
- **2026-07-13** `a4fea1ad9b9a`: 2 breaking
  - for the `query` request parameter `endTime`, default value was changed from `2026-06-08T03:20:04.357Z` to `2026-07-13T03:11:26.007Z`
  - for the `query` request parameter `startTime`, default value was changed from `2026-06-07T03:20:04.356Z` to `2026-07-12T03:11:26.007Z`

[Operation history](https://skmtc.dev/checklyhq/apis/checkly-public-api/changes/v1/checks/heartbeats/:checkId/events/get.md)

---

[API](https://skmtc.dev/checklyhq/apis/checkly-public-api.md) - [All operations](https://skmtc.dev/checklyhq/apis/checkly-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/checklyhq/apis/checkly-public-api/revisions/bc90d1bfa738?raw)
