Back to blogAI SPEND

Anthropic Admin Key Connect: Turning Slider Estimates Into Actuals on AI Spend

By SeatCompress Team·July 24, 2026·11 min read
Anthropic Admin Key Connect: Turning Slider Estimates Into Actuals on AI Spend

Sliders are a confession that you don't have the data. Connect an Anthropic admin API key to SeatCompress and four of five AI Spend levers stop guessing — they read the cost_report directly, and lever confidence upgrades with it. The fifth (prompt caching) stays at medium because Anthropic hasn't shipped the token-count endpoint yet. That's the honest framing, and it's why this matters: when the numbers come from your actual bill instead of a 60%-on-Opus slider default, the conversation with procurement changes.

The slider problem

Every AI Spend calculator on the internet — ours included, until 2026-05-17 — has the same structural weakness. It asks the CFO to estimate inputs the CFO doesn't have. What share of your $80K/mo Anthropic bill runs on Opus versus Sonnet versus Haiku? What percentage of your context windows exceed 200K tokens? Are you currently on the standard tier or already at a committed rate?

The CFO doesn't know. The platform team might, but they're three meetings away. So the calculator defaults to plausible mid-range guesses, computes a savings figure, slaps a "medium confidence" badge on it, and the output gets discounted in everyone's head before it leaves the screen.

That's a defensible product for a public lead-magnet. It's not a defensible product for a renegotiation memo. The numbers driving an enterprise AI procurement decision should come from the vendor's own billing API, not from what feels right when a director drags a slider.

The Anthropic BYO admin key integration closes that gap for the single vendor that publishes the data. You paste a read-only admin API key into the dashboard, the server validates it with a light-test GET, AES-256-GCM-encrypts it at rest with the same crypto envelope used for Okta and Google Workspace, and triggers a one-shot 90-day backfill. After that, a daily cron at 08:00 UTC — Anthropic's billing day closes UTC-aligned — fetches the delta and upserts daily snapshots per workspace, per service tier, per context window.

The crypto envelope matters: rotating INTEGRATION_ENCRYPTION_KEY invalidates every connected customer in one operation. No vendor-side revocation flow needed, no support ticket fan-out. Same blast-radius properties as the IdP integrations.

Which levers upgrade, and why

Five AI Spend levers run over your monthly spend. v1.1 of the Anthropic integration auto-upgrades the confidence on four of them when actuals are present.

Model Swap moves from medium to high. The lever asks: of your current spend on Opus, how much would land on Sonnet at a 60% migration share, and how much would that save? Without actuals, the calculator guesses your model mix from a workload default. With actuals, provenance.modelMix === "actual" fires the upgrade and the copy on the lever card switches from "we estimate" to "your cost report shows X% on premium-tier Opus." The math is unchanged; the confidence isn't.

Enterprise Rate moves from low to high when both monthlyTotalUsd and spendTier come from the cost report. The lever applies a 25% discount — the mid-range of the public 20–40% off-list anchor — when your monthly spend exceeds $50K and you're not already on a committed plan. Without actuals, the calculator has no idea whether you've crossed the threshold or which tier you're on; with actuals, both questions answer themselves. If you're already committed, the lever returns no savings and the copy says so plainly instead of fabricating a "you might be eligible" claim against a plan you're already on.

Right-Size Context is the biggest copy upgrade. v1 was an advisory bullet: "if your input share is high, consider shorter prompts." v1.1 reads the context_window dimension from cost_report and computes concrete dollar savings: longContextShare × monthlyTotalUsd × 0.5 × 0.5. The first 0.5 is the reducible share (half of the long-context calls can be re-architected to fit in the cheaper ≤200K tier without breaking the use case); the second 0.5 is the per-token price delta between the two tiers. Confidence goes from low to high, and the savings number stops being zero.

Batch API stays at high confidence — it was already there — but the copy specializes. Without actuals, the lever assumes a workload-default real-time share. With actuals, the service_tier dimension tells you what percentage of your spend actually ran in real-time today versus already-batched, and the card says so. The math (50% off batched spend, flat across all three vendors) doesn't change; the framing gets specific.

