CoolifyApi 1.0.0
dotnet add package CoolifyApi --version 1.0.0
NuGet\Install-Package CoolifyApi -Version 1.0.0
<PackageReference Include="CoolifyApi" Version="1.0.0" />
<PackageVersion Include="CoolifyApi" Version="1.0.0" />
<PackageReference Include="CoolifyApi" />
paket add CoolifyApi --version 1.0.0
#r "nuget: CoolifyApi, 1.0.0"
#:package CoolifyApi@1.0.0
#addin nuget:?package=CoolifyApi&version=1.0.0
#tool nuget:?package=CoolifyApi&version=1.0.0
CoolifyClient
A .NET client for the Coolify API, generated from openapi.yaml and then manually fine-tuned.
Installation
dotnet add package CoolifyApi
Usage
Recommended (simplified facade)
using CoolifyApi;
var client = new CoolifyApiClient(
apiKey: "your-api-token",
baseUrl: "https://your-coolify-instance.com/api/v1");
var health = await client.HealthcheckAsync();
var servers = await client.ListServersAsync();
var applications = await client.ListApplicationsAsync();
var projects = await client.ListProjectsAsync();
Full generated surface (all endpoints)
using CoolifyApi;
var client = new CoolifyApiClient("your-api-token", "https://your-coolify-instance.com/api/v1");
// Access the generated Refit interface directly:
var allTeams = await client.Service.ListTeams();
var app = await client.Service.GetApplicationByUuid("app-uuid");
How this client is generated
The API interface and models in src/CoolifyApi/ICoolifyApi.cs are generated with Refitter from src/openapi.yaml.
Typical command used:
dotnet refitter src/openapi.yaml --skip-validation --simple-output
Notes:
--skip-validationis used because the source OpenAPI document is3.1.0, while the generator validation path does not fully support it.- Generated code is then committed into
ICoolifyApi.cs.
Manual fine-tuning applied
The exposed API behavior on Coolify v4.0.0-beta.463 is not fully aligned with the shipped OpenAPI schema, so manual fixes were required:
Application.build_packcompatibility fix- The schema enum is too strict (
nixpacks,static,dockerfile,dockercompose). - Real API responses include additional values (for example
dockerimage). - To avoid deserialization failures,
Application.BuildPackis treated asstring.
- The schema enum is too strict (
Simplified public API layer
CoolifyApiClientexposes small summary models (ApplicationSummary,ServerSummary, etc.) for common operations.- The full generated interface is still available through
client.Service.
Integration Tests
Configure your API key via user secrets:
cd tests/CoolifyApi.IntegrationTests
dotnet user-secrets set "Coolify:ApiKey" "<your-token>"
dotnet user-secrets set "Coolify:BaseUrl" "https://your-coolify-instance.com/api/v1"
Then run:
dotnet test
License
See LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Refit (>= 10.1.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 119 | 3/25/2026 |