---
title: "My Tokens"
method: GET
path: "/users/me/tokens"
tags: ["users"]
---

# My Tokens

`GET /users/me/tokens`

## Request

- Base URL: `https://app.zeno-works.ch` (the document declares no server; this is the origin it was published from)
- URL: `https://app.zeno-works.ch/users/me/tokens`
- Auth: none declared

The caller's own token budgets (jwt) — onboarding, monthly, extra tokens.

**Declared before `/{user_id}`**, or FastAPI would match `me` as a user id.

**Session only, and never a company-scoped key** (ZET-176 / invariant I8). These are
payer-wide magnitudes: extra tokens are drawn by every company the payer pays for, so
a confined credential reading them would be watching its siblings' spend. The company
read (`GET /companies/{id}/llm-quota`) is the confined surface, and it answers a state
rather than a number. Onboarding-purpose keys are not allowlisted either (they are
deny-by-default in `onboarding_key_gate`): a signup agent has no account to budget.

No elevation: every table behind it is GLOBAL, and it reads the caller's own row.

## Headers

- `authorization` string, nullable

## Cookies

- `access_token` string, nullable

## Response `200`

Successful Response

- MeTokensOut: The billing user's own token budgets — the one surface that may show them numbers. It is the payer's own account, so there is nothing to withhold: every figure here is about their own spending, not a sibling tenant's. `available` is **signed**, so a buyer can see what a purchase has to exceed before it unblocks anything (tokens spent past zero by calls already in flight are carried as `unfunded_tokens`).
  - `has_account` boolean, required
  - `onboarding_allowance` integer, required
  - `onboarding_consumed` integer, required
  - `onboarding_left` integer, required
  - `monthly_limit` integer, required
  - `monthly_used` integer, required
  - `monthly_left` integer, required
  - `resets_at` string, date-time, nullable
  - `extra_left` integer, required
  - `use_extra_tokens` boolean, required
  - `unfunded_tokens` integer, required
  - `available` integer, required
  - `enforced` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zeno-works/apis/zeno-api.md) · [All operations](https://skmtc.dev/zeno-works/apis/zeno-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zeno-works/apis/zeno-api/revisions/1eb93dde146c?raw)
