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 Code | Description |
|---|---|
| 200 | Successful 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
| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Chutes-Nonce | string | null | No |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| quote | string | Yes | Base64 encoded TDX quote |
| miner_hotkey | string | Yes | Miner hotkey that owns this VM |
| vm_name | string | Yes | VM name/identifier |
Responses
| Status Code | Description |
|---|---|
| 200 | Successful Response |
| 422 | Validation 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
| Parameter | Type | Required | Description |
|---|---|---|---|
| vm_name | string | Yes | |
| hotkey | string | Yes | |
| X-Boot-Token | string | null | No |
Responses
| Status Code | Description |
|---|---|
| 200 | Successful Response |
| 422 | Validation 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
| Parameter | Type | Required | Description |
|---|---|---|---|
| vm_name | string | Yes | |
| X-Chutes-Hotkey | string | null | No | |
| X-Boot-Token | string | null | No |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| volumes | string[] | Yes | Volume names the VM is managing (defines full set) |
| rekey | string[] | null | No | Volume names that must receive new passphrases (no reuse); must be subset of volumes |
Responses
| Status Code | Description |
|---|---|
| 200 | Successful Response |
| 422 | Validation 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
| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Chutes-Hotkey | string | null | No | |
| X-Chutes-Signature | string | null | No | |
| X-Chutes-Nonce | string | null | No | |
| Authorization | string | null | No |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| host | string | Yes | Public IP address or DNS Name of the server |
| id | string | Yes | Server ID (e.g. k8s node uid) |
| name | string | null | No | Server name (defaults to server id if omitted) |
| gpus | NodeArgs[] | Yes | GPU info for this server |
Responses
| Status Code | Description |
|---|---|
| 201 | Successful Response |
| 422 | Validation 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
| Parameter | Type | Required | Description |
|---|---|---|---|
| server_id | string | Yes | |
| server_name | string | Yes | New VM name to set |
| X-Chutes-Hotkey | string | null | No | |
| X-Chutes-Signature | string | null | No | |
| X-Chutes-Nonce | string | null | No | |
| Authorization | string | null | No |
Responses
| Status Code | Description |
|---|---|
| 200 | Successful Response |
| 422 | Validation Error |
Authentication
This endpoint requires authentication.
Get Server Details
Get details for a specific server by miner hotkey and server id.
Endpoint:
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| server_id | string | Yes | |
| X-Chutes-Hotkey | string | null | No | |
| X-Chutes-Signature | string | null | No | |
| X-Chutes-Nonce | string | null | No | |
| Authorization | string | null | No |
Responses
| Status Code | Description |
|---|---|
| 200 | Successful Response |
| 422 | Validation 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
| Parameter | Type | Required | Description |
|---|---|---|---|
| server_name_or_id | string | Yes | |
| X-Chutes-Hotkey | string | null | No | |
| X-Chutes-Signature | string | null | No | |
| X-Chutes-Nonce | string | null | No | |
| Authorization | string | null | No |
Responses
| Status Code | Description |
|---|---|
| 200 | Successful Response |
| 422 | Validation Error |
Authentication
This endpoint requires authentication.
Get Runtime Nonce
Generate a nonce for runtime attestation.
Endpoint:
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| server_id | string | Yes | |
| X-Chutes-Hotkey | string | null | No | |
| X-Chutes-Signature | string | null | No | |
| X-Chutes-Nonce | string | null | No | |
| Authorization | string | null | No |
Responses
| Status Code | Description |
|---|---|
| 200 | Successful Response |
| 422 | Validation Error |
Authentication
This endpoint requires authentication.
Verify Runtime Attestation
Verify runtime attestation with full measurement validation.
Endpoint:
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| server_id | string | Yes | |
| X-Chutes-Hotkey | string | null | No | |
| X-Chutes-Signature | string | null | No | |
| X-Chutes-Nonce | string | null | No | |
| Authorization | string | null | No |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| quote | string | Yes | Base64 encoded TDX quote |
Responses
| Status Code | Description |
|---|---|
| 200 | Successful Response |
| 422 | Validation Error |
Authentication
This endpoint requires authentication.
Get Attestation Status
Get current attestation status for a server by miner hotkey and server id.
Endpoint:
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| server_id | string | Yes | |
| X-Chutes-Hotkey | string | null | No | |
| X-Chutes-Signature | string | null | No | |
| X-Chutes-Nonce | string | null | No | |
| Authorization | string | null | No |
Responses
| Status Code | Description |
|---|---|
| 200 | Successful Response |
| 422 | Validation Error |
Authentication
This endpoint requires authentication.