# Connect to Cursor

Connect your Cursor team to Finora to track per-event spend across your seats — including which user, model, and event type drove the cost.

> **Before you start**
>
> * You need to be a **team admin** on a Cursor **Teams** or **Business** plan. Free, Hobby, and Pro plans don't have the Admin API — only paid team plans do. If you're not sure which plan you have, ask your Cursor team owner.

## Overview

You'll create a Cursor **Admin API key**, then paste it into Finora. The key is read-only — it can read your team's usage and billing data, but can't be used to do anything else in Cursor.

## Step 1: Create a Cursor Admin API key

1. Sign in to [**Cursor**](https://www.cursor.com) as a team admin.
2. Open **Team Settings → Admin API**.
3. Click **+ Create API Key**.
4. Give it a clear name like `Finora Integration` and create it.
5. **Copy the key immediately** — Cursor only shows it once. The key starts with `key_...`.

> If you don't see the **Admin API** tab, you're not on a paid team plan or you're not a team admin. Ask your team owner to either upgrade or generate the key for you.

## Step 2: Connect Cursor to Finora

1. In Finora, click **Settings** in the sidebar, then open the **API Keys** tab.
2. From the **Provider** dropdown, choose **Cursor**.
3. Paste the Admin API key into the **Admin API Key** field.
4. Click **Save**.

Finora confirms the key works. On success, Cursor appears in your connected providers list, and per-event data flows in at the next refresh.

## What Finora tracks for Cursor

* Cost per event in USD
* Timestamp of each event
* Which model was used (e.g. `claude-3-7-sonnet`)
* Which user triggered the event
* The event type (chat, agent, inline edit, and so on)

This per-event detail is what lets you ask things like *"Which engineer spent the most this week?"* or *"How much went to Claude vs. GPT-4 in chat events?"* directly from your dashboard.

## FAQs

**Can a non-admin team member create the Admin API key?** No. Only Cursor team admins can issue Admin API keys. If you don't have admin rights, ask your team owner to generate it for you.

**Why does Finora track cost per event instead of just monthly totals?** Cursor exposes per-event records (model, user, event type, charged cents). Adding them up gives you the same monthly totals as the Cursor billing portal — and the per-event detail powers the richer per-user, per-model drilldowns.

**Will Finora track my Cursor seat fees?** No — the Admin API only exposes per-event variable spend. To track flat-rate Cursor seat costs, add Cursor in the [AI Subscriptions tracker](/core-features/ai-subscriptions.md) where you record the seat count and monthly fee.

**What's the difference between seat cost and event cost?** Cursor charges a fixed seat fee per user per month, plus a variable charge for events that go beyond your plan's included quota. This integration captures the variable per-event spend; the AI Subscriptions tracker captures the flat seat fee.

**Saving failed with `401 Unauthorized`. What's wrong?** Common reasons:

* The key was revoked in Cursor.
* The user who created the key lost team admin rights.
* The key was copied with extra whitespace.

Create a fresh Admin API key and try again.

**How do I rotate the key?** Create a new Admin API key in Cursor, paste it into Finora **Settings → API Keys → Update**, save, and then revoke the old key in Cursor.

## Removing the integration

Open **Settings → API Keys**, find the Cursor row, click the trash icon, and confirm. Your stored credential is deleted. We recommend you also revoke the API key in Cursor afterwards.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.finora.services/billing-integrations/ai-providers/connect-to-cursor.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
