API Overview¶
Appliku exposes a REST API that powers the web dashboard, the CLI, and the Python SDK. You can use the same API to build your own integrations and automation.
Base URL¶
All API endpoints are served over HTTPS.
Authentication¶
API requests are authenticated using API tokens. Include your token in the Authorization header with the Token prefix:
Generating an API Token¶
- Log into the Appliku dashboard
- Go to Account Settings
- Navigate to the API Tokens section
- Click Generate New Token
- Choose an access level: Full access (read and write), Read-only (read requests only; any write returns a
403), or Custom (pick exactly which resources and actions the token can perform) - Copy the token and store it securely
Warning
A full-access token can read and change everything in your account. Treat tokens like passwords: do not commit them to version control or share them in public channels. If a token only needs a subset of access, create it as Read-only or Custom and grant only what it needs.
Token Permission Levels¶
Every token carries a set of (resource, action) grants where the actions are Read, Create, Update, and Delete. When creating a token, you choose one of three permission levels:
- Full access: grants every action on every resource. This is the default.
- Read-only: grants Read on every resource. The token can list resources, view details, and fetch logs, but cannot create, update, or delete anything.
- Custom: grants only the resource/action combinations you select in a per-resource permission matrix.
Custom permissions¶
The custom option lets you grant or deny access for each combination of resource type and action (Read, Create, Update, Delete). For example, you can create a token that can read and deploy applications but cannot delete servers or manage team members.
The available resource types are: Applications, Deployments, Servers, Clusters, Datastores, Domains, Environment Variables, Cron Jobs, Backups, Volumes, Team Members, Projects, SSH Keys, Git Credentials, Registry Credentials, Monitors, API Tokens, Teams, and User.
If a token attempts an operation it does not have permission for, the API returns a 403 Forbidden response with a body that names the missing permission:
Token permission checks run before the usual team-membership and ownership checks, and they do not apply to dashboard sessions or JWT-authenticated requests. Tokens created before fine-grained permissions were introduced keep behaving according to their Full access or Read-only level.
Tip
For AI agents and CI/CD integrations, consider using custom permissions to follow the principle of least privilege. For example, grant Read + Create + Update on Applications and Deployments, but not Delete, so the agent can deploy but cannot accidentally remove resources.
OpenAPI Schema¶
The complete API specification is available as an OpenAPI (Swagger) schema:
You can use this schema to: - Explore all available endpoints and their parameters - Generate API clients in any language using tools like openapi-generator - Import into API tools like Postman or Insomnia for interactive testing
API Structure¶
The API is organized around resources that map to the main concepts in Appliku:
| Resource | Endpoint Prefix | Description |
|---|---|---|
| Teams | /api/v1/teams/ |
Team management |
| Applications | /api/v1/team/{team_path}/apps/ |
Application CRUD and configuration |
| Servers | /api/v1/team/{team_path}/servers/ |
Server management |
| Databases | /api/v1/team/{team_path}/databases/ |
Database provisioning |
| Deployments | /api/v1/team/{team_path}/deployments/ |
Deployment management |
Note
Most API endpoints are scoped to a team via the {team_path} URL parameter. You need to know your team's path to make requests.
Rate Limiting¶
The API applies rate limiting to prevent abuse. If you exceed the rate limit, you will receive a 429 Too Many Requests response with a Retry-After header indicating how many seconds to wait before retrying.
Using the CLI and SDK¶
The Appliku CLI and Python SDK are the easiest ways to interact with the API programmatically. They handle authentication, pagination, error handling, and retries automatically.
# Install the CLI/SDK
pip install appliku
# Authenticate
appliku auth login
# List applications
appliku apps list
See CLI & SDK for more details.