Documentation
Documentation
https://coolify.io/docs/api-reference/authorization
Authentication
https://coolify.io/docs/api-reference/authorization
openapi: 3.1.0
info:
title: Coolify Applications Cloud Tokens API
version: '0.1'
description: Applications
servers:
- url: https://app.coolify.io/api/v1
description: Coolify Cloud API. Change the host to your own instance if you are self-hosting.
tags:
- name: Cloud Tokens
description: Cloud Tokens
paths:
/cloud-tokens:
get:
tags:
- Cloud Tokens
summary: List Cloud Provider Tokens
description: List all cloud provider tokens for the authenticated team.
operationId: list-cloud-tokens
responses:
'200':
description: Get all cloud provider tokens.
content:
application/json:
schema:
type: array
items:
properties:
uuid:
type: string
name:
type: string
provider:
type: string
enum:
- hetzner
- digitalocean
team_id:
type: integer
servers_count:
type: integer
created_at:
type: string
updated_at:
type: string
type: object
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
security:
- bearerAuth: []
post:
tags:
- Cloud Tokens
summary: Create Cloud Provider Token
description: Create a new cloud provider token. The token will be validated before being stored.
operationId: create-cloud-token
requestBody:
description: Cloud provider token details
required: true
content:
application/json:
schema:
required:
- provider
- token
- name
properties:
provider:
type: string
enum:
- hetzner
- digitalocean
example: hetzner
description: The cloud provider.
token:
type: string
example: your-api-token-here
description: The API token for the cloud provider.
name:
type: string
example: My Hetzner Token
description: A friendly name for the token.
type: object
responses:
'201':
description: Cloud provider token created.
content:
application/json:
schema:
properties:
uuid:
type: string
example: og888os
description: The UUID of the token.
type: object
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
'422':
$ref: '#/components/responses/422'
security:
- bearerAuth: []
/cloud-tokens/{uuid}:
get:
tags:
- Cloud Tokens
summary: Get Cloud Provider Token
description: Get cloud provider token by UUID.
operationId: get-cloud-token-by-uuid
parameters:
- name: uuid
in: path
description: Token UUID
required: true
schema:
type: string
responses:
'200':
description: Get cloud provider token by UUID
content:
application/json:
schema:
properties:
uuid:
type: string
name:
type: string
provider:
type: string
team_id:
type: integer
servers_count:
type: integer
created_at:
type: string
updated_at:
type: string
type: object
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
security:
- bearerAuth: []
delete:
tags:
- Cloud Tokens
summary: Delete Cloud Provider Token
description: Delete cloud provider token by UUID. Cannot delete if token is used by any servers.
operationId: delete-cloud-token-by-uuid
parameters:
- name: uuid
in: path
description: UUID of the cloud provider token.
required: true
schema:
type: string
responses:
'200':
description: Cloud provider token deleted.
content:
application/json:
schema:
properties:
message:
type: string
example: Cloud provider token deleted.
type: object
'401':
$ref: '#/components/responses/401'
'400':
$ref: '#/components/responses/400'
'404':
$ref: '#/components/responses/404'
security:
- bearerAuth: []
patch:
tags:
- Cloud Tokens
summary: Update Cloud Provider Token
description: Update cloud provider token name.
operationId: update-cloud-token-by-uuid
parameters:
- name: uuid
in: path
description: Token UUID
required: true
schema:
type: string
requestBody:
description: Cloud provider token updated.
required: true
content:
application/json:
schema:
properties:
name:
type: string
description: The friendly name for the token.
type: object
responses:
'200':
description: Cloud provider token updated.
content:
application/json:
schema:
properties:
uuid:
type: string
type: object
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
'422':
$ref: '#/components/responses/422'
security:
- bearerAuth: []
/cloud-tokens/{uuid}/validate:
post:
tags:
- Cloud Tokens
summary: Validate Cloud Provider Token
description: Validate a cloud provider token against the provider API.
operationId: validate-cloud-token-by-uuid
parameters:
- name: uuid
in: path
description: Token UUID
required: true
schema:
type: string
responses:
'200':
description: Token validation result.
content:
application/json:
schema:
properties:
valid:
type: boolean
example: true
message:
type: string
example: Token is valid.
type: object
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
security:
- bearerAuth: []
components:
responses:
'404':
description: Resource not found.
content:
application/json:
schema:
properties:
message:
type: string
example: Resource not found.
type: object
'422':
description: Validation error.
content:
application/json:
schema:
properties:
message:
type: string
example: Validation error.
errors:
type: object
example:
name:
- The name field is required.
api_url:
- The api url field is required.
- The api url format is invalid.
additionalProperties:
type: array
items:
type: string
type: object
'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
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