openapi: 3.1.0 info: title: Dokploy admin application API description: Complete API documentation for Dokploy - Deploy applications, manage databases, and orchestrate your infrastructure. This API allows you to programmatically manage all aspects of your Dokploy instance. version: 1.0.0 contact: name: Dokploy Team url: https://dokploy.com license: name: Apache 2.0 url: https://github.com/dokploy/dokploy/blob/canary/LICENSE servers: - url: https://your-dokploy-instance.com/api security: - apiKey: [] tags: - name: application paths: /application.create: post: operationId: application-create tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: name: type: string minLength: 1 appName: type: string minLength: 1 maxLength: 63 pattern: ^[a-zA-Z0-9._-]+$ description: anyOf: - type: string - type: 'null' environmentId: type: string serverId: anyOf: - type: string - type: 'null' required: - name - environmentId responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.one: get: operationId: application-one tags: - application security: - Authorization: [] parameters: - in: query name: applicationId schema: type: string minLength: 1 required: true responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/error.NOT_FOUND' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.reload: post: operationId: application-reload tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: appName: type: string minLength: 1 maxLength: 63 pattern: ^[a-zA-Z0-9._-]+$ applicationId: type: string required: - appName - applicationId responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.delete: post: operationId: application-delete tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string minLength: 1 required: - applicationId responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.stop: post: operationId: application-stop tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string minLength: 1 required: - applicationId responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.start: post: operationId: application-start tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string minLength: 1 required: - applicationId responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.redeploy: post: operationId: application-redeploy tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string minLength: 1 title: type: string description: type: string required: - applicationId responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.saveEnvironment: post: operationId: application-saveEnvironment tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string env: anyOf: - type: string - type: 'null' buildArgs: anyOf: - type: string - type: 'null' buildSecrets: anyOf: - type: string - type: 'null' createEnvFile: type: boolean required: - applicationId - env - buildArgs - buildSecrets - createEnvFile responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.saveBuildType: post: operationId: application-saveBuildType tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string buildType: type: string enum: - dockerfile - heroku_buildpacks - paketo_buildpacks - nixpacks - static - railpack dockerfile: anyOf: - type: string - type: 'null' dockerContextPath: anyOf: - type: string - type: 'null' dockerBuildStage: anyOf: - type: string - type: 'null' herokuVersion: anyOf: - type: string - type: 'null' railpackVersion: anyOf: - type: string - type: 'null' publishDirectory: anyOf: - type: string - type: 'null' isStaticSpa: anyOf: - type: boolean - type: 'null' required: - applicationId - buildType - dockerfile - dockerContextPath - dockerBuildStage - herokuVersion - railpackVersion responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.saveGithubProvider: post: operationId: application-saveGithubProvider tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string repository: anyOf: - type: string - type: 'null' owner: anyOf: - type: string - type: 'null' buildPath: anyOf: - type: string - type: 'null' githubId: anyOf: - type: string - type: 'null' branch: type: string minLength: 1 pattern: ^[a-zA-Z0-9._\-/]+$ triggerType: default: push type: string enum: - push - tag enableSubmodules: type: boolean watchPaths: anyOf: - type: array items: type: string - type: 'null' required: - applicationId - repository - owner - buildPath - githubId - branch - triggerType responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.saveGitlabProvider: post: operationId: application-saveGitlabProvider tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string gitlabBuildPath: anyOf: - type: string - type: 'null' gitlabOwner: anyOf: - type: string - type: 'null' gitlabRepository: anyOf: - type: string - type: 'null' gitlabId: anyOf: - type: string - type: 'null' gitlabProjectId: anyOf: - type: number - type: 'null' gitlabPathNamespace: anyOf: - type: string - type: 'null' gitlabBranch: type: string minLength: 1 pattern: ^[a-zA-Z0-9._\-/]+$ enableSubmodules: type: boolean watchPaths: anyOf: - type: array items: type: string - type: 'null' required: - applicationId - gitlabBuildPath - gitlabOwner - gitlabRepository - gitlabId - gitlabProjectId - gitlabPathNamespace - gitlabBranch responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.saveBitbucketProvider: post: operationId: application-saveBitbucketProvider tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: bitbucketBuildPath: anyOf: - type: string - type: 'null' bitbucketOwner: anyOf: - type: string - type: 'null' bitbucketRepository: anyOf: - type: string - type: 'null' bitbucketRepositorySlug: anyOf: - type: string - type: 'null' bitbucketId: anyOf: - type: string - type: 'null' applicationId: type: string bitbucketBranch: type: string minLength: 1 pattern: ^[a-zA-Z0-9._\-/]+$ enableSubmodules: type: boolean watchPaths: anyOf: - type: array items: type: string - type: 'null' required: - bitbucketBuildPath - bitbucketOwner - bitbucketRepository - bitbucketRepositorySlug - bitbucketId - applicationId - bitbucketBranch responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.saveGiteaProvider: post: operationId: application-saveGiteaProvider tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string giteaBuildPath: anyOf: - type: string - type: 'null' giteaOwner: anyOf: - type: string - type: 'null' giteaRepository: anyOf: - type: string - type: 'null' giteaId: anyOf: - type: string - type: 'null' giteaBranch: type: string minLength: 1 pattern: ^[a-zA-Z0-9._\-/]+$ enableSubmodules: type: boolean watchPaths: anyOf: - type: array items: type: string - type: 'null' required: - applicationId - giteaBuildPath - giteaOwner - giteaRepository - giteaId - giteaBranch responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.saveDockerProvider: post: operationId: application-saveDockerProvider tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: dockerImage: anyOf: - type: string - type: 'null' applicationId: type: string username: anyOf: - type: string - type: 'null' password: anyOf: - type: string - type: 'null' registryUrl: anyOf: - type: string - type: 'null' required: - dockerImage - applicationId - username - password - registryUrl responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.saveGitProvider: post: operationId: application-saveGitProvider tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string customGitBuildPath: anyOf: - type: string - type: 'null' customGitUrl: anyOf: - type: string - type: 'null' watchPaths: anyOf: - type: array items: type: string - type: 'null' enableSubmodules: type: boolean customGitBranch: type: string minLength: 1 pattern: ^[a-zA-Z0-9._\-/]+$ customGitSSHKeyId: anyOf: - type: string - type: 'null' required: - applicationId - customGitBuildPath - customGitUrl - watchPaths - customGitBranch responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.disconnectGitProvider: post: operationId: application-disconnectGitProvider tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string minLength: 1 required: - applicationId responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.markRunning: post: operationId: application-markRunning tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string minLength: 1 required: - applicationId responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.update: post: operationId: application-update tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string minLength: 1 name: type: string minLength: 1 appName: type: string minLength: 1 maxLength: 63 pattern: ^[a-zA-Z0-9._-]+$ description: anyOf: - type: string - type: 'null' env: anyOf: - type: string - type: 'null' previewEnv: anyOf: - type: string - type: 'null' watchPaths: anyOf: - type: array items: type: string - type: 'null' previewBuildArgs: anyOf: - type: string - type: 'null' previewBuildSecrets: anyOf: - type: string - type: 'null' previewLabels: anyOf: - type: array items: type: string - type: 'null' previewWildcard: anyOf: - type: string - type: 'null' previewPort: anyOf: - type: number - type: 'null' previewHttps: type: boolean previewPath: anyOf: - type: string - type: 'null' previewCertificateType: type: string enum: - letsencrypt - none - custom previewCustomCertResolver: anyOf: - type: string - type: 'null' previewLimit: anyOf: - type: number - type: 'null' isPreviewDeploymentsActive: anyOf: - type: boolean - type: 'null' previewRequireCollaboratorPermissions: anyOf: - type: boolean - type: 'null' rollbackActive: anyOf: - type: boolean - type: 'null' buildArgs: anyOf: - type: string - type: 'null' buildSecrets: anyOf: - type: string - type: 'null' memoryReservation: anyOf: - type: string - type: 'null' memoryLimit: anyOf: - type: string - type: 'null' cpuReservation: anyOf: - type: string - type: 'null' cpuLimit: anyOf: - type: string - type: 'null' title: anyOf: - type: string - type: 'null' enabled: anyOf: - type: boolean - type: 'null' subtitle: anyOf: - type: string - type: 'null' command: anyOf: - type: string - type: 'null' args: anyOf: - type: array items: type: string - type: 'null' icon: anyOf: - anyOf: - type: string maxLength: 2097152 - type: 'null' - type: 'null' refreshToken: anyOf: - type: string - type: 'null' sourceType: type: string enum: - github - docker - git - gitlab - bitbucket - gitea - drop cleanCache: anyOf: - type: boolean - type: 'null' repository: anyOf: - type: string - type: 'null' owner: anyOf: - type: string - type: 'null' branch: anyOf: - type: string - type: 'null' buildPath: anyOf: - type: string - type: 'null' triggerType: anyOf: - type: string enum: - push - tag - type: 'null' autoDeploy: anyOf: - type: boolean - type: 'null' gitlabProjectId: anyOf: - type: number - type: 'null' gitlabRepository: anyOf: - type: string - type: 'null' gitlabOwner: anyOf: - type: string - type: 'null' gitlabBranch: anyOf: - type: string - type: 'null' gitlabBuildPath: anyOf: - type: string - type: 'null' gitlabPathNamespace: anyOf: - type: string - type: 'null' giteaRepository: anyOf: - type: string - type: 'null' giteaOwner: anyOf: - type: string - type: 'null' giteaBranch: anyOf: - type: string - type: 'null' giteaBuildPath: anyOf: - type: string - type: 'null' bitbucketRepository: anyOf: - type: string - type: 'null' bitbucketRepositorySlug: anyOf: - type: string - type: 'null' bitbucketOwner: anyOf: - type: string - type: 'null' bitbucketBranch: anyOf: - type: string - type: 'null' bitbucketBuildPath: anyOf: - type: string - type: 'null' username: anyOf: - type: string - type: 'null' password: anyOf: - type: string - type: 'null' dockerImage: anyOf: - type: string - type: 'null' registryUrl: anyOf: - type: string - type: 'null' customGitUrl: anyOf: - type: string - type: 'null' customGitBranch: anyOf: - type: string - type: 'null' customGitBuildPath: anyOf: - type: string - type: 'null' customGitSSHKeyId: anyOf: - type: string - type: 'null' enableSubmodules: type: boolean dockerfile: anyOf: - type: string - type: 'null' dockerContextPath: anyOf: - type: string - type: 'null' dockerBuildStage: anyOf: - type: string - type: 'null' dropBuildPath: anyOf: - type: string - type: 'null' healthCheckSwarm: anyOf: - anyOf: - type: object properties: Test: type: array items: type: string Interval: type: number Timeout: type: number StartPeriod: type: number Retries: type: number additionalProperties: false - type: 'null' - type: 'null' restartPolicySwarm: anyOf: - anyOf: - type: object properties: Condition: type: string Delay: type: number MaxAttempts: type: number Window: type: number additionalProperties: false - type: 'null' - type: 'null' placementSwarm: anyOf: - anyOf: - type: object properties: Constraints: type: array items: type: string Preferences: type: array items: type: object properties: Spread: type: object properties: SpreadDescriptor: type: string required: - SpreadDescriptor required: - Spread additionalProperties: false MaxReplicas: type: number Platforms: type: array items: type: object properties: Architecture: type: string OS: type: string required: - Architecture - OS additionalProperties: false additionalProperties: false - type: 'null' - type: 'null' updateConfigSwarm: anyOf: - anyOf: - type: object properties: Parallelism: type: number Delay: type: number FailureAction: type: string Monitor: type: number MaxFailureRatio: type: number Order: type: string required: - Parallelism - Order additionalProperties: false - type: 'null' - type: 'null' rollbackConfigSwarm: anyOf: - anyOf: - type: object properties: Parallelism: type: number Delay: type: number FailureAction: type: string Monitor: type: number MaxFailureRatio: type: number Order: type: string required: - Parallelism - Order additionalProperties: false - type: 'null' - type: 'null' modeSwarm: anyOf: - anyOf: - type: object properties: Replicated: type: object properties: Replicas: type: number additionalProperties: false Global: type: object properties: {} ReplicatedJob: type: object properties: MaxConcurrent: type: number TotalCompletions: type: number additionalProperties: false GlobalJob: type: object properties: {} additionalProperties: false - type: 'null' - type: 'null' labelsSwarm: anyOf: - anyOf: - type: object propertyNames: type: string additionalProperties: type: string - type: 'null' - type: 'null' networkSwarm: anyOf: - anyOf: - type: array items: type: object properties: Target: type: string Aliases: type: array items: type: string DriverOpts: type: object propertyNames: type: string additionalProperties: type: string additionalProperties: false - type: 'null' - type: 'null' stopGracePeriodSwarm: anyOf: - anyOf: - type: number - type: 'null' - type: 'null' endpointSpecSwarm: anyOf: - anyOf: - type: object properties: Mode: type: string Ports: type: array items: type: object properties: Protocol: type: string TargetPort: type: number PublishedPort: type: number PublishMode: type: string additionalProperties: false additionalProperties: false - type: 'null' - type: 'null' ulimitsSwarm: anyOf: - anyOf: - type: array items: type: object properties: Name: type: string minLength: 1 Soft: type: integer minimum: -1 maximum: 9007199254740991 Hard: type: integer minimum: -1 maximum: 9007199254740991 required: - Name - Soft - Hard additionalProperties: false - type: 'null' - type: 'null' replicas: type: number applicationStatus: type: string enum: - idle - running - done - error buildType: type: string enum: - dockerfile - heroku_buildpacks - paketo_buildpacks - nixpacks - static - railpack railpackVersion: anyOf: - type: string - type: 'null' herokuVersion: anyOf: - type: string - type: 'null' publishDirectory: anyOf: - type: string - type: 'null' isStaticSpa: anyOf: - type: boolean - type: 'null' createEnvFile: type: boolean createdAt: type: string registryId: anyOf: - type: string - type: 'null' rollbackRegistryId: anyOf: - type: string - type: 'null' environmentId: type: string githubId: anyOf: - type: string - type: 'null' gitlabId: anyOf: - type: string - type: 'null' giteaId: anyOf: - type: string - type: 'null' bitbucketId: anyOf: - type: string - type: 'null' buildServerId: anyOf: - type: string - type: 'null' buildRegistryId: anyOf: - type: string - type: 'null' required: - applicationId responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.refreshToken: post: operationId: application-refreshToken tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string minLength: 1 required: - applicationId responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.deploy: post: operationId: application-deploy tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string minLength: 1 title: type: string description: type: string required: - applicationId responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.cleanQueues: post: operationId: application-cleanQueues tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string minLength: 1 required: - applicationId responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.clearDeployments: post: operationId: application-clearDeployments tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string minLength: 1 required: - applicationId responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.killBuild: post: operationId: application-killBuild tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string minLength: 1 required: - applicationId responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.readTraefikConfig: get: operationId: application-readTraefikConfig tags: - application security: - Authorization: [] parameters: - in: query name: applicationId schema: type: string minLength: 1 required: true responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/error.NOT_FOUND' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.dropDeployment: post: operationId: application-dropDeployment tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: multipart/form-data: schema: type: object properties: applicationId: type: string zip: type: string format: binary dropBuildPath: type: string required: - applicationId - zip responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.updateTraefikConfig: post: operationId: application-updateTraefikConfig tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string traefikConfig: type: string required: - applicationId - traefikConfig responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.readAppMonitoring: get: operationId: application-readAppMonitoring tags: - application security: - Authorization: [] parameters: - in: query name: appName schema: type: string minLength: 1 required: true responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/error.NOT_FOUND' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.move: post: operationId: application-move tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string targetEnvironmentId: type: string required: - applicationId - targetEnvironmentId responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.cancelDeployment: post: operationId: application-cancelDeployment tags: - application security: - Authorization: [] parameters: [] requestBody: required: true content: application/json: schema: type: object properties: applicationId: type: string minLength: 1 required: - applicationId responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.search: get: operationId: application-search tags: - application security: - Authorization: [] parameters: - in: query name: q schema: type: string - in: query name: name schema: type: string - in: query name: appName schema: type: string - in: query name: description schema: type: string - in: query name: repository schema: type: string - in: query name: owner schema: type: string - in: query name: dockerImage schema: type: string - in: query name: projectId schema: type: string - in: query name: environmentId schema: type: string - in: query name: limit schema: default: 20 type: number minimum: 1 maximum: 100 - in: query name: offset schema: default: 0 type: number minimum: 0 responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/error.NOT_FOUND' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' /application.readLogs: get: operationId: application-readLogs tags: - application security: - Authorization: [] parameters: - in: query name: applicationId schema: type: string minLength: 1 required: true - in: query name: tail schema: default: 100 type: integer minimum: 1 maximum: 10000 - in: query name: since schema: default: all type: string pattern: ^(all|\d+[smhd])$ - in: query name: search schema: type: string pattern: ^[a-zA-Z0-9 ._-]{0,500}$ responses: '200': description: Successful response content: application/json: schema: type: object properties: {} additionalProperties: false '400': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/error.BAD_REQUEST' '401': description: Authorization not provided content: application/json: schema: $ref: '#/components/schemas/error.UNAUTHORIZED' '403': description: Insufficient access content: application/json: schema: $ref: '#/components/schemas/error.FORBIDDEN' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/error.NOT_FOUND' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR' components: schemas: error.INTERNAL_SERVER_ERROR: type: object properties: message: type: string description: The error message example: Internal server error code: type: string description: The error code example: INTERNAL_SERVER_ERROR issues: description: An array of issues that were responsible for the error example: [] type: array items: type: object properties: message: type: string required: - message additionalProperties: false required: - message - code additionalProperties: false title: Internal server error error (500) description: The error information example: code: INTERNAL_SERVER_ERROR message: Internal server error issues: [] error.FORBIDDEN: type: object properties: message: type: string description: The error message example: Insufficient access code: type: string description: The error code example: FORBIDDEN issues: description: An array of issues that were responsible for the error example: [] type: array items: type: object properties: message: type: string required: - message additionalProperties: false required: - message - code additionalProperties: false title: Insufficient access error (403) description: The error information example: code: FORBIDDEN message: Insufficient access issues: [] error.NOT_FOUND: type: object properties: message: type: string description: The error message example: Not found code: type: string description: The error code example: NOT_FOUND issues: description: An array of issues that were responsible for the error example: [] type: array items: type: object properties: message: type: string required: - message additionalProperties: false required: - message - code additionalProperties: false title: Not found error (404) description: The error information example: code: NOT_FOUND message: Not found issues: [] error.UNAUTHORIZED: type: object properties: message: type: string description: The error message example: Authorization not provided code: type: string description: The error code example: UNAUTHORIZED issues: description: An array of issues that were responsible for the error example: [] type: array items: type: object properties: message: type: string required: - message additionalProperties: false required: - message - code additionalProperties: false title: Authorization not provided error (401) description: The error information example: code: UNAUTHORIZED message: Authorization not provided issues: [] error.BAD_REQUEST: type: object properties: message: type: string description: The error message example: Invalid input data code: type: string description: The error code example: BAD_REQUEST issues: description: An array of issues that were responsible for the error example: [] type: array items: type: object properties: message: type: string required: - message additionalProperties: false required: - message - code additionalProperties: false title: Invalid input data error (400) description: The error information example: code: BAD_REQUEST message: Invalid input data issues: [] securitySchemes: apiKey: type: apiKey in: header name: x-api-key description: API key authentication. Generate an API key from your Dokploy dashboard under Settings > API Keys. externalDocs: description: Full documentation url: https://docs.dokploy.com