Skip to main content
Every authenticated control-plane request uses:
SeaOtter accepts two bearer types on the same header.

Control-plane API keys (so_…)

Use for: scripts, CI, SDKs, and the interactive playground on this docs site.
Do not put API keys in frontend JavaScript or public repos.

Clerk session JWT

Use for: the SeaOtter web app at seaotter.dev only. Clerk cookies and short-lived session tokens are not for scripts or the docs playground. Generate an API key instead.

What not to mix up

Errors

Missing or invalid bearer → 401 with {"detail":"…"}. See Errors.