Developers

Start

Servers API Reference

This section covers all endpoints related to servers.

Get Nonce

Generate a nonce for boot attestation.

This endpoint is called by VMs during boot before any registration. No authentication required as the VM doesn't exist in the system yet.

Endpoint:

Responses

Status CodeDescription
200Successful Response

Verify Boot Attestation

Verify boot attestation and return LUKS passphrase.

This endpoint verifies the TDX quote against expected boot measurements and returns the LUKS passphrase for disk decryption if valid.

Endpoint:

Parameters

ParameterTypeRequiredDescription
X-Chutes-Noncestring | nullNo

Request Body

FieldTypeRequiredDescription
quotestringYesBase64 encoded TDX quote
miner_hotkeystringYesMiner hotkey that owns this VM
vm_namestringYesVM name/identifier

Responses

Status CodeDescription
200Successful Response
422Validation Error

Get Cache Luks Passphrase

Retrieve existing LUKS passphrase for cache volume encryption.

This endpoint is called when the initramfs detects that the cache volume is already encrypted. It retrieves the passphrase that was previously generated for this VM configuration (miner_hotkey + vm_name).

The hotkey must be provided as a query parameter. The boot token must be provided in the X-Boot-Token header.

Endpoint:

Parameters

ParameterTypeRequiredDescription
vm_namestringYes
hotkeystringYes
X-Boot-Tokenstring | nullNo

Responses

Status CodeDescription
200Successful Response
422Validation Error

Sync Luks Passphrases

Sync LUKS passphrases: VM sends volume list; API returns keys for existing volumes, creates keys for new volumes, rekeys volumes in rekey list, and prunes stored keys for volumes not in the list. Boot token is consumed after successful POST.

Endpoint:

Parameters

ParameterTypeRequiredDescription
vm_namestringYes
X-Chutes-Hotkeystring | nullNo
X-Boot-Tokenstring | nullNo

Request Body

FieldTypeRequiredDescription
volumesstring[]YesVolume names the VM is managing (defines full set)
rekeystring[] | nullNoVolume names that must receive new passphrases (no reuse); must be subset of volumes

Responses

Status CodeDescription
200Successful Response
422Validation Error

Create Server

Register a new server.

This is called via CLI after the server has booted and decrypted its disk. Links the server to any existing boot attestation history via server ip.

Endpoint:

Parameters

ParameterTypeRequiredDescription
X-Chutes-Hotkeystring | nullNo
X-Chutes-Signaturestring | nullNo
X-Chutes-Noncestring | nullNo
Authorizationstring | nullNo

Request Body

FieldTypeRequiredDescription
hoststringYesPublic IP address or DNS Name of the server
idstringYesServer ID (e.g. k8s node uid)
namestring | nullNoServer name (defaults to server id if omitted)
gpusNodeArgs[]YesGPU info for this server

Responses

Status CodeDescription
201Successful Response
422Validation Error

Authentication

This endpoint requires authentication.


Patch Server Name

Update name for an existing server. Path is server_id; query param is the new name. The server row is updated when hotkey and server_id match.

Endpoint:

Parameters

ParameterTypeRequiredDescription
server_idstringYes
server_namestringYesNew VM name to set
X-Chutes-Hotkeystring | nullNo
X-Chutes-Signaturestring | nullNo
X-Chutes-Noncestring | nullNo
Authorizationstring | nullNo

Responses

Status CodeDescription
200Successful Response
422Validation Error

Authentication

This endpoint requires authentication.


Get Server Details

Get details for a specific server by miner hotkey and server id.

Endpoint:

Parameters

ParameterTypeRequiredDescription
server_idstringYes
X-Chutes-Hotkeystring | nullNo
X-Chutes-Signaturestring | nullNo
X-Chutes-Noncestring | nullNo
Authorizationstring | nullNo

Responses

Status CodeDescription
200Successful Response
422Validation Error

Authentication

This endpoint requires authentication.


Remove Server

Remove a server by miner hotkey and server id or VM name (path param server_name_or_id).

Endpoint:

Parameters

ParameterTypeRequiredDescription
server_name_or_idstringYes
X-Chutes-Hotkeystring | nullNo
X-Chutes-Signaturestring | nullNo
X-Chutes-Noncestring | nullNo
Authorizationstring | nullNo

Responses

Status CodeDescription
200Successful Response
422Validation Error

Authentication

This endpoint requires authentication.


Get Runtime Nonce

Generate a nonce for runtime attestation.

Endpoint:

Parameters

ParameterTypeRequiredDescription
server_idstringYes
X-Chutes-Hotkeystring | nullNo
X-Chutes-Signaturestring | nullNo
X-Chutes-Noncestring | nullNo
Authorizationstring | nullNo

Responses

Status CodeDescription
200Successful Response
422Validation Error

Authentication

This endpoint requires authentication.


Verify Runtime Attestation

Verify runtime attestation with full measurement validation.

Endpoint:

Parameters

ParameterTypeRequiredDescription
server_idstringYes
X-Chutes-Hotkeystring | nullNo
X-Chutes-Signaturestring | nullNo
X-Chutes-Noncestring | nullNo
Authorizationstring | nullNo

Request Body

FieldTypeRequiredDescription
quotestringYesBase64 encoded TDX quote

Responses

Status CodeDescription
200Successful Response
422Validation Error

Authentication

This endpoint requires authentication.


Get Attestation Status

Get current attestation status for a server by miner hotkey and server id.

Endpoint:

Parameters

ParameterTypeRequiredDescription
server_idstringYes
X-Chutes-Hotkeystring | nullNo
X-Chutes-Signaturestring | nullNo
X-Chutes-Noncestring | nullNo
Authorizationstring | nullNo

Responses

Status CodeDescription
200Successful Response
422Validation Error

Authentication

This endpoint requires authentication.