>>110249734
you can vibecode it in 10 minutes
Send authenticated GET requests to https://chatgpt.com/backend-api/wham/ with Authorization: Bearer <Codex access token> and, when available, chatgpt-account-id.
- usage returns plan_type and rate_limit.primary_window / secondary_window, containing used_percent, limit_window_seconds, and reset_at (Unix seconds). Identify 5-hour and weekly windows by
duration.
- rate-limit-reset-credits returns available_count and credits. Filter status === "available"; use title, is_supported_by_plan, and expires_at (ISO timestamp or null). This only reads
banked resets, never redeems them.
These are undocumented ChatGPT endpoints and may change.