Dokploy’s API is built with tRPC and exposed as a fully documented REST API. Every resource in the platform — from applications and databases to servers and notifications — is accessible programmatically, enabling you to integrate Dokploy into CI/CD pipelines, internal tooling, or any automation workflow.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.
Base URL
All API endpoints share a single base URL rooted at your Dokploy instance:your-dokploy-instance.com with the actual hostname or IP address of your self-hosted Dokploy server. For local development installs the base URL is typically http://localhost:3000/api.
API Structure
Dokploy’s API is generated from tRPC procedures and exposed over HTTP using the trpc-openapi adapter. There are two procedure types:- Queries map to
GETrequests. Parameters are passed as JSON-encoded query string values. - Mutations map to
POSTrequests. Parameters are passed as a JSON body.
/resource.procedureName. For example:
| Procedure | HTTP Method | Endpoint |
|---|---|---|
project.all | GET | /api/project.all |
application.deploy | POST | /api/application.deploy |
user.createApiKey | POST | /api/user.createApiKey |
Available Resource Groups
Applications
Create, configure, build, and deploy containerised applications.
Compose
Manage Docker Compose stacks and their lifecycle.
Deployments
Trigger deployments, inspect logs, and manage deployment history.
Databases
Provision and manage Postgres, MySQL, MariaDB, MongoDB, and Redis instances.
Backups
Configure automated database backups and backup destinations.
Servers
Register and manage remote Docker servers in your cluster.
Domains
Attach custom domains and configure TLS certificates.
Projects
Organise applications and services into projects.
Notifications
Configure Slack, Discord, email, and webhook notification channels.
Git Providers
Connect GitHub, GitLab, Gitea, and Bitbucket accounts.
Settings
Manage instance-level configuration, SSL, and traefik settings.
Request Format
Queries (GET) — pass input as a URL-encoded JSON string in theinput query parameter:
Response Format
All responses are JSON. Successful responses wrap the payload in aresult.data envelope produced by the tRPC adapter:
error object with a human-readable message and a machine-readable code:
| Code | Meaning |
|---|---|
UNAUTHORIZED | Missing or invalid API key / session |
FORBIDDEN | Authenticated but lacking the required role or permission |
NOT_FOUND | The requested resource does not exist |
BAD_REQUEST | Input validation failed (check error.data.zodError for field-level details) |
INTERNAL_SERVER_ERROR | Unexpected server-side failure |
OpenAPI Specification
A full OpenAPI 3.1 document is generated live from your instance and is available at:Rate Limits
Dokploy is fully self-hosted and does not enforce rate limits by default. Rate limiting behaviour depends entirely on your own infrastructure configuration (reverse proxy rules, firewall settings, etc.). If you need to protect your instance from abuse, consider adding rate limiting at the Traefik or Nginx layer in front of Dokploy.Every API endpoint requires a valid API key or an active browser session. Unauthenticated requests return a
401 UNAUTHORIZED error. See the Authentication page to learn how to generate and use API keys.