Skip to main content
API keys authenticate requests to the Pureframe AI API. Each key is scoped to a permission level and can be revoked independently without affecting your other keys.
Create, list, and revoke keys from Settings → API Keys in the dashboard, not through the API. The endpoints below require a signed-in web session and admin role — they cannot be called with an API key, by design, so there’s no programmatic key-management flow to integrate against. This page documents what those endpoints do, not a recommended integration path.

Why key management is dashboard-only

An API key can authenticate search, upload, and collection requests, but it can never create, list, or revoke another key — even its own. Key creation and revocation require a web session token (the one your browser holds after you sign in), specifically so a leaked API key can’t be used to mint new keys or revoke the legitimate ones on the account. There’s no way around this from server-to-server code; if you need a new key, someone has to generate it from the dashboard.

What happens when you create a key

The key field — the actual secret used in the Authorization header — is only ever returned in this response. Store it immediately; there’s no way to retrieve it again. If you lose it, revoke the key and create a new one.

Permission levels

Use read_only keys for client-side or agent integrations (see MCP Overview) where you don’t need write access.

Listing and revoking

Listing returns every key on the account, including revoked ones — the plain secret is never included, only prefix (the first 12 characters), so you can tell which key is which. Revocation is immediate and permanent; a revoked key can’t be reactivated.

Plan limits

Creating a key beyond your plan’s limit returns 402 with code API_KEY_LIMIT_REACHED. See Errors.

API key object

Security notes

  • Keys are stored as a SHA-256 hash — Pureframe AI never stores or logs the plain secret after creation.
  • Key creation and revocation both require a web session token with admin role, not another API key — this prevents a compromised API key from minting or revoking other keys on the account.