> ## Documentation Index
> Fetch the complete documentation index at: https://docs.groovin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Authentication

> Prove who you are with an API key, or with a browser sign-in for AI connectors.

Groovin needs to know which account is calling. There are two ways, depending on what you use:

| You use | Sign in with |
| - | - |
| A script, n8n, Make, Zapier, or the **Try it** button | An [API key](#api-keys) |
| Cursor, Claude Code, or any tool that lets you set request headers | An [API key](#api-keys) (recommended) |
| claude.ai, Claude Desktop, ChatGPT and other web connectors | [Browser sign-in](https://docs.groovin.ai/reference/mcp/oauth.md) |

## API keys

An API key is a long secret that starts with `gv_live_`. It acts as you: anyone who has it can do everything your Groovin account can do, including sending LinkedIn messages.

### Create a key

1. Open the Groovin extension, then **Settings → MCP and API**.
2. Give the key a name that says what it is for, such as `n8n` or `Experiments`.
3. Click **Create key**.
4. Copy the key now: it is shown only once.

Keys do not expire: they work until you revoke them. Create one key per tool, so you can revoke one without touching the others.

### Use a key

Send it in the `Authorization` header of every request:

```text theme={null}
Authorization: Bearer gv_live_YOUR_KEY
```

### Keep it safe

* Keep it in an environment variable or your tool's secret manager.
* Do not paste it into a chat with an AI assistant, or commit it to Git.
* Do not put it in a web page: anyone can read a page's code.

### Revoke a key

In **Settings → MCP and API**, click **Revoke** next to the key. It stops working immediately, for any tool using it. If you think a key leaked, do this first.

## What your account needs

Even with a valid key, a call is refused if your account is not ready:

| You see | Status | What to do |
| - | - | - |
| `Authentication required` | 401 | Add the `Authorization` header |
| `Invalid or revoked API key` | 401 | Check the key, or create a new one |
| `Your Groovin account setup is incomplete…` | 403 | Connect your CRM in the extension |
| `Your Groovin subscription is not active…` | 403 | Renew your subscription |
| A message about the Billing admin role | 403 | Ask an org admin to change your role |

> [!NOTE]
>
> The **Billing admin** role is a free seat that manages billing and the team. It cannot use the API or the MCP, and cannot create API keys. To use them, ask an org admin to change your role to Member in **Settings → Team**.

## Whose LinkedIn account is used

Your key always acts as you, on your own LinkedIn account. Most routes accept an `org_linkedin_account_id`, but you can only use your own: a teammate's account is refused with a 403. You can simply leave it out.

There is one exception: [Check who is already in your CRM](https://docs.groovin.ai/reference/api/lookup-contacts.md) can check against any LinkedIn account of your organization.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.