# CLI & API Keys

URL: https://docs.testvibe.com/account-settings/api-keys

*What a key is for: `testvibe generate` runs a real generation in a cloud sandbox and blocks until it is verified by an actual run, then `testvibe files get` prints the Playwright spec it wrote.*

TestVibe API keys — they start with `tvb_` — authenticate tools that talk to TestVibe from outside the app. Manage them in **Settings → CLI & API keys** .

## What Uses An API Key

| Tool | What it does | `testvibe` CLI | Work with projects, tests, and runs from the terminal. | MCP and AI tools | Let AI assistants call the TestVibe API on your behalf. | `tvtunnel` agent | Connects a device so cloud runs can reach private apps. | Load telemetry agent | Streams server metrics into load test results. 

## Create A Key

1. Open **Settings** .
2. Select **CLI & API keys** .
3. Create a new key and give it a descriptive name — one key per tool or machine keeps revocation painless.
4. Copy the key and store it somewhere safe. Treat it like a password.
Revoke a key from the same panel when a machine is retired or a key may have leaked.

## Install The CLI

The **CLI & API keys** panel also shows the install commands for the [`testvibe`](https://www.npmjs.com/package/testvibe) CLI. The simplest is npm (Node 20+):

```bash
npm install -g testvibe
```

No npm? The panel's fallback commands download a single dependency-free file from your TestVibe server and add a `testvibe` command to `~/.testvibe/bin` :

```bash
# macOS / Linux (Node 20+)
curl -fsSL <your-testvibe-url>/api/v1/install.sh | sh
```

```powershell
# Windows PowerShell (Node 20+)
iwr -useb <your-testvibe-url>/api/v1/install.ps1 | iex
```

Then sign in with a key from this panel and pick a project:

```bash
testvibe login --server <your-testvibe-url> --key tvb_…
testvibe use <project>
```

## Not For Test Credentials

API keys authenticate tools against TestVibe. Values your tests need — logins, tokens, test data — belong in **Settings → Variables & Secrets** and are referenced from Gherkin as `{{var:NAME}}` / `{{secret:NAME}}` . See [Add API keys and secrets](/workspace/add-api-keys-and-secrets) .

## Related Help

- REST API reference — the full API your keys authenticate against.
- [Add API keys and secrets](/workspace/add-api-keys-and-secrets)
- [Tunnel devices](/account-settings/tunnel-devices)
- [Server telemetry](/load-testing/server-telemetry)
