lasthourcloud/openapi.yaml

1717 lines
46 KiB
YAML
Raw Normal View History

2024-07-05 14:08:01 +00:00
openapi: 3.0.0
info:
title: Coolify
version: '0.1'
servers:
-
2024-07-06 12:34:15 +00:00
url: 'https://app.coolify.io/api/v1'
2024-07-05 14:08:01 +00:00
paths:
2024-07-09 08:45:10 +00:00
/applications:
get:
tags:
- Applications
summary: List
description: 'List all applications.'
operationId: 02978e79fc0b54d573b2359f2a1f7d86
responses:
'200':
description: 'Get all applications.'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Application'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
-
bearerAuth: []
post:
tags:
- Applications
summary: Create
description: 'Create new application.'
operationId: b79c870f7f32360e4ed7fee8e053a055
requestBody:
description: 'Application object that needs to be created.'
required: true
content:
application/json:
schema:
required:
- type
- project_uuid
- server_uuid
- environment_name
properties:
type:
type: string
enum: [public, private-gh-app, private-deploy-key, dockerfile, docker-image, dockercompose]
project_uuid:
type: string
server_uuid:
type: string
environment_name:
type: string
destination_uuid:
type: string
name:
type: string
description:
type: string
is_static:
type: boolean
domains:
type: string
git_repository:
type: string
git_branch:
type: string
git_commit_sha:
type: string
docker_registry_image_name:
type: string
docker_registry_image_tag:
type: string
build_pack:
type: string
install_command:
type: string
build_command:
type: string
start_command:
type: string
ports_exposes:
type: string
ports_mappings:
type: string
base_directory:
type: string
publish_directory:
type: string
health_check_enabled:
type: boolean
health_check_path:
type: string
health_check_port:
type: integer
health_check_host:
type: string
health_check_method:
type: string
health_check_return_code:
type: integer
health_check_scheme:
type: string
health_check_response_text:
type: string
health_check_interval:
type: integer
health_check_timeout:
type: integer
health_check_retries:
type: integer
health_check_start_period:
type: integer
limits_memory:
type: string
limits_memory_swap:
type: string
limits_memory_swappiness:
type: integer
limits_memory_reservation:
type: string
limits_cpus:
type: string
limits_cpuset:
type: string
limits_cpu_shares:
type: string
custom_labels:
type: string
custom_docker_run_options:
type: string
post_deployment_command:
type: string
post_deployment_command_container:
type: string
pre_deployment_command:
type: string
pre_deployment_command_container:
type: string
manual_webhook_secret_github:
type: string
manual_webhook_secret_gitlab:
type: string
manual_webhook_secret_bitbucket:
type: string
manual_webhook_secret_gitea:
type: string
redirect:
type: string
github_app_uuid:
type: string
instant_deploy:
type: boolean
dockerfile:
type: string
docker_compose_location:
type: string
docker_compose_raw:
type: string
docker_compose_custom_start_command:
type: string
docker_compose_custom_build_command:
type: string
docker_compose_domains:
type: array
watch_paths:
type: string
type: object
responses:
'200':
description: 'Get all applications.'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Application'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
-
bearerAuth: []
'/applications/{uuid}':
get:
tags:
- Applications
summary: Get
description: 'Get application by UUID.'
operationId: 3630b62c28e7358e7f0087c1d8fe1845
parameters:
-
name: uuid
in: path
description: 'UUID of the application.'
required: true
schema:
type: string
format: uuid
responses:
'200':
description: 'Get all applications.'
content:
application/json:
schema:
$ref: '#/components/schemas/Application'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
'404':
$ref: '#/components/responses/404'
security:
-
bearerAuth: []
/deployments:
get:
tags:
- Deployments
summary: List
description: 'List currently running deployments'
operationId: a2c05736269191ad0d99cadfd4708986
responses:
'200':
description: 'Get all currently running deployments.'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApplicationDeploymentQueue'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
-
bearerAuth: []
'/deployments/{uuid}':
get:
tags:
- Deployments
summary: Get
description: 'Get deployment by UUID.'
operationId: ccf9856174c115a1430d952ccbd36aea
parameters:
-
name: uuid
in: path
description: 'Deployment Uuid'
required: true
schema:
type: integer
responses:
'200':
description: 'Get deployment by UUID.'
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationDeploymentQueue'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
'404':
$ref: '#/components/responses/404'
security:
-
bearerAuth: []
/deploy:
get:
tags:
- Deployments
summary: Deploy
description: 'Deploy by tag or uuid. `Post` request also accepted.'
operationId: 700eb6e51f4c9e86d722f600c65ed1d4
parameters:
-
name: tag
in: query
description: 'Tag name(s). Comma separated list is also accepted.'
schema:
type: string
-
name: uuid
in: query
description: 'Resource UUID(s). Comma separated list is also accepted.'
schema:
type: string
-
name: force
in: query
description: 'Force rebuild (without cache)'
schema:
type: boolean
responses:
'200':
description: "Get deployment(s) Uuid's"
content:
application/json:
schema:
properties:
deployments: { type: array, items: { properties: { message: { type: string }, resource_uuid: { type: string }, deployment_uuid: { type: string } }, type: object } }
type: object
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
-
bearerAuth: []
2024-07-06 12:34:15 +00:00
/version:
get:
summary: Version
description: 'Get Coolify version.'
operationId: 187b37139844731110757711ee71c215
responses:
'200':
description: 'Returns the version of the application'
content:
application/json:
schema:
type: string
example: v4.0.0
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
-
bearerAuth: []
/enable:
get:
summary: 'Enable API'
description: 'Enable API (only with root permissions).'
operationId: 595019bae03d08277def667609779ff3
responses:
'200':
description: 'Enable API.'
content:
application/json:
schema:
properties:
message: { type: string, example: 'API enabled.' }
type: object
'403':
description: 'You are not allowed to enable the API.'
content:
application/json:
schema:
properties:
message: { type: string, example: 'You are not allowed to enable the API.' }
type: object
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
-
bearerAuth: []
/disable:
get:
summary: 'Disable API'
description: 'Disable API (only with root permissions).'
operationId: 50e2486a2d196a996b24a284a283bcdb
responses:
'200':
description: 'Disable API.'
content:
application/json:
schema:
properties:
message: { type: string, example: 'API disabled.' }
type: object
'403':
description: 'You are not allowed to disable the API.'
content:
application/json:
schema:
properties:
message: { type: string, example: 'You are not allowed to disable the API.' }
type: object
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
-
bearerAuth: []
/healthcheck:
get:
summary: Healthcheck
description: 'Healthcheck endpoint.'
operationId: 64db893135e686704bb88c3c238022c1
responses:
'200':
description: 'Healthcheck endpoint.'
content:
application/json:
schema:
type: string
example: OK
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
2024-07-09 08:45:10 +00:00
/projects:
get:
tags:
- Projects
summary: List
description: 'list projects.'
operationId: 762788f00f2dabb981df9adbc948d3f6
responses:
'200':
description: 'Get all projects.'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Project'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
-
bearerAuth: []
'/projects/{uuid}':
get:
tags:
- Projects
summary: Get
description: 'Get project by Uuid.'
operationId: 63bf8b6a68fbb757f09ab519331f6298
parameters:
-
name: uuid
in: path
description: 'Project UUID'
required: true
schema:
type: integer
responses:
'200':
description: 'Project details'
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
'404':
description: 'Project not found.'
security:
-
bearerAuth: []
'/projects/{uuid}/{environment_name}':
get:
tags:
- Projects
summary: Environment
description: 'Get environment by name.'
operationId: 7e44845dce5aa47ed7b0daf5595ad2e1
parameters:
-
name: uuid
in: path
description: 'Project UUID'
required: true
schema:
type: integer
-
name: environment_name
in: path
description: 'Environment name'
required: true
schema:
type: string
responses:
'200':
description: 'Project details'
content:
application/json:
schema:
$ref: '#/components/schemas/Environment'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
'404':
$ref: '#/components/responses/404'
security:
-
bearerAuth: []
/resources:
get:
tags:
- Resources
summary: List
description: 'Get all resources.'
operationId: c399903694eb1314596832e49f7c66d7
responses:
'200':
description: 'Get all resources'
content:
application/json:
schema:
type: string
example: 'Content is very complex. Will be implemented later.'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
-
bearerAuth: []
/security/keys:
get:
tags:
- 'Private Keys'
summary: List
description: 'List all private keys.'
operationId: 8a5d8d3ccbbcef54ed0e913a27faea9d
responses:
'200':
description: 'Get all private keys.'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PrivateKey'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
-
bearerAuth: []
post:
tags:
- 'Private Keys'
summary: Create
description: 'Create a new private key.'
operationId: eb4780acaa990c594cdbe8ffa80b4fb0
requestBody:
required: true
content:
application/json:
schema:
required:
- private_key
properties:
name:
type: string
description:
type: string
private_key:
type: string
type: object
additionalProperties: false
responses:
'201':
description: "The created private key's UUID."
content:
application/json:
schema:
properties:
uuid: { type: string }
type: object
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
-
bearerAuth: []
patch:
tags:
- 'Private Keys'
summary: Update
description: 'Update a private key.'
operationId: 371fd26b8949a070c26a264231fe233f
requestBody:
required: true
content:
application/json:
schema:
required:
- private_key
properties:
name:
type: string
description:
type: string
private_key:
type: string
type: object
additionalProperties: false
responses:
'201':
description: "The updated private key's UUID."
content:
application/json:
schema:
properties:
uuid: { type: string }
type: object
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
-
bearerAuth: []
'/security/keys/{uuid}':
get:
tags:
- 'Private Keys'
summary: Get
description: 'Get key by UUID.'
operationId: 2f743a85eb65d5ddb8cd5b362bb3d26a
parameters:
-
name: uuid
in: path
description: 'Private Key Uuid'
required: true
schema:
type: integer
responses:
'200':
description: 'Get all private keys.'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PrivateKey'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
'404':
description: 'Private Key not found.'
security:
-
bearerAuth: []
delete:
tags:
- 'Private Keys'
summary: Delete
description: 'Delete a private key.'
operationId: 8faa0bb399142f0084dfc3e003c42cf6
parameters:
-
name: uuid
in: path
description: 'Private Key Uuid'
required: true
schema:
type: integer
responses:
'200':
description: 'Private Key deleted.'
content:
application/json:
schema:
properties:
message: { type: string, example: 'Private Key deleted.' }
type: object
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
'404':
description: 'Private Key not found.'
security:
-
bearerAuth: []
/servers:
get:
tags:
- Servers
summary: List
description: 'List all servers.'
operationId: 787448df856cefd2d9a313566be30d34
responses:
'200':
description: 'Get all servers.'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Server'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
-
bearerAuth: []
'/servers/{uuid}':
get:
tags:
- Servers
summary: Get
description: 'Get server by UUID.'
operationId: 5baf04bddb8302c7e07f5b4c41aad10c
parameters:
-
name: uuid
in: path
description: "Server's Uuid"
required: true
schema:
type: integer
responses:
'200':
description: 'Get server by UUID'
content:
application/json:
schema:
$ref: '#/components/schemas/Server'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
'404':
$ref: '#/components/responses/404'
security:
-
bearerAuth: []
'/servers/{uuid}/resources':
get:
tags:
- Servers
summary: Resources
description: 'Get resources by server.'
operationId: cef26c059941b44fbd8de3a7a58c10a5
parameters:
-
name: uuid
in: path
description: "Server's Uuid"
required: true
schema:
type: integer
responses:
'200':
description: 'Get resources by server'
content:
application/json:
schema:
type: array
items:
properties: { id: { type: integer }, uuid: { type: string }, name: { type: string }, type: { type: string }, created_at: { type: string }, updated_at: { type: string }, status: { type: string } }
type: object
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
-
bearerAuth: []
'/servers/{uuid}/domains':
get:
tags:
- Servers
summary: Domains
description: 'Get domains by server.'
operationId: 1ee227755be848d572f412272f53dd93
parameters:
-
name: uuid
in: path
description: "Server's Uuid"
required: true
schema:
type: integer
responses:
'200':
description: 'Get domains by server'
content:
application/json:
schema:
type: array
items:
properties: { ip: { type: string }, domains: { type: array, items: { type: string } } }
type: object
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
2024-07-06 12:34:15 +00:00
security:
-
bearerAuth: []
2024-07-05 14:08:01 +00:00
/teams:
get:
2024-07-06 12:34:15 +00:00
tags:
- Teams
summary: List
description: 'Get all teams.'
2024-07-05 14:08:01 +00:00
operationId: f9c530b5b25df9601cb87d6a58646f0a
responses:
'200':
2024-07-06 12:34:15 +00:00
description: 'List of teams.'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Team'
2024-07-05 14:08:01 +00:00
'401':
2024-07-06 12:34:15 +00:00
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
-
bearerAuth: []
2024-07-05 14:08:01 +00:00
'/teams/{id}':
get:
2024-07-06 12:34:15 +00:00
tags:
- Teams
summary: Get
description: 'Get team by TeamId.'
2024-07-05 14:08:01 +00:00
operationId: ac57ff546c002032cef44602c46a4e76
parameters:
-
name: id
in: path
description: 'Team ID'
required: true
schema:
type: integer
responses:
'200':
2024-07-06 12:34:15 +00:00
description: 'List of teams.'
2024-07-05 14:08:01 +00:00
content:
application/json:
schema:
2024-07-06 12:34:15 +00:00
$ref: '#/components/schemas/Team'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
'404':
$ref: '#/components/responses/404'
security:
-
bearerAuth: []
2024-07-09 08:45:10 +00:00
'/teams/{id}/members':
get:
tags:
- Teams
summary: Members
description: 'Get members by TeamId.'
operationId: 7858f5a45d9ea55184c182852a7f0f6c
parameters:
-
name: id
in: path
description: 'Team ID'
required: true
schema:
type: integer
responses:
'200':
description: 'List of members.'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/User'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
'404':
$ref: '#/components/responses/404'
security:
-
bearerAuth: []
/teams/current:
get:
tags:
- Teams
summary: 'Authenticated Team'
description: 'Get currently authenticated team.'
operationId: 6a4ec9fed1aad7b0b38356c47d7ac509
responses:
'200':
description: 'Current Team.'
content:
application/json:
schema:
$ref: '#/components/schemas/Team'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
-
bearerAuth: []
/teams/current/members:
get:
tags:
- Teams
summary: 'Authenticated Team Members'
description: 'Get currently authenticated team members.'
operationId: 97e636a5796dbe71afb0bbcf1eec6e41
responses:
'200':
description: 'Currently authenticated team members.'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/User'
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
-
bearerAuth: []
2024-07-05 14:08:01 +00:00
components:
2024-07-06 12:34:15 +00:00
schemas:
2024-07-09 08:45:10 +00:00
Application:
description: 'Application model'
properties:
id:
type: integer
repository_project_id:
type: integer
nullable: true
uuid:
type: string
name:
type: string
fqdn:
type: string
config_hash:
type: string
git_repository:
type: string
git_branch:
type: string
git_commit_sha:
type: string
git_full_url:
type: string
nullable: true
docker_registry_image_name:
type: string
nullable: true
docker_registry_image_tag:
type: string
nullable: true
build_pack:
type: string
static_image:
type: string
install_command:
type: string
build_command:
type: string
start_command:
type: string
ports_exposes:
type: string
ports_mappings:
type: string
nullable: true
base_directory:
type: string
publish_directory:
type: string
health_check_path:
type: string
health_check_port:
type: string
nullable: true
health_check_host:
type: string
health_check_method:
type: string
health_check_return_code:
type: integer
health_check_scheme:
type: string
health_check_response_text:
type: string
nullable: true
health_check_interval:
type: integer
health_check_timeout:
type: integer
health_check_retries:
type: integer
health_check_start_period:
type: integer
limits_memory:
type: string
limits_memory_swap:
type: string
limits_memory_swappiness:
type: integer
limits_memory_reservation:
type: string
limits_cpus:
type: string
limits_cpuset:
type: string
nullable: true
limits_cpu_shares:
type: integer
status:
type: string
preview_url_template:
type: string
destination_type:
type: string
destination_id:
type: integer
source_type:
type: string
source_id:
type: integer
private_key_id:
type: integer
nullable: true
environment_id:
type: integer
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
description:
type: string
nullable: true
dockerfile:
type: string
nullable: true
health_check_enabled:
type: boolean
dockerfile_location:
type: string
custom_labels:
type: string
dockerfile_target_build:
type: string
nullable: true
manual_webhook_secret_github:
type: string
nullable: true
manual_webhook_secret_gitlab:
type: string
nullable: true
docker_compose_location:
type: string
docker_compose:
type: string
nullable: true
docker_compose_raw:
type: string
nullable: true
docker_compose_domains:
type: string
nullable: true
deleted_at:
type: string
format: date-time
nullable: true
docker_compose_custom_start_command:
type: string
nullable: true
docker_compose_custom_build_command:
type: string
nullable: true
swarm_replicas:
type: integer
swarm_placement_constraints:
type: string
nullable: true
manual_webhook_secret_bitbucket:
type: string
nullable: true
custom_docker_run_options:
type: string
nullable: true
post_deployment_command:
type: string
nullable: true
post_deployment_command_container:
type: string
nullable: true
pre_deployment_command:
type: string
nullable: true
pre_deployment_command_container:
type: string
nullable: true
watch_paths:
type: string
nullable: true
custom_healthcheck_found:
type: boolean
manual_webhook_secret_gitea:
type: string
nullable: true
redirect:
type: string
type: object
ApplicationDeploymentQueue:
description: 'Project model'
properties:
id:
type: integer
application_id:
type: string
deployment_uuid:
type: string
pull_request_id:
type: integer
force_rebuild:
type: boolean
commit:
type: string
status:
type: string
is_webhook:
type: boolean
is_api:
type: boolean
created_at:
type: string
updated_at:
type: string
logs:
type: string
current_process_id:
type: string
restart_only:
type: boolean
git_type:
type: string
server_id:
type: integer
application_name:
type: string
server_name:
type: string
deployment_url:
type: string
destination_id:
type: string
only_this_server:
type: boolean
rollback:
type: boolean
commit_message:
type: string
type: object
Environment:
description: 'Environment model'
properties:
id:
type: integer
name:
type: string
project_id:
type: integer
created_at:
type: string
updated_at:
type: string
description:
type: string
type: object
PrivateKey:
description: 'Private Key model'
properties:
id:
type: integer
uuid:
type: string
name:
type: string
description:
type: string
private_key:
type: string
format: private-key
is_git_related:
type: boolean
team_id:
type: integer
created_at:
type: string
updated_at:
type: string
type: object
Project:
description: 'Project model'
properties:
id:
type: integer
uuid:
type: string
name:
type: string
environments:
description: 'The environments of the project.'
type: array
items:
$ref: '#/components/schemas/Environment'
type: object
Server:
description: 'Application model'
properties:
id:
type: integer
repository_project_id:
type: integer
nullable: true
uuid:
type: string
name:
type: string
fqdn:
type: string
config_hash:
type: string
git_repository:
type: string
git_branch:
type: string
git_commit_sha:
type: string
git_full_url:
type: string
nullable: true
docker_registry_image_name:
type: string
nullable: true
docker_registry_image_tag:
type: string
nullable: true
build_pack:
type: string
static_image:
type: string
install_command:
type: string
build_command:
type: string
start_command:
type: string
ports_exposes:
type: string
ports_mappings:
type: string
nullable: true
base_directory:
type: string
publish_directory:
type: string
health_check_path:
type: string
health_check_port:
type: string
nullable: true
health_check_host:
type: string
health_check_method:
type: string
health_check_return_code:
type: integer
health_check_scheme:
type: string
health_check_response_text:
type: string
nullable: true
health_check_interval:
type: integer
health_check_timeout:
type: integer
health_check_retries:
type: integer
health_check_start_period:
type: integer
limits_memory:
type: string
limits_memory_swap:
type: string
limits_memory_swappiness:
type: integer
limits_memory_reservation:
type: string
limits_cpus:
type: string
limits_cpuset:
type: string
nullable: true
limits_cpu_shares:
type: integer
status:
type: string
preview_url_template:
type: string
destination_type:
type: string
destination_id:
type: integer
source_type:
type: string
source_id:
type: integer
private_key_id:
type: integer
nullable: true
environment_id:
type: integer
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
description:
type: string
nullable: true
dockerfile:
type: string
nullable: true
health_check_enabled:
type: boolean
dockerfile_location:
type: string
custom_labels:
type: string
dockerfile_target_build:
type: string
nullable: true
manual_webhook_secret_github:
type: string
nullable: true
manual_webhook_secret_gitlab:
type: string
nullable: true
docker_compose_location:
type: string
docker_compose:
type: string
nullable: true
docker_compose_raw:
type: string
nullable: true
docker_compose_domains:
type: string
nullable: true
deleted_at:
type: string
format: date-time
nullable: true
docker_compose_custom_start_command:
type: string
nullable: true
docker_compose_custom_build_command:
type: string
nullable: true
swarm_replicas:
type: integer
swarm_placement_constraints:
type: string
nullable: true
manual_webhook_secret_bitbucket:
type: string
nullable: true
custom_docker_run_options:
type: string
nullable: true
post_deployment_command:
type: string
nullable: true
post_deployment_command_container:
type: string
nullable: true
pre_deployment_command:
type: string
nullable: true
pre_deployment_command_container:
type: string
nullable: true
watch_paths:
type: string
nullable: true
custom_healthcheck_found:
type: boolean
manual_webhook_secret_gitea:
type: string
nullable: true
redirect:
type: string
type: object
ServerSetting:
description: 'Server Settings model'
properties:
id:
type: integer
cleanup_after_percentage:
type: integer
concurrent_builds:
type: integer
dynamic_timeout:
type: integer
force_disabled:
type: boolean
is_build_server:
type: boolean
is_cloudflare_tunnel:
type: boolean
is_jump_server:
type: boolean
is_logdrain_axiom_enabled:
type: boolean
is_logdrain_custom_enabled:
type: boolean
is_logdrain_highlight_enabled:
type: boolean
is_logdrain_newrelic_enabled:
type: boolean
is_metrics_enabled:
type: boolean
is_reachable:
type: boolean
is_server_api_enabled:
type: boolean
is_swarm_manager:
type: boolean
is_swarm_worker:
type: boolean
is_usable:
type: boolean
logdrain_axiom_api_key:
type: string
logdrain_axiom_dataset_name:
type: string
logdrain_custom_config:
type: string
logdrain_custom_config_parser:
type: string
logdrain_highlight_project_id:
type: string
logdrain_newrelic_base_uri:
type: string
logdrain_newrelic_license_key:
type: string
metrics_history_days:
type: integer
metrics_refresh_rate_seconds:
type: integer
metrics_token:
type: string
server_id:
type: integer
wildcard_domain:
type: string
created_at:
type: string
updated_at:
type: string
type: object
2024-07-06 12:34:15 +00:00
Team:
description: 'Team model'
properties:
id:
type: integer
description: 'The unique identifier of the team.'
name:
type: string
description: 'The name of the team.'
description:
type: string
description: 'The description of the team.'
personal_team:
type: boolean
description: 'Whether the team is personal or not.'
created_at:
type: string
description: 'The date and time the team was created.'
updated_at:
type: string
description: 'The date and time the team was last updated.'
smtp_enabled:
type: boolean
description: 'Whether SMTP is enabled or not.'
smtp_from_address:
type: string
description: 'The email address to send emails from.'
smtp_from_name:
type: string
description: 'The name to send emails from.'
smtp_recipients:
type: string
description: 'The email addresses to send emails to.'
smtp_host:
type: string
description: 'The SMTP host.'
smtp_port:
type: string
description: 'The SMTP port.'
smtp_encryption:
type: string
description: 'The SMTP encryption.'
smtp_username:
type: string
description: 'The SMTP username.'
smtp_password:
type: string
description: 'The SMTP password.'
smtp_timeout:
type: string
description: 'The SMTP timeout.'
smtp_notifications_test:
type: boolean
description: 'Whether to send test notifications via SMTP.'
smtp_notifications_deployments:
type: boolean
description: 'Whether to send deployment notifications via SMTP.'
smtp_notifications_status_changes:
type: boolean
description: 'Whether to send status change notifications via SMTP.'
smtp_notifications_scheduled_tasks:
type: boolean
description: 'Whether to send scheduled task notifications via SMTP.'
smtp_notifications_database_backups:
type: boolean
description: 'Whether to send database backup notifications via SMTP.'
discord_enabled:
type: boolean
description: 'Whether Discord is enabled or not.'
discord_webhook_url:
type: string
description: 'The Discord webhook URL.'
discord_notifications_test:
type: boolean
description: 'Whether to send test notifications via Discord.'
discord_notifications_deployments:
type: boolean
description: 'Whether to send deployment notifications via Discord.'
discord_notifications_status_changes:
type: boolean
description: 'Whether to send status change notifications via Discord.'
discord_notifications_database_backups:
type: boolean
description: 'Whether to send database backup notifications via Discord.'
discord_notifications_scheduled_tasks:
type: boolean
description: 'Whether to send scheduled task notifications via Discord.'
show_boarding:
type: boolean
description: 'Whether to show the boarding screen or not.'
resend_enabled:
type: boolean
description: 'Whether to enable resending or not.'
resend_api_key:
type: string
description: 'The resending API key.'
use_instance_email_settings:
type: boolean
description: 'Whether to use instance email settings or not.'
telegram_enabled:
type: boolean
description: 'Whether Telegram is enabled or not.'
telegram_token:
type: string
description: 'The Telegram token.'
telegram_chat_id:
type: string
description: 'The Telegram chat ID.'
telegram_notifications_test:
type: boolean
description: 'Whether to send test notifications via Telegram.'
telegram_notifications_deployments:
type: boolean
description: 'Whether to send deployment notifications via Telegram.'
telegram_notifications_status_changes:
type: boolean
description: 'Whether to send status change notifications via Telegram.'
telegram_notifications_database_backups:
type: boolean
description: 'Whether to send database backup notifications via Telegram.'
telegram_notifications_test_message_thread_id:
type: string
description: 'The Telegram test message thread ID.'
telegram_notifications_deployments_message_thread_id:
type: string
description: 'The Telegram deployment message thread ID.'
telegram_notifications_status_changes_message_thread_id:
type: string
description: 'The Telegram status change message thread ID.'
telegram_notifications_database_backups_message_thread_id:
type: string
description: 'The Telegram database backup message thread ID.'
custom_server_limit:
type: string
description: 'The custom server limit.'
telegram_notifications_scheduled_tasks:
type: boolean
description: 'Whether to send scheduled task notifications via Telegram.'
telegram_notifications_scheduled_tasks_thread_id:
type: string
description: 'The Telegram scheduled task message thread ID.'
2024-07-09 08:45:10 +00:00
members:
description: 'The members of the team.'
type: array
items:
$ref: '#/components/schemas/User'
type: object
User:
description: 'User model'
properties:
id:
type: integer
name:
type: string
email:
type: string
email_verified_at:
type: string
created_at:
type: string
updated_at:
type: string
two_factor_confirmed_at:
type: string
force_password_reset:
type: boolean
marketing_emails:
type: boolean
2024-07-06 12:34:15 +00:00
type: object
responses:
2024-07-09 08:45:10 +00:00
'400':
description: 'Invalid token.'
2024-07-06 12:34:15 +00:00
content:
application/json:
schema:
properties:
message:
type: string
2024-07-09 08:45:10 +00:00
example: 'Invalid token.'
2024-07-06 12:34:15 +00:00
type: object
2024-07-09 08:45:10 +00:00
'401':
description: Unauthenticated.
2024-07-06 12:34:15 +00:00
content:
application/json:
schema:
properties:
message:
type: string
2024-07-09 08:45:10 +00:00
example: Unauthenticated.
2024-07-06 12:34:15 +00:00
type: object
'404':
description: 'Resource not found.'
content:
application/json:
schema:
properties:
message:
type: string
2024-07-09 08:45:10 +00:00
example: 'Resource not found.'
2024-07-06 12:34:15 +00:00
type: object
2024-07-05 14:08:01 +00:00
securitySchemes:
bearerAuth:
type: http
2024-07-06 12:34:15 +00:00
description: 'Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token.'
2024-07-05 14:08:01 +00:00
scheme: bearer
2024-07-06 12:34:15 +00:00
tags:
2024-07-09 08:45:10 +00:00
-
name: Applications
description: Applications
-
name: Deployments
description: Deployments
-
name: Projects
description: Projects
-
name: Resources
description: Resources
-
name: 'Private Keys'
description: 'Private Keys'
-
name: Servers
description: Servers
2024-07-06 12:34:15 +00:00
-
name: Teams
description: Teams