Dokploy AI API
The ai API from Dokploy — 12 operation(s) for ai.
The ai API from Dokploy — 12 operation(s) for ai.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/dokploy:dokploy-ai-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Dokploy AI API
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
description: 'Operations tagged ai across 2 of this provider''s published API definitions: dokploy-openapi.json, dokploy-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://your-dokploy-instance.com/api
tags:
- name: AI
paths:
/ai.one:
get:
operationId: ai-one
tags:
- AI
security:
- x-api-key: []
parameters:
- in: query
name: aiId
schema:
type: string
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'
summary: Ai one
x-summary-source: derived
servers:
- url: https://your-dokploy-instance.com/api
/ai.getModels:
get:
operationId: ai-getModels
tags:
- AI
security:
- x-api-key: []
parameters:
- in: query
name: apiUrl
schema:
type: string
minLength: 1
required: true
- in: query
name: apiKey
schema:
type: string
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'
summary: Ai get models
x-summary-source: derived
servers:
- url: https://your-dokploy-instance.com/api
/ai.create:
post:
operationId: ai-create
tags:
- AI
security:
- x-api-key: []
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
apiUrl:
type: string
format: uri
apiKey:
type: string
model:
type: string
minLength: 1
isEnabled:
type: boolean
required:
- name
- apiUrl
- apiKey
- model
- isEnabled
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'
summary: Ai create
x-summary-source: derived
servers:
- url: https://your-dokploy-instance.com/api
/ai.update:
post:
operationId: ai-update
tags:
- AI
security:
- x-api-key: []
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
aiId:
type: string
minLength: 1
name:
type: string
minLength: 1
apiUrl:
type: string
format: uri
apiKey:
type: string
model:
type: string
minLength: 1
isEnabled:
type: boolean
createdAt:
type: string
required:
- aiId
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'
summary: Ai update
x-summary-source: derived
servers:
- url: https://your-dokploy-instance.com/api
/ai.getAll:
get:
operationId: ai-getAll
tags:
- AI
security:
- x-api-key: []
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'
summary: Ai get all
x-summary-source: derived
servers:
- url: https://your-dokploy-instance.com/api
/ai.get:
get:
operationId: ai-get
tags:
- AI
security:
- x-api-key: []
parameters:
- in: query
name: aiId
schema:
type: string
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'
summary: Ai get
x-summary-source: derived
servers:
- url: https://your-dokploy-instance.com/api
/ai.delete:
post:
operationId: ai-delete
tags:
- AI
security:
- x-api-key: []
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
aiId:
type: string
required:
- aiId
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'
summary: Ai delete
x-summary-source: derived
servers:
- url: https://your-dokploy-instance.com/api
/ai.getCustomProviders:
get:
operationId: ai-getCustomProviders
tags:
- AI
security:
- x-api-key: []
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'
summary: Ai get custom providers
x-summary-source: derived
servers:
- url: https://your-dokploy-instance.com/api
/ai.saveCustomProviders:
post:
operationId: ai-saveCustomProviders
tags:
- AI
security:
- x-api-key: []
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
providers:
type: array
items:
type: object
properties:
name:
type: string
minLength: 1
apiUrl:
type: string
format: uri
required:
- name
- apiUrl
required:
- providers
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'
summary: Ai save custom providers
x-summary-source: derived
servers:
- url: https://your-dokploy-instance.com/api
/ai.getEnabledProviders:
get:
operationId: ai-getEnabledProviders
tags:
- AI
security:
- x-api-key: []
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'
summary: Ai get enabled providers
x-summary-source: derived
servers:
- url: https://your-dokploy-instance.com/api
/ai.analyzeLogs:
post:
operationId: ai-analyzeLogs
tags:
- AI
security:
- x-api-key: []
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
aiId:
type: string
minLength: 1
logs:
type: string
minLength: 1
context:
type: string
enum:
- build
- runtime
required:
- aiId
- logs
- context
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'
summary: Ai analyze logs
x-summary-source: derived
servers:
- url: https://your-dokploy-instance.com/api
/ai.testConnection:
post:
operationId: ai-testConnection
tags:
- AI
security:
- x-api-key: []
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
apiUrl:
type: string
minLength: 1
apiKey:
type: string
model:
type: string
minLength: 1
required:
- apiUrl
- apiKey
- model
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'
summary: Ai test connection
x-summary-source: derived
servers:
- url: https://your-dokploy-instance.com/api
/ai.suggest:
post:
operationId: ai-suggest
tags:
- AI
security:
- x-api-key: []
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
aiId:
type: string
input:
type: string
serverId:
type: string
required:
- aiId
- input
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'
summary: Ai suggest
x-summary-source: derived
servers:
- url: https://your-dokploy-instance.com/api
/ai.deploy:
post:
operationId: ai-deploy
tags:
- AI
security:
- x-api-key: []
parameters: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
environmentId:
type: string
minLength: 1
id:
type: string
minLength: 1
dockerCompose:
type: string
minLength: 1
envVariables:
type: string
serverId:
type: string
name:
type: string
minLength: 1
description:
type: string
domains:
type: array
items:
type: object
properties:
host:
type: string
minLength: 1
port:
type: number
minimum: 1
serviceName:
type: string
minLength: 1
required:
- host
- port
- serviceName
configFiles:
type: array
items:
type: object
properties:
filePath:
type: string
minLength: 1
content:
type: string
minLength: 1
required:
- filePath
- content
required:
- environmentId
- id
- dockerCompose
- envVariables
- name
- description
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'
summary: Ai deploy
x-summary-source: derived
servers:
- url: https://your-dokploy-instance.com/api
components:
schemas:
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.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.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: []
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: []
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.
x-api-key:
type: apiKey
in: header
name: x-api-key
description: API key authentication. Use YOUR-GENERATED-API-KEY
x-default: your-key
externalDocs:
description: Full documentation
url: https://docs.dokploy.com
x-refined-from:
- dokploy-openapi.json
- dokploy-openapi.yml