Auth modes
- none (default)
- apikey
- perspace
- oidc
No authentication. Suitable for local development and trusted networks.
.kiwi/config.toml
Auth configuration is hot-reloadable — send
SIGHUP to the server process to reload from disk without restarting.Per-space token fields
When usingperspace auth, each [[auth.api_keys]] entry supports:
| Field | Required | Description |
|---|---|---|
key | Yes | The API key string (shown once on creation via CLI) |
space | No | Restrict to a specific space (empty = all spaces) |
actor | No | Default X-Actor value for git attribution |
scope | Yes | Permission level: read, write, or admin |
prefix | No | Restrict access to paths under this prefix |
Scopes
| Scope | Permissions |
|---|---|
read | GET endpoints only — tree, file, search, query, analytics |
write | Read + PUT, POST, DELETE on files, drafts, canvas, workflows |
admin | Write + space management, webhook CRUD, schema changes, audit log |
Managing tokens via CLI
Thekiwifs token command creates and manages API keys stored in .kiwi/config.toml.
Create a token
List tokens
Revoke a token
.kiwi/config.toml. Active requests with the revoked key are rejected on the next config reload.
Path-scoped access
Use theprefix field to restrict a token to a specific directory tree:
onboarding/. Requests to other paths return 401.
Cloud authentication
KiwiFS Cloud uses a separate authentication system:- API key — pass
kiwi_sk_*as a Bearer token - MCP OAuth 2.1 — browser-based login via WorkOS (PKCE)
~/.kiwifs/credentials.json.
See KiwiFS Cloud for details.
Related documentation
Configuration
Full auth config reference.
API overview
Auth headers and error codes.
Multi-space
Per-space routing and access control.
CLI commands
Token create, list, and revoke commands.