---
title: "List check-in events"
method: GET
path: "/projects/{project_id}/check_ins/{check_in_id}/events"
tags: ["Check-ins"]
---

# List check-in events

`GET /projects/{project_id}/check_ins/{check_in_id}/events`

## Request

- Base URL: `https://app.honeybadger.io/v3`
- URL: `https://app.honeybadger.io/v3/projects/{project_id}/check_ins/{check_in_id}/events`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/honeybadger/apis/honeybadger-api/docs/projects/:project_id/check_ins/:check_in_id/events/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns a check-in's events, newest first. A report payload over 50 KB is stored truncated: it's replaced by `_truncated: true`, a `_message`, and the `_original_size` in bytes.

The first page is always the newest events; follow `links.older` for earlier ones. `links.newer` is always null and `has_newer` always false.

## Path parameters

- `project_id` string, required
- `check_in_id` string, required

## Query parameters

- `limit` integer
- `created_before` number, double

## Response `200`

Success

- object
  - `data` CheckInEvent[], required
    - `check_in_id` string, required: ID of the check-in
    - `state` 'reporting' | 'missing' | 'paused', required: The state the check-in entered
    - `created_at` string, date-time, required: When the event occurred
    - `payload` string, nullable: The payload reported with the check-in, as it was sent. Only retained on plans with advanced check-ins.
  - `pagination` TimeSeriesPagination: Pagination for a time-ordered collection
    - `limit` integer, required: Maximum items per page
    - `has_older` boolean, required: Whether older items exist. When true, follow `links.older`.
    - `has_newer` boolean, required: Whether newer items exist. When true, follow `links.newer`.
    - `oldest_cursor` string, nullable: Cursor for the oldest item on this page. Pass it back unchanged as `before`. Absent or null on collections that page on a timestamp rather than a cursor; use `links.older` instead.
    - `newest_cursor` string, nullable: Cursor for the newest item on this page. Pass it back unchanged as `after`. Absent or null on collections that page on a timestamp rather than a cursor, and on one-directional collections; use `links.newer` instead.
  - `links` TimeSeriesLinks: Navigation links for a time-ordered collection. Each link is a root-relative path (`/v3/...`); resolve it against the API host.
    - `self` string, uri-reference, required: This page
    - `older` string, nullable: Page of older items, or null when none exist
    - `newer` string, nullable: Page of newer items, or null when none exist. Always null on one-directional collections, which are documented as such.
  - `meta` ResponseMeta
    - `request_id` string: Unique identifier for the request, for correlating with support

## Other responses

- `400`: A query parameter is malformed or outside its allowed values. `error.details` names the parameter.
- `401`: The credential is missing, invalid, expired or revoked (`unauthorized`), or was sent in a way v3 doesn't accept (see the examples).
- `403`: The credential isn't allowed to do this. `error.code` says why. An account or project the credential doesn't cover is 404 `not_found`, not 403.
- `404`: Resource not found
- `422`: No path names the account, so the API token has to. This is returned when the token covers more than one account and the account a request applies to cannot be determined. Use a token bound to a single account.
- `503`: Temporarily unavailable. Retry shortly.

---

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