# Anthropic OAuth Usage API — Confirmed Details Verified live on 10.0.0.28 by Claude Opus, 2026-06-27. ## Endpoint ``` GET https://api.anthropic.com/api/oauth/usage Authorization: Bearer anthropic-beta: oauth-2025-04-20 ``` ## Response Fields | Field | Meaning | Notes | |-------|---------|-------| | `five_hour.utilization` | Rolling 5-hour session usage (0–100) | Account-wide, not per-session | | `five_hour.resets_at` | UTC ISO-8601 reset timestamp | | | `seven_day.utilization` | Weekly cap usage (0–100) | ALL models combined | | `seven_day.resets_at` | UTC ISO-8601 reset timestamp | | | `seven_day_opus` | Opus-specific weekly | null on this plan | | `limits[]` | Array with severity (normal/warning) | For threshold alerts | ## Token Expiry `~/.claude/.credentials.json` has `expiresAt`. If expired, the curl 401s. Token auto-refreshes on next interactive `claude` run, but a headless-only loop can go stale. Not blocking for normal use — interactive runs keep it fresh. ## Context % Formula (from print-mode JSON) ``` context_pct = (input_tokens + cache_creation_input_tokens + cache_read_input_tokens) / modelUsage[model].contextWindow * 100 ``` All fields come from the same `--output-format json` envelope — zero extra HTTP calls.