Skip to content

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

https://api.appliku.com

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:

curl -H "Authorization: Token YOUR_API_TOKEN" \
  https://api.appliku.com/api/v1/teams/

Generating an API Token

  1. Log into the Appliku dashboard
  2. Go to Account Settings
  3. Navigate to the API Tokens section
  4. Click Generate New Token
  5. 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)
  6. 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:

{
  "detail": "Token lacks permission: deployments:update"
}

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:

https://api.appliku.com/api/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.