Provision a service (VPS, game, bot and app examples)
Create services with POST /services for every category — full curl examples for a VPS, a Minecraft game server, a Discord bot and an app, plus how to poll until it is ready.
You provision any service type with a single endpoint: POST /services. Pass the category, a plan code from the catalog, a region where required, and category-specific options. Provisioning charges credits for the current cycle.
A successful create usually returns 202 Accepted with the new service id and a provisioning / installing status. Poll GET /services/{id} or listen for the service.ready webhook before handing credentials to your customer.
VPS
curl -X POST https://control.victuscloud.com/api/reseller/v1/services \
-H "Authorization: Bearer $VICTUS_KEY" \
-H "Content-Type: application/json" \
-d '{
"category": "vps",
"code": "vps-2c-4g",
"region": "de-1",
"label": "customer-1234-vps",
"options": {
"os_template": "ubuntu-22.04",
"hostname": "cust1234",
"ssh_key": "ssh-ed25519 AAAA...",
"root_password": "optional-if-no-ssh-key"
}
}'Game server (Minecraft)
curl -X POST https://control.victuscloud.com/api/reseller/v1/services \
-H "Authorization: Bearer $VICTUS_KEY" \
-H "Content-Type: application/json" \
-d '{
"category": "game",
"code": "mc-4g",
"region": "sg-1",
"label": "customer-1234-smp",
"options": {
"egg": "paper",
"minecraft_version": "latest",
"eula": true
}
}'Discord bot
curl -X POST https://control.victuscloud.com/api/reseller/v1/services \
-H "Authorization: Bearer $VICTUS_KEY" \
-H "Content-Type: application/json" \
-d '{
"category": "bot",
"code": "bot-1g",
"label": "customer-1234-bot",
"options": {
"runtime": "nodejs",
"git_repo": "https://github.com/you/bot.git",
"start_command": "npm start"
}
}'App hosting
curl -X POST https://control.victuscloud.com/api/reseller/v1/services \
-H "Authorization: Bearer $VICTUS_KEY" \
-H "Content-Type: application/json" \
-d '{
"category": "app",
"code": "app-1g",
"label": "customer-1234-app",
"options": {
"type": "code-server",
"password": "customer-chosen-password"
}
}'Poll until ready
SID="svc_8fj2k"
curl https://control.victuscloud.com/api/reseller/v1/services/$SID \
-H "Authorization: Bearer $VICTUS_KEY" \
| jq '.data.status' # provisioning -> installing -> runningIf provisioning fails with a 402, your prepaid balance is too low for this plan. Top up in the billing portal and retry — no service is created and nothing is charged.
Set a label you can map back to your own customer/order id. It makes services easy to find in GET /services and in the panel, and helps reconcile the GET /account/transactions ledger.