---
title: "AI usage and models"
slug: admin/ai
url: https://projectri.com/docs/admin/ai
section: admin
audience: admin
app_route: "/[slug]/admin/ai"
permissions: [billing.view, billing.manage]
mobile: "/admin/ai-usage"
updated: 2026-09-08
source: Projectri documentation
---

# AI usage and models

What this workspace spends on AI models, the monthly ceiling on it, the credit balance it spends past the plan, and which model each kind of work is sent to.

![AI usage and models](https://projectri.com/docs-shots/admin-ai.png)

## What it is

Every model call the product makes for this workspace is recorded — which
feature asked, which model answered, how many tokens it took and what it cost.
This screen is that record, plus the three controls over it: a monthly ceiling,
a credit balance, and a per-task-class model policy.

The money here is what the AI gateway charges, in US dollars, whatever this
workspace bills its own clients in.

## How to get there

**Money → AI spend** in the admin console rail, at `/<workspace>/admin/ai`.

Reading everything on the page needs `billing.view`. Changing the ceiling, the
model policy and the credit rules needs `billing.manage` — the same permission
as changing the plan. Without it the fields render read-only and say so.

The fourth AI control, switching a named person's AI off, is **not** here. It is
a pane on [Security](/docs/admin/security) behind `security.policy`, because
whoever configures single sign-on is not necessarily whoever signs for the bill.

## How to use it

### Read the month — the Spend tab

1. Four tiles: **Spent this month**, **Calls**, **Tokens** and the **Budget**
   state.
2. The spend tile reads **Spent this month (at least)** when the month contains
   calls on a model no price is held for. Those calls are absent from every
   total on the page, because a zero would read as free.
3. The meter shows spend against the ceiling. A workspace with no ceiling gets a
   sentence instead of a bar — a bar at 0% would read as good news.
4. **Where it went** slices the month by feature, by model, by agent or by kind
   of work. The bars are drawn against the widest slice, not against the total.
5. **Failovers** lists answers that came from a model other than the one first
   chosen. **Refusals** lists why calls did not happen. Both render at zero on
   purpose — an empty list is the difference between "none happened" and "we do
   not record that".

### Set the ceiling — the Budget tab

1. **Ceiling (USD)** is what this workspace may spend in a calendar month.
   Leave it empty for no ceiling.
2. **Warn at** is the percentage at which the holders of `billing.manage` are
   notified, once per period per threshold. Setting it to 0 switches the warning
   off, and the screen says so rather than showing "warn at 0%".
3. **Refuse calls past the ceiling** is the hard stop. With it off, the ceiling
   is a warning and spending continues.
4. **Save budget.** If the workspace has already spent past the number you
   typed, the page says so — the ceiling takes effect on the next call rather
   than undoing what has been spent.
5. **Remove the ceiling** clears the number and keeps the warning threshold and
   the hard-stop setting, which is why it is not called "remove the budget".

### Buy and spend credit — the Credits tab

1. The plan allowance is denominated in **tokens** because it is a package
   limit. The balance is denominated in **dollars** because it is money. They
   are not converted into each other — a million tokens costs wildly different
   amounts depending on the model.
2. One sentence says exactly where the workspace stands: inside the allowance,
   running on credit, nearly out, out, or set not to use credit at all.
3. **Buy credit** lists the packs, the bonus on each, and the price. Credit does
   not expire and is only used once the plan allowance runs out. Buying opens
   checkout in the same tab and returns here.
4. **Use credit when the allowance runs out** is on by default — a balance
   somebody paid for that then refuses to be spent is not a feature.
5. **Buy credit automatically** is off by default, because a charge nobody
   clicked is the one thing here that can surprise a customer. It is bounded
   three ways — a pack, a monthly cap and a saved card — and the switch stays
   disabled with the reason next to it until all three are in place.
6. **Statement** lists every movement on the balance, most recent first.

### Choose a model — the Model policy tab

1. Routing is by **kind of work**, not by feature: classification, extraction,
   summarising, conversation, reasoning, client-facing writing, embeddings and
   transcription. A feature is not one kind of work, and a firm's opinion is
   about the class.
2. Each card shows **What this uses** — the ordered chain, first choice
   highlighted — and **What we would choose** underneath.
3. **Pin to** sends that class to a specific model. Only models that class can
   actually be pointed at are offered.
4. **Allow a fallback** appears once a class is pinned. Turning it off means
   that kind of work is *down* rather than answered by another model, which is
   the right choice for a firm that pinned for a residency or compliance reason.
5. Two notes are not warnings. Embeddings and transcription use one model by
   design and have no fallback to configure. A pin that names the model we would
   have chosen anyway freezes that class on it, and the card says so.

### Check the plumbing — the Provider tab

Whether the gateway is connected, what it can do, and the voice catalogue. It
distinguishes "never configured" from "configured and unreachable", because
those are different people's jobs.

## What it affects

- **Guards run in a fixed order.** A person's AI seat being switched off comes
  first and holds regardless of money — including for agents that person owns.
  The workspace's own budget comes second. The plan's `ai.tokens` allowance comes
  last, because it is the softest and its refusal is an upgrade prompt.
- **Every refusal is written to the ledger before it is thrown**, so "why did
  nothing happen" has an answer.
- **A ceiling with the hard stop on refuses calls on unpriced models too.** A
  cap that stops what it can count and waves through what it cannot is not a
  cap. On that page the same count means the opposite thing, and the wording
  changes with it.
- **Reaching the allowance is not the end** if the workspace holds credit and
  draw-on-credit is on. Calls then debit the balance at what they actually cost,
  with the platform markup applied, and the markup percentage is stated on the
  balance card.
- **Agent runs are on the same meter.** A run stops when the workspace's money
  runs out, not only when the agent's own per-run token cap does, and the budget
  is checked before every model call.
- **Model policy is resolved per call and never cached**, so a policy changed
  after an incident takes effect immediately.
- **A stream fails over before the first byte and never after.** Once the answer
  is partly on screen, splicing in a second model's prose is not a recovery.

## On mobile

`Admin → AI` carries Spend, Budget and Models. The ceiling is editable there,
because the budget warning arrives as a push and the ceiling is what the person
holding the phone came for. **Pinning a model is web only** — it is a spend
decision made against a price table, and what belongs on a phone is knowing what
is pinned when somebody asks.

## Limits and gotchas

- The month resets on the calendar month. Only priced calls are counted.
- A ceiling of zero is refused, by the form and by the database. That is an off
  switch, and a screen labelled "budget" is not where anybody looks for one.
- Prices are held for the handful of models this product actually calls. A call
  on anything else records no cost rather than a zero — and under a hard cap it
  is refused instead.
- There is no per-person usage view. The ledger holds it so that a specific
  investigation can run; the breakdown deliberately does not turn that into a
  leaderboard.
- A workspace cannot cap tokens, calls or runs separately. The only budget is
  money.
- There is no per-agent model policy beyond an agent's own model preference.

## Related

- [Billing](/docs/admin/billing) — the plan, the seats and the invoice.
- [Agents](/docs/admin/agents) — the unattended actors that spend this meter.
- [Security](/docs/admin/security) — switching a named person's AI off.
- [Plans and entitlements](/docs/features/plans-and-entitlements) — what `ai.tokens` is.
- [Nia](/docs/features/nia-assistant) — the assistant most of this spend belongs to.

## Related

- [Billing](https://projectri.com/docs/admin/billing.md): Your workspace's own subscription to Projectri — the plan, the seats and limits you are using, the invoices we send you, and the details we print on them.
- [Agents](https://projectri.com/docs/admin/agents.md): The directory of unattended actors in this workspace — what each one may do, who is accountable for it, and the button that stops it.
- [Security](https://projectri.com/docs/admin/security.md): The sign-in rules this workspace enforces, who is signed in, what machine credentials and outside applications can reach it, and the sign-in history.
- [Plans and entitlements](https://projectri.com/docs/features/plans-and-entitlements.md): What each plan includes, what happens when you hit a limit, and why losing a feature never loses the data behind it.
- [Nia, the assistant](https://projectri.com/docs/features/nia-assistant.md): What Nia can read, what she can do, how she works by voice, with files, in a document or on a board, and the things she deliberately cannot see.
