Create a new VPS instance
curl --request POST \
--url https://api.storiza.store/vps/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"datacenterId": "<string>",
"planId": "<string>",
"templateId": "<string>",
"duration": 48.5,
"description": "<string>",
"templateImageSlug": "<string>",
"inputs": {},
"vmPassword": "<string>",
"sshKeyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"memberIds": []
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
datacenterId: '<string>',
planId: '<string>',
templateId: '<string>',
duration: 48.5,
description: '<string>',
templateImageSlug: '<string>',
inputs: {},
vmPassword: '<string>',
sshKeyId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
memberIds: []
})
};
fetch('https://api.storiza.store/vps/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.storiza.store/vps/"
payload = {
"name": "<string>",
"datacenterId": "<string>",
"planId": "<string>",
"templateId": "<string>",
"duration": 48.5,
"description": "<string>",
"templateImageSlug": "<string>",
"inputs": {},
"vmPassword": "<string>",
"sshKeyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"memberIds": []
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"success": true,
"message": "VPS created successfully",
"data": {
"id": "00000000-0000-4000-8000-000000000000",
"name": "Example VPS",
"description": "Example VPS",
"isCancelled": false,
"suspended": false,
"cancelledAt": null,
"provisionCurrentStep": 0,
"owner": {
"id": "example-owner-id"
},
"datacenter": {
"id": "00000000-0000-4000-8000-000000000000"
},
"plan": {
"id": "00000000-0000-4000-8000-000000000000"
},
"template": {
"id": "00000000-0000-4000-8000-000000000000"
},
"inputs": {},
"ip": null,
"additionalIps": [],
"backupPlan": null,
"subscriptionId": "00000000-0000-4000-8000-000000000000",
"subscription": {
"id": "00000000-0000-4000-8000-000000000000"
},
"backupSubscription": null,
"backupCancelled": false,
"backupCancelledAt": null,
"backupSubscriptionExpiresAt": null,
"hostname": "example-hostname",
"sshKey": null,
"members": [],
"createdAt": "2026-10-09T14:57:34.001Z",
"updatedAt": "2026-10-09T14:57:34.001Z",
"requiresProvision": false,
"provision": null,
"status": "Pending"
}
}Servers
Create a new VPS instance
Creates a VPS for the authenticated user: validates the datacenter/plan/template, enforces trial-account limits, charges the user’s balance for the requested duration, creates the VPS record and queues the provisioning job.
Required API key permission: vps:write
POST
/
vps
/
Create a new VPS instance
curl --request POST \
--url https://api.storiza.store/vps/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"datacenterId": "<string>",
"planId": "<string>",
"templateId": "<string>",
"duration": 48.5,
"description": "<string>",
"templateImageSlug": "<string>",
"inputs": {},
"vmPassword": "<string>",
"sshKeyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"memberIds": []
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
datacenterId: '<string>',
planId: '<string>',
templateId: '<string>',
duration: 48.5,
description: '<string>',
templateImageSlug: '<string>',
inputs: {},
vmPassword: '<string>',
sshKeyId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
memberIds: []
})
};
fetch('https://api.storiza.store/vps/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.storiza.store/vps/"
payload = {
"name": "<string>",
"datacenterId": "<string>",
"planId": "<string>",
"templateId": "<string>",
"duration": 48.5,
"description": "<string>",
"templateImageSlug": "<string>",
"inputs": {},
"vmPassword": "<string>",
"sshKeyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"memberIds": []
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"success": true,
"message": "VPS created successfully",
"data": {
"id": "00000000-0000-4000-8000-000000000000",
"name": "Example VPS",
"description": "Example VPS",
"isCancelled": false,
"suspended": false,
"cancelledAt": null,
"provisionCurrentStep": 0,
"owner": {
"id": "example-owner-id"
},
"datacenter": {
"id": "00000000-0000-4000-8000-000000000000"
},
"plan": {
"id": "00000000-0000-4000-8000-000000000000"
},
"template": {
"id": "00000000-0000-4000-8000-000000000000"
},
"inputs": {},
"ip": null,
"additionalIps": [],
"backupPlan": null,
"subscriptionId": "00000000-0000-4000-8000-000000000000",
"subscription": {
"id": "00000000-0000-4000-8000-000000000000"
},
"backupSubscription": null,
"backupCancelled": false,
"backupCancelledAt": null,
"backupSubscriptionExpiresAt": null,
"hostname": "example-hostname",
"sshKey": null,
"members": [],
"createdAt": "2026-10-09T14:57:34.001Z",
"updatedAt": "2026-10-09T14:57:34.001Z",
"requiresProvision": false,
"provision": null,
"status": "Pending"
}
}Authorizations
An API key from the Storiza dashboard (API & Integrations), sent as Authorization: Bearer stz_….
Body
application/json
Required string length:
1 - 100Minimum string length:
1Minimum string length:
1Minimum string length:
1Required range:
7 <= x <= 90Maximum string length:
1000Minimum string length:
1Show child attributes
Show child attributes
Minimum string length:
8Response
VPS created successfully
Available options:
true Available options:
VPS created successfully Schema for VPS model
Show child attributes
Show child attributes
Example:
{
"id": "00000000-0000-4000-8000-000000000000",
"name": "Example VPS",
"description": "Example VPS",
"isCancelled": false,
"suspended": false,
"cancelledAt": null,
"provisionCurrentStep": 0,
"owner": { "id": "example-owner-id" },
"datacenter": {
"id": "00000000-0000-4000-8000-000000000000"
},
"plan": {
"id": "00000000-0000-4000-8000-000000000000"
},
"template": {
"id": "00000000-0000-4000-8000-000000000000"
},
"inputs": {},
"ip": null,
"additionalIps": [],
"backupPlan": null,
"subscriptionId": "00000000-0000-4000-8000-000000000000",
"subscription": {
"id": "00000000-0000-4000-8000-000000000000"
},
"backupSubscription": null,
"backupCancelled": false,
"backupCancelledAt": null,
"backupSubscriptionExpiresAt": null,
"hostname": "example-hostname",
"sshKey": null,
"members": [],
"createdAt": "2026-10-09T14:57:34.001Z",
"updatedAt": "2026-10-09T14:57:34.001Z",
"requiresProvision": false,
"provision": null,
"status": "Pending"
}
Was this page helpful?