---
title: "Get SLO Hourly Counts History"
method: GET
path: "/1/slos/{datasetSlug}/{sloId}/counts/history"
tags: ["SLOs"]
---

# Get SLO Hourly Counts History

`GET /1/slos/{datasetSlug}/{sloId}/counts/history`

## Request

- Base URL: `https://api.honeycomb.io`
- URL: `https://api.honeycomb.io/1/slos/{datasetSlug}/{sloId}/counts/history`
- Auth: API key in header `X-Honeycomb-Team`

Get hourly-bucketed total and error event counts for an SLO from the persistent historical store. Use this endpoint to retrieve completed historical hours; pair with the [Get SLO Realtime Counts endpoint](/api/slos/get-slo-realtime-counts) for the current in-progress hour.

**Requirements:**
- Available on the [Enterprise plan](https://www.honeycomb.io/pricing/) only.
- This feature must be enabled for your team. Contact your account team
  to request access.


**Partial buckets:** The most recent bucket may be marked `is_partial: true` if it covers the current in-progress hour. Counts for that bucket will increase until the hour completes.

**Budget resets:** This endpoint returns raw counts that don't account for [budget resets](/reference/honeycomb-ui/slos/slo-detail-view#reset-your-remaining-slo-budget), so failures from before a reset still appear in the counts. For reporting data that reflects budget resets, use the [Get an SLO endpoint](/api/slos/get-an-slo) with the `detailed` parameter.

## Query parameters

- `start_time` integer, required
- `end_time` integer, required

## Response `200`

Success

- SLOHourlyCountsResponse
  - `slo_id` string: The unique identifier of the SLO.
  - `resolution_seconds` integer: The width of each bucket in seconds. Always `3600`.
  - `buckets` SLOHourBucket[]: Ordered list of hourly count buckets within the requested time range. Gaps indicate hours with no recorded data. An empty array means no data exists for the requested range.
    - `start_time` integer: Start of the hour as a Unix timestamp (seconds).
    - `end_time` integer: End of the hour as a Unix timestamp (seconds). Always `start_time + 3600`.
    - `total_count` integer: Total number of events (good + bad) in this hour.
    - `error_count` integer: Number of failed (bad) events in this hour.
    - `is_partial` boolean: When `true`, this bucket covers the current in-progress hour and its counts will increase until the hour completes. Clients should treat `is_partial: true` buckets as provisional.

## Other responses

- `400`: The provided request body was invalid.
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `429`: Rate Limit Exceeded
- `default`: Error

---

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