Overview
The Management API lets you create Cavos apps directly from your backend, CI/CD pipeline, or any HTTP client — without going through the dashboard. All requests authenticate with an API key scoped to a specific organization.API keys are generated from your organization settings in the Dashboard. Each key is shown only once at creation and cannot be recovered.
Authentication
Include your API key as a Bearer token in every request:cav_ followed by 48 URL-safe characters.
Endpoints
Create an App
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name for the app |
organization_id | string (UUID) | Yes | The org this app belongs to — must match the API key’s org |
description | string | No | Optional description |
201 Created
app.id is the App ID you pass to the Cavos SDK (appId in CavosProvider).
Error Reference
| Status | Code | Meaning |
|---|---|---|
400 | — | Missing or invalid fields (name or organization_id) |
401 | — | Missing, malformed, or revoked API key |
403 | — | API key doesn’t have access to the requested organization |
404 | — | Organization not found |
429 | — | App limit reached for your plan (see below) |
500 | — | Internal server error |
401 Invalid key
403 Wrong org
429 Limit reached
Plan Limits
App creation limits apply per user account, across all their organizations.| Plan | App Limit |
|---|---|
| Developer (free) | 10 apps |
| Growth | 30 apps |
| Scale | 100 apps |
Generating an API Key
- Go to your Dashboard and open an organization
- Scroll to the API Keys section
- Click Generate Key and give it a descriptive name (e.g.
"CI Pipeline") - Copy the key — it’s shown only once

Security Best Practices
Store keys as environment variables
Store keys as environment variables
Never hardcode API keys in source code. Use environment variables or a secrets manager:
Use one key per service
Use one key per service
Generate a separate key for each consumer (CI pipeline, backend service, etc.). This way you can revoke a single key without affecting others.
Rotate keys periodically
Rotate keys periodically
Generate a new key, update your service, then revoke the old one. The API supports multiple active keys per organization.
Never log or expose keys
Never log or expose keys
Keys in logs, error messages, or frontend bundles are compromised. Treat them like passwords.

