Developer platform¶
Build on Keprix with API keys, webhooks, and OpenAI-compatible endpoints.
Security model¶
- Public contract is primarily
/v1/*(OpenAI-compatible). Workspace/api/*is reachable with API keys only when those scopes are explicitly granted. - New keys are restricted by default: chat completions + models only; tools off; models allowlisted.
- Secrets are shown once, stored hashed (
kp_...). - Session cookies never authenticate
/v1. - Token security and client approval fail closed (503) if subsystems error.
KEPRIX_API_TOKENis a restricted break-glass token unlessKEPRIX_API_TOKEN_UNRESTRICTED=1. Tools requireKEPRIX_API_TOKEN_ALLOW_TOOLS=1.- Key management when
AUTH_ENABLED=falseis limited to loopback (orKEPRIX_API_ADMIN_TOKEN).
Web UI (/developer)¶
ElevenLabs-style API key editor:
- Name, expire after, restrict key, usage limits
- Granular endpoint permissions (No Access / Access / Read / Write)
- Restrict by IP
- Auto-disable if leaked (
POST /v1/keys/self-disable) - Enable/disable toggle, edit, revoke
- Client approvals and usage monitor
OpenAI-compatible API¶
| Endpoint | Purpose | Default on new keys |
|---|---|---|
POST /v1/chat/completions | Chat | Yes |
GET /v1/models | Model list | Yes |
POST /v1/responses | Responses API | No |
POST /v1/embeddings | Embeddings | No |
POST /v1/keys/self-disable | Disable calling key if leak flag on | Always (authenticated) |
Authenticate with Authorization: Bearer <api_key> or X-API-Key.
Workspace /api/* via API keys¶
Grant scopes such as Conversations, Tasks, Voice, Memory, Admin in the key editor. Restricted keys without those grants receive 403 endpoint_forbidden.
REST API¶
Full surface documented in API reference and interactive explorer.
SDKs¶
- Python:
sdk/python/ - TypeScript:
sdk/typescript/
See SDK.