Each API serves its OpenAPI 3.1 document at
/openapi.json and a browsable version at /docs. The pages here cover
the subset of endpoints a cluster user needs. Everything else in those documents is either internal or not yet
documented for customers.
Endpoints
Making requests
The examples use theandromeda CLI, which signs you in and attaches your token to each request. See
Authentication to set it up. andromeda call takes the API name, the HTTP method,
and the path:
On a
2xx response the CLI writes the response body to standard output and exits 0. It does not print the status
or headers. On any other status it writes one line to standard error and exits 1:
3xx is reported the same way as an error.
To call the APIs from your own HTTP client, send Authorization: Bearer <access token>. The
authentication guide explains which tokens are
accepted.
Identifiers
A cluster has one ID, and both APIs use it. You also type it as part of your SSH login name.
Organization in the request
Every read is scoped to one organization. Business puts the organization in the path. Platform takes it as a query parameter for cluster routes and in the path for organization routes. The query parameter has two names:
The parameter is required when you call as a person, even where the OpenAPI document marks it optional. Without it,
Platform returns
400 with code invalid_organization, or 422 where the document marks it required.
Field names
Business usessnake_case throughout. Platform uses camelCase, except for /ssh-access and /machines, which
use snake_case. Each reference page shows the exact field names.
Pagination
Platform lists are ordered by ID and takelimit (1 to 200, default 50) and after (an ID). When more items exist,
the response carries a token. Pass it as after to get the next page. The token is nextPageToken on /clusters and
next_page_token on /machines. It is absent on the last page.
Retrying writes
Business write endpoints take two headers:
If a request fails in transit, send it again with the same key and body. A replay returns
200 with the same result
as the first success, which is 201 when the request created something. Reusing a key with a different body returns
409 with code idempotency_mismatch. Your permissions are checked again on every replay.
The Platform PUT endpoints on these pages replace a whole document. Sending the same document twice leaves the
same result, so they take no idempotency header.
Versioning
Paths carry no version. Each API’s OpenAPI document states its current version ininfo.version.