Operations 5
Documentation
Documentation
https://coolify.io/docs/api-reference/authorization
Authentication
https://coolify.io/docs/api-reference/authorization
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/coolify-private-keys-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Coolify Applications Private Keys 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: Private Keys
description: Private Keys
paths:
/security/keys:
get:
tags:
- Private Keys
summary: List
description: List all private keys.
operationId: list-private-keys
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: create-private-key
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'
'422':
$ref: '#/components/responses/422'
security:
- bearerAuth: []
patch:
tags:
- Private Keys
summary: Update
description: Update a private key.
operationId: update-private-key
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'
'422':
$ref: '#/components/responses/422'
security:
- bearerAuth: []
/security/keys/{uuid}:
get:
tags:
- Private Keys
summary: Get
description: Get key by UUID.
operationId: get-private-key-by-uuid
parameters:
- name: uuid
in: path
description: Private Key UUID
required: true
schema:
type: string
responses:
'200':
description: Get all private keys.
content:
application/json:
schema:
$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: delete-private-key-by-uuid
parameters:
- name: uuid
in: path
description: Private Key UUID
required: true
schema:
type: string
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.
'422':
description: Private Key is in use and cannot be deleted.
content:
application/json:
schema:
properties:
message:
type: string
example: Private Key is in use and cannot be deleted.
type: object
security:
- bearerAuth: []
components:
responses:
'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
'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
schemas:
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
public_key:
type: string
description: The public key of the private key.
fingerprint:
type: string
description: The fingerprint of the private key.
is_git_related:
type: boolean
team_id:
type: integer
created_at:
type: string
updated_at:
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