Logo
OpenScaler
API DocumentationVM Templates

Create VM template

POST
/v1/vm-templates

Create a reusable VM template from an existing VM. Creation may continue asynchronously; poll create_status until the template is active.

Authorization

bearer_auth
AuthorizationBearer <token>

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 reusable VM template from an existing VM.

Response Body

application/json

application/json

text/pain

application/json

application/json

curl -X POST "https://example.com/v1/vm-templates" \  -H "Content-Type: application/json" \  -d '{    "name": "my-template",    "vm_id": "cc3ccab2-0ae2-11ef-9136-6a0922f6458b",    "project_id": "default"  }'
{  "template": {    "kind": "user",    "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",    "name": "my-template",    "description": null,    "icon_url": null,    "size_gib": 25.5,    "status": "creating",    "source_vm_id": "cc3ccab2-0ae2-11ef-9136-6a0922f6458b",    "project_id": "default",    "created_at": "2024-06-01T12:00:00Z",    "updated_at": "2024-06-01T12:00:00Z"  }}
{  "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"    }  ]}