NodeRings Docs

Create Plan

POST
/v1/plans
Authorization<token>

Bearer token

In: header

X-Organization-ID<token>

Tenant or organization identifier

In: header

planId?string
currency?string
planPrices?
regionId?string

Region where this plan is offered (exactly one per plan).

cpuLimit?integer

Plan CPU/network scheduling overrides written into metadata.specifications. Proxmox cpulimit= (max CPU time); 0 = unlimited. Omitted = template value / 0.

Formatint32
cpuUnits?integer

Proxmox cpuunits= fair-share weight. Omitted = template value / 1024.

Formatint32
networkRateLimitMbs?number

Primary NIC rate limit in MB/s (Proxmox rate=); 0 = unlimited.

Formatdouble
nodeIds?array<string>

Nodes this plan may sell on (must be catalog-eligible for the template). Required: at least one node_id (validated in Go).

Response Body

application/json

curl -X POST "https://api.nrings.io/v1/plans" \  -H "Authorization: Bearer {your_token}" \  -H "X-Organization-ID: {your_org_id}" \  -H "Content-Type: application/json" \  -d '{  "planId": "string",  "currency": "string",  "planPrices": [    {      "metricId": "string",      "planPriceId": "string",      "unitAmount": "string",      "freeUnits": 0,      "minimumCharge": "string",      "maximumCharge": "string"    }  ],  "regionId": "string",  "cpuLimit": 0,  "cpuUnits": 0,  "networkRateLimitMbs": 0,  "nodeIds": [    "string"  ]}'
{
  "success": true
}