Authentication
Autessa has three credential types for programmatic access: client API keys for executing the resources you've published, poweruser keys for managing everything in your company as yourself, and OAuth clients for letting third-party applications authenticate Autessa users.
What it's for
Each credential answers a different question:
- Client API keys — "let my application run these specific agents, tools, and tables." Resource-scoped and safe to hand to a production backend.
- Poweruser keys — "let this script act as me" — create, edit, and manage every resource my account can touch, via the Poweruser API.
- OAuth clients — "let a third-party app sign in Autessa users" via Autessa's hosted sign-in page, which redirects back to your app with a token pair.
Navigating here
All three are managed under API Management in the sidebar: API Keys, Poweruser Keys, and OAuth Clients.
Key concepts
Client API keys
Client keys authenticate the Client API — executing agents, tools, and AutessaDB. Requests pass the raw key in the Authorization header (no Bearer prefix) and select the resource with a resourceId query parameter; WebSocket endpoints take the key as an ?authorization= query parameter instead.
curl "https://api.autessa.com/clients/agents/execute?resourceId=V1StGXR8Z5" \
-H "Authorization: $API_KEY"
When creating a key you set its name, per-minute and per-day rate limits, an optional allowed-origins list, and — most importantly — its resource access: all resources, or a hand-picked set of agents, tools, and AutessaDB tables (tables with per-table READ/WRITE/DELETE granularity). The key value is shown once at creation; Reset token rotates it later. See API Keys.
Poweruser keys
A poweruser key is a personal, full-management credential with the shape pwrusr:{id}:{secret}, passed in the Authorization header. Every call acts as your user — same resources, same permissions — against the Poweruser API, which covers management of agents, tools, tables, envelopes, connectors, and more.
curl https://api.autessa.com/poweruser/... \
-H "Authorization: $POWERUSER_KEY"
Each user has at most one active permanent key, plus on-demand temporary keys that expire after 15 minutes. Keys can be rotated (invalidates the old one immediately) or revoked. Because poweruser access is broad, delegated uses of it are endpoint-scoped — for example, a hosted custom app must declare exactly which poweruser endpoints it may call on the owner's behalf. See Poweruser Keys.
OAuth clients
OAuth clients make Autessa an OAuth 2.0 provider for your own applications: register a client, send users to Autessa's hosted /oauth/login page with your client_id and redirect_uri, and on success Autessa redirects back to your app with access_token, refresh_token, expires_in, and token_type in the URL fragment — there is no authorization-code exchange step. Refresh and revoke endpoints round out the token lifecycle. You configure a client name, a type — Public (SPA / browser extension, no secret) or Confidential (server-side, secret shown once and required on refresh) — and redirect URIs. New clients may require Autessa admin approval before use. See OAuth Clients.
Never expose a credential in client-side code. Client keys support an allowed-origins list, but the key itself still belongs on a server; poweruser keys and OAuth client secrets are strictly server-side.
How to choose
- Embedding a published agent, tool, or table in your product → create a client API key scoped to exactly those resources.
- Automating your workspace — provisioning resources, CI, migrations, back-office scripts → generate a poweruser key (or a 15-minute temporary key for one-off jobs).
- Building a third-party app that signs in Autessa users → register an OAuth client.
- Reacting to inbound events from other systems → you may not need a credential at all; see Webhook Handlers.