fn listServices()
List all services on the Coolify instance.
fn getService(uuid: string)
Fetch one service by uuid and snapshot it, including its docker_compose_raw.
| Argument | Type | Required | Description |
|---|
| uuid | string | yes | Service uuid |
fn listServers()
List all deploy-target servers on the Coolify instance (host/IP, user, port, reachability).
fn getServer(uuid: string)
Fetch one server by uuid and snapshot it (host/IP, user, port, reachability flags).
| Argument | Type | Required | Description |
|---|
| uuid | string | yes | Server uuid |
fn listProjects()
List all projects on the Coolify instance (GET /projects). A project's uuid + one of its environments (see getProjectEnvironments) are required to create an application.
fn getProjectEnvironments(uuid: string)
List a project's environments (GET /projects/{uuid}/environments) and snapshot each one's name + uuid — createGitComposeApplication needs BOTH the environment name and uuid.
| Argument | Type | Required | Description |
|---|
| uuid | string | yes | Project uuid |
fn listPrivateKeys()
List deploy/private keys on the instance (GET /security/keys) — metadata ONLY (uuid/name/description/fingerprint). The private key material the API returns is deliberately never persisted. Use a key's uuid as privateKeyUuid when creating an app from a private git repo over SSH.
fn listGithubApps()
List configured GitHub-app git sources on the instance (GET /github-apps). An empty result means the instance has no GitHub App configured and deploys only from public/deploy-key git repos. (Coolify v1 has no generic git-source list — only GitHub apps.)
fn updateServer(uuid: string, port?: string, user?: string, name?: string, description?: string)
Repoint/update a server's connection settings (ip, port, user, name, description) via PATCH /servers/{uuid}. Sends instant_validate so Coolify re-tests SSH immediately, then re-fetches the server so the snapshot reflects post-change reachability. At least one mutable field is required. Gated behind confirm:true; records an audit attempt on both paths.
| Argument | Type | Required | Description |
|---|
| uuid | string | yes | Server uuid to update |
| port? | string | no | New SSH port |
| user? | string | no | New SSH user |
| name? | string | no | New display name |
| description? | string | no | New description |
fn updateServiceCompose(uuid: string)
Replace a service's docker_compose_raw (base64-encoded on the wire) via PATCH. Gated behind confirm:true. Records an audit attempt on both paths.
| Argument | Type | Required | Description |
|---|
| uuid | string | yes | Service uuid |
fn deploy(uuid: string)
Trigger a (re)deploy of a service by uuid. Gated behind confirm:true. Records an audit attempt.
| Argument | Type | Required | Description |
|---|
| uuid | string | yes | Service uuid to deploy |
fn restartService(uuid: string)
Restart a service (optionally pulling latest images). Records an audit attempt.
| Argument | Type | Required | Description |
|---|
| uuid | string | yes | Service uuid |
fn listApplications()
List all applications on the Coolify instance.
fn getApplication(uuid: string)
Fetch one application by uuid and snapshot it.
| Argument | Type | Required | Description |
|---|
| uuid | string | yes | Application uuid |
fn controlApplication(uuid: string)
Start, stop, or restart an application by uuid. Gated behind confirm:true for all three actions (one predictable rule, even though `start` is arguably safe). Records an audit attempt on both paths. NOTE: to pick up a freshly built image, use `deploy` — there is no `?latest=` pull-latest param on the application restart endpoint (that exists only for services); `restart` recreates the app from its current image/build without pulling.
| Argument | Type | Required | Description |
|---|
| uuid | string | yes | Application uuid |
fn createApplicationStorage(uuid: string, name: string)
Add a persistent (named-volume) storage to an application so its data survives redeploys. POST /applications/{uuid}/storages. Gated behind confirm:true; records an audit attempt on both paths. Takes effect on the next deploy.
| Argument | Type | Required | Description |
|---|
| uuid | string | yes | Application uuid |
| name | string | yes | Storage name (label in Coolify) |
Resources
services(infinite)— Snapshot of all services on the instance
service(infinite)— Snapshot of one service, including its docker_compose_raw
servers(infinite)— Snapshot of all deploy-target servers on the instance
server(infinite)— Snapshot of one server (host/IP, user, port, reachability flags)
applications(30d)— Snapshot of all applications on the instance
application(infinite)— Snapshot of one application
deployment(infinite)— Record of a triggered deploy
projects(infinite)— Snapshot of all projects on the instance
environments(infinite)— Snapshot of one project's environments (name + uuid)
privateKeys(infinite)— Snapshot of deploy/private keys — metadata only (uuid/name/fingerprint), never key material
githubApps(infinite)— Snapshot of configured GitHub-app git sources (empty = instance deploys only from public/deploy-key git repos)
attempt(infinite)— Audit record of a mutation attempt (request + result/error + timestamp). Written on both success and failure.