---
title: "Get plan usage"
method: GET
path: "/billing/usage"
tags: ["Billing"]
---

# Get plan usage

`GET /billing/usage`

## Request

- Base URL: `https://api.spectate.net/v1`
- URL: `https://api.spectate.net/v1/billing/usage`
- Auth: HTTP bearer

Returns, per plan limit, how much the team uses and the limit. Useful before creating
resources in bulk.

## Response `200`

Usage per plan limit.

- Usage: How much of the plan's limits the team uses.
  - `monitors_and_hosts` UsageLimit, required: How much of a plan limit is used.
    - `used` integer, required: In use now
    - `limit` integer, nullable, required: The limit; `null` for unlimited, `0` when the plan doesn't include it. At the limit, creating more through the API answers `403` `PLAN_LIMIT_REACHED`
  - `domains` UsageLimit, required: How much of a plan limit is used.
    - `used` integer, required: In use now
    - `limit` integer, nullable, required: The limit; `null` for unlimited, `0` when the plan doesn't include it. At the limit, creating more through the API answers `403` `PLAN_LIMIT_REACHED`
  - `projects` UsageLimit, required: How much of a plan limit is used.
    - `used` integer, required: In use now
    - `limit` integer, nullable, required: The limit; `null` for unlimited, `0` when the plan doesn't include it. At the limit, creating more through the API answers `403` `PLAN_LIMIT_REACHED`
  - `status_pages` UsageLimit, required: How much of a plan limit is used.
    - `used` integer, required: In use now
    - `limit` integer, nullable, required: The limit; `null` for unlimited, `0` when the plan doesn't include it. At the limit, creating more through the API answers `403` `PLAN_LIMIT_REACHED`
  - `status_page_subscribers` UsageLimit, required: How much of a plan limit is used.
    - `used` integer, required: In use now
    - `limit` integer, nullable, required: The limit; `null` for unlimited, `0` when the plan doesn't include it. At the limit, creating more through the API answers `403` `PLAN_LIMIT_REACHED`
  - `escalation_paths` UsageLimit, required: How much of a plan limit is used.
    - `used` integer, required: In use now
    - `limit` integer, nullable, required: The limit; `null` for unlimited, `0` when the plan doesn't include it. At the limit, creating more through the API answers `403` `PLAN_LIMIT_REACHED`
  - `members` UsageLimit, required: How much of a plan limit is used.
    - `used` integer, required: In use now
    - `limit` integer, nullable, required: The limit; `null` for unlimited, `0` when the plan doesn't include it. At the limit, creating more through the API answers `403` `PLAN_LIMIT_REACHED`

## Other responses

- `401`: `UNAUTHENTICATED`: no token was sent. `INVALID_TOKEN`: the token is unknown or revoked. `TOKEN_EXPIRED`: the token has expired.
- `403`: `FORBIDDEN`: the token lacks an ability this endpoint requires (listed in `details.required_abilities`). `TEAM_PENDING_DELETION`: the team is scheduled for deletion. `TEAM_SUSPENDED`: Spectate suspended the team.
- `429`: `RATE_LIMITED`: too many requests for this token. Wait for the number of seconds in `Retry-After`.

---

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