Skip to content

Admin REST API

The admin server exposes a REST API over HTTPS (port 443 by default). All endpoints that modify state require a Bearer token in the Authorization header.

All /v1/configure/ endpoints require an account token. Volume-scoped endpoints (/v1/volumes/for-token/) accept a volume token. Meta-server endpoints (/v1/volumes/stats, /v1/volumes/retired, /v1/rate-bins) accept a meta store token.

Authorization: Bearer $TOKEN

These endpoints provide generic CRUD operations on all admin resource tables. The {table} parameter corresponds to the API name of the resource (e.g., accounts, volumes, block-stores).

GET /v1/configure/{table}?key=value&...

Returns a JSON array of all records in the table. Query parameters are used as filters.

Response: 200 OK with JSON array.

GET /v1/configure/{table}/{id}
GET /v1/configure/{table}/{id1}/{id2}

Returns a single record by primary key. Composite-key resources (e.g., regions) use the two-ID form.

Response: 200 OK with JSON object.

POST /v1/configure/{table}
Content-Type: application/json
{ "field": "value", ... }

Creates a new record.

Response: 200 OK with the created JSON object.

PUT /v1/configure/{table}/{id}
PUT /v1/configure/{table}/{id1}/{id2}
Content-Type: application/json
{ "field": "new_value", ... }

Updates an existing record. Only provided fields are modified.

Response: 204 No Content.

DELETE /v1/configure/{table}/{id}
DELETE /v1/configure/{table}/{id1}/{id2}

Deletes a record. For volumes, this sets the retired_at timestamp rather than removing the row.

Response: 204 No Content.

TablePrimary KeyDescription
accountsidUser accounts
block-apiscodeBlock store API types (read-only)
block-storesidBlock store configurations
meta-storesidMetadata store registrations
providerscodeCloud providers
proxy-groupsidProxy groups
regionsprovider_code, codeProvider regions (composite key)
volumesidVolumes
volume-proxy-groupsvolume_id, proxy_group_idVolume-to-proxy-group associations
volume-tokenstokenVolume access tokens
GET /v1/volumes/for-token/settings
Authorization: Bearer $TOKEN

Returns the volume settings for the token’s associated volume, including block size, compression, encryption, retention, mount flags, and proxy group addresses.

PATCH /v1/volumes/for-token/secret-id
Authorization: Bearer $TOKEN
Content-Type: application/json
{ "secret_id": "xxxxxxxx" }

Registers or updates the encryption secret ID for the volume.

GET /v1/volumes/for-name/{volumeName}/tokens
Authorization: Bearer $TOKEN

Returns the list of volume tokens for the named volume.

DELETE /v1/volumes/for-name/{volumeName}
Authorization: Bearer $TOKEN

Retires a volume by name.

DELETE /v1/volumes/{volumeID}
Authorization: Bearer $TOKEN

Retires or cleans a volume by ID.

GET /deploy/install-mount.sh

Returns a shell script that downloads and configures the mount client. No authentication required.

GET /deploy/{channel}/{version}/linux/{arch}/mount.flexfs

Serves the mount client binary. Channels are staging and production. No authentication required.

POST /v1/volumes/stats
Authorization: Bearer $TOKEN
Content-Type: application/json

Accepts volume statistics from metadata servers for billing and metering.

GET /v1/volumes/retired
Authorization: Bearer $TOKEN

Returns volumes retired in the past two weeks for the authenticated metadata server.

GET /v1/rate-bins
Authorization: Bearer $TOKEN

Proxies rate bin data from the stat server.

GET /v1/status

Returns server health status. No authentication required.