Header
| Header |
Erforderlich |
Wert |
Authorization |
Ja |
Bearer DEIN_API_SCHLÜSSEL |
Abfrageparameter
| Parameter |
Erforderlich |
Beschreibung |
currency |
Nein |
Preiswährung: EUR (Standard) oder USD |
display |
Nein |
Preisanzeige: gross (Standard, Brutto) oder net (Netto, ohne MwSt.) |
hostsystem |
Nein |
Hostsystem-Kennung für Preisberechnung (z.B. de_epyc). Erforderlich bei Angabe von Ressourcenmengen. |
core |
Nein |
Anzahl CPU-Kerne |
mem |
Nein |
RAM in GB |
nvme |
Nein |
NVMe-Speicher in GB (Vielfaches von 10) |
ipv4 |
Nein |
Anzahl IPv4-Adressen |
backup |
Nein |
Anzahl Backup-Slots |
network |
Nein |
Netzwerkgeschwindigkeit in Mbit/s (Vielfaches von 1000) |
hdd |
Nein |
HDD-Speicher in GB (Vielfaches von 10) |
Antwort (Preistabelle)
Wenn keine Ressourcenmengen angegeben werden, wird die vollständige Preistabelle zurückgegeben.
{
"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"
}
}
Felder der Preistabelle
| Feld |
Typ |
Beschreibung |
hostsystems |
array |
Liste der verfügbaren Hostsysteme mit Komponentenpreisen |
hostsystems[].hostsystem |
string |
Hostsystem-Kennung (z.B. de_epyc) |
hostsystems[].components |
array |
Komponentenpreise für dieses Hostsystem |
hostsystems[].components[].component |
string |
Komponentenname: core, mem, nvme, ipv4, backup, network, hdd |
hostsystems[].components[].price |
number |
Preis pro Schritt pro Monat in der angeforderten Währung und Anzeigemodus |
hostsystems[].components[].step |
number |
Was ein Schritt darstellt (z.B. 1 bei mem = 1 GB) |
hostsystems[].components[].min |
number |
Mindestwert für diese Komponente |
hostsystems[].components[].max |
number |
Maximalwert für diese Komponente |
hostsystems[].components[].unit |
string |
Lesbare Einheit (z.B. core, GB, IP) |
hostsystems[].components[].included |
number |
Kostenlos enthaltene Menge (z.B. 2 bei Backup = 2 Slots gratis, 1000 bei Network = 1 Gbit/s gratis). 0 bedeutet kein Freitier. |
yearlyDiscount |
number |
Rabattprozentsatz für jährliche Abrechnung (z.B. 10 = 10 % Rabatt) |
currency |
string |
Währungscode (EUR oder USD) |
display |
string |
Anzeigemodus (gross oder net) |
Antwort (Preisberechnung)
Wenn Ressourcenmengen zusammen mit einem hostsystem angegeben werden, berechnet die API den Gesamtpreis für die angegebene Konfiguration. Nur die von dir angegebenen Komponenten werden im Ergebnis aufgeführt.
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"
}
}
Felder der Preisberechnung
| Feld |
Typ |
Beschreibung |
hostsystem |
string |
Das für die Berechnung verwendete Hostsystem |
components |
array |
Aufschlüsselung pro angeforderter Komponente |
components[].component |
string |
Komponentenname |
components[].quantity |
number |
Angeforderte Menge |
components[].included |
number |
Kostenlose Menge (wird vor der Berechnung abgezogen) |
components[].subtotal |
number |
Monatliche Kosten für diese Komponente nach Abzug der Freimenge |
monthly |
number |
Monatliche Gesamtkosten |
yearly |
number |
Jährliche Gesamtkosten (monatlich x 12 mit Jahresrabatt) |
yearlyDiscount |
number |
Angewandter Rabattprozentsatz für jährliche Abrechnung |
currency |
string |
Währungscode (EUR oder USD) |
display |
string |
Anzeigemodus (gross oder net) |
Preisberechnung
Um den monatlichen Preis für eine VPS-Konfiguration zu berechnen, multipliziere den Komponentenpreis mit der Anzahl der Schritte. Ziehe die included-Freimenge vor der Berechnung ab:
monatliche_kosten = SUMME(component.price * MAX(0, menge / component.step - component.included / component.step))
Beispiel: 4 Kerne zu 0,00 EUR/Kern + 8 GB RAM zu 0,00 EUR/GB + 4 Backup-Slots (2 inklusive) zu 0,00 EUR/Slot:
4 * 0,00 + 8 * 0,00 + (4 - 2) * 0,00 = 0,00 + 0,00 + 0,00 = 0,00 EUR/Monat
Für jährliche Abrechnung den Rabatt anwenden:
jaehrliche_kosten = monatliche_kosten * 12 * (1 - yearlyDiscount / 100)
Beispiel
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
Diese Daten sind auch über das MCP-Tool get_vps_pricing verfügbar.