Skip to main content

Overview

nOps uses an Analytics API key created in claude.ai to bring Claude Enterprise usage and adoption data into Inform, and—when the key has the right scopes—per-user spend and seat limits into Budgets. Credentials are stored securely, validated before save, and are not shown again after you connect.
This integration is for Claude Enterprise (claude.ai seats) only. If your organization uses Claude Platform / Console (programmatic API usage), see Anthropic (Platform) instead — the two credential types are not interchangeable. An Analytics key cannot call the Console Admin API, and a Console Admin key is rejected by the Enterprise endpoints.

Prerequisites

  • Claude Enterprise organization with a member who can create an Analytics API key in claude.ai
  • nOps organization administrator access
Only admins and owners can connect, re-validate, or disconnect. Members see Admin Only on connectable cards.

API key scopes

Create one Analytics API key in claude.ai → Organization settings → API and grant the scopes your team needs. nOps uses the Claude Enterprise Admin API for seat tracking and limit changes in Budgets.
Read-only seat tracking — grant read:analytics, read:members, and read:spend_limits. Edit limits from Budgets — also grant write:spend_limits. Sync groups from Claude — also grant read:rbac_groups. You can add scopes later and Re-validate in nOps without reconnecting from scratch.
read:spend_limits is not optional for seat tracking. nOps builds the seat roster from GET /v1/organizations/spend_limits/effective. Without this scope that call is rejected and no seats are ingested, so no default allocation group is created, the setup stalls at Cost Allocation with 0 seats, and the Budget tab stays locked because it needs at least one allocation group. Adding the scope and re-running setup resolves all of these together.

Group sync scopes (Sync from Claude)

The Sync from Claude button on the Cost Allocation tab reads your Claude groups so seats can be grouped the same way in nOps. nOps accepts either credential path and tries both:
Anthropic grants read:rbac_groups only on a key created for all linked organizations in the enterprise. A key scoped to a single organization cannot sync groups even when the scope is checked — recreate the key at the enterprise level, or use a Compliance Access Key instead.
Group sync is optional and does not affect seat tracking. If you skip it, create allocation groups manually with Add group on the Cost Allocation tab.

Where each feature appears in nOps

Create a Claude.ai Analytics API key

Claude Enterprise organizations do not appear in the Anthropic Console and have no Admin API keys. Their usage and adoption data comes from the Claude Enterprise Analytics API, which uses an Analytics API key created in claude.ai.
  1. Sign in to claude.ai.
  2. Open Organization settings → API.
  3. Enable public API access and create an Analytics API key.
  4. Select scopes:
    • read:analytics — always required.
    • read:members and read:spend_limits — add these for AI seat tracking in Budgets.
    • write:spend_limits — add this only if you want to adjust per-user limits from nOps.
    • read:rbac_groups — add this to use Sync from Claude on the Cost Allocation tab. Create the key for all linked organizations in the enterprise, or Anthropic will not grant the scope.
  5. Copy the key immediately and store it securely.
Do not share the Analytics API key or expose it in public repositories. Generate a new key and reconnect if it is compromised.

Connect in nOps

Where to open Claude.ai (Enterprise)

  • To connect for the first time — go to Settings → Integrations and click the Claude.ai (Enterprise) card.
  • To manage an existing connection — go to Settings → Account Status → Connected apps and click the Claude.ai (Enterprise) chip to re-validate or disconnect.

Connect steps

  1. Click the Claude.ai (Enterprise) card or chip.
  2. Enter an API key name and paste the Analytics API key (sk-ant-api01-…).
  3. Click Connect.
nOps validates the key against the Claude Enterprise Analytics API before storing it.

Manage your connection

Administrators can Re-validate or Disconnect from the connected modal. Action required means validation failed — confirm the key is still active in claude.ai and reconnect if needed.

Troubleshooting

  • Invalid key — confirm you used an Analytics API key created in claude.ai, not a Console Admin API key from Anthropic (Platform).
  • Missing scope / permission errors — recreate the key in claude.ai with the scopes from API key scopes. For Budgets seat data, include read:members and read:spend_limits. For editing limits in Budgets, include write:spend_limits.
  • Seat tracking works but limit edits fail — the key likely lacks write:spend_limits. Add that scope in claude.ai and Re-validate in nOps.
  • 0 seats on the Cost Allocation tab, and the Budget tab is locked — the key is missing read:spend_limits, which is where the seat roster comes from. Cost allocation and budgets keep working from cloud spend; per-seat limits, seat tracking, and limit automation do not. Add the scope and Re-validate — nOps re-checks on the next load and the notice clears itself. To unblock the Budget tab before the key is fixed, click Add group on the Cost Allocation tab and create one group manually.
  • Which scopes am I missing? — nOps checks each scope when you connect or re-validate a key, and again whenever a feature uses one. A notice at the top of AI Optimization → Seat Tracking names every scope your key was refused and what each one turns off. Features that do not need Claude, including cost allocation and budgets, stay available.
  • “Unable to sync Claude groups with the stored key” — the key satisfies neither group-sync path. Use an Admin key with read:rbac_groups created for all linked organizations, or a Compliance Access Key with read:compliance_org_data and read:compliance_user_data. See Group sync scopes. This affects only Sync from Claude — seat tracking and limit edits keep working.
  • Usage detail is unavailable when drilling into a seat — limits and projections come from the provider, so they need read:spend_limits. Spend and forecast figures come from cost allocation and stay accurate regardless.
  • Rate limited — Anthropic caps Admin API requests (for example, spend limit calls) at 60 requests per minute organization-wide. Wait a moment and retry; nOps surfaces the rate-limit response in the budget UI.
  • No data — allow up to 24 hours after connect for usage data to populate in Inform. Budget seat rows appear after you enable tracking on a budget and save.
  • No account found in Budgets — nOps matches users by email. Confirm the nOps user email matches the Claude member email.
  • Multiple organizations — repeat connect with a unique API key name per Claude Enterprise organization.

Security

Follow your organization’s key rotation policy. Update nOps before rotating keys in claude.ai to avoid sync gaps.