Connect

Usage import

Send spend Navige did not proxy, so the picture is whole.

Some model calls will never go through the proxy — a batch job on a different network, a vendor product that bills you for AI you cannot intercept, a team that has not migrated yet. Report them and they appear alongside everything else.

POST/usage
This is a report, not a gate
Nothing is decided here. The call already happened. The kill switch, budgets and policies do not run on this path, by design — it would be dishonest for a stop button to “stop” something that finished ten minutes ago.

Request

FieldTypeWhat it does
model*stringThe model id as the provider spells it, such as claude-sonnet-5-5.
providerstringWho served it. Helps resolve a price where the same model id exists at more than one host and more than one rate.
inputTokensnumberPrompt tokens.
outputTokensnumberCompletion tokens.
costUsdnumberWhat it actually cost, if you know. Takes precedence over anything we would compute.
occurredAtstringISO 8601. Defaults to now; set it when backfilling, or the whole import lands in today.
bash
curl -X POST https://api.navige.ai/usage \
  -H "x-navige-key: $NAVIGE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5-5",
    "provider": "anthropic",
    "inputTokens": 18400,
    "outputTokens": 2100,
    "occurredAt": "2026-10-13T22:05:00Z"
  }'

Response

json
{ "id": "ue_01J…", "costUsd": 0.0714, "costSource": "computed" }

costSource is the honesty field, and it is worth reading rather than ignoring:

  • reported — you sent costUsd and we used it.
  • computed — we priced your token counts at that model's rate.
  • unknown — we have no price for that model and did not invent one. The event is recorded with a null cost, which the console shows as unknown rather than as $0.00.

If you are seeing unknown for a model you care about, tell us the id and we will add the price.

Token semantics

Providers do not agree on what input tokens means
Anthropic's input_tokens excludes cached tokens; OpenAI's and Gemini's include them. If you are computing inputTokens yourself from a provider's response, check which convention you are reading before you send it, or the same traffic will price differently depending on where it came from.
Something here wrong or missing? Tell us — a person reads it.