Machines
List all machine(s) with their applied configurations.
Headers
Authorization*
HMAC {key}:{signature}:{nonce}:{timestamp}
Content-Type
application/json
Query Parameters
page
Integer
1
Page number
per_page
Integer
20
Record count per page
q
String
-
Search query by user email or machine name
Success Response Example
{
"machines": [
{
"id": "1080",
"type": "machine",
"attributes": {
"name": "Computer #1080",
"region": null,
"last_session_start_at": null,
"friendly_status": "off",
"auto_stop_threshold": 900,
"file_storage_size": 25,
"disk_size": 75,
"network_credit": 10737418240,
"machine_type": "Planet",
"remaining_usage": 2400,
"deposited_usage": 0,
"user": null,
"permissions": {
"public_internet_access": true,
"can_download_from_vagon_workstation": true,
"analytics_collection_enabled": false,
"clipboard_enabled": true,
"screen_recording_enabled": true,
"input_recording_enabled": true
}
}
}
],
"count": 1,
"page": 1,
"next_page": null,
"client_code": 200,
"message": "OK",
"timestamp": "2026-01-15T15:03:08Z"
}
Success Response Fields
machines
Array
Array of created machine objects
machines[].id
Integer
Machine ID
machines[].name
String
Machine Name
machines[].region
String
Machine Region
machines[].friendly_status
String
Machine Status - check documentation for detailed machine states.
machines[].machine_type
String
Machine Performance Type
machines[].user
Object
Assigned User (null if no user)
machines[].permissions
Object
Machine Permissions
machines[].auto_stop_threshold
Integer
Auto-stop threshold in seconds. When there is no connection system automatically turns off the machine to prevent unintended usages.
machines[].file_storage_size
Integer
Vagon Files storage size in bytes
machines[].disk_size
Integer
Machine disk size in bytes
machines[].network_credit
Integer
Available outbound network credits in bytes
machines[].remaining_usage
Integer
Remaining usage time (in seconds). null if not available
machines[].deposited_usage
Integer
Deposited usage time (in seconds). null if not available
count
Integer
Total number of machines
page
Integer
Current page number
next_page
Integer
Next page number. null if this is the last page
(Optional) Page number. Default: 1
1(Optional) Records per page. Default: 20
20(Optional) Search by user email or machine name
Create machine(s) with selected configurations. Associated payments will be processed from organization balance.
Headers
Authorization*
HMAC {key}:{signature}:{nonce}:{timestamp}
Content-Type
application/json
Body Parameters
plan_id*
Integer
Plan ID. Determines which plan the machine will use. Defines available machine types, disk size, file storage size, etc. Contact Vagon team to learn Plan ID options.
quantity
Integer
Number of machines to create. Must be greater than 0. Default: 1
software_ids
Array[Integer]
Array of software IDs to pre-install. Use GET /software to see available software
base_image_id
Integer
Base image ID, when it's null uses latest base image. Use GET /software to see available images
permissions.public_internet_access
Boolean
Whether machine has internet access. Default: true
permissions.can_download_from_vagon_workstation
Boolean
Whether files can be downloaded from Vagon machine. Default: true
permissions.analytics_collection_enabled
Boolean
Whether analytics collection is enabled. Default: false
permissions.clipboard_enabled
Boolean
Whether clipboard sharing is enabled. Default: true
permissions.screen_recording_enabled
Boolean
Whether screen recording is enabled. Default: false
permissions.input_recording_enabled
Boolean
Whether input recording is enabled. Default: false
Request Body
{
"plan_id": 1,
"quantity": 1,
"software_ids": [],
"base_image_id": null,
"permissions": {
"public_internet_access": true,
"can_download_from_vagon_workstation": true,
"analytics_collection_enabled": false,
"clipboard_enabled": true,
"screen_recording_enabled": false,
"input_recording_enabled": false
}
}
Success Response Example
Success Response Fields
machines
Array
Array of created machine objects
machines[].id
Integer
Machine ID
machines[].name
String
Machine Name
machines[].friendly_status
String
Machine Status - check documentation for detailed machine states.
machines[].machine_type
String
Machine Performance Type
machines[].user
Object
Assigned User (null if no user)
machines[].permissions
Object
Machine Permissions
machines[].auto_stop_threshold
Integer
Auto-stop threshold in seconds. When there is no connection system automatically turns off the machine to prevent unintended usages.
machines[].file_storage_size
Integer
Vagon Files storage size in bytes
machines[].disk_size
Integer
Machine disk size in bytes
machines[].network_credit
Integer
Available outbound network credits in bytes
count
Integer
Number of machines created
Error Responses
400
Bad request.
404
Plan ID is not found.
480
Insufficient balance to create computer.
Start selected machine.
Headers
Authorization*
HMAC {key}:{signature}:{nonce}:{timestamp}
Content-Type
application/json
Path Parameters
id*
Integer
Machine ID
Success Response
{
"client_code": 200,
"message": "OK",
"timestamp": "2026-01-15T15:14:09Z"
}
Error Responses
400
Bad request
480
Insufficient balance
(Required) Machine ID
1Lists all available machine types for a specific machine based on its plan.
Machine types define the hardware specifications (CPU, RAM, GPU) that can be used for the machine.
Headers
Authorization*
HMAC {key}:{signature}:{nonce}:{timestamp}
Content-Type
application/json
Path Parameters
id
Integer
Machine ID
Response Fields
machine_types
Array
Array of available machine type objects
machine_types[].id
Integer
Machine type ID (use this in machine_type_id parameter)
machine_types[].friendly_name
String
Human-readable machine type name (e.g., "Standard", "Performance")
machine_types[].cpu
Integer
Number of CPU cores
machine_types[].memory
Decimal
RAM size in GB (e.g., 16.0, 32.0)
machine_types[].gpu
Integer
Number of GPUs (0 = no GPU)
machine_types[].gpu_memory
Decimal
GPU memory in GB (0.0 if no GPU)
Response Example
{
"machine_types": [
{
"id": 1,
"friendly_name": "Standard",
"cpu": 4,
"memory": 16.0,
"gpu": 0,
"gpu_memory": 0.0
},
{
"id": 2,
"friendly_name": "Performance",
"cpu": 8,
"memory": 32.0,
"gpu": 1,
"gpu_memory": 16.0
}
]
}
(Required) Machine ID
1Changes the machine performance type. Allows you to change the machine's CPU, RAM, GPU, and GPU memory allocation. The machine must be stopped before changing the type.
Headers
Authorization*
HMAC {key}:{signature}:{nonce}:{timestamp}
Content-Type
application/json
Path Parameters
id
Integer
Machine ID
Body Parameters
machine_type_id
Integer
Yes
New machine type ID. Must be one of the types available in the machine's plan. Use GET /machines/:id/available-machine-types to see available types
Success Response:
{
"client_code": 200,
"message": "OK",
"timestamp": "2026-01-15T15:14:09Z"
}
(Required) Machine ID
1Stop the selected running machine.
Headers
Authorization*
HMAC {key}:{signature}:{nonce}:{timestamp}
Content-Type
application/json
Path Parameters
id*
Integer
Machine ID
Body Parameters
gracefully
Boolean
false
true: Sends graceful shutdown signal, and let system to save logs and recordings. Use to prevent any file interruptions.
false: Stops machine immediately
Error Responses
400
Bad request (machine is not running)
Success Response
{
"client_code": 200,
"message": "OK",
"timestamp": "2026-01-15T15:14:09Z"
}
(Required) Machine ID
1Creates a temporary access token for external access to the machine.
Headers
Authorization*
HMAC {key}:{signature}:{nonce}:{timestamp}
Content-Type
application/json
Path Parameters
id
Integer
Machine ID
Body Parameters
expires_in*
Integer
Token validity duration in minutes. Minimum: 1 minute. Example: 60 = 1 hour, 1440 = 24 hours
Success Response
{
"id": "1",
"type": "machine_external_access",
"attributes": {
"uid": "62ba2d60-5ee2-46c7-aa64-957da90ef117",
"expires_at": "2024-10-01T04:00:06.307Z",
"connection_link": "https://app.vagon.io/team/session/62ba2d60-5ee2-46c7-aa64-957da90ef117"
},
"client_code": 200,
"timestamp": "2025-09-30T11:20:06Z"
}
Response Fields
id
String
Unique identifier for the access token
attributes[].expires_at
String
ISO 8601 timestamp when the token expires
attributes[].connection_link
String
Full URL that can be shared with users to access the machine
(Required) Machine ID
1Resets all files and data inside the computer, and revert it to the initial machine image state. This action is irreversible. All data on the machine will be permanently deleted.
Headers
Authorization*
HMAC {key}:{signature}:{nonce}:{timestamp}
Content-Type
application/json
Path Parameters
id*
Integer
Machine ID
Success Response
{
"client_code": 200,
"message": "OK",
"timestamp": "2026-01-15T15:14:09Z"
}
Error Responses
400
Bad request
(Required) Machine ID
1Last updated