Create a New VM
Create a virtual machine with the given parameters.
The request waits until the VM is ready, then returns the VM as JSON.
Progress is a separate Server-Sent Events stream. Subscribe with the same
sequence_id from this request body at GET /v1/events/create-vm/{sequence_id}.
Authorization
bearer_auth OAuth Authentication
OpenScaler API uses OAuth, a standard for secure authorization. To access the API, obtain a token via the OpenScaler Platform.
Use the access_token in the Authorization header for requests:
Authorization: Bearer <token>Always keep your token secure and do not share it with anyone.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Create a VM using a predefined size flavor.
Response Body
application/json
application/json
text/pain
application/json
application/json
curl -X POST "https://example.com/v1/vms" \ -H "Content-Type: application/json" \ -d '{ "size": "b-1-500mb-10", "project_id": "default", "name": "my-example-computer", "sequence_id": 123456, "description": "My example computer (generated from API)", "region": "alg1", "distro": "debian-13", "ssh_key_ids": [ "key_abc123" ], "password": "strong_password", "allow_root_ssh_password_access": false, "cloud_init_user_data": "", "attached_disks": [ { "sizeGB": 5 } ] }'{ "id": "cc3ccab2-0ae2-11ef-9136-6a0922f6458b", "name": "my-example-computer", "user_id": "7247ba6a-b17d-4c72-94f1-a36108aee56d", "project_id": "default", "uuid": "cc8b9d3c-fe4d-11ee-91c9-6aca7850c3b4", "region": "alg1", "description": "My example computer (generated from API)", "distro": "debian-13", "size": "b-1-500mb-10", "memoryMB": 1024, "vcpus": 1, "storageGB": 161061273600, "transferGB": 1000, "vpc_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "node_type": "VM", "created_at": "2024-04-19T13:07:39", "updated_at": "2024-04-19T13:07:39"}{ "errors": [ { "message": "'vcpus' field must be an integer", "field": "resource_id" } ]}"Access denied"{ "errors": [ { "message": "User not initialized (missing required fields in token), please init user by sending POST request to `/v1/init` then refresh your token\n" } ]}{ "errors": [ { "message": "VM with ID 23 not found" } ]}