Headers
| Header |
Required |
Value |
Authorization |
Yes |
Bearer YOUR_API_KEY |
Query Parameters
| Parameter |
Required |
Description |
currency |
No |
Price currency: EUR (default) or USD |
display |
No |
Price display mode: gross (default) or net (excluding VAT) |
hostsystem |
No |
Hostsystem identifier for calculation mode (e.g. de_epyc). Required when passing resource amounts. |
core |
No |
Number of CPU cores |
mem |
No |
RAM in GB |
nvme |
No |
NVMe storage in GB (multiples of 10) |
ipv4 |
No |
Number of IPv4 addresses |
backup |
No |
Number of backup slots |
network |
No |
Network speed in Mbit/s (multiples of 1000) |
hdd |
No |
HDD storage in GB (multiples of 10) |
Response (Pricing Table)
When no resource amounts are provided, the full pricing table is returned.
{
"data": {
"hostsystems": [
{
"hostsystem": "de_epyc",
"components": [
{ "component": "core", "price": 0.00, "step": 1, "min": 1, "max": 16, "unit": "core", "included": 0 },
{ "component": "mem", "price": 0.00, "step": 1, "min": 1, "max": 32, "unit": "GB", "included": 0 },
{ "component": "nvme", "price": 0.00, "step": 10, "min": 10, "max": 500, "unit": "GB", "included": 0 },
{ "component": "ipv4", "price": 0.00, "step": 1, "min": 1, "max": 8, "unit": "IP", "included": 0 },
{ "component": "backup", "price": 0.00, "step": 1, "min": 2, "max": 10, "unit": "slot", "included": 2 },
{ "component": "network", "price": 0.00, "step": 1000, "min": 1000, "max": 10000, "unit": "Mbit/s", "included": 1000 }
]
}
],
"yearlyDiscount": 10,
"currency": "EUR",
"display": "gross"
}
}
Pricing Table Fields
| Field |
Type |
Description |
hostsystems |
array |
List of available hostsystems with component pricing |
hostsystems[].hostsystem |
string |
Hostsystem identifier (e.g. de_epyc) |
hostsystems[].components |
array |
Component prices for this hostsystem |
hostsystems[].components[].component |
string |
Component name: core, mem, nvme, ipv4, backup, network, hdd |
hostsystems[].components[].price |
number |
Price per step per month in the requested currency and display mode |
hostsystems[].components[].step |
number |
What one step represents (e.g. 1 for mem = 1 GB) |
hostsystems[].components[].min |
number |
Minimum allowed value for this component |
hostsystems[].components[].max |
number |
Maximum allowed value for this component |
hostsystems[].components[].unit |
string |
Human-readable unit (e.g. core, GB, IP) |
hostsystems[].components[].included |
number |
Free tier amount included at no charge (e.g. 2 for backup = 2 free slots, 1000 for network = 1 Gbit/s free). 0 means no free tier. |
yearlyDiscount |
number |
Discount percentage for yearly billing (e.g. 10 = 10% off) |
currency |
string |
Currency code (EUR or USD) |
display |
string |
Display mode (gross or net) |
Response (Price Calculation)
When resource amounts are provided along with a hostsystem, the API calculates the total price for the given configuration. Only the components you specify are included in the result.
GET /api/v1/vps/pricing?hostsystem=de_epyc&core=4&mem=8&nvme=50&backup=4
{
"data": {
"hostsystem": "de_epyc",
"components": [
{ "component": "core", "quantity": 4, "included": 0, "subtotal": 0.00 },
{ "component": "mem", "quantity": 8, "included": 0, "subtotal": 0.00 },
{ "component": "nvme", "quantity": 50, "included": 0, "subtotal": 0.00 },
{ "component": "backup", "quantity": 4, "included": 2, "subtotal": 0.00 }
],
"monthly": 0.00,
"yearly": 0.00,
"yearlyDiscount": 10,
"currency": "EUR",
"display": "gross"
}
}
Calculation Fields
| Field |
Type |
Description |
hostsystem |
string |
The hostsystem used for pricing |
components |
array |
Breakdown per requested component |
components[].component |
string |
Component name |
components[].quantity |
number |
Requested amount |
components[].included |
number |
Free tier amount (subtracted before pricing) |
components[].subtotal |
number |
Monthly cost for this component after free tier deduction |
monthly |
number |
Total monthly cost |
yearly |
number |
Total yearly cost (monthly x 12 with yearly discount applied) |
yearlyDiscount |
number |
Discount percentage applied to yearly billing |
currency |
string |
Currency code (EUR or USD) |
display |
string |
Display mode (gross or net) |
Price Calculation
To calculate the monthly price for a VPS configuration, multiply the component price by the number of steps. Subtract the included free tier before pricing:
monthly_cost = SUM(component.price * MAX(0, quantity / component.step - component.included / component.step))
For example, 4 cores at 0.00 EUR/core + 8 GB RAM at 0.00 EUR/GB + 4 backup slots (2 included free) at 0.00 EUR/slot:
4 * 0.00 + 8 * 0.00 + (4 - 2) * 0.00 = 0.00 + 0.00 + 0.00 = 0.00 EUR/month
For yearly billing, apply the discount:
yearly_cost = monthly_cost * 12 * (1 - yearlyDiscount / 100)
Example
curl https://hosting.site.quest/api/v1/vps/pricing \
-H "Authorization: Bearer sq_live_a94ecfca096d..."
curl "https://hosting.site.quest/api/v1/vps/pricing?currency=USD&display=net" \
-H "Authorization: Bearer sq_live_a94ecfca096d..."
curl "https://hosting.site.quest/api/v1/vps/pricing?hostsystem=de_epyc&core=4&mem=8&nvme=50&backup=4" \
-H "Authorization: Bearer sq_live_a94ecfca096d..."
MCP
This data is also available via the get_vps_pricing MCP tool.