Skip to main content

Get Application Details

curl https://your-dokploy-instance.com/api/application.one?applicationId=cm5r8k9p00001xyz \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "applicationId": "cm5r8k9p00001xyz",
  "name": "My Web App",
  "appName": "my-web-app",
  "description": "Production web application",
  "sourceType": "github",
  "buildType": "nixpacks",
  "applicationStatus": "done",
  "replicas": 1,
  "env": "NODE_ENV=production\nPORT=3000",
  "buildArgs": null,
  "buildSecrets": null,
  "memoryLimit": "512m",
  "memoryReservation": "256m",
  "cpuLimit": "1.0",
  "cpuReservation": "0.5",
  "repository": "my-app",
  "owner": "my-org",
  "branch": "main",
  "buildPath": "/",
  "dockerfile": "Dockerfile",
  "dockerContextPath": null,
  "dockerBuildStage": null,
  "autoDeploy": true,
  "createdAt": "2024-01-15T10:30:00.000Z",
  "refreshToken": "abc123def456",
  "environmentId": "cm5r8k9p00002xyz",
  "serverId": "cm5r8k9p00003xyz",
  "githubId": "cm5r8k9p00004xyz",
  "hasGitProviderAccess": true,
  "unauthorizedProvider": null,
  "environment": {
    "environmentId": "cm5r8k9p00002xyz",
    "name": "production",
    "projectId": "cm5r8k9p00005xyz",
    "project": {
      "projectId": "cm5r8k9p00005xyz",
      "name": "My Project",
      "organizationId": "cm5r8k9p00006xyz"
    }
  },
  "deployments": [],
  "domains": [],
  "ports": [],
  "mounts": []
}
Retrieves detailed information about an application, including configuration, status, and related resources.

Endpoint

GET /application.one

Query Parameters

applicationId
string
required
Unique identifier of the application to retrieve.Example: "cm5r8k9p00001xyz"

Response Fields


Update Application

curl -X POST https://your-dokploy-instance.com/api/application.update \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "applicationId": "cm5r8k9p00001xyz",
    "name": "My Updated App",
    "description": "Updated description",
    "memoryLimit": "1g",
    "cpuLimit": "2.0",
    "replicas": 2,
    "autoDeploy": false
  }'
{
  "success": true
}
Updates application configuration. You can update any field except serverId. Most configuration changes require a redeploy to take effect.

Endpoint

POST /application.update

Request Body

applicationId
string
required
Unique identifier of the application to update.
All other fields from the application schema are optional and can be updated:
name
string
Display name of the application.
appName
string
Internal application name. Must be unique.
description
string
Application description.
memoryLimit
string
Memory limit (e.g., "512m", "1g", "2g").
memoryReservation
string
Guaranteed memory.
cpuLimit
string
CPU limit (e.g., "0.5", "1.0", "2.0").
cpuReservation
string
Guaranteed CPU.
replicas
number
Number of replicas.
autoDeploy
boolean
Enable/disable automatic deployments on git push.
command
string
Override container command.
args
string[]
Container command arguments.
See the full application schema in the Create Application endpoint for all available fields.

Start Application

curl -X POST https://your-dokploy-instance.com/api/application.start \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"applicationId": "cm5r8k9p00001xyz"}'
{
  "applicationId": "cm5r8k9p00001xyz",
  "applicationStatus": "done"
}
Starts a stopped application container. The application status is updated to done.

Endpoint

POST /application.start

Request Body

applicationId
string
required
Unique identifier of the application to start.

Stop Application

curl -X POST https://your-dokploy-instance.com/api/application.stop \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"applicationId": "cm5r8k9p00001xyz"}'
{
  "applicationId": "cm5r8k9p00001xyz",
  "applicationStatus": "idle"
}
Stops a running application container. The application status is updated to idle.

Endpoint

POST /application.stop

Request Body

applicationId
string
required
Unique identifier of the application to stop.

Reload Application

curl -X POST https://your-dokploy-instance.com/api/application.reload \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "applicationId": "cm5r8k9p00001xyz",
    "appName": "my-web-app"
  }'
{
  "success": true
}
Reloads the application container configuration without rebuilding. Useful for applying Traefik configuration changes.

Endpoint

POST /application.reload

Request Body

applicationId
string
required
Unique identifier of the application to reload.
appName
string
required
Internal application name.

Delete Application

curl -X POST https://your-dokploy-instance.com/api/application.delete \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"applicationId": "cm5r8k9p00001xyz"}'
{
  "applicationId": "cm5r8k9p00001xyz",
  "name": "My Web App",
  "appName": "my-web-app"
}
Permanently deletes an application and all associated resources including:
  • Application containers
  • Deployment records
  • Source code directory
  • Monitoring data
  • Traefik configuration
  • Middlewares

Endpoint

POST /application.delete

Request Body

applicationId
string
required
Unique identifier of the application to delete.
This action is irreversible. All application data, deployment history, and configurations will be permanently deleted.

Move Application

curl -X POST https://your-dokploy-instance.com/api/application.move \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "applicationId": "cm5r8k9p00001xyz",
    "targetEnvironmentId": "cm5r8k9p00007xyz"
  }'
{
  "applicationId": "cm5r8k9p00001xyz",
  "environmentId": "cm5r8k9p00007xyz"
}
Moves an application to a different environment within the same organization.

Endpoint

POST /application.move

Request Body

applicationId
string
required
Unique identifier of the application to move.
targetEnvironmentId
string
required
ID of the environment to move the application to.

Refresh Token

curl -X POST https://your-dokploy-instance.com/api/application.refreshToken \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"applicationId": "cm5r8k9p00001xyz"}'
{
  "success": true
}
Generates a new refresh token for the application. This token is used for webhook-based deployments.

Endpoint

POST /application.refreshToken

Request Body

applicationId
string
required
Unique identifier of the application.

Best Practices

Always retrieve the current application state before making updates to avoid overwriting recent changes.
Most configuration changes (memory limits, CPU limits, environment variables) require a redeploy to take effect.
The appName field must remain unique. If you change it, ensure no other application is using that name.