---
title: "Self-service usage, budget, and rate limit status"
method: GET
path: "/v1/usage"
tags: ["usage"]
---

# Self-service usage, budget, and rate limit status

`GET /v1/usage`

Returns recorded usage, budget statuses, and rate limit statuses for the caller's effective user path (the path bound to the managed API key, or the user-path header for master-key callers).

## Query parameters

- `start_date` string
- `end_date` string
- `days` integer

## Response `200`

OK

- ServerUsageStatusResponse
  - `budgets` ServerUsageStatusBudget[]
    - `amount` number
    - `exceeded` boolean
    - `period_end` string
    - `period_label` string
    - `period_seconds` integer
    - `period_start` string
    - `remaining` number
    - `resets_in_seconds` integer
    - `scope` string
    - `spent` number
    - `subject` string
    - `usage_ratio` number — UsageRatio is spent/amount, deliberately unclamped: values above 1 mean the budget is blown through.
    - `user_path` string
  - `rate_limits` ServerUsageStatusRateLimit[]
    - `exhausted` boolean
    - `in_flight` integer
    - `max_requests` integer
    - `max_tokens` integer
    - `period_label` string
    - `period_seconds` integer
    - `requests_remaining` integer
    - `requests_usage_ratio` number — The usage ratios are used/limit per dimension, present only when that limit exists and unclamped (token windows can overshoot past 1).
    - `requests_used` integer
    - `resets_in_seconds` integer
    - `tokens_remaining` integer
    - `tokens_usage_ratio` number
    - `tokens_used` integer
    - `user_path` string
    - `window_end` string
    - `window_start` string
  - `server_time` string
  - `usage` ServerUsageStatusSummary
    - `cache_write_input_tokens` integer
    - `cached_input_tokens` integer
    - `end_date` string
    - `rewrite_cost_saved` number
    - `rewrite_tokens_saved` integer — Rewrite savings: prompt tokens request rewriters removed before the provider call, and the estimated input cost avoided (nil when no matched row had a priced savings estimate).
    - `start_date` string
    - `total_cost` number
    - `total_input_cost` number
    - `total_input_tokens` integer
    - `total_output_cost` number
    - `total_output_tokens` integer
    - `total_requests` integer
    - `total_tokens` integer
    - `uncached_input_tokens` integer
  - `user_path` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `503` — Service Unavailable

---

[API](https://skmtc.net/enterpilot/apis/gomodel-api.md) · [All operations](https://skmtc.net/enterpilot/apis/gomodel-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/enterpilot/gomodel-api/revisions/4c27ea61fcfe/schema)
