---
title: "Your credits this month, per API key"
method: GET
path: "/public/usage"
tags: ["Authentication"]
---

# Your credits this month, per API key

`GET /public/usage`

## Request

- Base URL: `https://api.johnsessentials.com/api/v1`
- URL: `https://api.johnsessentials.com/api/v1/public/usage`
- Auth: HTTP bearer

The credit meter. Credits used and left this month from the
account's allowance (the website and the API spend the same
credits), unused credit-pack credits, when the allowance resets,
and what each API key spent. On the Free plan, `daily` gives the
day's cap and use. This call spends no credits, so a program can
check before it starts a batch. `by.api_keys` counts tool calls
made directly with a key; `by.everything_else` is the website,
workflows and the agent. `credits.allowance` and
`credits.remaining` are null when the plan has no monthly cap.

## Response `200`

The account's credits this month.

## Other responses

- `401`: Auth failed (missing/malformed/invalid/expired/inactive key).
- `429`: Sliding 1-hour rate limit exceeded.

---

[API](https://skmtc.dev/johnsessentials/apis/john-s-essentials-api.md) · [All operations](https://skmtc.dev/johnsessentials/apis/john-s-essentials-api/llms.txt) · [OpenAPI document](https://skmtc.dev/johnsessentials/apis/john-s-essentials-api/revisions/56586ff78e6d?raw)
