Cursor
Cursor usage comes from the Cursor Admin API. Who needs to do it: a Cursor team admin.Steps
- Go to your Cursor dashboard → Settings → Cursor Admin API Keys.
- Click Create New API Key, give it a name (e.g. “Bilanc”), and copy the key — you won’t be able to see it again.
- In Bilanc, click Connect on the Cursor card and paste the key.
Claude Code
There are three ways to get Claude Code usage into Bilanc. Use OpenTelemetry (Option A) whenever you can — it’s the richest and most accurate source, and it works however you run Claude Code: claude.ai Enterprise/Team seats, the Claude API, Amazon Bedrock, Google Vertex AI, or a mix. Fall back to the Admin API (Option B) if you can’t roll out telemetry, or the S3 connector (Option C) if you’d rather produce a daily activity CSV yourself.Option A — Claude Code telemetry via OpenTelemetry (recommended)
Claude Code can emit OpenTelemetry metrics (sessions, token and cost totals, lines of code changed, commits) and logs/events (user prompts, tool results, API requests, errors). You point both at Bilanc with a block of environment variables in Claude Code’ssettings.json. This works regardless of which provider serves the model — direct Claude API, claude.ai Enterprise, Amazon Bedrock, Google Vertex AI, etc.
Who needs to do it: whoever controls Claude Code settings for your org — a claude.ai organization admin if your seats are managed through claude.ai, otherwise IT/DevOps (via MDM or a config management tool).
1. Create a Bilanc organization API key
- In Bilanc, click your profile icon in the bottom-left of the dashboard.
- Go to Account Settings → Organization API keys.
- Generate a new key and copy it.
2. Add the telemetry settings to Claude Code
Replace<your-organization-api-key> with the key from step 1:
- claude.ai Enterprise / Team
- Bedrock, Vertex AI, API or self-managed
Open Claude Code admin settings, go to Managed settings (settings.json), and paste the JSON above. Managed settings apply to every engineer in your organization automatically — there’s nothing for individuals to install.
What gets sent
OTEL_METRICS_EXPORTERsends usage metrics: sessions, token and cost totals, lines of code changed, commits.OTEL_LOGS_EXPORTERsends per-event records: user prompts, tool results, API requests, and errors.OTEL_LOG_USER_PROMPTSincludes the text of your developers’ prompts. Remove that one line to keep the events but send only prompt length, not content.
Option B — Claude Admin API
If your engineers use Claude Code through a claude.ai Enterprise/Team organization or a Claude API organization, Bilanc can pull daily Claude Code usage and cost from the Claude Admin API. This is quicker to set up than telemetry but returns aggregated per-user data only — no prompts or per-session events — so prefer Option A where possible. Who needs to do it: a Claude organization admin/owner (Admin API keys can only be created by org admins).- In platform.claude.com, go to Settings → Admin keys and create an Admin API key.
- In Bilanc, click Connect on the Claude Code card, choose Claude Code (Managed), and paste the key.
Option C — S3 (daily activity CSV)
If you’d rather generate Claude Code usage yourself — for example from Amazon Bedrock invocation and CloudTrail logs, or an export from another system — connect by dropping one CSV per day into an S3 bucket that Bilanc reads. You own the bucket and grant Bilanc list/read-only access to it via an IAM user. No prompt or response content is required — only aggregated token usage and cost. Who needs to do it: an AWS admin who can create an IAM user and manage the S3 bucket.-
Create (or choose) an S3 bucket in your AWS account, and decide on a path prefix where the usage files will live (e.g.
claude-code/usage/). -
Create an IAM user with programmatic access and a read-only policy scoped to that bucket and prefix (
s3:ListBucketands3:GetObject). Generate an access key for it. -
Upload one CSV file per day to the bucket under your prefix, named
YYYY-MM-DD.csv(e.g.2026-06-16.csv). Each file has one row per user, per model, with these columns:Each day should be a new file. Bilanc expects the next day’s file to appear shortly after midnight UTC. You can backfill historic data by uploading files for past dates. -
In Bilanc, click Connect on the Claude Code card, choose Claude Code (S3), and provide:
- AWS Access Key Id — access key ID for the IAM user.
- AWS Secret Access Key — secret access key for the IAM user.
- Bucket Name — the S3 bucket you created.
- Bucket Path Prefix — the prefix where the daily files are uploaded.
Producing the daily files is your responsibility — Bilanc reads the aggregated CSVs, not raw logs. If you’re on Bedrock, most teams generate them by enabling Bedrock model invocation logging to S3 (which captures per-invocation token counts, model ID, and the calling identity, with no prompt/response content) and rolling those records up per user, per model, per day. AWS’s Guidance for Claude Code with Amazon Bedrock is a good reference. That said, if you’re on Bedrock you can usually skip all of this and use Option A instead.
Codex
Codex usage comes from your ChatGPT Enterprise/Business workspace. Who needs to do it: a ChatGPT workspace owner, who can generate an API key with access to workspace usage.Steps
- Generate an API key from your ChatGPT Enterprise/Business workspace admin settings.
- In Bilanc, click Connect on the Codex card and paste the key.
Augment
Who needs to do it: an Augment admin.Steps
- Generate an API key from your Augment admin settings.
- In Bilanc, click Connect on the Augment Code card and paste the key.
Devin
Devin connects with a Devin API key. Who needs to do it: someone who can create an API key in your Devin organization.Steps
- Create an API key in Devin.
- In Bilanc, click Connect on the Devin card and paste the key into the connection window.
This is separate from using Bilanc’s data inside Devin. For that, add Bilanc as an MCP server in Devin — see MCP Server → Devin.
GitHub Copilot
GitHub Copilot metrics come from GitHub’s Copilot usage API. The right path depends on whether Copilot is licensed at the organization level or through a GitHub Enterprise account.If Copilot is licensed at the organization level
Connect through your normal GitHub version control connection — no separate Copilot card needed. Who needs to do it: a GitHub organization owner (or a custom role with View Organization Copilot Metrics).- Go to github.com/settings/organizations, select your organization, and open Settings → Copilot → Policies.
- Under Features, set Copilot usage metrics to Enabled.
- Connect GitHub from Admin → Connections → Version Control using an account that is an org owner (see Version Control → GitHub).
If you have GitHub Enterprise
Use the GitHub Copilot Enterprise card at the top of the AI Tools section. Who needs to do it: a GitHub enterprise owner — only owners can view enterprise settings and connect Copilot.- Make sure the Copilot usage metrics policy is set to Enabled everywhere for the enterprise. Manage this at
github.com/enterprises/<slug>/ai-controls/copilot. - Find your enterprise slug — it’s the part of the URL after
/enterprises/. Your enterprises are listed at github.com/settings/enterprises, e.g.github.com/enterprises/<slug>/settings/. - On the GitHub Copilot Enterprise card in Bilanc, click Connect, enter the enterprise slug, and authorize. When prompted, select the enterprise (not an individual org).