Prompt Cache stays at medium. This is the honest one. The cost_report endpoint returns dollars and service-tier and context-window dimensions, but it doesn't return token counts — those live on a sibling usage_report endpoint that 404'd on every plausible path probed on 2026-05-18. Without real token counts, we can't measure cache hit-rate, so the lever continues to compute on the 80%-default hit-rate, and confidence stays medium. The future-flip branch is wired for the day Anthropic ships the endpoint. We could fake it; we don't.

What the workspace drilldown actually tells you

The other thing cost_report ships that the slider UI can't is workspace_id. Anthropic lets enterprises segment usage into workspaces — typically one per product line, environment, or team — and v1.1 buckets snapshots on (integrationId, date, workspaceId). The dashboard panel renders a workspace breakdown table beneath the lever cards: workspace ID, 30-day spend, dominant model (Opus / Sonnet / Haiku), share of total.

Single-workspace orgs see nothing — the section short-circuits when every snapshot's workspaceId is empty. Multi-workspace orgs almost always see a concentration story they didn't expect. One workspace, often a single staging environment or an internal experimentation team, is responsible for 40-60% of the bill. That's not a renegotiation lever; that's a governance conversation, and it's the kind of finding that doesn't survive contact with a slider-based estimator.

The legacy purge handles the v1-to-v1.1 transition cleanly: on the first v1.1 sync per integration, snapshots with an empty workspaceId get deleted and re-upserted with the workspace dimension populated. No data is lost from the API — the source is the cost_report response, not the snapshot table — but the granularity backfills.

What the integration does not do

Worth being explicit, because the "BYO admin key" framing invites assumptions:

The integration is read-only. The Anthropic admin API key is scoped to billing and usage reads; it can't provision keys, throttle workloads, or modify anything in your Anthropic console. You could revoke it from Anthropic's side at any time and the only effect on SeatCompress would be that the daily cron starts failing for your integration (silently — OWNER_EMAIL gets notified, your dashboard panel surfaces "last sync 7 days ago").

It is single-vendor v1. OpenAI, Google Vertex, and AWS Bedrock would each follow the same scaffold — encrypt key, sync, snapshot table, bridge to existing levers — at roughly 1-2 days of work each. Until then, if your AI bill is multi-vendor, the panel shows what Anthropic shows you and the rest of the AI Spend calculator continues to run on sliders for the non-Anthropic portion.

The token columns on AnthropicUsageSnapshot are present in the schema but populated with zeros. That's a structural decision for the day Anthropic ships usage_report — when that happens, the column already exists, the migration is already deployed, and only the client + provenance-flagging code needs to change. Schema future-proofing without fabricating data into the columns today.

The accessToken and refreshToken get stripped at the API boundary on every GET return. The /api/companies/[companyId]/anthropic-usage route never echoes the key back to the client, even in error responses. Same trust contract pattern as the peer benchmark internal sourcing: internal-only data does not cross the API boundary.

Worked example: a 12,000-employee SaaS company

Take a synthetic enterprise persona: a 12,000-employee SaaS company spending $80,000/mo on Anthropic across three workspaces (production inference, internal copilot, data-team analytics). The dashboard before connection shows the AI Spend calculator with workload-default sliders: ~60% Opus / 30% Sonnet / 10% Haiku, 80% cache hit-rate, "mixed" workload. The five levers return an estimate, every card carries a medium-or-low-confidence badge, and the savings number gets mentally discounted in the next finance meeting.

The CFO connects the admin API key. Five seconds later, the panel renders 90 days of backfilled actuals.

