---
title: "Get usage and quota stats"
method: GET
path: "/v1/usage"
tags: ["Usage"]
---

# Get usage and quota stats

`GET /v1/usage`

## Request

- Base URL: `https://api.chronary.ai`
- URL: `https://api.chronary.ai/v1/usage`
- Auth: HTTP bearer

Returns current-month usage counters and plan limits for the authenticated organization.

## Response `200`

Usage data

- Usage
  - `plan` string, required
  - `period_start` string, date-time, required
  - `period_end` string, date-time, required
  - `agents` object, required
    - `used` integer, required
    - `limit` integer, nullable, required: `null` means unlimited.
  - `calendars` object, required
    - `used` integer, required
    - `limit` integer, nullable, required: `null` means unlimited.
  - `events` object, required
    - `used` integer, required
    - `limit` integer, nullable, required: `null` means unlimited.
  - `api_calls` object, required
    - `used` integer, required
    - `limit` integer, nullable, required: `null` means unlimited.
  - `webhooks` object, required
    - `used` integer, required
    - `limit` integer, nullable, required: `null` means unlimited.
  - `webhook_endpoints` object, required
    - `used` integer, required
    - `limit` integer, nullable, required: `null` means unlimited.
  - `availability_queries` object, required
    - `used` integer, required
    - `limit` integer, nullable, required: `null` means unlimited.
  - `ical_subscriptions` object, required
    - `used` integer, required
    - `limit` integer, nullable, required: `null` means unlimited.
  - `proposals` object, required
    - `used` integer, required
    - `limit` integer, nullable, required: `null` means unlimited.
  - `recurring_events` object, required: Active recurring event series (DB-counted masters). Deleting a series frees its slot.
    - `used` integer, required
    - `limit` integer, nullable, required: `null` means unlimited.
  - `booking_pages` object, required: Active public booking pages (DB-counted). Deleting a page frees its slot.
    - `used` integer, required
    - `limit` integer, nullable, required: `null` means unlimited.
  - `scoped_keys` object, required: Active agent-scoped (`chr_ak_*`) keys. `count` is a direct count; `limit` is the plan cap (`null` = unlimited).
    - `count` integer, required
    - `limit` integer, nullable, required: Plan cap on active agent-scoped keys. `null` means unlimited (Scale).
  - `holds` object, required: Temporal-hold lifecycle counters for the current period. Informational — not gated by any plan limit. Funnel identity: `created = confirmed + expired + active`, where `active` is derived (not stored). Counts cover all three end-of-hold paths (TTL expiry, manual release, priority bump).
    - `created` integer, required
    - `confirmed` integer, required
    - `expired` integer, required
  - `cross_calendar_queries` object, required: Availability requests that touched more than one calendar in the current period. Informational — gated separately by the `cross_calendar_availability` capability, not by this counter.
    - `used` integer, required

## Other responses

- `401`: Unauthorized — missing or invalid API key
- `429`: Rate limited — 10 requests per second per key exceeded
- `500`: Internal server error

---

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