FerryDocs
DevelopersAPI reference

Server info

Server info, liveness and the OpenAPI document.

Server info

GET/api/v1/info

Version, base domain and default domain, proxy and dashboard URLs, TLS and GitHub webhook status, Docker version. Clients use it to validate a token. github_webhook_enabled says whether pushes can reach the server at all: through the app of a connected GitHub account, or through a webhook added to a repository with the server's own secret (github_webhook_secret_set).

Authorization

AuthorizationBearer <token>

An API token: one created in the dashboard or by ferry login, or the server token stored in <data-dir>/api_token. GET requests may send it as ?access_token= instead.

In: header

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/info" \  -H "Authorization: Bearer $FERRY_TOKEN"
{  "base_domain": "string",  "dashboard_url": "string",  "default_cpu_limit": 0.1,  "default_domain": "string",  "default_memory_limit_mb": 0,  "docker_cpus": 0,  "docker_memory_bytes": 0,  "docker_version": "string",  "github_webhook_enabled": true,  "github_webhook_secret_set": true,  "proxy_url": "string",  "tls_enabled": true,  "version": "string"}

Liveness probe

GET/healthz

Answers ok while the server runs. No token needed.

Response Body

text/plain

curl -X GET "https://example.com/healthz"
"ok"

This OpenAPI document

GET/api/openapi.json

The OpenAPI 3.1 document of this API, as JSON. No token needed; Swagger UI at /api/docs renders it.

Response Body

application/json

curl -X GET "https://example.com/api/openapi.json"
{}