---
title: "Get usage projections"
method: GET
path: "/v2/usage/terms/{id}/projections"
tags: ["Usage"]
---

# Get usage projections

`GET /v2/usage/terms/{id}/projections`

## Request

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

Project whole-term credit consumption from completed UTC days using v2 pricing rules.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `asOf` string, date: Inclusive completed UTC date. Defaults to yesterday UTC; today and future dates are rejected.

## Headers

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

## Response `200`

Successful

- UsageV2ProjectionsResponse: Whole-term projections from v2-priced daily charges. Credit amounts use four decimals; percentages and exhaustion weeks use two. Reads are live, including historical asOf dates.
  - `usageTermsId` string, uuid, required
  - `asOf` string, date, required: Requested completed UTC date, including when it falls outside the term.
  - `period` object, nullable, required: Usage start through the earlier of asOf and term end. Null before usage starts.
    - `from` string, date, required
    - `to` string, date, required
  - `weeksSinceStart` integer, required
  - `weeksRemaining` integer, required
  - `creditsUsed` number, nullable, required: Credits rounded to four decimals before aggregation: once per organization-day for uptime monitors, and per resource-day and applied rate for other usage. Rules absent from configured pricing contribute zero. Null means unavailable or incompatible pricing, or uncovered dates.
  - `remainingCredits` number, nullable, required: Term budget minus credits used. Negative when over budget.
  - `budgetedDailyCredits` number, nullable, required: Term budget divided by inclusive days from usage start through contract end, rounded to four decimals. Null when the budget is unavailable.
  - `windows` object, required
    - `sinceStart` UsageV2ProjectionWindow, required
      - `period` object, nullable, required: Actual window clipped to the term. Null before usage starts.
        - `from` string, date, required
        - `to` string, date, required
      - `observedDays` integer, required
      - `creditsUsed` number, nullable, required: Credits rounded to four decimals before aggregation: once per organization-day for uptime monitors, and per resource-day and applied rate for other usage. Rules absent from configured pricing contribute zero. Null means unavailable or incompatible pricing, or uncovered dates.
      - `averageDailyCredits` number, nullable, required: Window credits divided by observed days, rounded to four decimals.
      - `projectedAnnualPercentOfBudget` number, nullable, required: Daily credit consumption annualized over 365 days.
      - `projectedCreditsAtContractEnd` number, nullable, required: Term-to-date credits plus the unrounded daily average times remaining calendar days, rounded to four decimals.
      - `projectedRemainingCredits` number, nullable, required: Term budget minus the unrounded contract-end forecast, rounded to four decimals. Negative when projected over budget; null when budget or forecast is unavailable.
      - `projectedPercentAtContractEnd` number, nullable, required
      - `projectedWeeksUntilExhausted` number, nullable, required: Remaining budget divided by weekly consumption. Zero when exhausted; null when no estimate is available.
    - `last30Days` UsageV2ProjectionWindow, required
      - `period` object, nullable, required: Actual window clipped to the term. Null before usage starts.
        - `from` string, date, required
        - `to` string, date, required
      - `observedDays` integer, required
      - `creditsUsed` number, nullable, required: Credits rounded to four decimals before aggregation: once per organization-day for uptime monitors, and per resource-day and applied rate for other usage. Rules absent from configured pricing contribute zero. Null means unavailable or incompatible pricing, or uncovered dates.
      - `averageDailyCredits` number, nullable, required: Window credits divided by observed days, rounded to four decimals.
      - `projectedAnnualPercentOfBudget` number, nullable, required: Daily credit consumption annualized over 365 days.
      - `projectedCreditsAtContractEnd` number, nullable, required: Term-to-date credits plus the unrounded daily average times remaining calendar days, rounded to four decimals.
      - `projectedRemainingCredits` number, nullable, required: Term budget minus the unrounded contract-end forecast, rounded to four decimals. Negative when projected over budget; null when budget or forecast is unavailable.
      - `projectedPercentAtContractEnd` number, nullable, required
      - `projectedWeeksUntilExhausted` number, nullable, required: Remaining budget divided by weekly consumption. Zero when exhausted; null when no estimate is available.
    - `last7Days` UsageV2ProjectionWindow, required
      - `period` object, nullable, required: Actual window clipped to the term. Null before usage starts.
        - `from` string, date, required
        - `to` string, date, required
      - `observedDays` integer, required
      - `creditsUsed` number, nullable, required: Credits rounded to four decimals before aggregation: once per organization-day for uptime monitors, and per resource-day and applied rate for other usage. Rules absent from configured pricing contribute zero. Null means unavailable or incompatible pricing, or uncovered dates.
      - `averageDailyCredits` number, nullable, required: Window credits divided by observed days, rounded to four decimals.
      - `projectedAnnualPercentOfBudget` number, nullable, required: Daily credit consumption annualized over 365 days.
      - `projectedCreditsAtContractEnd` number, nullable, required: Term-to-date credits plus the unrounded daily average times remaining calendar days, rounded to four decimals.
      - `projectedRemainingCredits` number, nullable, required: Term budget minus the unrounded contract-end forecast, rounded to four decimals. Negative when projected over budget; null when budget or forecast is unavailable.
      - `projectedPercentAtContractEnd` number, nullable, required
      - `projectedWeeksUntilExhausted` number, nullable, required: Remaining budget divided by weekly consumption. Zero when exhausted; null when no estimate is available.
    - `last1Day` UsageV2ProjectionWindow, required
      - `period` object, nullable, required: Actual window clipped to the term. Null before usage starts.
        - `from` string, date, required
        - `to` string, date, required
      - `observedDays` integer, required
      - `creditsUsed` number, nullable, required: Credits rounded to four decimals before aggregation: once per organization-day for uptime monitors, and per resource-day and applied rate for other usage. Rules absent from configured pricing contribute zero. Null means unavailable or incompatible pricing, or uncovered dates.
      - `averageDailyCredits` number, nullable, required: Window credits divided by observed days, rounded to four decimals.
      - `projectedAnnualPercentOfBudget` number, nullable, required: Daily credit consumption annualized over 365 days.
      - `projectedCreditsAtContractEnd` number, nullable, required: Term-to-date credits plus the unrounded daily average times remaining calendar days, rounded to four decimals.
      - `projectedRemainingCredits` number, nullable, required: Term budget minus the unrounded contract-end forecast, rounded to four decimals. Negative when projected over budget; null when budget or forecast is unavailable.
      - `projectedPercentAtContractEnd` number, nullable, required
      - `projectedWeeksUntilExhausted` number, nullable, required: Remaining budget divided by weekly consumption. Zero when exhausted; null when no estimate is available.

## Other responses

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

## Changes

- **2026-10-31** `bc90d1bfa738`: 7 info
  - added the optional property `errorCode` to the response with the `400` status
  - added the optional property `errorCode` to the response with the `401` status
  - added the optional property `errorCode` to the response with the `403` status
  - added the optional property `errorCode` to the response with the `404` status
  - …3 more
- **2026-10-17** `4698655f7ecd`: 5 info
  - added the required property `budgetedDailyCredits` to the response with the `200` status
  - added the required property `windows/last1Day/projectedRemainingCredits` to the response with the `200` status
  - added the required property `windows/last30Days/projectedRemainingCredits` to the response with the `200` status
  - added the required property `windows/last7Days/projectedRemainingCredits` to the response with the `200` status
  - …1 more
- **2026-10-07** `aba5d34c749b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/checklyhq/apis/checkly-public-api/changes/v2/usage/terms/:id/projections/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)
