openapi: 3.1.0
info:
title: Coolify
version: '0.1'
paths:
/databases:
get:
tags:
- Databases
summary: List
description: List all databases.
operationId: list-databases
responses:
'200':
description: Get all databases
content:
application/json:
schema:
type: string
example: Content is very complex. Will be implemented later.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
security:
- bearerAuth: []
/databases/{uuid}:
get:
tags:
- Databases
summary: Get
description: Get database by UUID.
operationId: get-database-by-uuid
parameters:
- name: uuid
in: path
description: UUID of the database.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Get all databases
content:
application/json:
schema:
type: string
example: Content is very complex. Will be implemented later.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
security:
- bearerAuth: []
delete:
tags:
- Databases
summary: Delete
description: Delete database by UUID.
operationId: delete-database-by-uuid
parameters:
- name: uuid
in: path
description: UUID of the database.
required: true
schema:
type: string
format: uuid
- name: delete_configurations
in: query
description: Delete configurations.
required: false
schema:
type: boolean
default: true
- name: delete_volumes
in: query
description: Delete volumes.
required: false
schema:
type: boolean
default: true
- name: docker_cleanup
in: query
description: Run docker cleanup.
required: false
schema:
type: boolean
default: true
- name: delete_connected_networks
in: query
description: Delete connected networks.
required: false
schema:
type: boolean
default: true
responses:
'200':
description: Database deleted.
content:
application/json:
schema:
properties:
message:
type: string
example: Database deleted.
type: object
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
security:
- bearerAuth: []
patch:
tags:
- Databases
summary: Update
description: Update database by UUID.
operationId: update-database-by-uuid
parameters:
- name: uuid
in: path
description: UUID of the database.
required: true
schema:
type: string
format: uuid
requestBody:
description: Database data
required: true
content:
application/json:
schema:
properties:
name:
type: string
description: Name of the database
description:
type: string
description: Description of the database
image:
type: string
description: Docker Image of the database
is_public:
type: boolean
description: Is the database public?
public_port:
type: integer
description: Public port of the database
limits_memory:
type: string
description: Memory limit of the database
limits_memory_swap:
type: string
description: Memory swap limit of the database
limits_memory_swappiness:
type: integer
description: Memory swappiness of the database
limits_memory_reservation:
type: string
description: Memory reservation of the database
limits_cpus:
type: string
description: CPU limit of the database
limits_cpuset:
type: string
description: CPU set of the database
limits_cpu_shares:
type: integer
description: CPU shares of the database
postgres_user:
type: string
description: PostgreSQL user
postgres_password:
type: string
description: PostgreSQL password
postgres_db:
type: string
description: PostgreSQL database
postgres_initdb_args:
type: string
description: PostgreSQL initdb args
postgres_host_auth_method:
type: string
description: PostgreSQL host auth method
postgres_conf:
type: string
description: PostgreSQL conf
clickhouse_admin_user:
type: string
description: Clickhouse admin user
clickhouse_admin_password:
type: string
description: Clickhouse admin password
dragonfly_password:
type: string
description: DragonFly password
redis_password:
type: string
description: Redis password
redis_conf:
type: string
description: Redis conf
keydb_password:
type: string
description: KeyDB password
keydb_conf:
type: string
description: KeyDB conf
mariadb_conf:
type: string
description: MariaDB conf
mariadb_root_password:
type: string
description: MariaDB root password
mariadb_user:
type: string
description: MariaDB user
mariadb_password:
type: string
description: MariaDB password
mariadb_database:
type: string
description: MariaDB database
mongo_conf:
type: string
description: Mongo conf
mongo_initdb_root_username:
type: string
description: Mongo initdb root username
mongo_initdb_root_password:
type: string
description: Mongo initdb root password
mongo_initdb_database:
type: string
description: Mongo initdb init database
mysql_root_password:
type: string
description: MySQL root password
mysql_password:
type: string
description: MySQL password
mysql_user:
type: string
description: MySQL user
mysql_database:
type: string
description: MySQL database
mysql_conf:
type: string
description: MySQL conf
type: object
responses:
'200':
description: Database updated
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
security:
- bearerAuth: []
/databases/postgresql:
post:
tags:
- Databases
summary: Create (PostgreSQL)
description: Create a new PostgreSQL database.
operationId: create-database-postgresql
requestBody:
description: Database data
required: true
content:
application/json:
schema:
required:
- server_uuid
- project_uuid
- environment_name
- environment_uuid
properties:
server_uuid:
type: string
description: UUID of the server
project_uuid:
type: string
description: UUID of the project
environment_name:
type: string
description: Name of the environment. You need to provide at least one of environment_name or environment_uuid.
environment_uuid:
type: string
description: UUID of the environment. You need to provide at least one of environment_name or environment_uuid.
postgres_user:
type: string
description: PostgreSQL user
postgres_password:
type: string
description: PostgreSQL password
postgres_db:
type: string
description: PostgreSQL database
postgres_initdb_args:
type: string
description: PostgreSQL initdb args
postgres_host_auth_method:
type: string
description: PostgreSQL host auth method
postgres_conf:
type: string
description: PostgreSQL conf
destination_uuid:
type: string
description: UUID of the destination if the server has multiple destinations
name:
type: string
description: Name of the database
description:
type: string
description: Description of the database
image:
type: string
description: Docker Image of the database
is_public:
type: boolean
description: Is the database public?
public_port:
type: integer
description: Public port of the database
limits_memory:
type: string
description: Memory limit of the database
limits_memory_swap:
type: string
description: Memory swap limit of the database
limits_memory_swappiness:
type: integer
description: Memory swappiness of the database
limits_memory_reservation:
type: string
description: Memory reservation of the database
limits_cpus:
type: string
description: CPU limit of the database
limits_cpuset:
type: string
description: CPU set of the database
limits_cpu_shares:
type: integer
description: CPU shares of the database
instant_deploy:
type: boolean
description: Instant deploy the database
type: object
responses:
'200':
description: Database updated
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
security:
- bearerAuth: []
/databases/clickhouse:
post:
tags:
- Databases
summary: Create (Clickhouse)
description: Create a new Clickhouse database.
operationId: create-database-clickhouse
requestBody:
description: Database data
required: true
content:
application/json:
schema:
required:
- server_uuid
- project_uuid
- environment_name
- environment_uuid
properties:
server_uuid:
type: string
description: UUID of the server
project_uuid:
type: string
description: UUID of the project
environment_name:
type: string
description: Name of the environment. You need to provide at least one of environment_name or environment_uuid.
environment_uuid:
type: string
description: UUID of the environment. You need to provide at least one of environment_name or environment_uuid.
destination_uuid:
type: string
description: UUID of the destination if the server has multiple destinations
clickhouse_admin_user:
type: string
description: Clickhouse admin user
clickhouse_admin_password:
type: string
description: Clickhouse admin password
name:
type: string
description: Name of the database
description:
type: string
description: Description of the database
image:
type: string
description: Docker Image of the database
is_public:
type: boolean
description: Is the database public?
public_port:
type: integer
description: Public port of the database
limits_memory:
type: string
description: Memory limit of the database
limits_memory_swap:
type: string
description: Memory swap limit of the database
limits_memory_swappiness:
type: integer
description: Memory swappiness of the database
limits_memory_reservation:
type: string
description: Memory reservation of the database
limits_cpus:
type: string
description: CPU limit of the database
limits_cpuset:
type: string
description: CPU set of the database
limits_cpu_shares:
type: integer
description: CPU shares of the database
instant_deploy:
type: boolean
description: Instant deploy the database
type: object
responses:
'200':
description: Database updated
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
security:
- bearerAuth: []
/databases/dragonfly:
post:
tags:
- Databases
summary: Create (DragonFly)
description: Create a new DragonFly database.
operationId: create-database-dragonfly
requestBody:
description: Database data
required: true
content:
application/json:
schema:
required:
- server_uuid
- project_uuid
- environment_name
- environment_uuid
properties:
server_uuid:
type: string
description: UUID of the server
project_uuid:
type: string
description: UUID of the project
environment_name:
type: string
description: Name of the environment. You need to provide at least one of environment_name or environment_uuid.
environment_uuid:
type: string
description: UUID of the environment. You need to provide at least one of environment_name or environment_uuid.
destination_uuid:
type: string
description: UUID of the destination if the server has multiple destinations
dragonfly_password:
type: string
description: DragonFly password
name:
type: string
description: Name of the database
description:
type: string
description: Description of the database
image:
type: string
description: Docker Image of the database
is_public:
type: boolean
description: Is the database public?
public_port:
type: integer
description: Public port of the database
limits_memory:
type: string
description: Memory limit of the database
limits_memory_swap:
type: string
description: Memory swap limit of the database
limits_memory_swappiness:
type: integer
description: Memory swappiness of the database
limits_memory_reservation:
type: string
description: Memory reservation of the database
limits_cpus:
type: string
description: CPU limit of the database
limits_cpuset:
type: string
description: CPU set of the database
limits_cpu_shares:
type: integer
description: CPU shares of the database
instant_deploy:
type: boolean
description: Instant deploy the database
type: object
responses:
'200':
description: Database updated
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
security:
- bearerAuth: []
/databases/redis:
post:
tags:
- Databases
summary: Create (Redis)
description: Create a new Redis database.
operationId: create-database-redis
requestBody:
description: Database data
required: true
content:
application/json:
schema:
required:
- server_uuid
- project_uuid
- environment_name
- environment_uuid
properties:
server_uuid:
type: string
description: UUID of the server
project_uuid:
type: string
description: UUID of the project
environment_name:
type: string
description: Name of the environment. You need to provide at least one of environment_name or environment_uuid.
environment_uuid:
type: string
description: UUID of the environment. You need to provide at least one of environment_name or environment_uuid.
destination_uuid:
type: string
description: UUID of the destination if the server has multiple destinations
redis_password:
type: string
description: Redis password
redis_conf:
type: string
description: Redis conf
name:
type: string
description: Name of the database
description:
type: string
description: Description of the database
image:
type: string
description: Docker Image of the database
is_public:
type: boolean
description: Is the database public?
public_port:
type: integer
description: Public port of the database
limits_memory:
type: string
description: Memory limit of the database
limits_memory_swap:
type: string
description: Memory swap limit of the database
limits_memory_swappiness:
type: integer
description: Memory swappiness of the database
limits_memory_reservation:
type: string
description: Memory reservation of the database
limits_cpus:
type: string
description: CPU limit of the database
limits_cpuset:
type: string
description: CPU set of the database
limits_cpu_shares:
type: integer
description: CPU shares of the database
instant_deploy:
type: boolean
description: Instant deploy the database
type: object
responses:
'200':
description: Database updated
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
security:
- bearerAuth: []
/databases/keydb:
post:
tags:
- Databases
summary: Create (KeyDB)
description: Create a new KeyDB database.
operationId: create-database-keydb
requestBody:
description: Database data
required: true
content:
application/json:
schema:
required:
- server_uuid
- project_uuid
- environment_name
- environment_uuid
properties:
server_uuid:
type: string
description: UUID of the server
project_uuid:
type: string
description: UUID of the project
environment_name:
type: string
description: Name of the environment. You need to provide at least one of environment_name or environment_uuid.
environment_uuid:
type: string
description: UUID of the environment. You need to provide at least one of environment_name or environment_uuid.
destination_uuid:
type: string
description: UUID of the destination if the server has multiple destinations
keydb_password:
type: string
description: KeyDB password
keydb_conf:
type: string
description: KeyDB conf
name:
type: string
description: Name of the database
description:
type: string
description: Description of the database
image:
type: string
description: Docker Image of the database
is_public:
type: boolean
description: Is the database public?
public_port:
type: integer
description: Public port of the database
limits_memory:
type: string
description: Memory limit of the database
limits_memory_swap:
type: string
description: Memory swap limit of the database
limits_memory_swappiness:
type: integer
description: Memory swappiness of the database
limits_memory_reservation:
type: string
description: Memory reservation of the database
limits_cpus:
type: string
description: CPU limit of the database
limits_cpuset:
type: string
description: CPU set of the database
limits_cpu_shares:
type: integer
description: CPU shares of the database
instant_deploy:
type: boolean
description: Instant deploy the database
type: object
responses:
'200':
description: Database updated
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
security:
- bearerAuth: []
/databases/mariadb:
post:
tags:
- Databases
summary: Create (MariaDB)
description: Create a new MariaDB database.
operationId: create-database-mariadb
requestBody:
description: Database data
required: true
content:
application/json:
schema:
required:
- server_uuid
- project_uuid
- environment_name
- environment_uuid
properties:
server_uuid:
type: string
description: UUID of the server
project_uuid:
type: string
description: UUID of the project
environment_name:
type: string
description: Name of the environment. You need to provide at least one of environment_name or environment_uuid.
environment_uuid:
type: string
description: UUID of the environment. You need to provide at least one of environment_name or environment_uuid.
destination_uuid:
type: string
description: UUID of the destination if the server has multiple destinations
mariadb_conf:
type: string
description: MariaDB conf
mariadb_root_password:
type: string
description: MariaDB root password
mariadb_user:
type: string
description: MariaDB user
mariadb_password:
type: string
description: MariaDB password
mariadb_database:
type: string
description: MariaDB database
name:
type: string
description: Name of the database
description:
type: string
description: Description of the database
image:
type: string
description: Docker Image of the database
is_public:
type: boolean
description: Is the database public?
public_port:
type: integer
description: Public port of the database
limits_memory:
type: string
description: Memory limit of the database
limits_memory_swap:
type: string
description: Memory swap limit of the database
limits_memory_swappiness:
type: integer
description: Memory swappiness of the database
limits_memory_reservation:
type: string
description: Memory reservation of the database
limits_cpus:
type: string
description: CPU limit of the database
limits_cpuset:
type: string
description: CPU set of the database
limits_cpu_shares:
type: integer
description: CPU shares of the database
instant_deploy:
type: boolean
description: Instant deploy the database
type: object
responses:
'200':
description: Database updated
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
security:
- bearerAuth: []
/databases/mysql:
post:
tags:
- Databases
summary: Create (MySQL)
description: Create a new MySQL database.
operationId: create-database-mysql
requestBody:
description: Database data
required: true
content:
application/json:
schema:
required:
- server_uuid
- project_uuid
- environment_name
- environment_uuid
properties:
server_uuid:
type: string
description: UUID of the server
project_uuid:
type: string
description: UUID of the project
environment_name:
type: string
description: Name of the environment. You need to provide at least one of environment_name or environment_uuid.
environment_uuid:
type: string
description: UUID of the environment. You need to provide at least one of environment_name or environment_uuid.
destination_uuid:
type: string
description: UUID of the destination if the server has multiple destinations
mysql_root_password:
type: string
description: MySQL root password
mysql_password:
type: string
description: MySQL password
mysql_user:
type: string
description: MySQL user
mysql_database:
type: string
description: MySQL database
mysql_conf:
type: string
description: MySQL conf
name:
type: string
description: Name of the database
description:
type: string
description: Description of the database
image:
type: string
description: Docker Image of the database
is_public:
type: boolean
description: Is the database public?
public_port:
type: integer
description: Public port of the database
limits_memory:
type: string
description: Memory limit of the database
limits_memory_swap:
type: string
description: Memory swap limit of the database
limits_memory_swappiness:
type: integer
description: Memory swappiness of the database
limits_memory_reservation:
type: string
description: Memory reservation of the database
limits_cpus:
type: string
description: CPU limit of the database
limits_cpuset:
type: string
description: CPU set of the database
limits_cpu_shares:
type: integer
description: CPU shares of the database
instant_deploy:
type: boolean
description: Instant deploy the database
type: object
responses:
'200':
description: Database updated
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
security:
- bearerAuth: []
/databases/mongodb:
post:
tags:
- Databases
summary: Create (MongoDB)
description: Create a new MongoDB database.
operationId: create-database-mongodb
requestBody:
description: Database data
required: true
content:
application/json:
schema:
required:
- server_uuid
- project_uuid
- environment_name
- environment_uuid
properties:
server_uuid:
type: string
description: UUID of the server
project_uuid:
type: string
description: UUID of the project
environment_name:
type: string
description: Name of the environment. You need to provide at least one of environment_name or environment_uuid.
environment_uuid:
type: string
description: UUID of the environment. You need to provide at least one of environment_name or environment_uuid.
destination_uuid:
type: string
description: UUID of the destination if the server has multiple destinations
mongo_conf:
type: string
description: MongoDB conf
mongo_initdb_root_username:
type: string
description: MongoDB initdb root username
name:
type: string
description: Name of the database
description:
type: string
description: Description of the database
image:
type: string
description: Docker Image of the database
is_public:
type: boolean
description: Is the database public?
public_port:
type: integer
description: Public port of the database
limits_memory:
type: string
description: Memory limit of the database
limits_memory_swap:
type: string
description: Memory swap limit of the database
limits_memory_swappiness:
type: integer
description: Memory swappiness of the database
limits_memory_reservation:
type: string
description: Memory reservation of the database
limits_cpus:
type: string
description: CPU limit of the database
limits_cpuset:
type: string
description: CPU set of the database
limits_cpu_shares:
type: integer
description: CPU shares of the database
instant_deploy:
type: boolean
description: Instant deploy the database
type: object
responses:
'200':
description: Database updated
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
security:
- bearerAuth: []
/databases/{uuid}/start:
get:
tags:
- Databases
summary: Start
description: Start database. `Post` request is also accepted.
operationId: start-database-by-uuid
parameters:
- name: uuid
in: path
description: UUID of the database.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Start database.
content:
application/json:
schema:
properties:
message:
type: string
example: Database starting request queued.
type: object
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
security:
- bearerAuth: []
/databases/{uuid}/stop:
get:
tags:
- Databases
summary: Stop
description: Stop database. `Post` request is also accepted.
operationId: stop-database-by-uuid
parameters:
- name: uuid
in: path
description: UUID of the database.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Stop database.
content:
application/json:
schema:
properties:
message:
type: string
example: Database stopping request queued.
type: object
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
security:
- bearerAuth: []
/databases/{uuid}/restart:
get:
tags:
- Databases
summary: Restart
description: Restart database. `Post` request is also accepted.
operationId: restart-database-by-uuid
parameters:
- name: uuid
in: path
description: UUID of the database.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Restart database.
content:
application/json:
schema:
properties:
message:
type: string
example: Database restaring request queued.
type: object
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
security:
- bearerAuth: []
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/StuMason/coolify-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server