Machines

List Machines

get

List all machine(s) with their applied configurations.

Headers

Name
Type

Authorization*

HMAC {key}:{signature}:{nonce}:{timestamp}

Content-Type

application/json

Query Parameters

Parameter
Type
Default
Description

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

Field
Type
Description

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

Query parameters
pageintegerOptional

(Optional) Page number. Default: 1

Example: 1
per_pageintegerOptional

(Optional) Records per page. Default: 20

Example: 20
qstringOptional

(Optional) Search by user email or machine name

Responses
get
/organization-management/v1/machines

Create Machines

post

Create machine(s) with selected configurations. Associated payments will be processed from organization balance.

Headers

Name
Type

Authorization*

HMAC {key}:{signature}:{nonce}:{timestamp}

Content-Type

application/json

Body Parameters

Parameter
Type
Description

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

Field
Type
Description

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

Status
Description

400

Bad request.

404

Plan ID is not found.

480

Insufficient balance to create computer.

Body
plan_idintegerOptional
quantityintegerOptional
base_image_idany | nullableOptional
Responses
post
/organization-management/v1/machines

Start Machine

post

Start selected machine.

Headers

Name
Type

Authorization*

HMAC {key}:{signature}:{nonce}:{timestamp}

Content-Type

application/json

Path Parameters

Parameter
Type
Description

id*

Integer

Machine ID

Success Response

{
    "client_code": 200,
    "message": "OK",
    "timestamp": "2026-01-15T15:14:09Z"
}

Error Responses

Status
Description

400

Bad request

480

Insufficient balance

Path parameters
idintegerRequired

(Required) Machine ID

Example: 1
Body
machine_type_idany | nullableOptional
regionany | nullableOptional
Responses
post
/organization-management/v1/machines/{id}/start

Get Available Machine Performances

get

Lists 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

Name
Type

Authorization*

HMAC {key}:{signature}:{nonce}:{timestamp}

Content-Type

application/json

Path Parameters

Parameter
Type
Description

id

Integer

Machine ID

Response Fields

Field
Type
Description

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
    }
  ]
}
Path parameters
idintegerRequired

(Required) Machine ID

Example: 1
Responses
get
/organization-management/v1/machines/{id}/available-machine-types

Set Machine Performance

post

Changes 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

Name
Type

Authorization*

HMAC {key}:{signature}:{nonce}:{timestamp}

Content-Type

application/json

Path Parameters

Parameter
Type
Description

id

Integer

Machine ID

Body Parameters

Parameter
Type
Required
Description

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"
}
Path parameters
idintegerRequired

(Required) Machine ID

Example: 1
Body
machine_type_idintegerOptional
Responses
post
/organization-management/v1/machines/{id}/machine-type

Stop Machine

post

Stop the selected running machine.

Headers

Name
Type

Authorization*

HMAC {key}:{signature}:{nonce}:{timestamp}

Content-Type

application/json

Path Parameters

Parameter
Type
Description

id*

Integer

Machine ID

Body Parameters

Parameter
Type
Default
Description

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

Status
Description

400

Bad request (machine is not running)

Success Response

{
    "client_code": 200,
    "message": "OK",
    "timestamp": "2026-01-15T15:14:09Z"
}
Path parameters
idintegerRequired

(Required) Machine ID

Example: 1
Body
gracefullybooleanOptional
Responses
post
/organization-management/v1/machines/{id}/stop

Get Access Link for a Machine

post

Creates a temporary access token for external access to the machine.

Headers

Name
Type

Authorization*

HMAC {key}:{signature}:{nonce}:{timestamp}

Content-Type

application/json

Path Parameters

Parameter
Type
Description

id

Integer

Machine ID

Body Parameters

Parameter
Type
Description

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

Field
Type
Description

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

Path parameters
idintegerRequired

(Required) Machine ID

Example: 1
Body
expires_inintegerOptional
Responses
post
/organization-management/v1/machines/{id}/access

Reset Machine to Initial State

post

Resets 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

Name
Type

Authorization*

HMAC {key}:{signature}:{nonce}:{timestamp}

Content-Type

application/json

Path Parameters

Parameter
Type
Description

id*

Integer

Machine ID

Success Response

{
    "client_code": 200,
    "message": "OK",
    "timestamp": "2026-01-15T15:14:09Z"
}

Error Responses

Status
Description

400

Bad request

Path parameters
idintegerRequired

(Required) Machine ID

Example: 1
Body
objectOptional
Responses
post
/organization-management/v1/machines/{id}/reset

Last updated