openapi: 3.0.0 info: title: Coolify version: '0.1' servers: - url: 'https://app.coolify.io/api/v1' paths: /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: [] /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' /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' security: - bearerAuth: [] /teams: get: tags: - Teams summary: List description: 'Get all teams.' operationId: f9c530b5b25df9601cb87d6a58646f0a responses: '200': description: 'List of teams.' content: application/json: schema: type: array items: $ref: '#/components/schemas/Team' '401': $ref: '#/components/responses/401' '400': $ref: '#/components/responses/400' security: - bearerAuth: [] '/teams/{id}': get: tags: - Teams summary: Get description: 'Get team by TeamId.' operationId: ac57ff546c002032cef44602c46a4e76 parameters: - name: id in: path description: 'Team ID' required: true schema: type: integer responses: '200': description: 'List of teams.' content: application/json: schema: $ref: '#/components/schemas/Team' '401': $ref: '#/components/responses/401' '400': $ref: '#/components/responses/400' '404': $ref: '#/components/responses/404' security: - bearerAuth: [] '/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: [] components: schemas: 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 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.' 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 type: object responses: '400': description: 'Invalid token.' content: application/json: schema: properties: message: type: string example: 'Invalid token.' type: object '401': description: Unauthenticated. content: application/json: schema: properties: message: type: string example: Unauthenticated. type: object '404': description: 'Resource not found.' content: application/json: schema: properties: message: type: string example: 'Resource not found.' type: object securitySchemes: bearerAuth: type: http description: 'Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token.' scheme: bearer tags: - 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 - name: Teams description: Teams