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

# API keys

> Create, expire, allowlist, and revoke workspace API keys.

Manage keys in **Settings → Developers → API keys** (business workspaces with Developers access).

The public API only accepts keys for **approved business** workspaces. Individual accounts and workspaces still under review receive `403`.

## Rules

| Rule | Detail |
| - | - |
| Workspace | Business kind, approved status, Developers access enabled |
| Prefix | `sk_live_…` (live) or `sk_test_…` (sandbox) |
| Expiry | Required. Maximum **90 days** from creation. |
| Secret | Shown once at create. Prefix stays visible in the table. |
| IP allowlist | Optional. Empty means any IP. `0.0.0.0/0` = any IPv4; `::/0` = any IPv6. Proxies (Hoppscotch, ngrok) often present IPv6 — an IPv4-only list will 403. |
| Revoke | Immediate. In-flight requests fail on the next call. |

## Dashboard

Admins and developers can create keys and edit allowlists. Revoke may require a transaction PIN. Operators and viewers cannot.

```bash theme={null}
curl https://api.keette.com/v1/me \
  -H "Authorization: Bearer sk_test_…"
```

## Admin controls

* **Per tenant:** turn Developers / API access on or off (`api_access`)
* **Per key:** revoke from the customer admin API
* **Global:** `PUBLIC_API_ENABLED` in system config — when off, every `/v1` call fails and new keys cannot be created


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