Dokploy notification API

The notification API from Dokploy — 41 operation(s) for notification.

OpenAPI Specification

dokploy-notification-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Dokploy admin notification 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: notification
paths:
  /notification.createSlack:
    post:
      operationId: notification-createSlack
      tags:
      - notification
      security:
      - Authorization: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                appBuildError:
                  type: boolean
                databaseBackup:
                  type: boolean
                dokployBackup:
                  type: boolean
                volumeBackup:
                  type: boolean
                dokployRestart:
                  type: boolean
                name:
                  type: string
                appDeploy:
                  type: boolean
                dockerCleanup:
                  type: boolean
                serverThreshold:
                  type: boolean
                webhookUrl:
                  type: string
                  minLength: 1
                channel:
                  type: string
              required:
              - appBuildError
              - databaseBackup
              - dokployBackup
              - volumeBackup
              - dokployRestart
              - name
              - appDeploy
              - dockerCleanup
              - serverThreshold
              - webhookUrl
              - channel
      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'
  /notification.updateSlack:
    post:
      operationId: notification-updateSlack
      tags:
      - notification
      security:
      - Authorization: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                appBuildError:
                  type: boolean
                databaseBackup:
                  type: boolean
                dokployBackup:
                  type: boolean
                volumeBackup:
                  type: boolean
                dokployRestart:
                  type: boolean
                name:
                  type: string
                appDeploy:
                  type: boolean
                dockerCleanup:
                  type: boolean
                serverThreshold:
                  type: boolean
                webhookUrl:
                  type: string
                  minLength: 1
                channel:
                  type: string
                notificationId:
                  type: string
                  minLength: 1
                slackId:
                  type: string
                organizationId:
                  type: string
              required:
              - notificationId
              - slackId
      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'
  /notification.testSlackConnection:
    post:
      operationId: notification-testSlackConnection
      tags:
      - notification
      security:
      - Authorization: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                webhookUrl:
                  type: string
                  minLength: 1
                channel:
                  type: string
              required:
              - webhookUrl
              - channel
      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'
  /notification.createTelegram:
    post:
      operationId: notification-createTelegram
      tags:
      - notification
      security:
      - Authorization: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                appBuildError:
                  type: boolean
                databaseBackup:
                  type: boolean
                dokployBackup:
                  type: boolean
                volumeBackup:
                  type: boolean
                dokployRestart:
                  type: boolean
                name:
                  type: string
                appDeploy:
                  type: boolean
                dockerCleanup:
                  type: boolean
                serverThreshold:
                  type: boolean
                botToken:
                  type: string
                  minLength: 1
                chatId:
                  type: string
                  minLength: 1
                messageThreadId:
                  type: string
              required:
              - appBuildError
              - databaseBackup
              - dokployBackup
              - volumeBackup
              - dokployRestart
              - name
              - appDeploy
              - dockerCleanup
              - serverThreshold
              - botToken
              - chatId
              - messageThreadId
      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'
  /notification.updateTelegram:
    post:
      operationId: notification-updateTelegram
      tags:
      - notification
      security:
      - Authorization: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                appBuildError:
                  type: boolean
                databaseBackup:
                  type: boolean
                dokployBackup:
                  type: boolean
                volumeBackup:
                  type: boolean
                dokployRestart:
                  type: boolean
                name:
                  type: string
                appDeploy:
                  type: boolean
                dockerCleanup:
                  type: boolean
                serverThreshold:
                  type: boolean
                botToken:
                  type: string
                  minLength: 1
                chatId:
                  type: string
                  minLength: 1
                messageThreadId:
                  type: string
                notificationId:
                  type: string
                  minLength: 1
                telegramId:
                  type: string
                  minLength: 1
                organizationId:
                  type: string
              required:
              - notificationId
              - telegramId
      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'
  /notification.testTelegramConnection:
    post:
      operationId: notification-testTelegramConnection
      tags:
      - notification
      security:
      - Authorization: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                botToken:
                  type: string
                  minLength: 1
                chatId:
                  type: string
                  minLength: 1
                messageThreadId:
                  type: string
              required:
              - botToken
              - chatId
              - messageThreadId
      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'
  /notification.createDiscord:
    post:
      operationId: notification-createDiscord
      tags:
      - notification
      security:
      - Authorization: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                appBuildError:
                  type: boolean
                databaseBackup:
                  type: boolean
                dokployBackup:
                  type: boolean
                volumeBackup:
                  type: boolean
                dokployRestart:
                  type: boolean
                name:
                  type: string
                appDeploy:
                  type: boolean
                dockerCleanup:
                  type: boolean
                serverThreshold:
                  type: boolean
                webhookUrl:
                  type: string
                  minLength: 1
                decoration:
                  type: boolean
              required:
              - appBuildError
              - databaseBackup
              - dokployBackup
              - volumeBackup
              - dokployRestart
              - name
              - appDeploy
              - dockerCleanup
              - serverThreshold
              - webhookUrl
              - decoration
      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'
  /notification.updateDiscord:
    post:
      operationId: notification-updateDiscord
      tags:
      - notification
      security:
      - Authorization: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                appBuildError:
                  type: boolean
                databaseBackup:
                  type: boolean
                dokployBackup:
                  type: boolean
                volumeBackup:
                  type: boolean
                dokployRestart:
                  type: boolean
                name:
                  type: string
                appDeploy:
                  type: boolean
                dockerCleanup:
                  type: boolean
                serverThreshold:
                  type: boolean
                webhookUrl:
                  type: string
                  minLength: 1
                decoration:
                  type: boolean
                notificationId:
                  type: string
                  minLength: 1
                discordId:
                  type: string
                  minLength: 1
                organizationId:
                  type: string
              required:
              - notificationId
              - discordId
      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'
  /notification.testDiscordConnection:
    post:
      operationId: notification-testDiscordConnection
      tags:
      - notification
      security:
      - Authorization: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                webhookUrl:
                  type: string
                  minLength: 1
                decoration:
                  type: boolean
              required:
              - webhookUrl
      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'
  /notification.createEmail:
    post:
      operationId: notification-createEmail
      tags:
      - notification
      security:
      - Authorization: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                appBuildError:
                  type: boolean
                databaseBackup:
                  type: boolean
                dokployBackup:
                  type: boolean
                volumeBackup:
                  type: boolean
                dokployRestart:
                  type: boolean
                name:
                  type: string
                appDeploy:
                  type: boolean
                dockerCleanup:
                  type: boolean
                serverThreshold:
                  type: boolean
                smtpServer:
                  type: string
                  minLength: 1
                smtpPort:
                  type: number
                  minimum: 1
                username:
                  type: string
                  minLength: 1
                password:
                  type: string
                  minLength: 1
                fromAddress:
                  type: string
                  minLength: 1
                toAddresses:
                  minItems: 1
                  type: array
                  items:
                    type: string
              required:
              - appBuildError
              - databaseBackup
              - dokployBackup
              - volumeBackup
              - dokployRestart
              - name
              - appDeploy
              - dockerCleanup
              - serverThreshold
              - smtpServer
              - smtpPort
              - username
              - password
              - fromAddress
              - toAddresses
      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'
  /notification.updateEmail:
    post:
      operationId: notification-updateEmail
      tags:
      - notification
      security:
      - Authorization: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                appBuildError:
                  type: boolean
                databaseBackup:
                  type: boolean
                dokployBackup:
                  type: boolean
                volumeBackup:
                  type: boolean
                dokployRestart:
                  type: boolean
                name:
                  type: string
                appDeploy:
                  type: boolean
                dockerCleanup:
                  type: boolean
                serverThreshold:
                  type: boolean
                smtpServer:
                  type: string
                  minLength: 1
                smtpPort:
                  type: number
                  minimum: 1
                username:
                  type: string
                  minLength: 1
                password:
                  type: string
                  minLength: 1
                fromAddress:
                  type: string
                  minLength: 1
                toAddresses:
                  minItems: 1
                  type: array
                  items:
                    type: string
                notificationId:
                  type: string
                  minLength: 1
                emailId:
                  type: string
                  minLength: 1
                organizationId:
                  type: string
              required:
              - notificationId
              - emailId
      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'
  /notification.testEmailConnection:
    post:
      operationId: notification-testEmailConnection
      tags:
      - notification
      security:
      - Authorization: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                smtpServer:
                  type: string
                  minLength: 1
                smtpPort:
                  type: number
                  minimum: 1
                username:
                  type: string
                  minLength: 1
                password:
                  type: string
                  minLength: 1
                toAddresses:
                  minItems: 1
                  type: array
                  items:
                    type: string
                fromAddress:
                  type: string
                  minLength: 1
              required:
              - smtpServer
              - smtpPort
              - username
              - password
              - toAddresses
              - fromAddress
      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'
  /notification.createResend:
    post:
      operationId: notification-createResend
      tags:
      - notification
      security:
      - Authorization: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                appBuildError:
                  type: boolean
                databaseBackup:
                  type: boolean
                dokployBackup:
                  type: boolean
                volumeBackup:
                  type: boolean
                dokployRestart:
                  type: boolean
                name:
                  type: string
                appDeploy:
                  type: boolean
                dockerCleanup:
                  type: boolean
                serverThreshold:
                  type: boolean
                apiKey:
                  type: string
                  minLength: 1
                fromAddress:
                  type: string
                  minLength: 1
                toAddresses:
                  minItems: 1
                  type: array
                  items:
                    type: string
              required:
              - appBuildError
              - databaseBackup
              - dokployBackup
              - volumeBackup
              - dokployRestart
              - name
              - appDeploy
              - dockerCleanup
              - serverThreshold
              - apiKey
              - fromAddress
              - toAddresses
      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'
  /notification.updateResend:
    post:
      operationId: notification-updateResend
      tags:
      - notification
      security:
      - Authorization: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                appBuildError:
                  type: boolean
                databaseBackup:
                  type: boolean
                dokployBackup:
                  type: boolean
                volumeBackup:
                  type: boolean
                dokployRestart:
                  type: boolean
                name:
                  type: string
                appDeploy:
                  type: boolean
                dockerCleanup:
                  type: boolean
                serverThreshold:
                  type: boolean
                apiKey:
                  type: string
                  minLength: 1
                fromAddress:
                  type: string
                  minLength: 1
                toAddresses:
                  minItems: 1
                  type: array
                  items:
                    type: string
                notificationId:
                  type: string
                  minLength: 1
                resendId:
                  type: string
                  minLength: 1
                organizationId:
                  type: string
              required:
              - notificationId
              - resendId
      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':
          descript

# --- truncated at 32 KB (92 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/dokploy/refs/heads/main/openapi/dokploy-notification-api-openapi.yml