The Settings API is the control plane for your entire Dokploy instance. It covers system health checks, version management, Traefik configuration, Docker maintenance (prune images, volumes, containers), user and permission management, API key lifecycle, cron schedules, container registry integrations, AI provider setup, and backup destinations. Most administrative tasks your team would perform through the dashboard are available here programmatically.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Nettalco/dokploy/llms.txt
Use this file to discover all available pages before exploring further.
Endpoints
System & Health
| Method | Endpoint | Description |
|---|---|---|
| GET | /settings.health | Health check — returns OK if the API is reachable |
| GET | /settings.getDokployVersion | Get the running Dokploy version |
| GET | /settings.getReleaseTag | Get the latest available release tag |
| GET | /settings.getIp | Get the server’s public IP address |
| POST | /settings.updateServerIp | Update the stored server IP |
| GET | /settings.getWebServerSettings | Get web server (Traefik) settings |
| POST | /settings.reloadServer | Reload the Dokploy server process |
| POST | /settings.reloadTraefik | Reload the Traefik reverse proxy |
| POST | /settings.toggleDashboard | Enable or disable the Dokploy dashboard |
| POST | /settings.getUpdateData | Check for available updates |
| POST | /settings.updateServer | Trigger a Dokploy self-update |
| GET | /settings.getOpenApiDocument | Download the OpenAPI specification |
| POST | /settings.setupGPU | Configure GPU support for containers |
| GET | /settings.checkGPUStatus | Check GPU availability |
| GET | /settings.isCloud | Whether this instance is cloud-hosted |
| GET | /settings.isUserSubscribed | Check subscription status |
Docker Maintenance
| Method | Endpoint | Description |
|---|---|---|
| POST | /settings.cleanUnusedImages | Remove unused Docker images |
| POST | /settings.cleanUnusedVolumes | Remove unused Docker volumes |
| POST | /settings.cleanStoppedContainers | Remove stopped containers |
| POST | /settings.cleanDockerBuilder | Clean Docker build cache |
| POST | /settings.cleanDockerPrune | Run a full Docker system prune |
| POST | /settings.cleanAll | Run all cleanup operations |
| POST | /settings.cleanMonitoring | Clear monitoring data |
| POST | /settings.updateDockerCleanup | Configure automatic Docker cleanup schedule |
Traefik Configuration
| Method | Endpoint | Description |
|---|---|---|
| GET | /settings.readTraefikConfig | Read the main Traefik configuration |
| POST | /settings.updateTraefikConfig | Update the main Traefik configuration |
| GET | /settings.readWebServerTraefikConfig | Read the web-server Traefik config |
| POST | /settings.updateWebServerTraefikConfig | Update the web-server Traefik config |
Users & Permissions
| Method | Endpoint | Description |
|---|---|---|
| GET | /user.all | List all users |
| GET | /user.one | Fetch a user by ID |
| GET | /user.get | Get the current authenticated user |
| POST | /user.update | Update a user’s profile |
| POST | /user.remove | Remove a user |
| POST | /user.assignPermissions | Assign project permissions to a user |
| POST | /user.sendInvitation | Send an email invitation |
| GET | /user.getInvitations | List pending invitations |
| POST | /user.createApiKey | Create an API key for the authenticated user |
| POST | /user.deleteApiKey | Delete an API key |
| POST | /user.generateToken | Generate a temporary session token |
Schedules
| Method | Endpoint | Description |
|---|---|---|
| POST | /schedule.create | Create a cron schedule |
| POST | /schedule.update | Update a schedule |
| POST | /schedule.delete | Delete a schedule |
| GET | /schedule.list | List all schedules |
| GET | /schedule.one | Fetch a schedule by ID |
| POST | /schedule.runManually | Run a schedule immediately |
Registries & AI
| Method | Endpoint | Description |
|---|---|---|
| POST | /registry.create | Register a container registry |
| GET | /registry.all | List all registries |
| GET | /registry.one | Fetch a registry by ID |
| POST | /registry.update | Update a registry |
| POST | /registry.remove | Remove a registry |
| POST | /registry.testRegistry | Test registry connectivity |
| POST | /ai.create | Create an AI provider config |
| POST | /ai.update | Update an AI provider |
| GET | /ai.getAll | List all AI providers |
| GET | /ai.one | Fetch an AI provider by ID |
| POST | /ai.delete | Delete an AI provider |
| POST | /ai.suggest | Get an AI-generated Compose suggestion |
| POST | /ai.deploy | Deploy from an AI suggestion |
| GET | /ai.getModels | List available AI models |
Destinations
| Method | Endpoint | Description |
|---|---|---|
| POST | /destination.create | Create a backup destination |
| GET | /destination.all | List all backup destinations |
| GET | /destination.one | Fetch a destination by ID |
| POST | /destination.update | Update a destination |
| POST | /destination.remove | Remove a destination |
| POST | /destination.testConnection | Test connection to a destination |
Key Endpoints
GET /settings.health
Simple health check to verify the API is reachable and authenticated.
POST /settings.cleanAll
Run all Docker cleanup operations in a single call — removes unused images, volumes, stopped containers, and clears the build cache.
POST /user.createApiKey
Generate a new API key for the currently authenticated user. The key is returned only once — store it securely.
Descriptive label for the API key (e.g.,
ci-pipeline).The organization the key is scoped to. The authenticated user must be a member.
Optional short string prepended to the key value (e.g.,
ci_).Time-to-live in seconds. Omit for a non-expiring key.
Enable per-key rate limiting.
Rate limit window duration in milliseconds.
Maximum requests allowed within the time window.
Total number of requests allowed before the key is exhausted. Omit for unlimited.
The generated API key value. Only returned at creation time — store it immediately.
Unique ID of the API key record. Use this when deleting the key.
The label assigned to the key.
POST /destination.create
Register a new S3-compatible backup destination.
Display name for the destination.
Storage provider:
aws, cloudflare, backblaze, or other.Name of the S3 bucket.
AWS region or provider region (e.g.,
us-east-1).S3 access key ID.
S3 secret access key.
Custom endpoint URL for non-AWS providers (e.g., Cloudflare R2, MinIO).
POST /schedule.create
Create a cron-based maintenance or task schedule.
Display name for the schedule.
Standard cron expression (e.g.,
0 0 * * * for daily midnight).Schedule type:
docker-cleanup, backup, or command.Shell command to run (required when
type is command).POST /registry.create
Register a private container registry so Dokploy can pull images during deployment.
Display name for the registry.
Registry hostname (e.g.,
registry.example.com or ghcr.io).Registry username.
Registry password or personal access token.
Notes
After calling
user.createApiKey, copy the returned key value immediately — Dokploy stores only a hashed version and cannot show it again.