Overview
nOps connects to Cursor with a Team API key, one per Cursor team. The key powers AI seat tracking — per-user period-to-date spend and, on Cursor Enterprise, per-user spend limits — once you enable Cursor on a seat tracking project. Keys are validated before they are stored and are never shown again in the nOps UI. If your organization has several Cursor teams, connect each one. nOps reports on all of them together.A single Team API key covers everything nOps reads for that team — members, daily usage, per-event usage, and spend. It authenticates with HTTP Basic auth (the key as the username, no password), so there is no separate secret to supply.
Prerequisites
- A Cursor Teams or Enterprise plan with admin access to each team you want to connect
- Permission to create Team API keys in Cursor
- nOps organization administrator access to connect or manage the integration
Members can view integration status on Account Settings and Integrations, but only admins (and owners) can connect, re-validate, or disconnect. Non-admins see an Admin Only indicator on the Cursor card.
What nOps can do, by plan
Cursor exposes per-user spend limits only on Enterprise, so what nOps can do depends on the plan of the team you connect.
Read-only seats are still tracked, allocated, budgeted, and forecast in nOps. Their limits show as Not reported rather than as unlimited, because Cursor does not tell nOps a number.
Create a Team API key
- Sign in to Cursor with an account that has team admin privileges.
- Open the Cursor dashboard and go to API Keys.
- Create a key for the team you want to connect:
- Read-only is enough for seat spend tracking.
- Choose Admin scope only if you want nOps to change per-user spend limits on a Cursor Enterprise team.
- Copy the key immediately — it starts with
crsr_and Cursor shows it only once.
Connect in nOps
Only nOps administrators can complete these steps.Where to open Cursor
- To connect for the first time — go to Settings → Integrations (the main Account Settings page shows a preview of available apps; use View all to open the full catalog if Cursor is not in the preview) and click the Cursor card.
- To manage existing connections — go to Account Settings → Account Status → Connected apps and click the Cursor chip.
Add a team
The Cursor modal lists the teams you have already connected and lets you add another. For each team:- Team name — a label so you can tell your connections apart, for example
Platform team. One connection per Cursor team. - Cursor plan — choose Team or Enterprise. This is what tells nOps whether per-user spend limits exist at all for these seats, so pick the plan this team is actually on.
- Organization ID (Enterprise only) — the Cursor organization ID from your Enterprise dashboard, starting with
org_. This is metadata that ties the connection back to your Cursor org; it is not an Organization API key, and nOps still uses the Team API key for all reads and writes. - Manage seat limits from nOps (Enterprise only) — leave this off for read-only tracking. Turn it on to let nOps change per-user spend limits, which requires an Admin-scoped Team API key.
- Team API key — paste the
crsr_key for this team. - Click Connect.
GET /teams/members) before saving it. On success the team appears in the list, the integrations catalog card shows Integrated, and the card’s connection count reflects how many teams you have connected.
Add the rest of your teams
Repeat Add a team for every Cursor team. Each connection stores its own key, plan, and limit-management setting, so a read-only Teams-plan connection can sit alongside an Enterprise connection that nOps writes to.Use in AI seat tracking
After at least one Cursor team is connected, enable Cursor on a seat tracking project:- In the sidebar, open AI.
- Add Cursor to the project’s providers under Project settings → Provider sync.
- Matched users show period-to-date spend and, where available, seat limits in the seat table. nOps matches seats to nOps users by email, because the Cursor Admin API itself joins members to spend on email.
Someone who belongs to two connected teams
If the same email appears in more than one connected Cursor team, nOps sums that person’s spend across those teams so reporting and budgets stay complete. Their limit becomes read-only, because nOps cannot tell which team’s limit you meant to change. To manage such a seat’s limit from nOps, change it in Cursor, or keep the person in a single connected team.Manage your connections
Administrators can open the Cursor card or chip to work on any connected team:- Re-validate — checks the stored key against Cursor again without asking you to re-enter it.
- Edit — change the label, plan, Organization ID, or limit-management setting. Leave the API key field blank to keep the current key, or paste a new key to rotate it.
- Disconnect — removes that team’s stored key and its connection. Other connected teams are unaffected.
What nOps stores
Per connected team, nOps saves the integration status and configuration — the label, plan tier, Organization ID if you supplied one, whether limit management is on, and when the team was connected and last validated — so your team can see whether each connection is active. Each Team API key is stored securely and is never shown again in the nOps UI after you connect.Troubleshooting
Invalid API key
- Confirm you copied the full key, starting with
crsr_, with no leading or trailing spaces. - Ensure it is a Team API key from Cursor dashboard → API Keys, not an Organization API key and not a personal or user key. An Organization API key cannot call the team routes nOps uses and will fail validation.
- Verify the Cursor team still has API access enabled.
Seat limits are read-only when you expected to edit them
Work through these in order:- The connection’s Cursor plan is set to Team. Per-user spend limits do not exist on that plan. If the team is actually on Enterprise, edit the connection and correct the plan.
- Manage seat limits from nOps is off. Edit the connection and turn it on.
- The seat’s email appears in two connected teams, so it is intentionally read-only. See Someone who belongs to two connected teams.
- Cursor refused a limit write. nOps trusts your Enterprise and limit-management settings up front, then records what Cursor actually allows the first time it tries a real write. If Cursor rejects it as unauthorized — most often because the key is Read-only rather than Admin — nOps records that and treats the connection’s limits as read-only from then on. Rotate the connection to an Admin-scoped Team API key to restore write access.
Action required
- The stored key for that team may have been revoked or expired in Cursor. Create a new Team API key and edit the connection, or use Re-validate after updating the key in Cursor.
- Only nOps administrators can resolve this status.
Admin Only on the card
- You are signed in as a member, not an administrator. Ask an org admin to connect or manage Cursor, or request the administrator role in nOps.
No account found for a seat
- nOps matches nOps users to Cursor members by email. Confirm emails match, or show unmatched users in the seat table.
- If the person is in a Cursor team you have not connected yet, add that team.
A seat’s limit shows “Not reported”
Cursor returned no limit for that seat. This is expected on a Cursor Teams plan, which has no per-user limits. It does not mean the seat is uncapped.Rate limited
Cursor limits Admin API requests per team. If you see a rate-limit error, wait a minute and try again. Connecting more teams does not consume a single shared budget — each team’s key is rate limited by Cursor separately.Still stuck?
Contact your nOps administrator or nOps support with the time of the error (not the API key itself).Reference
- AI — track per-seat Cursor spend, limits, and requests
- Set up AI seat tracking — create a seat tracking project after connecting Cursor
- Automated Rebalance — unattended limit changes, available for Cursor Enterprise connections with limit management enabled
- Cursor Admin API
- Cursor Organization API — the org-level API nOps does not use
- Cursor API overview (authentication)