openapi: 3.0.0 info: title: Coolify version: '0.1' servers: - url: 'https://app.coolify.io/api/v1' paths: /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' 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: [] components: schemas: 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.' type: object responses: '401': description: Unauthenticated. content: application/json: schema: properties: message: type: string example: Unauthenticated. type: object '400': description: 'Invalid token.' content: application/json: schema: properties: message: type: string example: 'Invalid token.' type: object '404': description: 'Resource not found.' content: application/json: schema: properties: message: type: string 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: Teams description: Teams