Skip to main content
The Caravanserai control plane exposes a JSON REST API served by cara-server.

Base URL

Replace <cara-server-host> with the hostname or IP address of the machine running cara-server. The default port is 8080.

Request format

For endpoints that accept a body (POST, PATCH), set the Content-Type header:

Response format

All responses — including errors — are JSON.

Error format

Errors follow RFC 7807 (application/problem+json) and always include title and detail fields:

HTTP status codes

Resources

The API exposes two top-level resource kinds. Nodes — physical or virtual machines running cara-agent. Nodes self-register on startup and send periodic heartbeats to report liveness and capacity. The scheduler only assigns work to nodes whose state is Ready. Projects — workload definitions composed of one or more containers (services) that must run co-located on a single node. Services share a Docker bridge network and resolve each other by service name.