# Keys and test mode

Every request carries a key: `Authorization: Bearer <key>`. A test key and a live key reach the same API; only what they convert differs.

| What | Test key `vs_test_…` | Live key `vs_live_…` |
| --- | --- | --- |
| Plan | Every plan, free | Pro |
| What it converts | Every image into the same sample result | Your images, for real |
| Credits | Never spent | 1 per new image unlocked |
| Webhooks, errors, limits | Exactly as live | Live |
| Keys at once | Up to 10 | Up to 10 |

## Make a key

On [Developers](https://vecsnap.com/app/developers), choose the mode and Create a key. It is shown once: we keep only a fingerprint. Note where you keep it; the page shows it beside the key.

## Roll and revoke

Roll a key to get a new one in its place: the old one keeps working for the time you pick (now, an hour, a day or a week), so you can deploy the new one. Revoke stops it at once. A revoked or unknown key is `401 invalid_api_key`.

## What a key may do

A key converts, reads and downloads: every operation in the [API reference](https://vecsnap.com/docs/api). It can never manage the account: no key makes a key, adds a webhook or erases the account (`403 api_key_not_allowed`).

## Test mode

- A test conversion completes at once with the sample, the VecSnap mark, and says `"livemode": false`.
- Validation is real: a text file is refused exactly as in live mode, so you can test your error paths.
- Test and live never mix: a test key sees only test conversions, the app only live ones.
- Modes: `live` and `test`.

---
This page: https://vecsnap.com/docs/keys-and-test-mode