The workspace breakdown surfaces the first finding: the data-team analytics workspace is 47% of total spend — $37,600/mo — and its dominant model is Opus. Production inference is 33% on Sonnet. Internal copilot is 20% on Haiku. The data-team's workload is overnight bulk-summarization jobs that don't need real-time latency. That's a Batch API lever finding that the slider version couldn't surface: routing the analytics workload through the batch endpoint at the standard 50% discount on $37,600/mo of batchable spend yields $18,800/mo, or $225,600/year. The lever card now reads "Your cost report shows 8% batched today; 47% of your spend is overnight-runnable" instead of the slider-default "if 30% of your workload is batchable."

Model Swap upgrades to high confidence. The actual mix is 51% Opus across workspaces, not the workload-default 60%. The lever's MODEL_SWAP_SHARES constant (Opus→Sonnet at 60% migration share) applied to the actual Opus slice ($40,800/mo) at the Sonnet-vs-Opus blended-rate delta yields $19,584/mo, or $235,000/year. The number is smaller than the slider default suggested — but it's defensible.

Right-Size Context flips from low-confidence advisory to a concrete number. The context_window dimension shows 28% of the bill ran in the 200K-1M tier, costing roughly $22,400/mo. Math: 0.28 × $80,000 × 0.5 × 0.5 = $5,600/mo = $67,200/year. The platform team gets a specific ask: re-architect half the long-context calls (the ones that don't actually need the 1M window) to fit in the cheaper tier.

Enterprise Rate upgrades to high. The actual monthlyTotalUsd is $80,000, well above the $50K threshold, and the spendTier is "standard" (not committed). The lever applies the 25% anchor discount: $20,000/mo = $240,000/year if a committed-rate contract gets signed.

Prompt Cache stays at medium and the lever returns its slider-default estimate. The CFO discounts it appropriately in the memo.

Totals: $384,000 to $528,000 in annual savings, or 40-55% of the $960K/year bill. The four lever line items above ($225,600 + $235,000 + $67,200 + $240,000 = $767,800 gross) do not stack additively — they overlap on the same dollars. Enterprise Rate compounds against the residual after model-swap and batch routing; Right-Size Context and Batch API both consume slices of the long-context Opus spend. Sequential-residual stacking lands the realistic ceiling well below the gross sum, and 40-55% is the defensible range against an enterprise procurement team. Anything north of 55% via Anthropic-internal levers alone — without architectural changes outside the cost_report's reach — is calculator theater. Three of the four levers are now sourced from the vendor's own billing data, which is what justifies the floor; the ceiling is honest about the overlap.

The renegotiation memo writes itself. Workspace concentration finding plus four high-confidence lever numbers plus a 90-day actuals trace. The procurement conversation is no longer "the calculator says we could save 50%." It is "your cost_report API says we are running $80K/mo at standard tier, 47% concentrated in one workspace, 28% on long-context, and 8% batched — here is the renegotiation ask and the engineering work plan."

What you do Monday morning

Three steps. None of them require a sales call.

Generate a read-only admin API key in your Anthropic console. It scopes to billing and usage reads only. The integration doesn't request — and the underlying admin API doesn't grant — any write capability against your workloads.

Paste it into the SeatCompress dashboard at /dashboard/ai-spend. The connect button validates the key with a light-test GET, encrypts it at rest, and triggers a 90-day backfill. The panel renders inline above the existing slider-based AI Spend calculator — actuals and estimator coexist as two narratives, which matters if you're presenting to a board that wants both the floor and the ceiling.

Read the workspace breakdown before reading the lever cards. The concentration finding is usually the headline. The lever savings are the action plan, but the workspace table is what changes the procurement strategy.

If you're a multi-vendor AI shop — Anthropic plus OpenAI plus Google Vertex — the Anthropic panel covers the slice it covers, and the rest of the calculator continues to run on sliders. We're shipping the additional vendor integrations in priority order based on customer signal. For now: if Anthropic is more than a third of your AI bill, this integration alone pays for the Growth tier in the first month it's connected, and the savings range it surfaces is large enough that the slider version will feel obsolete within the first meeting you bring it to.

The slider was a confession. The actuals are the answer.

Find your savings number in 30 seconds.

No signup, no credit card. Get the number, screenshot it, and decide if your CFO needs to know about us.