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

# Get a check-in

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

## Request

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

Returns a single check-in.

## Path parameters

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

## Response `200`

Success

- object
  - `data` CheckIn, required: A check-in monitor for a scheduled job. The job requests the check-in's report URL each time it runs, and Honeybadger alerts when a report doesn't arrive on schedule.
    - `id` string, required
    - `project_id` string, required: ID of the project this check-in belongs to
    - `name` string, nullable, required: Display name
    - `slug` string, nullable, required: URL-safe identifier
    - `schedule_type` 'simple' | 'cron', required: `simple` expects a report every `report_period`. `cron` expects reports on a cron schedule and requires `cron_schedule`.
    - `state` 'pending' | 'reporting' | 'missing' | 'paused', required: Current check-in state
    - `reported_at` string, date-time, nullable, required: When the last report was received
    - `expected_at` string, date-time, nullable, required: When the next report is expected
    - `missed_count` integer, required: Number of consecutive missed reports
    - `grace_period` string, required: How long after the expected time before the check-in is missing. A duration such as `5 minutes`, `1 hour 30 minutes` or `01:30:00`. Returned in long form: `1 week` comes back as `7 days`, and zero as `00:00:00`.
    - `report_url` string, required: URL to ping when the task completes
    - `created_at` string, date-time, required: When the check-in was created
    - `cron_schedule` string, nullable: Cron expression (for cron schedule type)
    - `cron_timezone` string, required: Timezone for cron schedule, as the web app names time zones. `UTC` on a simple check-in.
    - `report_period` string, nullable: How often a report is expected, for `simple` schedules. Same format as `grace_period`. Null for `cron` schedules, which use `cron_schedule`.
    - `links` WebLinks, required: Links into the Honeybadger web UI
      - `web` string, uri, required: The resource's page in the Honeybadger web UI, as an absolute URL. Resources without a page, such as outages and deploys, don't have `links`. For a project provisioned through Heroku, error, notice and comment links go through Heroku's single sign-on.
  - `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.

---

[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)
