Fornex Public API
Authentifizierung
Für den Zugriff auf die API ist ein API-Schlüssel erforderlich. Übergeben Sie ihn im HTTP-Header jeder Anfrage.
Authorization: Api-Key <key>Authorization: Api-Key <key>
Account
Kontostand
Gibt das aktuelle Kontoguthaben zurück
/account/balanceAntworten
200application/jsonbalancenumber (double)ErforderlichcurrencystringErforderlich
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/account/balance"200{
"balance": 10,
"currency": "EUR"
}Info
/account/infoAntworten
200application/jsonemailstring (email)max length: 254namestringErforderlich
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/account/info"200{
"email": "example@fornex.com",
"name": "Example Account"
}Rechnungen
Gibt die Anzahl und den Gesamtbetrag unbezahlter Rechnungen zurück.
/account/invoicesAntworten
200application/jsonunpaid_invoices_countintegerErforderlichunpaid_invoices_amountnumber (double)ErforderlichcurrencystringErforderlich
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/account/invoices"200{
"unpaid_invoices_count": 1,
"unpaid_invoices_amount": 100,
"currency": "EUR"
}Plans
Backups
/plans/backupsAntworten
200application/jsonarray object[]BackupTariff[]spaceintegerErforderlichpricenumber (double)Erforderlichunitsstringread-onlyErforderlichdefault: GB
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/plans/backups"200[
{
"price": 3,
"space": 100,
"units": "GB"
}
]Dedizierte Server
/plans/dedicatedAntworten
200application/jsonarray object[]DedicatedTariff[]idintegerread-onlyErforderlichnamestringmax length: 128ErforderlichDer Tarifname erscheint auf Rechnungen, daher sollte er kurz und in lateinischen Zeichen geschrieben sein — z. B. Cloud NVMe 1.
cpu_modelstringread-onlyErforderlichcpu_countintegermin: 0max: 65535ramstringErforderlichdiskstringErforderlichbandwidthstringErforderlichpricenumber (double)Erforderlichlocationsarray array[]Erforderlich
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/plans/dedicated"200[
{
"id": 101,
"name": "DS XeonSAS",
"price": 198,
"bandwidth": "1 Gbit/s",
"cpu_model": "Intel Xeon E3-1270 (4×3.4Ghz)",
"cpu_count": 1,
"disk": "4 × 300 GB SAS 15k",
"ram": "16 GB",
"locations": [
[
"DE",
"Германия"
]
]
}
]Webhosting
/plans/hostingAntworten
200application/jsonarray object[]VHTariff[]idintegerread-onlyErforderlichnamestringmax length: 128ErforderlichDer Tarifname erscheint auf Rechnungen, daher sollte er kurz und in lateinischen Zeichen geschrieben sein — z. B. Cloud NVMe 1.
sitesintegermin: 0max: 65535nullablepricenumber (double)Erforderlichcpu_coresintegermin: 0max: 65535nullablehdd_spaceinteger (int64)min: 0max: 4294967295nullableGB
available_locationsarray string[]read-onlyErforderlich
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/plans/hosting"200[
{
"id": 33,
"name": "VH-SSD-2",
"price": 1,
"sites": 2,
"cpu_cores": 1,
"hdd_space": 1,
"available_locations": [
"DE",
"RU"
]
}
]VPN
/plans/vpnAntworten
200application/jsonarray object[]VpnTariff[]idintegerread-onlyErforderlichpricenumber (double)ErforderlichWerteshareddedicatedmulti-hop
available_locationsarray string[]read-onlyErforderlich
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/plans/vpn"200[
{
"id": 1,
"type": "dedicated",
"price": 10,
"available_locations": [
"DE",
"NL",
"US",
"RU"
]
}
]VPS
/plans/vpsAntworten
200application/jsonarray object[]VpsTariff[]idintegerread-onlyErforderlichnamestringmax length: 128ErforderlichDer Tarifname erscheint auf Rechnungen, daher sollte er kurz und in lateinischen Zeichen geschrieben sein — z. B. Cloud NVMe 1.
cpu_countintegerErforderlichramstringErforderlichdiskstringErforderlichbandwidthstringErforderlichpricenumber (double)Erforderlich
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/plans/vps"200[
{
"id": 433,
"name": "SSD Cloud 1GB",
"cpu_count": 1,
"ram": "1 GB",
"bandwidth": "100 Mbit/s",
"disk": "10 GB",
"price": 5,
"disk_class": null
}
]Projects
Projektliste
/project/Query-Parameter
pageintegerEine Seitennummer innerhalb des paginierten Ergebnissatzes.
default: 1page_sizeintegerAnzahl der Ergebnisse pro Seite.
default: 10
Antworten
200application/jsoncountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/project/"200{
"type": "object",
"required": [
"count",
"results"
],
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"nullable": true,
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
},
"previous": {
"type": "string",
"nullable": true,
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 40
},
"comment": {
"type": "string",
"maxLength": 256
},
"logo": {
"type": "string",
"format": "uri",
"readOnly": true
}
},
"required": [
"id",
"logo",
"name"
]
}
}
}
}Projekt erstellen
/project/Body
Erforderlichnamestringlength 1…40Erforderlichcommentstringmax length: 256Antworten
201application/jsonidintegerread-onlyErforderlichnamestringmax length: 40Erforderlichcommentstringmax length: 256logostring (uri)read-onlyErforderlich
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"name":"string","comment":"string"}' \
"https://fornex.com/api/project/"201{
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 40
},
"comment": {
"type": "string",
"maxLength": 256
},
"logo": {
"type": "string",
"format": "uri",
"readOnly": true
}
},
"required": [
"id",
"logo",
"name"
]
}Projektdetails
/project/{id}/Pfad-Parameter
idintegerErforderlichEin eindeutiger Ganzzahl-Wert, das diesen project identifiziert.
Antworten
200application/jsonidintegerread-onlyErforderlichnamestringmax length: 40Erforderlichcommentstringmax length: 256logostring (uri)read-onlyErforderlich
ID='1'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/project/$ID/"200{
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 40
},
"comment": {
"type": "string",
"maxLength": 256
},
"logo": {
"type": "string",
"format": "uri",
"readOnly": true
}
},
"required": [
"id",
"logo",
"name"
]
}Projekt bearbeiten
/project/{id}/Pfad-Parameter
idintegerErforderlichEin eindeutiger Ganzzahl-Wert, das diesen project identifiziert.
Body
namestringlength 1…40commentstringmax length: 256Antworten
200application/jsonidintegerread-onlyErforderlichnamestringmax length: 40Erforderlichcommentstringmax length: 256logostring (uri)read-onlyErforderlich
ID='1'
curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"name":"string","comment":"string"}' \
"https://fornex.com/api/project/$ID/"200{
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"name": {
"type": "string",
"maxLength": 40
},
"comment": {
"type": "string",
"maxLength": 256
},
"logo": {
"type": "string",
"format": "uri",
"readOnly": true
}
},
"required": [
"id",
"logo",
"name"
]
}Projekt entfernen
/project/{id}/Pfad-Parameter
idintegerErforderlichEin eindeutiger Ganzzahl-Wert, das diesen project identifiziert.
Antworten
204No response body
ID='1'
curl -X DELETE \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/project/$ID/"Bestellung hinzufügen
Anfrage zum Hinzufügen einer Bestellung aus dem Projekt.
/project/{id}/add_orders/Pfad-Parameter
idintegerErforderlichEin eindeutiger Ganzzahl-Wert, das diesen project identifiziert.
Body
Erforderlichordersarray string[]write-onlyErforderlichAntworten
200No response body
ID='1'
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"orders":["string"]}' \
"https://fornex.com/api/project/$ID/add_orders/"Logo bearbeiten
Anfrage zum Bearbeiten des Projektlogos.
/project/{id}/edit_logo/Pfad-Parameter
idintegerErforderlichEin eindeutiger Ganzzahl-Wert, das diesen project identifiziert.
Body
multipart/form-datalogostring (binary)Pfad zur Datei.
Antworten
200application/jsonlogostring (uri)Pfad zur Datei.
ID='1'
curl -X PUT \
-H "Content-Type: multipart/form-data" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
-F "logo=@\"path/to/file\"" \
"https://fornex.com/api/project/$ID/edit_logo/"200{
"type": "object",
"properties": {
"logo": {
"type": "string",
"format": "uri",
"description": "Pfad zur Datei."
}
}
}Bestellung entfernen
Anfrage zum Entfernen einer Bestellung aus dem Projekt.
/project/{id}/remove_orders/Pfad-Parameter
idintegerErforderlichEin eindeutiger Ganzzahl-Wert, das diesen project identifiziert.
Body
Erforderlichordersarray string[]write-onlyErforderlichAntworten
200No response body
ID='1'
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"orders":["string"]}' \
"https://fornex.com/api/project/$ID/remove_orders/"Orders
Eine Bestellung ist eine interne Entität unseres Systems, die zusammen mit einem Dienst erstellt wird und eine Liste seiner Eigenschaften enthält (z. B. Kosten, Standort usw.). Beispielsweise ist ein VPS der Dienst selbst (virtuelle Maschine), und eine VPS-Bestellung ist eine Liste der zugehörigen Eigenschaften. Um daher eine Bestellung zu erstellen, stellen Sie eine Anfrage zur Diensterstellung im entsprechenden API-Abschnitt, z. B. VPS erstellen. Und für die weitere Arbeit mit einer beliebigen Bestellung verwenden Sie Methoden aus diesem Abschnitt.
Nachfolgend finden Sie die API-Anfragen, mit denen Sie Bestellungen beliebiger Art verwalten können, um insbesondere die Bestelldetails abzurufen, diese zu bearbeiten oder zu stornieren.
Bestellungsliste
Liste alle verfügbaren Bestellungen auf. Informationen zu den Parametern jeder Bestellung werden auch in der Antwort enthalten.
/orders/Query-Parameter
cancel_markbooleanFiltern Sie die Bestellungen, die storniert werden.
orderingstringFeld, nach dem die Ergebnisse sortiert werden.
default: idexpiredidpageintegerEine Seitennummer innerhalb des paginierten Ergebnissatzes.
default: 1page_sizeintegerAnzahl der Ergebnisse pro Seite.
default: 10
Antworten
200application/jsoncountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/orders/"200{
"count": 123,
"next": "http://api.example.org/accounts/?page=4",
"previous": "http://api.example.org/accounts/?page=2",
"results": [
{
"id": "34-1234",
"name": "DB Host",
"tariff": "VPS Master",
"tariff_price": 140,
"type": "vps",
"hostname": "srv-123.fornex.org",
"ipaddress_set": [
"123.123.123.123"
],
"status": "active",
"cost_month": 148,
"expiration_date": "2015-12-18T17:21:46",
"tags": [
"Database"
]
}
]
}Bestellungsdetails
Rufen Sie alle verfügbaren Daten zur Bestellung nach ihrer ID ab.
/orders/{order_id}/Pfad-Parameter
order_idstringErforderlichBestellungs-ID im Format NN-NNNNN. Das Präfix kann je nach Bestellungstyp variieren.
Antworten
200application/jsonidstringread-onlyErforderlichnamestringmax length: 64tariffstringread-onlyErforderlichtariff_pricenumber (double)nullableread-onlyErforderlichtypestringread-onlyErforderlichhostnamestringnullableread-onlyErforderlichipaddress_setarray string[]nullableread-onlyErforderlichstatusstringread-onlyErforderlichWerteunpaidpendingactiveexpireddisabledcanceledblockednoprolong
cost_monthnumber (double)read-onlyErforderlichexpiration_datestring (date-time)read-onlyErforderlichtagsarray string[]Erforderlichcancel_markbooleanread-onlyErforderlichEin Marker, der anzeigt, dass die Bestellung storniert wird.
projectobjectnullableread-onlyErforderlich
ORDER_ID='34-1234'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/orders/$ORDER_ID/"200{
"id": "34-1234",
"name": "DB Host",
"tariff": "VPS Master",
"tariff_price": 140,
"type": "vps",
"hostname": "srv-123.fornex.org",
"ipaddress_set": [
"123.123.123.123"
],
"status": "active",
"cost_month": 148,
"expiration_date": "2015-12-18T17:21:46",
"tags": [
"Database"
]
}Bestellung bearbeiten
Ändern Sie einige Parameter einer bestimmten Bestellung (Suche nach ID), die zur Bearbeitung verfügbar sind.
/orders/{order_id}/Pfad-Parameter
order_idstringErforderlichBestellungs-ID im Format NN-NNNNN. Das Präfix kann je nach Bestellungstyp variieren.
Body
namestringlength 1…64default: Benutzerdefinierter Name für die Bestellung. Geben Sie einen leeren String ein, wenn Sie den Namen entfernen möchten.
tagsarray string[]Tags für die Bestellung. Neue Tags ersetzen alte Tags vollständig, falls vorhanden. Legen Sie eine leere Liste fest, wenn Sie alle Tags entfernen möchten.
projectintegernullableProjekt der Bestellung. Geben Sie einen leeren String ein, wenn Sie das Projekt entfernen möchten.
Antworten
200application/jsonnamestringmax length: 64default:Benutzerdefinierter Name für die Bestellung.
tagsarray string[]ErforderlichTags für die Bestellung.
projectintegernullableErforderlichProjekt der Bestellung.
ORDER_ID='34-1234'
curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"name": "DB Host"}' \
"https://fornex.com/api/orders/$ORDER_ID/"200{
"name": "DB Host",
"tags": [
"Database"
],
"project": 1
}Bestellung stornieren
Stornieren Sie eine Bestellung und löschen Sie den zugehörigen Dienst.
Je nach Parameter when sind zwei Optionen möglich:
expired- die Bestellung wird mit einem Stornierungszeichen versehen und nach Ablauf der bezahlten Frist storniert. Mit anderen Worten, es blockiert die automatische Erneuerung. Dies ist der Standard-Ansatz. Sie können die Markierung entfernen, wenn Sie sich anders entscheiden.now- die Stornierungsanfrage wird sofort zur Bearbeitung weitergeleitet und die Bestellung wird so schnell wie möglich storniert. Eine sofortige Stornierung von Bestellungen wird noch nicht unterstützt.
Wenn die Bestellung noch nicht bezahlt wurde, wird sie sofort storniert, unabhängig vom ausgewählten Parameter when.
/orders/{order_id}/cancel/Pfad-Parameter
order_idstringErforderlichBestellungs-ID im Format NN-NNNNN. Das Präfix kann je nach Bestellungstyp variieren.
Body
whenstringwrite-onlydefault: expirednowexpired
Der Parameter beschreibt, wann die Bestellung storniert werden soll - jetzt oder nach Ablauf der bezahlten Periode.
save_backupbooleanwrite-onlydefault: trueDer Parameter beschreibt, ob vor dem Löschen der virtuellen Maschine ein Snapshot des VPS erstellt werden soll oder nicht.
Antworten
200application/jsonstatusstringread-onlyErforderlichWertecanceledcancel_pending
messagestringread-onlyErforderlich
ORDER_ID='34-1234'
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"when": "expired", "save_backup": true}' \
"https://fornex.com/api/orders/$ORDER_ID/cancel/"200{
"status": "cancel_pending",
"message": "Order will be canceled after expiration."
}Stornierungszeichen entfernen
Entfernen Sie das Stornierungszeichen für eine bestimmte Bestellung (Suche nach ID). Das Zeichen wird auch automatisch entfernt, wenn Sie die Bestellung erzwungen erneuern.
/orders/{order_id}/cancel/Pfad-Parameter
order_idstringErforderlichBestellungs-ID im Format NN-NNNNN. Das Präfix kann je nach Bestellungstyp variieren.
Antworten
204No response body
ORDER_ID='34-1234'
curl -X DELETE \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/orders/$ORDER_ID/cancel/"VPS: Orders
VPS ist ein Virtual Private Server, auch als Virtual Dedicated Server bekannt. Dieser Abschnitt behandelt die wichtigsten und zusätzlichen API-Endpunkte, die für die Arbeit mit VPS bei Fornex verwendet werden.
Liste der VPS-Bestellungen
Liste alle verfügbaren VPS-Bestellungen auf. Informationen zu den Parametern jeder Bestellung werden auch in der Antwort enthalten.
/orders/vps/Query-Parameter
cancel_markbooleanFiltern Sie die Bestellungen, die storniert werden.
orderingstringFeld, nach dem die Ergebnisse sortiert werden.
default: idexpiredidpageintegerEine Seitennummer innerhalb des paginierten Ergebnissatzes.
default: 1page_sizeintegerAnzahl der Ergebnisse pro Seite.
default: 10
Antworten
200application/jsoncountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/orders/vps/"200{
"count": 123,
"next": "http://api.example.org/accounts/?page=4",
"previous": "http://api.example.org/accounts/?page=2",
"results": [
{
"id": "34-1234",
"name": "DB Host",
"tariff": "VPS Master",
"tariff_price": 140,
"type": "vps",
"hostname": "srv-123.fornex.org",
"ipaddress_set": [
"123.123.123.123"
],
"status": "active",
"cost_month": 148,
"expiration_date": "2015-12-18T17:21:46",
"tags": [
"Database"
],
"configuration": {
"cpu_count": 1,
"ram_size": 2,
"disk_size": 10,
"cpu_arch": "x86_64",
"min_cpu_freq": 3
}
}
]
}Details der VPS-Bestellung
Rufen Sie alle verfügbaren Daten zur VPS-Bestellung nach ihrer ID ab.
/orders/vps/{order_id}/Pfad-Parameter
order_idstringErforderlichBestellungs-ID im Format NN-NNNNN.
Antworten
200application/jsonidstringread-onlyErforderlichnamestringmax length: 64tariffstringread-onlyErforderlichtariff_pricenumber (double)nullableread-onlyErforderlichtypestringread-onlyErforderlichhostnamestringnullableread-onlyErforderlichipaddress_setarray string[]nullableread-onlyErforderlichstatusstringread-onlyErforderlichWerteunpaidpendingactiveexpireddisabledcanceledblockednoprolong
cost_monthnumber (double)read-onlyErforderlichexpiration_datestring (date-time)read-onlyErforderlichtagsarray string[]Erforderlichcancel_markbooleanread-onlyErforderlichEin Marker, der anzeigt, dass die Bestellung storniert wird.
projectobjectnullableread-onlyErforderlichconfigurationobjectread-onlyErforderlichServerkonfiguration
ORDER_ID='34-1234'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/orders/vps/$ORDER_ID/"200{
"id": "34-1234",
"name": "DB Host",
"tariff": "VPS Master",
"tariff_price": 140,
"type": "vps",
"hostname": "srv-123.fornex.org",
"ipaddress_set": [
"123.123.123.123"
],
"status": "active",
"cost_month": 148,
"expiration_date": "2015-12-18T17:21:46",
"tags": [
"Database"
],
"configuration": {
"cpu_count": 1,
"ram_size": 2,
"disk_size": 10,
"cpu_arch": "x86_64",
"min_cpu_freq": 3
}
}VPS: Create
VPS ist ein Virtual Private Server, auch als Virtual Dedicated Server bekannt. Dieser Abschnitt behandelt die wichtigsten und zusätzlichen API-Endpunkte, die zum Erstellen eines neuen VPS bei Fornex verwendet werden.
VPS erstellen
Diese Anfrage ist standardmäßig nicht verfügbar. Wenden Sie sich an den technischen Support, um Zugriff zu erhalten.
Zum aktuellen Zeitpunkt erfordert das Erstellen eines VPS über die API eine Zahlung aus dem Kontoguthaben. Wenn Sie nicht über ausreichende Mittel verfügen, gibt die Anfrage einen Fehler zurück und die Bestellung wird nicht erstellt.
Um einen VPS zu erstellen, sollten Sie drei erforderliche Parameter berücksichtigen - VPS-Konfiguration (Kerne, RAM, Speicher), vorinstallierte Software und Standort:
- Konfiguration: Wählen Sie
tariff(vordefinierter Plan) oderconfiguration(flexibler Parametersatz aus dem Konfigurator). Sie können verfügbare Konfigurationen auf der VPS-Seite ausprobieren. - Software: Wählen Sie
template(um ein Betriebssystem und optional ein Hosting-Control-Panel zu installieren) oderapp(um eine Anwendung zu installieren) odersnapshot(um einen VPS aus Ihrem Snapshot wiederherzustellen). - Land: Wählen Sie
locationaus den verfügbaren Optionen.
Um einen VPS über die API zu stornieren und zu löschen, verwenden Sie die universelle Bestellungsstornierungsmethode.
/orders/vps/Body
Erforderlichtariffintegernullablewrite-onlyDie ID des vordefinierten Tarifs.
Die verfügbaren Optionen für tariff erhalten Sie unter VPS-Tarife.
Zum Erstellen einer benutzerdefinierten Konfiguration verwenden Sie den Parameter configuration.
Verwenden Sie nicht beide Parameter gleichzeitig.
configurationobjectnullablewrite-onlyDie benutzerdefinierten Konfigurationsparameter als Objekt (öffnen Sie den ausklappbaren Bereich für weitere Details). Verwenden Sie den VPS-Konfigurator, um eine angemessene Kombination von Parametern gemäß dynamischer Einschränkungen zu erhalten.
Anstelle einer benutzerdefinierten Konfiguration können Sie einen vordefinierten Tarif auswählen, der normalerweise günstiger ist.
Verwenden Sie dazu den Parameter tariff. Verwenden Sie nicht beide Parameter gleichzeitig.
templateintegerwrite-onlyTemplate-ID zum Installieren eines Betriebssystems und optional eines Hosting-Kontrollpanels. Die verfügbaren Optionen für template erhalten Sie unter VPS-Vorlagen.
Anstelle eines Betriebssystems können Sie eine Anwendung installieren (Parameter app) oder VPS aus einem Snapshot wiederherstellen (Parameter snapshot). Verwenden Sie dazu den entsprechenden Parameter. Verwenden Sie nur einen Parameter pro Bestellung.
appintegerwrite-onlyAnwendungs-ID, die Sie installieren möchten. Die verfügbaren Optionen für app erhalten Sie unter VPS-Anwendungen.
Anstelle einer Anwendung können Sie ein Betriebssystem installieren (Parameter template) oder VPS aus einem Snapshot wiederherstellen (Parameter snapshot). Verwenden Sie dazu den entsprechenden Parameter. Verwenden Sie nur einen Parameter pro Bestellung.
snapshotintegerwrite-onlySnapshot-ID, aus der Sie VPS wiederherstellen möchten.
Die verfügbaren Optionen für snapshot erhalten Sie unter VPS-Snapshots.
Sie können einen Snapshot aus einem beliebigen bereits erstellten VPS in Ihrem Dashboard auf der Seite der Bestellung erstellen und ihn zum Wiederherstellen (als Sicherung) oder zum Erstellen von Kopien der Bestellung (als Vorlage) verwenden.
Anstelle der Wiederherstellung aus einem Snapshot können Sie ein Betriebssystem installieren (Parameter template) oder eine Anwendung installieren (Parameter app). Verwenden Sie dazu den entsprechenden Parameter. Verwenden Sie nur einen Parameter pro Bestellung.
locationstringmin length: 1write-onlyErforderlichDer Zweizeichenländercode des Bestellungsstandorts.
Die verfügbaren Optionen für location erhalten Sie unter VPS-Standorte.
termintegerwrite-onlydefault: 113612
Die Anzahl der Monate, für die die Bestellung nach der Erstellung erneuert wird (z. B. 3).
Zusatzleistungen und deren Menge als Liste (öffnen Sie den ausklappbaren Bereich für weitere Details).
Die verfügbaren Optionen für services erhalten Sie unter VPS-Zusatzleistungen.
ssh_keysarray integer[]write-onlyIDs der SSH-Schlüssel als Liste, die während der Installation zum Server hinzugefügt werden. Die verfügbaren Optionen für ssh_keys erhalten Sie unter SSH-Schlüssel. Übergeben Sie die Schlüsselliste explizit. Standardmäßig wird eine leere Liste übergeben, auch wenn in Ihrem Dashboard Schlüssel mit der Markierung "standardmäßig hinzufügen" vorhanden sind.
namestringlength 1…25write-onlydefault: Benutzerdefinierter Name für den VPS. Standardmäßig ist für den Server kein Name festgelegt.
projectintegernullablewrite-onlyProjekt-ID. Die verfügbaren Optionen für project können in der Projektliste abgerufen werden.
disk_classintegernullablewrite-onlyDie ID der VPS-Festplattenklasse.
Die verfügbaren Optionen für tariff erhalten Sie unter VPS-Laufwerke.
Bei Verwendung einer benutzerdefinierten Konfiguration verwenden Sie das Attribut im Parameter configuration.
Verwenden Sie nicht beide Parameter gleichzeitig.
bandwidthintegernullablewrite-onlyBandbreitenlimit für die VPS-Bestellung. Der Preis pro Einheit ist im Wert bandwidth_tariff definiert
webhookobjectwrite-onlyWebhook-Konfiguration als Objekt (öffnen Sie den ausklappbaren Bereich für weitere Details). Dies ist erforderlich, um eine POST-Anfrage mit Bestellungsdetails und Zugriffsanmeldeinformationen nach der Erstellung des VPS zu erhalten.
placement_policystringwrite-onlydefault: OPTIONALSTRICTOPTIONAL
placement_groupintegernullablewrite-onlyprivate_networkintegernullablewrite-onlytagsarray string[]write-onlyTags für den VPS. Standardmäßig sind für den Server keine Tags festgelegt.
Antworten
201application/jsonorder_idstringread-onlyErforderlich
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"tariff": 1, "template": 1, "location": "DE", "term": 3, "services": [{"service": 1, "count": 1}], "ssh_keys": [1, 3]}' \
"https://fornex.com/api/orders/vps/"201{
"order_id": "34-1"
}VPS-Vorlagen
Liste alle verfügbaren Vorlagen zum Erstellen eines VPS auf. Informationen zu den erforderlichen VPS-Parametern werden auch für jede Vorlage enthalten.
/orders/vps/templates/Antworten
200application/jsonarray object[]Template[]idintegerread-onlyErforderlichID der Vorlage.
namestringmax length: 64ErforderlichName der Vorlage.
osstringread-onlyErforderlichpanelnullableIn der Vorlage verwendetes Admin-Panel, kann leer sein.
Einer vonarchstringWertex86_64arm
CPU-Architekturtyp, der für diese Vorlage erforderlich ist.
min_storage_spaceinteger (int64)min: 0max: 4294967295nullableMinimaler Speicherplatz, der für diese Vorlage erforderlich ist.
min_ram_volumeintegermin: 0max: 65535nullableMinimales RAM-Volumen, das für diese Vorlage erforderlich ist.
min_cpu_coresinteger (int64)min: 0max: 4294967295nullableMinimale Anzahl von CPU-Kernen, die für diese Vorlage erforderlich sind.
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/orders/vps/templates/"200[
{
"id": 49,
"name": "Ubuntu 20.04 & Hestia",
"os": "Ubuntu 20.04 LTS",
"panel": "hestia",
"min_storage_space": 5,
"min_ram_volume": 2,
"min_cpu_cores": 1,
"arch": "x86-64"
}
]VPS-Anwendungen
Liste alle verfügbaren Kombinationen aus "Anwendung + Betriebssystem" auf, die bei der VPS-Erstellung installiert werden könnten.
/orders/vps/apps/Antworten
200application/jsonarray object[]AppTemplate[]idintegerread-onlyErforderlichID der Anwendung.
namestringmax length: 64ErforderlichName der Anwendung.
osstringread-onlyErforderlich
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/orders/vps/apps/"200{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true,
"description": "ID der Anwendung."
},
"name": {
"type": "string",
"description": " Name der Anwendung.",
"maxLength": 64
},
"os": {
"type": "string",
"readOnly": true
}
},
"required": [
"id",
"name",
"os"
]
}
}VPS-Snapshots
Liste alle Snapshots auf Ihrem Konto auf, die zum Erstellen eines VPS verwendet werden könnten.
/orders/vps/snapshots/Antworten
200application/jsonarray object[]Snapshot[]idintegerread-onlyErforderlichID des Snapshots.
namestringmax length: 64ErforderlichName des Snapshots.
size_gbnumber (double)read-onlyErforderlichGröße des Snapshots in GB.
created_atstring (date-time)Erforderlich
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/orders/vps/snapshots/"200{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true,
"description": "ID des Snapshots."
},
"name": {
"type": "string",
"description": " Name des Snapshots.",
"maxLength": 64
},
"size_gb": {
"type": "number",
"format": "double",
"readOnly": true,
"description": "Größe des Snapshots in GB."
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"created_at",
"id",
"name",
"size_gb"
]
}
}VPS-Standorte
Alle Rechenzentren auflisten, in denen VPS-Dienste verfügbar sind.
/orders/vps/locations/Antworten
200application/jsonarray object[]VpsLocation[]valuestringErforderlichlabelstringErforderlichlocation_os_typesarray string[]Erforderlichbandwidth_tariffobjectnullabledisabled_by_slotsbooleandefault: truedisabled_by_cpu_freqbooleandefault: truedisabled_by_osbooleandefault: falsedisabled_by_cpu_typebooleandefault: falseavailable_frequenciesobjectErforderlich
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/orders/vps/locations/"200[
{
"value": "DE",
"label": "Germany",
"location_os_types": [
"linux",
"windows-trial"
],
"available_frequencies": {
"x86_64": [
"2.1",
"3.8"
],
"arm": [
"1"
]
}
}
]VPS-Laufwerke
Alle für einen VPS verfügbaren Festplattenoptionen auflisten.
/orders/vps/disks/Antworten
200application/jsonarray object[]VpsDiskClass[]idintegerread-onlyErforderlichnamestringmax length: 64Erforderlichlimit_total_mbytes_secintegermin: 0max: 65535ErforderlichМb/sec
limit_read_iops_secintegermin: 0max: 65535ErforderlichOp/sec
limit_write_iops_secintegermin: 0max: 65535ErforderlichOp/sec
price_per_gbstring (decimal)^-?\d{0,2}(?:\.\d{0,4})?$ErforderlichKosten pro 1 GB
disk_typeDiskTypeEnumWertehddnvmessdsas
disk_type_displaystringErforderlich
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/orders/vps/disks/"200[
{
"id": 1,
"name": "Optimal",
"limit_total_mbytes_sec": 250,
"limit_read_iops_sec": 9000,
"limit_write_iops_sec": 7000,
"price_per_gb": "0.0300",
"disk_type": "ssd",
"disk_type_display": "SSD"
}
]VPS Zusatzleistungen
Alle für einen VPS verfügbaren Zusatzleistungen auflisten.
/orders/vps/services/Antworten
200application/jsonarray object[]Service[]idintegerread-onlyErforderlichID der Dienstleistung.
namestringmax length: 128ErforderlichName der Dienstleistung.
descriptionstringmax length: 255Beschreibung der Dienstleistung.
pricestring (decimal)^-?\d{0,8}(?:\.\d{0,2})?$ErforderlichPreis der Dienstleistung.
billing_typestringErforderlichWertesingleperiodic
Einmalige oder monatliche Gebühr.
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/orders/vps/services/"200{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true,
"description": "ID der Dienstleistung."
},
"name": {
"type": "string",
"description": " Name der Dienstleistung.",
"maxLength": 128
},
"description": {
"type": "string",
"title": "Beschreibung",
"description": "Beschreibung der Dienstleistung.",
"maxLength": 255
},
"price": {
"type": "string",
"format": "decimal",
"pattern": "^-?\\d{0,8}(?:\\.\\d{0,2})?$",
"description": "Preis der Dienstleistung."
},
"billing_type": {
"allOf": [
{
"enum": [
"single",
"periodic"
],
"type": "string"
}
],
"description": "Einmalige oder monatliche Gebühr."
}
},
"required": [
"billing_type",
"id",
"name",
"price"
]
}
}VPS: Reinstall
Installieren Sie das Betriebssystem auf Ihrem VPS neu, während Sie die bestehende Bestellung und Konfiguration beibehalten. Dieser Abschnitt behandelt die API-Endpunkte zum Abrufen verfügbarer Installationsziele – z. B. saubere OS-Vorlagen, vorkonfigurierte Anwendungen oder vorhandene Snapshots – und zum Starten des Neuinstallationsprozesses.
VPS-Neuinstallationsvorlagen
Liste aller verfügbaren Vorlagen zur Neuinstallation des VPS. Informationen über die erforderlichen VPS-Parameter werden auch für jede Vorlage enthalten sein.
/vps/{order_id}/reinstall/templates/Pfad-Parameter
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Query-Parameter
pageintegerEine Seitennummer innerhalb des paginierten Ergebnissatzes.
default: 1page_sizeintegerAnzahl der Ergebnisse pro Seite.
default: 10
Antworten
200application/jsoncountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2
ORDER_ID='34-1234'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vps/$ORDER_ID/reinstall/templates/"200{
"count": 123,
"next": "http://api.example.org/accounts/?page=4",
"previous": "http://api.example.org/accounts/?page=2",
"results": [
{
"id": 49,
"name": "Ubuntu 20.04 & Hestia",
"os": "Ubuntu 20.04 LTS",
"panel": "hestia",
"min_storage_space": 5,
"min_ram_volume": 2,
"min_cpu_cores": 1,
"arch": "x86-64"
}
]
}VPS-Neuinstallationsanwendungen
Liste aller verfügbaren Kombinationen von "Anwendung + Betriebssystem", die bei der Neuinstallation des VPS installiert werden können.
/vps/{order_id}/reinstall/apps/Pfad-Parameter
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Query-Parameter
pageintegerEine Seitennummer innerhalb des paginierten Ergebnissatzes.
default: 1page_sizeintegerAnzahl der Ergebnisse pro Seite.
default: 10
Antworten
200application/jsoncountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2
ORDER_ID='34-1234'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vps/$ORDER_ID/reinstall/apps/"200{
"type": "object",
"required": [
"count",
"results"
],
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"nullable": true,
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
},
"previous": {
"type": "string",
"nullable": true,
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true,
"description": "ID der Anwendung."
},
"name": {
"type": "string",
"description": " Name der Anwendung.",
"maxLength": 64
},
"os": {
"type": "string",
"readOnly": true
}
},
"required": [
"id",
"name",
"os"
]
}
}
}
}VPS-Neuinstallations-Snapshots
Liste aller auf Ihrem Konto verfügbaren Snapshots, die zur Neuinstallation des VPS verwendet werden können.
/vps/{order_id}/reinstall/snapshots/Pfad-Parameter
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Query-Parameter
pageintegerEine Seitennummer innerhalb des paginierten Ergebnissatzes.
default: 1page_sizeintegerAnzahl der Ergebnisse pro Seite.
default: 10
Antworten
200application/jsoncountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2
ORDER_ID='34-1234'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vps/$ORDER_ID/reinstall/snapshots/"200{
"type": "object",
"required": [
"count",
"results"
],
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"nullable": true,
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
},
"previous": {
"type": "string",
"nullable": true,
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true,
"description": "ID des Snapshots."
},
"name": {
"type": "string",
"description": " Name des Snapshots.",
"maxLength": 64
},
"size_gb": {
"type": "number",
"format": "double",
"readOnly": true,
"description": "Größe des Snapshots in GB."
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"created_at",
"id",
"name",
"size_gb"
]
}
}
}
}VPS neu installieren
Startet den Neuinstallationsprozess für den VPS. Sie müssen entweder eine VPS-Vorlagen-ID oder eine Anwendungs-ID für eine Neuinstallation oder eine Snapshot-ID zum Wiederherstellen des Servers in einen vorherigen Zustand angeben.
Warnung: Dies ist eine destruktive Aktion. Alle aktuellen Daten auf dem Server werden dauerhaft gelöscht und durch das ausgewählte Image ersetzt.
/vps/{order_id}/reinstall/reinstall/Pfad-Parameter
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Body
Public API version: exposes template instead of ostemplate.
appintegernullablewrite-onlytemplateintegerwrite-onlysnapshotintegernullablewrite-onlyAntworten
200application/jsonPublic API version: exposes
templateinstead ofostemplate.display_namestringread-onlyErforderlichstatusstringread-onlyErforderlichdatestring (date-time)read-onlyErforderlich
ORDER_ID='34-1234'
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"template":0}' \
"https://fornex.com/api/vps/$ORDER_ID/reinstall/reinstall/"200{
"type": "object",
"description": "Public API version: exposes ``template`` instead of ``ostemplate``.",
"properties": {
"display_name": {
"type": "string",
"readOnly": true
},
"status": {
"type": "string",
"readOnly": true
},
"date": {
"type": "string",
"format": "date-time",
"readOnly": true
}
},
"required": [
"date",
"display_name",
"status"
]
}VPS: Controls
Ein Virtual Private Server bei Fornex unterstützt Remote-Control-Anfragen. Dieser Abschnitt behandelt die API-Endpunkte zum Starten, Stoppen oder Zurücksetzen Ihres VPS bei Fornex sowie weitere Optionen.
VPS-Status
/vps/{order_id}/status/Pfad-Parameter
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Antworten
200application/jsonstatusstringErforderlichon | off | unknown
ORDER_ID='34-1234'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vps/$ORDER_ID/status/"200{
"status": "on"
}VPS starten
/vps/{order_id}/start/Pfad-Parameter
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Antworten
200application/jsonpkintegerread-onlyErforderlichactionstringread-onlyErforderlichnotestringread-onlyErforderlichuserstringread-onlyErforderlichtimestring (date-time)read-onlyErforderlichcompletedbooleanread-onlyErforderlichjob_statestringread-onlyErforderlichWertereadyerrordone
job_actionstringread-onlyErforderlich
ORDER_ID='34-1234'
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vps/$ORDER_ID/start/"200{
"pk": 1,
"action": "Starten",
"note": "Server wird gestartet",
"user": "username@example.com",
"time": "2024-02-15T11:12:11+02:00",
"completed": false,
"job_state": "ready",
"job_action": "start"
}VPS stoppen
/vps/{order_id}/stop/Pfad-Parameter
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Antworten
200application/jsonpkintegerread-onlyErforderlichactionstringread-onlyErforderlichnotestringread-onlyErforderlichuserstringread-onlyErforderlichtimestring (date-time)read-onlyErforderlichcompletedbooleanread-onlyErforderlichjob_statestringread-onlyErforderlichWertereadyerrordone
job_actionstringread-onlyErforderlich
ORDER_ID='34-1234'
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vps/$ORDER_ID/stop/"200{
"pk": 1,
"action": "Starten",
"note": "Server wird gestartet",
"user": "username@example.com",
"time": "2024-02-15T11:12:11+02:00",
"completed": false,
"job_state": "ready",
"job_action": "start"
}VPS neu starten
/vps/{order_id}/restart/Pfad-Parameter
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Antworten
200application/jsonpkintegerread-onlyErforderlichactionstringread-onlyErforderlichnotestringread-onlyErforderlichuserstringread-onlyErforderlichtimestring (date-time)read-onlyErforderlichcompletedbooleanread-onlyErforderlichjob_statestringread-onlyErforderlichWertereadyerrordone
job_actionstringread-onlyErforderlich
ORDER_ID='34-1234'
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vps/$ORDER_ID/restart/"200{
"pk": 1,
"action": "Starten",
"note": "Server wird gestartet",
"user": "username@example.com",
"time": "2024-02-15T11:12:11+02:00",
"completed": false,
"job_state": "ready",
"job_action": "start"
}Rescue Mode starten
/vps/{order_id}/rescue_mode/Pfad-Parameter
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Antworten
200application/jsonpkintegerread-onlyErforderlichactionstringread-onlyErforderlichnotestringread-onlyErforderlichuserstringread-onlyErforderlichtimestring (date-time)read-onlyErforderlichcompletedbooleanread-onlyErforderlichjob_statestringread-onlyErforderlichWertereadyerrordone
job_actionstringread-onlyErforderlich
ORDER_ID='34-1234'
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vps/$ORDER_ID/rescue_mode/"200{
"pk": 1,
"action": "Starten",
"note": "Server wird gestartet",
"user": "username@example.com",
"time": "2024-02-15T11:12:11+02:00",
"completed": false,
"job_state": "ready",
"job_action": "start"
}Rescue Mode beenden
/vps/{order_id}/stop_rescue_mode/Pfad-Parameter
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Antworten
200application/jsonpkintegerread-onlyErforderlichactionstringread-onlyErforderlichnotestringread-onlyErforderlichuserstringread-onlyErforderlichtimestring (date-time)read-onlyErforderlichcompletedbooleanread-onlyErforderlichjob_statestringread-onlyErforderlichWertereadyerrordone
job_actionstringread-onlyErforderlich
ORDER_ID='34-1234'
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vps/$ORDER_ID/stop_rescue_mode/"200{
"pk": 1,
"action": "Starten",
"note": "Server wird gestartet",
"user": "username@example.com",
"time": "2024-02-15T11:12:11+02:00",
"completed": false,
"job_state": "ready",
"job_action": "start"
}VPS hart zurücksetzen
Sie können einen harten Reset durchführen, auch als Hard Reboot bekannt, um die VPS-Leistung wiederherzustellen.
Ein Rücksetzsignal wird an die virtuelle Maschine gesendet, die sie neu startet, ohne sie zunächst für das Herunterfahren vorzubereiten.
Beachten Sie, dass die meisten Dateisysteme, die verzögerte Schreibvorgänge verwenden, nach einem harten Neustart in einen "unbereinigten" Zustand geraten können. Danach wird normalerweise eine automatische Dateisystemprüfung ausgeführt, nach der die virtuelle Maschine normal funktionieren kann, aber einige Daten können dennoch verloren gehen.
/vps/{order_id}/hard_reset/Pfad-Parameter
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Antworten
200application/jsonpkintegerread-onlyErforderlichactionstringread-onlyErforderlichnotestringread-onlyErforderlichuserstringread-onlyErforderlichtimestring (date-time)read-onlyErforderlichcompletedbooleanread-onlyErforderlichjob_statestringread-onlyErforderlichWertereadyerrordone
job_actionstringread-onlyErforderlich
ORDER_ID='34-1234'
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vps/$ORDER_ID/hard_reset/"200{
"pk": 1,
"action": "Starten",
"note": "Server wird gestartet",
"user": "username@example.com",
"time": "2024-02-15T11:12:11+02:00",
"completed": false,
"job_state": "ready",
"job_action": "start"
}Root-Passwort zurücksetzen
/vps/{order_id}/passwd_reset/Pfad-Parameter
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Antworten
200application/jsonpasswdstringread-onlyErforderlichIhr neues Passwort.
resp_idintegerread-onlyErforderlichID der Operation, um deren Status zu überprüfen. Weitere Details finden Sie unter vps_log_details
ORDER_ID='34-1234'
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vps/$ORDER_ID/passwd_reset/"200{
"type": "object",
"properties": {
"passwd": {
"type": "string",
"readOnly": true,
"description": "Ihr neues Passwort."
},
"resp_id": {
"type": "integer",
"readOnly": true,
"description": "ID der Operation, um deren Status zu überprüfen. Weitere Details finden Sie unter [vps_log_details](#operation/vps_log_details_retrieve)"
}
},
"required": [
"passwd",
"resp_id"
]
}Anfragestatus
/vps/{order_id}/log_details/{log_id}/Pfad-Parameter
log_idintegerErforderlichDatensatz-ID
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Antworten
200application/jsonpkintegerread-onlyErforderlichactionstringread-onlyErforderlichnotestringread-onlyErforderlichuserstringread-onlyErforderlichtimestring (date-time)read-onlyErforderlichcompletedbooleanread-onlyErforderlichjob_statestringread-onlyErforderlichWertereadyerrordone
job_actionstringread-onlyErforderlich
LOG_ID='1'
ORDER_ID='34-1234'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vps/$ORDER_ID/log_details/$LOG_ID/"200{
"pk": 1,
"action": "Starten",
"note": "Server wird gestartet",
"user": "username@example.com",
"time": "2024-02-15T11:12:11+02:00",
"completed": false,
"job_state": "ready",
"job_action": "start"
}VPS: Settings
Sie können Einstellungen auf einem virtuellen Fornex-Server remote ändern. Dieser Abschnitt enthält API-Anfragen zur Durchführung dieser Änderungen.
VPS-Einstellungen anpassen
Verschiedene VPS-Parameter anpassen.
/vps/{order_id}/Pfad-Parameter
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Body
private_network_enabledbooleanVerbinden Sie die Bestellung mit einem privaten Netzwerk. Dies ermöglicht den direkten Datenaustausch mit anderen Bestellungen im selben Netzwerk und verbessert Geschwindigkeit und Sicherheit. Derzeit wird nur ein privates Netzwerk pro Konto erstellt.
Antworten
200application/jsonprivate_network_enabledbooleanErforderlichVerbinden Sie die Bestellung mit einem privaten Netzwerk. Dies ermöglicht den direkten Datenaustausch mit anderen Bestellungen im selben Netzwerk und verbessert Geschwindigkeit und Sicherheit. Derzeit wird nur ein privates Netzwerk pro Konto erstellt.
ORDER_ID='34-1234'
curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"private_network_enabled":false}' \
"https://fornex.com/api/vps/$ORDER_ID/"200{
"type": "object",
"properties": {
"private_network_enabled": {
"type": "boolean",
"description": "Verbinden Sie die Bestellung mit einem privaten Netzwerk. Dies ermöglicht den direkten Datenaustausch mit anderen Bestellungen im selben Netzwerk und verbessert Geschwindigkeit und Sicherheit. Derzeit wird nur ein privates Netzwerk pro Konto erstellt."
}
},
"required": [
"private_network_enabled"
]
}VPS: Statistics
Bei Fornex erfassen wir Statistiken zur Leistung und Ressourcennutzung Ihres Virtual Private Server. Dieser Abschnitt behandelt den API-Endpunkt, mit dem Sie diese Statistiken anfordern können.
VPS-Statistiken
Das Feld series enthält eine Liste von Wertpaaren (Zeitstempel * 1000, Gleitkommawert).
/vps/{order_id}/stats/{field}/Pfad-Parameter
fieldstringErforderlichStatistikfeld
cpudiskiomemorytrafficorder_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Query-Parameter
endstringPeriodenende (Standard:
now)startstringPeriodenbeginn (Standard:
-1h)
Antworten
200application/jsonsubtitlestringErforderlich
FIELD='traffic'
ORDER_ID='34-1234'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vps/$ORDER_ID/stats/$FIELD/"200{
"series": [
{
"color": "#60B5FF",
"data": [
[
1677628800000,
0.09553581192531
],
[
1677629088000,
0.09553581192531
],
[
1677629376000,
0.09916645151423
]
],
"name": "Eingehend"
},
{
"color": "#61D561",
"data": [
[
1677628800000,
4585.9263464
],
[
1677629088000,
4575.14841552
],
[
1677629376000,
4636.41519648
]
],
"name": "Ausgehend",
"type": "areaspline"
}
],
"subtitle": "16. November 2015, 17:18 - 17. November 2015, 17:18 (Europe/Moscow)"
}VPS: Private Network
Verwaltung von privaten Netzwerken für VPS.
Netzwerkliste
/private-network/Query-Parameter
pageintegerEine Seitennummer innerhalb des paginierten Ergebnissatzes.
default: 1page_sizeintegerAnzahl der Ergebnisse pro Seite.
default: 10
Antworten
200application/jsoncountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/private-network/"200{
"type": "object",
"required": [
"count",
"results"
],
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"nullable": true,
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
},
"previous": {
"type": "string",
"nullable": true,
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
}
},
"required": [
"id"
]
}
}
}
}curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/private-network/"201{
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
}
},
"required": [
"id"
]
}Unterstützte Standorte
/private-network/locations/Query-Parameter
pageintegerEine Seitennummer innerhalb des paginierten Ergebnissatzes.
default: 1page_sizeintegerAnzahl der Ergebnisse pro Seite.
default: 10
Antworten
200application/jsoncountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/private-network/locations/"200{
"type": "object",
"required": [
"count",
"results"
],
"properties": {
"count": {
"type": "integer",
"example": 123
},
"next": {
"type": "string",
"nullable": true,
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
},
"previous": {
"type": "string",
"nullable": true,
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"location": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
},
"icon": {
"type": "string"
}
},
"required": [
"icon",
"label",
"value"
]
}
},
"required": [
"id",
"location"
]
}
}
}
}Netzwerk löschen
/private-network/{id}/Pfad-Parameter
idintegerErforderlichEin eindeutiger Ganzzahl-Wert, das diesen User VNI identifiziert.
Antworten
204No response body
ID='1'
curl -X DELETE \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/private-network/$ID/"Dedicated Order
DS-Bestellungsliste
Alle verfügbaren DS-Bestellungen auflisten. Informationen zu den Parametern jeder Bestellung werden auch in der Antwort enthalten sein.
/orders/ds/Query-Parameter
cancel_markbooleanFiltern Sie die Bestellungen, die storniert werden.
orderingstringFeld, nach dem die Ergebnisse sortiert werden.
default: idexpiredidpageintegerEine Seitennummer innerhalb des paginierten Ergebnissatzes.
default: 1page_sizeintegerAnzahl der Ergebnisse pro Seite.
default: 10
Antworten
200application/jsoncountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/orders/ds/"200{
"count": 123,
"next": "http://api.example.org/accounts/?page=4",
"previous": "http://api.example.org/accounts/?page=2",
"results": [
{
"id": "34-1234",
"name": "DB Host",
"tariff": "VPS Master",
"tariff_price": 140,
"type": "vps",
"hostname": "srv-123.fornex.org",
"ipaddress_set": [
"123.123.123.123"
],
"status": "active",
"cost_month": 148,
"expiration_date": "2015-12-18T17:21:46",
"tags": [
"Database"
],
"configuration": {
"cpu_count": 1,
"cpu": "Intel Xeon Silver 4110 (8×2.1Ghz)",
"motherboard": "Supermicro X9SCM-F",
"chassis": "(1U) Supermicro U1 (BP:no, hdd-3.5x4) (4x 3.5)",
"bandwidth": 1024,
"memory": 16
}
}
]
}DS-Bestellungsdetails
Rufen Sie alle verfügbaren Daten zur Bestellung nach ihrer ID ab.
/orders/ds/{order_id}/Pfad-Parameter
order_idstringErforderlichBestellungs-ID im Format NN-NNNNNNN.
Antworten
200application/jsonidstringread-onlyErforderlichnamestringmax length: 64tariffstringread-onlyErforderlichtariff_pricenumber (double)nullableread-onlyErforderlichtypestringread-onlyErforderlichhostnamestringnullableread-onlyErforderlichipaddress_setarray string[]nullableread-onlyErforderlichstatusstringread-onlyErforderlichWerteunpaidpendingactiveexpireddisabledcanceledblockednoprolong
cost_monthnumber (double)read-onlyErforderlichexpiration_datestring (date-time)read-onlyErforderlichtagsarray string[]Erforderlichcancel_markbooleanread-onlyErforderlichEin Marker, der anzeigt, dass die Bestellung storniert wird.
projectobjectnullableread-onlyErforderlichconfigurationobjectread-onlyErforderlichServerkonfiguration
ORDER_ID='34-123456'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/orders/ds/$ORDER_ID/"200{
"id": "34-1234",
"name": "DB Host",
"tariff": "VPS Master",
"tariff_price": 140,
"type": "vps",
"hostname": "srv-123.fornex.org",
"ipaddress_set": [
"123.123.123.123"
],
"status": "active",
"cost_month": 148,
"expiration_date": "2015-12-18T17:21:46",
"tags": [
"Database"
],
"configuration": {
"cpu_count": 1,
"cpu": "Intel Xeon Silver 4110 (8×2.1Ghz)",
"motherboard": "Supermicro X9SCM-F",
"chassis": "(1U) Supermicro U1 (BP:no, hdd-3.5x4) (4x 3.5)",
"bandwidth": 1024,
"memory": 16
}
}Datenverkehr
Verkehrsdaten für Bestellung abrufen
/orders/ds/{order_id}/traffic/Pfad-Parameter
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Query-Parameter
periodstringZeitraum für die Anzeige von Statistiken
default: monthmonthyearportintegerSequenzielle Portnummer
default: 0
Antworten
200application/jsondataarrayErforderlichorderstringErforderlichperiodstringErforderlich
ORDER_ID='34-1234'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/orders/ds/$ORDER_ID/traffic/"200{
"data": [
[
"2015-11-11",
{
"input": 41348840999.42331,
"output": 969929788001.3163
}
],
[
"2015-11-12",
{
"input": 44384423647.10196,
"output": 1019910108491.1565
}
]
],
"order": "34-1234 DS HyperXeon (example.net)",
"period": "month"
}Verkehrsgrenzen
/orders/ds/{order_id}/traffic_used/Pfad-Parameter
order_idintegerErforderlichEin eindeutiger Ganzzahl-Wert, das diesen DS-Bestellung identifiziert.
Antworten
200application/jsonorderstringErforderlichlimitintegerErforderlichrange_startstring (date)Erforderlichrange_endstring (date)ErforderlichusedintegerErforderlichused_ratenumber (double)Erforderlich
ORDER_ID='1'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/orders/ds/$ORDER_ID/traffic_used/"200{
"limit": 14293651161088,
"order": "34-1234 DS XeonNeon (example.net)",
"range_end": "2015-11-21",
"range_start": "2015-10-21",
"used": 3508146044885.079,
"used_rate": 0.24543386468220252
}Domain
Domain-Liste
/dns/domain/Query-Parameter
pageintegerEine Seitennummer innerhalb des paginierten Ergebnissatzes.
default: 1page_sizeintegerAnzahl der Ergebnisse pro Seite.
default: 10qstringNach Name oder IP suchen
tagstringNach Tag filtern
Antworten
200application/jsoncountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/dns/domain/"200{
"count": 123,
"next": "http://api.example.org/accounts/?page=4",
"previous": "http://api.example.org/accounts/?page=2",
"results": [
{
"name": "example.com",
"created": "2024-02-05T21:41:25",
"updated": "2024-02-05T21:41:25",
"entry_set": [
{
"host": "",
"id": 366182,
"type": "A",
"ttl": null,
"value": "192.0.2.1"
}
],
"tags": []
}
]
}Domain hinzufügen
Die Möglichkeit, Domains über die API hinzuzufügen, ist standardmäßig aus Sicherheitsgründen deaktiviert. Wenn Sie diese Funktion nutzen möchten — kontaktieren Sie den Support.
/dns/domain/Body
Erforderlichnamestringlength 1…128Erforderlichipstring (ipv4)min length: 1write-onlyErforderlichcurl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"name": "example.com", "ip": "192.0.2.1"}' \
"https://fornex.com/api/dns/domain/"201{
"name": "example.com",
"created": "2024-02-05T21:41:25",
"updated": "2024-02-05T21:41:25",
"entry_set": [
{
"host": "",
"id": 366182,
"type": "A",
"ttl": null,
"value": "192.0.2.1"
}
],
"tags": []
}Domain löschen
/dns/domain/{name}/Pfad-Parameter
namestringErforderlichDomänenname
Antworten
204No response body
NAME='example.com'
curl -X DELETE \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/dns/domain/$NAME/"Zonendatei
/dns/domain/{name}/zone_file/Pfad-Parameter
namestringErforderlichDomänenname
Antworten
200text/plainZone file content (BIND format)
string
NAME='example.com'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/dns/domain/$NAME/zone_file/"200"$TTL 21600\n@\tIN\tSOA\tns1.fornex.com. hostmaster.fornex.com. (\n...\n"Domain: Entry
Eintragsliste
/dns/domain/{name}/entry_set/Pfad-Parameter
namestringErforderlichDomänenname
Query-Parameter
qstringDatensatzfilter
typestringAAAAACAACNAMEMXNSSRVTXTnull
Antworten
200application/jsonarray object[]Entry[]idintegerread-onlyErforderlichhoststringmax length: 255default:Eintrag-Hostname: '@, *, Subdomain'
typestringErforderlichWerteAAAAATXTCNAMENSMXSRVCAA
Eintragstyp
priointeger (int64)min: 0max: 4294967295nullablePriorität, wird nur für SRV und MX verwendet
valuestringmax length: 1024ErforderlichEinragswert gemäß Typ, zum Beispiel IP für A-Einträge
ttlnullableEintrag-TTL (optional, Standard: 3600 Sek.)
Einer von
NAME='example.com'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/dns/domain/$NAME/entry_set/"200[
{
"id": 1,
"host": "www",
"type": "A",
"ttl": null,
"value": "10.10.10.18"
}
]Eintrag hinzufügen
/dns/domain/{name}/entry_set/Pfad-Parameter
namestringErforderlichDomänenname
Body
Erforderlichhoststringmax length: 255default: Eintrag-Hostname: '@, *, Subdomain'
typestringErforderlichAAAAATXTCNAMENSMXSRVCAA
Eintragstyp
priointeger (int64)min: 0max: 4294967295nullablePriorität, wird nur für SRV und MX verwendet
valuestringlength 1…1024ErforderlichEinragswert gemäß Typ, zum Beispiel IP für A-Einträge
ttlnullableEintrag-TTL (optional, Standard: 3600 Sek.)
Antworten
201application/jsonidintegerread-onlyErforderlichhoststringmax length: 255default:Eintrag-Hostname: '@, *, Subdomain'
typestringErforderlichWerteAAAAATXTCNAMENSMXSRVCAA
Eintragstyp
priointeger (int64)min: 0max: 4294967295nullablePriorität, wird nur für SRV und MX verwendet
valuestringmax length: 1024ErforderlichEinragswert gemäß Typ, zum Beispiel IP für A-Einträge
ttlnullableEintrag-TTL (optional, Standard: 3600 Sek.)
Einer von
NAME='example.com'
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"host": "www", "type": "A", "ttl": null, "value": "10.10.10.18"}' \
"https://fornex.com/api/dns/domain/$NAME/entry_set/"201{
"id": 1,
"host": "www",
"type": "A",
"ttl": null,
"value": "10.10.10.18"
}Eintrag aktualisieren
/dns/domain/{name}/entry_set/{id}/Pfad-Parameter
idintegerErforderlichEin eindeutiger Ganzzahl-Wert, das diesen DNS-Eintrag identifiziert.
namestringErforderlichDomänenname
Body
Erforderlichhoststringmax length: 255default: Eintrag-Hostname: '@, *, Subdomain'
typestringErforderlichAAAAATXTCNAMENSMXSRVCAA
Eintragstyp
priointeger (int64)min: 0max: 4294967295nullablePriorität, wird nur für SRV und MX verwendet
valuestringlength 1…1024ErforderlichEinragswert gemäß Typ, zum Beispiel IP für A-Einträge
ttlnullableEintrag-TTL (optional, Standard: 3600 Sek.)
Antworten
200application/jsonidintegerread-onlyErforderlichhoststringmax length: 255default:Eintrag-Hostname: '@, *, Subdomain'
typestringErforderlichWerteAAAAATXTCNAMENSMXSRVCAA
Eintragstyp
priointeger (int64)min: 0max: 4294967295nullablePriorität, wird nur für SRV und MX verwendet
valuestringmax length: 1024ErforderlichEinragswert gemäß Typ, zum Beispiel IP für A-Einträge
ttlnullableEintrag-TTL (optional, Standard: 3600 Sek.)
Einer von
ID='1'
NAME='example.com'
curl -X PUT \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"host": "www", "type": "A", "ttl": null, "value": "10.10.10.18"}' \
"https://fornex.com/api/dns/domain/$NAME/entry_set/$ID/"200{
"id": 1,
"host": "www",
"type": "A",
"ttl": null,
"value": "10.10.10.18"
}Eintrag löschen
/dns/domain/{name}/entry_set/{id}/Pfad-Parameter
idintegerErforderlichEin eindeutiger Ganzzahl-Wert, das diesen DNS-Eintrag identifiziert.
namestringErforderlichDomänenname
Antworten
204No response body
ID='1'
NAME='example.com'
curl -X DELETE \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/dns/domain/$NAME/entry_set/$ID/"Domain Order
NS ändern
Anfrage zur Änderung von Nameservern für Domain-Bestellung.
/dns/order/{order_id}/change_ns/Pfad-Parameter
order_idstringErforderlichBestellungsnummer
Body
Erforderlichnssstringmin length: 1ErforderlichListe der NS, durch Komma getrennt
Antworten
200application/jsonnssstringErforderlichListe der NS, durch Komma getrennt
ORDER_ID='375-13'
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"nss": "ns1.examle.com,ns2.example.com"}' \
"https://fornex.com/api/dns/order/$ORDER_ID/change_ns/"200{
"type": "object",
"properties": {
"nss": {
"type": "string",
"title": "Nameservers",
"description": "Liste der NS, durch Komma getrennt"
}
},
"required": [
"nss"
]
}SSH Keys
Schlüsselliste
/ssh_keys/Antworten
200application/jsonarray object[]SshKey[]idintegerread-onlyErforderlichuserstringread-onlyErforderlichkeystringmax length: 16384ErforderlichÖffentlicher Schlüssel im Klartext.
titlestringmax length: 128Erforderlichdatestring (date-time)read-onlyErforderlichdefaultboolean
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/ssh_keys/"200[
{
"id": 1,
"key": "ssh-rsa tt3BPrBTUCGXsCXmiF03LD/f9 test@test",
"title": "Dev Laptop",
"date": "2019-08-24T14:15:22Z",
"default": true
}
]Schlüssel hinzufügen
Wenn Sie einen neuen Schlüssel hinzufügen, wird dieser automatisch mit all Ihren VPS verknüpft. Der Schlüssel wird nur beim Erstellen oder Neuinstallieren direkt auf den VPS übertragen.
/ssh_keys/Body
Erforderlichkeystringlength 1…16384ErforderlichÖffentlicher Schlüssel im Klartext.
titlestringlength 1…128ErforderlichdefaultbooleanAntworten
201application/jsonidintegerread-onlyErforderlichuserstringread-onlyErforderlichkeystringmax length: 16384ErforderlichÖffentlicher Schlüssel im Klartext.
titlestringmax length: 128Erforderlichdatestring (date-time)read-onlyErforderlichdefaultboolean
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"key": "ssh-rsa tt3BPrBTUCGXsCXmiF03LD/f9 test@test", "title": "Dev Laptop", "default": true}' \
"https://fornex.com/api/ssh_keys/"201{
"id": 1,
"key": "ssh-rsa tt3BPrBTUCGXsCXmiF03LD/f9 test@test",
"title": "Dev Laptop",
"date": "2019-08-24T14:15:22Z",
"default": true
}Schlüssel löschen
/ssh_keys/{key_id}/Pfad-Parameter
key_idintegerErforderlichEin eindeutiger Ganzzahl-Wert, das diesen user ssh key identifiziert.
Antworten
204No response body
KEY_ID='1'
curl -X DELETE \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/ssh_keys/$KEY_ID/"VPS SSH Keys
Liste der Bestellschlüssel
/vps/{order_id}/ssh_keys/Pfad-Parameter
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Antworten
200application/jsonarray object[]SshKey[]idintegerread-onlyErforderlichuserstringread-onlyErforderlichkeystringmax length: 16384ErforderlichÖffentlicher Schlüssel im Klartext.
titlestringmax length: 128Erforderlichdatestring (date-time)read-onlyErforderlichdefaultboolean
ORDER_ID='34-1234'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vps/$ORDER_ID/ssh_keys/"200[
{
"id": 1,
"key": "ssh-rsa tt3BPrBTUCGXsCXmiF03LD/f9 test@test",
"title": "Dev Laptop",
"date": "2019-08-24T14:15:22Z",
"default": true
}
]Schlüssel zur Bestellung hinzufügen
/vps/{order_id}/ssh_keys/add/Pfad-Parameter
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Body
Erforderlichkey_pkintegerwrite-onlyErforderlichAntworten
200No response body
ORDER_ID='34-1234'
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"key_pk": 1}' \
"https://fornex.com/api/vps/$ORDER_ID/ssh_keys/add/"Bestellschlüssel löschen
/vps/{order_id}/ssh_keys/delete/Pfad-Parameter
order_idstringErforderlichBestellnummer (einschließlich Präfix 34-...)
Body
Erforderlichkey_pkintegerwrite-onlyErforderlichAntworten
200No response body
ORDER_ID='34-1234'
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"key_pk": 1}' \
"https://fornex.com/api/vps/$ORDER_ID/ssh_keys/delete/"S3 Storage
Liste der S3-Bestellungen
Rufen Sie eine Liste aller verfügbaren S3-Bestellungen ab. Informationen zu den Parametern jeder Bestellung werden auch in der Antwort enthalten sein
/orders/s3/Query-Parameter
cancel_markbooleanFiltern Sie die Bestellungen, die storniert werden.
orderingstringFeld, nach dem die Ergebnisse sortiert werden.
default: idexpiredidpageintegerEine Seitennummer innerhalb des paginierten Ergebnissatzes.
default: 1page_sizeintegerAnzahl der Ergebnisse pro Seite.
default: 10
Antworten
200application/jsoncountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/orders/s3/"200{
"count": 123,
"next": "http://api.example.org/accounts/?page=4",
"previous": "http://api.example.org/accounts/?page=2",
"results": [
{
"id": "34-1234",
"name": "DB Host",
"hostname": "srv-123.fornex.org",
"status": "active",
"cost_month": 148,
"expiration_date": "2015-12-18T17:21:46",
"tags": [
"Database"
],
"access_key": "user.8cab052ag4",
"secret_key": "hisQNeOv2ZgjzSCSA1JJDLOhwAcA8s17",
"bucket_name": "user.8cab052ag4.main",
"space_used": "18"
}
]
}S3-Bestelldetails
Rufen Sie alle verfügbaren Daten zur Bestellung nach ihrer ID ab.
/orders/s3/{order_id}/Pfad-Parameter
order_idstringErforderlichBestellnummer im Format NNN-NN.
Antworten
200application/jsonidstringread-onlyErforderlichnamestringread-onlyErforderlichhostnamestringErforderlichaccess_keystringread-onlyErforderlichsecret_keystringread-onlyErforderlichbucket_namestringread-onlyErforderlichspace_usedintegerErforderlichcost_monthnumber (double)read-onlyErforderlichexpiration_datestring (date-time)read-onlyErforderlichtagsarray string[]Erforderlichcancel_markbooleanread-onlyErforderlichEin Marker, der anzeigt, dass die Bestellung storniert wird.
projectobjectnullableread-onlyErforderlich
ORDER_ID='664-7'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/orders/s3/$ORDER_ID/"200{
"id": "34-1234",
"name": "DB Host",
"hostname": "srv-123.fornex.org",
"status": "active",
"cost_month": 148,
"expiration_date": "2015-12-18T17:21:46",
"tags": [
"Database"
],
"access_key": "user.8cab052ag4",
"secret_key": "hisQNeOv2ZgjzSCSA1JJDLOhwAcA8s17",
"bucket_name": "user.8cab052ag4.main",
"space_used": "18"
}S3-Benachrichtigungsschwelle für wenig Speicherplatz
Legen Sie die Schwelle für verfügbaren Speicherplatz fest, bei der eine Warnung gesendet wird. Übergeben Sie 0, um die Benachrichtigung zu deaktivieren.
/orders/s3/{order_id}/notification_threshold/Pfad-Parameter
order_idintegerErforderlichEin eindeutiger Ganzzahl-Wert, das diesen S3-Bestellung identifiziert.
Body
Erforderlichspace_warning_notify_gbintegermin: 0ErforderlichAntworten
200application/jsonspace_warning_notify_gbintegermin: 0Erforderlich
ORDER_ID='1'
curl -X PUT \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"space_warning_notify_gb":0}' \
"https://fornex.com/api/orders/s3/$ORDER_ID/notification_threshold/"200{
"type": "object",
"properties": {
"space_warning_notify_gb": {
"type": "integer",
"minimum": 0
}
},
"required": [
"space_warning_notify_gb"
]
}VPN
OpenVPN-Konfiguration
/vpn/{order_id}/config-{proto}.ovpnPfad-Parameter
order_idstringErforderlichBestellungsnummer
protostringErforderlichProtokoll
tcpudp
Antworten
200text/plainOpenVPN profile
string
ORDER_ID='301-12312'
PROTO='udp'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vpn/$ORDER_ID/config-$PROTO.ovpn"200{
"type": "string"
}IKEv2-Konfiguration für macOS/iOS
/vpn/{order_id}/config-ikev2.mobileconfigPfad-Parameter
order_idstringErforderlichBestellungsnummer
Antworten
200text/plainIKEv2 mobileconfig
string
ORDER_ID='301-12312'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vpn/$ORDER_ID/config-ikev2.mobileconfig"200{
"type": "string"
}IKEv2-Konfiguration für Android
/vpn/{order_id}/config-ikev2.sswanPfad-Parameter
order_idstringErforderlichBestellungsnummer
Antworten
200application/jsonIKEv2 sswan
string
ORDER_ID='301-12312'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vpn/$ORDER_ID/config-ikev2.sswan"200{
"type": "string"
}WireGuard-Konfiguration
/vpn/{order_id}/config-wireguard.confPfad-Parameter
order_idstringErforderlichBestellungsnummer
Antworten
200text/plainWireGuard config
string
ORDER_ID='301-12312'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vpn/$ORDER_ID/config-wireguard.conf"200{
"type": "string"
}Outline VPN-Konfiguration
/vpn/{order_id}/config_outlinePfad-Parameter
order_idstringErforderlichBestellungsnummer
Antworten
200application/jsonaccess_urlstring (uri)Erforderlich
ORDER_ID='301-12312'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vpn/$ORDER_ID/config_outline"200{
"type": "object",
"properties": {
"access_url": {
"type": "string",
"format": "uri"
}
},
"required": [
"access_url"
]
}Xray VPN-Konfiguration
/vpn/{order_id}/config_xrayPfad-Parameter
order_idstringErforderlichBestellungsnummer
Antworten
200application/jsonaccess_urlstring (uri)Erforderlich
ORDER_ID='301-12312'
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/vpn/$ORDER_ID/config_xray"200{
"type": "object",
"properties": {
"access_url": {
"type": "string",
"format": "uri"
}
},
"required": [
"access_url"
]
}IP Addresses
IP-Adressen, die Ihren Diensten zugeordnet sind.
IP-Adressen auflisten
/network/ip-address/Query-Parameter
orderingstringFeld, das zum Sortieren der Ergebnisse verwendet werden soll.
searchstringtypestring
Antworten
200application/jsonarray object[]PublicNetworkAddress[]idintegerread-onlyErforderlichipstringErforderlichrdnsstringErforderlichorderobjectnullableread-onlyErforderlich
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/network/ip-address/"200{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"ip": {
"type": "string",
"title": "IP Address"
},
"location": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
},
"icon": {
"type": "string"
}
},
"required": [
"icon",
"label",
"value"
]
},
"rdns": {
"type": "string"
},
"order": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"link": {
"type": "string",
"readOnly": true
},
"unique_number": {
"type": "string"
}
},
"required": [
"id",
"link",
"name",
"type",
"unique_number"
]
}
],
"nullable": true,
"readOnly": true
}
},
"required": [
"id",
"ip",
"location",
"order",
"rdns"
]
}
}Tickets
Dieser Abschnitt beschreibt API-Anfragen, mit denen Sie die Remote-Arbeit mit unserem Ticketing-System einrichten können. Dieser Abschnitt behandelt die wichtigsten und zusätzlichen API-Endpunkte, die zum Verwalten des Remote-Zugriffs auf das Fornex-Ticketing-System verwendet werden.
Ticket erstellen
Um ein Ticket zu erstellen, geben Sie Betreff und Text Ihrer Anfrage ein. Zusätzlich können Sie die Priorität festlegen und die Bestellung angeben, auf die sich Ihre Anfrage bezieht.
/tickets/ticket/Body
ErforderlichСоздание тикета пользователем
subjectstringlength 1…64ErforderlichDie Hauptidee Ihrer Anfrage in Kürze.
messagestringlength 1…49152ErforderlichEine detaillierte Beschreibung Ihres Problems und weitere Details der Anfrage.
priorityintegerdefault: 101234
Eine der Optionen, die die Dringlichkeit Ihrer Anfrage widerspiegelt:
0- Nicht dringend (bis zu 24 Stunden)1- Normal (bis zu 8 Stunden)2- Wichtig (bis zu 6 Stunden)3- Dringend (bis zu 1 Stunde)4- Sehr dringend (so schnell wie möglich)
Standardmäßig wird ein Ticket mit normaler Priorität erstellt.
Die Priorität sehr dringend kann nur für Bestellungen mit erweiterter Verwaltung gesetzt werden.
Bitte setzen Sie die Priorität "sehr dringend" nicht für Anfragen, die nicht mit technischen Problemen Ihrer Bestellungen oder Ausfällen zusammenhängen. Erhöhen Sie die Priorität eines Tickets nicht unnötig, wenn es nicht erforderlich ist – dies erschwert nur die Bearbeitung Ihrer Anfragen.
orderstringmin length: 1nullableID der Bestellung im Format "34-NNNN", auf die sich Ihre Anfrage bezieht. Derzeit kann ein Ticket nur mit einer Bestellung verknüpft werden. Standardmäßig wird ein Ticket ohne verknüpfte Bestellung erstellt.
credentialsobjectwrite-onlyAntworten
201application/jsonСоздание тикета пользователем
subjectstringmax length: 64ErforderlichDie Hauptidee Ihrer Anfrage in Kürze.
messagestringmax length: 49152ErforderlichEine detaillierte Beschreibung Ihres Problems und weitere Details der Anfrage.
priorityintegerdefault: 1Werte01234
Eine der Optionen, die die Dringlichkeit Ihrer Anfrage widerspiegelt:
0- Nicht dringend (bis zu 24 Stunden)1- Normal (bis zu 8 Stunden)2- Wichtig (bis zu 6 Stunden)3- Dringend (bis zu 1 Stunde)4- Sehr dringend (so schnell wie möglich)
Standardmäßig wird ein Ticket mit normaler Priorität erstellt.
Die Priorität
sehr dringendkann nur für Bestellungen mit erweiterter Verwaltung gesetzt werden.Bitte setzen Sie die Priorität "sehr dringend" nicht für Anfragen, die nicht mit technischen Problemen Ihrer Bestellungen oder Ausfällen zusammenhängen. Erhöhen Sie die Priorität eines Tickets nicht unnötig, wenn es nicht erforderlich ist – dies erschwert nur die Bearbeitung Ihrer Anfragen.
orderstringnullableID der Bestellung im Format "34-NNNN", auf die sich Ihre Anfrage bezieht. Derzeit kann ein Ticket nur mit einer Bestellung verknüpft werden. Standardmäßig wird ein Ticket ohne verknüpfte Bestellung erstellt.
urlstringread-onlyErforderlichidstringread-onlyErforderlichstatusstringread-onlyErforderlich
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"subject": "Hello, we need some help", "message": "We need some help with updating software..."}' \
"https://fornex.com/api/tickets/ticket/"201{
"subject": "Hello, we need some help",
"message": "We need some help with updating software...",
"priority": 1,
"order": null,
"url": "https://fornex.com/my/tickets/66a8968a01027a2c2f241e6c/",
"id": "66a8968a01027a2c2f241e6c",
"status": "new"
}Webhook-Status
/tickets/webhook_info/Antworten
200application/jsonurlstring (uri)max length: 512URL zum Absenden der Anfrage, lassen Sie das Feld leer zum Deaktivieren
last_error_datestring (date-time)nullableread-onlyErforderlichlast_error_messagestringnullableread-onlyErforderlich
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
"https://fornex.com/api/tickets/webhook_info/"200{
"last_error_date": null,
"last_error_message": null,
"url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
}Webhook konfigurieren
An die angegebene URL wird eine POST-Anfrage gesendet
ContentType: 'application/json'
{"text": "Neuer Kommentar zum Ticket hinzugefügt..."}
Standardmäßig funktioniert es mit Slack, aber Sie können Ihren eigenen Webhook angeben und die Benachrichtigung selbst verarbeiten.
/tickets/webhook_set/Body
urlstring (uri)max length: 512URL zum Absenden der Anfrage, lassen Sie das Feld leer zum Deaktivieren
Antworten
201application/jsonurlstring (uri)max length: 512URL zum Absenden der Anfrage, lassen Sie das Feld leer zum Deaktivieren
last_error_datestring (date-time)nullableread-onlyErforderlichlast_error_messagestringnullableread-onlyErforderlich
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Api-Key $FORNEX_API_KEY" \
--data '{"last_error_date": null, "last_error_message": null, "url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"}' \
"https://fornex.com/api/tickets/webhook_set/"201{
"last_error_date": null,
"last_error_message": null,
"url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
}Schemas
AccountBalancebalancenumber (double)ErforderlichcurrencystringErforderlichAccountInfoemailstring (email)max length: 254namestringErforderlichAccountInvoicesunpaid_invoices_countintegerErforderlichunpaid_invoices_amountnumber (double)ErforderlichcurrencystringErforderlichAppTemplateidintegerread-onlyErforderlichID der Anwendung.
namestringmax length: 64ErforderlichName der Anwendung.
osstringread-onlyErforderlichBackupTariffspaceintegerErforderlichpricenumber (double)Erforderlichunitsstringread-onlyErforderlichdefault: GBBandwidthEnum1015202540
BillingTypeEnumsingleperiodic
BlankEnumCancelOrderstatusstringread-onlyErforderlichcanceledcancel_pending
messagestringread-onlyErforderlichCancelOrderRequestwhenstringwrite-onlydefault: expirednowexpired
Der Parameter beschreibt, wann die Bestellung storniert werden soll - jetzt oder nach Ablauf der bezahlten Periode.
save_backupbooleanwrite-onlydefault: trueDer Parameter beschreibt, ob vor dem Löschen der virtuellen Maschine ein Snapshot des VPS erstellt werden soll oder nicht.
CancelOrderStatusEnumcanceledcancel_pending
CpuArchEnumx86_64arm
DedicatedTariffidintegerread-onlyErforderlichnamestringmax length: 128ErforderlichDer Tarifname erscheint auf Rechnungen, daher sollte er kurz und in lateinischen Zeichen geschrieben sein — z. B. Cloud NVMe 1.
cpu_modelstringread-onlyErforderlichcpu_countintegermin: 0max: 65535ramstringErforderlichdiskstringErforderlichbandwidthstringErforderlichpricenumber (double)Erforderlichlocationsarray array[]ErforderlichDiskTypeEnumhddnvmessdsas
DnsOrderNameserversnssstringErforderlichListe der NS, durch Komma getrennt
DnsOrderNameserversRequestnssstringmin length: 1ErforderlichListe der NS, durch Komma getrennt
Domainnamestringmax length: 128Erforderlichcreatedstring (date-time)read-onlyErforderlichupdatedstring (date-time)read-onlyErforderlichtagsarray string[]read-onlyErforderlichDomainRequestnamestringlength 1…128Erforderlichipstring (ipv4)min length: 1write-onlyErforderlichDomainTagstagsarray string[]ErforderlichDomainTagsRequesttagsarray string[]ErforderlichDSConfigurationcpu_countintegermin: 0max: 65535cpustringErforderlichmotherboardstringErforderlichchassisstringErforderlichraid_controllerstringErforderlichnetwork_adapterstringErforderlichbandwidthnullablememoryinteger (int64)min: 0max: 4294967295Erforderlichdisksstringread-onlyErforderlichDSOrderidstringread-onlyErforderlichnamestringmax length: 64tariffstringread-onlyErforderlichtariff_pricenumber (double)nullableread-onlyErforderlichtypestringread-onlyErforderlichhostnamestringnullableread-onlyErforderlichipaddress_setarray string[]nullableread-onlyErforderlichstatusstringread-onlyErforderlichunpaidpendingactiveexpireddisabledcanceledblockednoprolong
cost_monthnumber (double)read-onlyErforderlichexpiration_datestring (date-time)read-onlyErforderlichtagsarray string[]Erforderlichcancel_markbooleanread-onlyErforderlichEin Marker, der anzeigt, dass die Bestellung storniert wird.
projectobjectnullableread-onlyErforderlichconfigurationobjectread-onlyErforderlichServerkonfiguration
DSTrafficdataarrayErforderlichorderstringErforderlichperiodstringErforderlichDSTrafficUsedorderstringErforderlichlimitintegerErforderlichrange_startstring (date)Erforderlichrange_endstring (date)ErforderlichusedintegerErforderlichused_ratenumber (double)ErforderlichEntryidintegerread-onlyErforderlichhoststringmax length: 255default: Eintrag-Hostname: '@, *, Subdomain'
typestringErforderlichAAAAATXTCNAMENSMXSRVCAA
Eintragstyp
priointeger (int64)min: 0max: 4294967295nullablePriorität, wird nur für SRV und MX verwendet
valuestringmax length: 1024ErforderlichEinragswert gemäß Typ, zum Beispiel IP für A-Einträge
ttlnullableEintrag-TTL (optional, Standard: 3600 Sek.)
EntryRequesthoststringmax length: 255default: Eintrag-Hostname: '@, *, Subdomain'
typestringErforderlichAAAAATXTCNAMENSMXSRVCAA
Eintragstyp
priointeger (int64)min: 0max: 4294967295nullablePriorität, wird nur für SRV und MX verwendet
valuestringlength 1…1024ErforderlichEinragswert gemäß Typ, zum Beispiel IP für A-Einträge
ttlnullableEintrag-TTL (optional, Standard: 3600 Sek.)
EntryTypeEnumAAAAATXTCNAMENSMXSRVCAA
JobStateEnumreadyerrordone
LocationChoicevaluestringErforderlichlabelstringErforderlichiconstringErforderlichNetworkOrderidintegerErforderlichnamestringErforderlichtypestringErforderlichlinkstringread-onlyErforderlichunique_numberstringErforderlichNullEnumnull
Orderidstringread-onlyErforderlichnamestringmax length: 64tariffstringread-onlyErforderlichtariff_pricenumber (double)nullableread-onlyErforderlichtypestringread-onlyErforderlichhostnamestringnullableread-onlyErforderlichipaddress_setarray string[]nullableread-onlyErforderlichstatusstringread-onlyErforderlichunpaidpendingactiveexpireddisabledcanceledblockednoprolong
cost_monthnumber (double)read-onlyErforderlichexpiration_datestring (date-time)read-onlyErforderlichtagsarray string[]Erforderlichcancel_markbooleanread-onlyErforderlichEin Marker, der anzeigt, dass die Bestellung storniert wird.
projectobjectnullableread-onlyErforderlichOrderCredentialsusernamestringpasswordstringcommentstringOrderCredentialsRequestusernamestringmin length: 1passwordstringmin length: 1commentstringmin length: 1OrderServiceCreateserviceintegerErforderlichDie ID der Zusatzleistung.
countintegermin: 1default: 1Die Menge dieser Zusatzleistung.
OrderServiceCreateRequestserviceintegerErforderlichDie ID der Zusatzleistung.
countintegermin: 1default: 1Die Menge dieser Zusatzleistung.
OrderSSHKeyAddRequestkey_pkintegerwrite-onlyErforderlichOrderSSHKeyRemoveRequestkey_pkintegerwrite-onlyErforderlichOrderStatusunpaidpendingactiveexpireddisabledcanceledblockednoprolong
OrderUpdatenamestringmax length: 64default: Benutzerdefinierter Name für die Bestellung.
tagsarray string[]ErforderlichTags für die Bestellung.
projectintegernullableErforderlichProjekt der Bestellung.
PaginatedAppTemplateListcountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedDomainListcountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedDSOrderListcountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedOrderListcountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedPrivateNetworkListcountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedPrivateNetworkLocationListcountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedProjectListcountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedS3OrderListcountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedSnapshotListcountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedTemplateListcountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedVPSOrderListcountintegerErforderlichexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PanelEnumvestahestiaaapanelbrainycpcloudpanelcyberpanelbeadminopenpanel
PatchedOrderUpdateRequestnamestringlength 1…64default: Benutzerdefinierter Name für die Bestellung. Geben Sie einen leeren String ein, wenn Sie den Namen entfernen möchten.
tagsarray string[]Tags für die Bestellung. Neue Tags ersetzen alte Tags vollständig, falls vorhanden. Legen Sie eine leere Liste fest, wenn Sie alle Tags entfernen möchten.
projectintegernullableProjekt der Bestellung. Geben Sie einen leeren String ein, wenn Sie das Projekt entfernen möchten.
PatchedProjectRequestnamestringlength 1…40commentstringmax length: 256PatchedVpsUpdateRequestprivate_network_enabledbooleanVerbinden Sie die Bestellung mit einem privaten Netzwerk. Dies ermöglicht den direkten Datenaustausch mit anderen Bestellungen im selben Netzwerk und verbessert Geschwindigkeit und Sicherheit. Derzeit wird nur ein privates Netzwerk pro Konto erstellt.
PlacementPolicyEnumSTRICTOPTIONAL
PriorityEnum01234
PrivateNetworkidintegerread-onlyErforderlichPrivateNetworkLocationidintegerread-onlyErforderlichProjectidintegerread-onlyErforderlichnamestringmax length: 40Erforderlichcommentstringmax length: 256logostring (uri)read-onlyErforderlichProjectAddOrdersRequestordersarray string[]write-onlyErforderlichProjectLogologostring (uri)Pfad zur Datei.
ProjectLogoRequestlogostring (binary)Pfad zur Datei.
ProjectRemoveOrdersRequestordersarray string[]write-onlyErforderlichProjectRequestnamestringlength 1…40Erforderlichcommentstringmax length: 256PublicChartsubtitlestringErforderlichPublicChartSeriesnamestringErforderlichdataarrayErforderlichtypestringcolorstringPublicNetworkAddressidintegerread-onlyErforderlichipstringErforderlichrdnsstringErforderlichorderobjectnullableread-onlyErforderlichPublicReinstallRequestPublic API version: exposes template instead of ostemplate.
display_namestringread-onlyErforderlichstatusstringread-onlyErforderlichdatestring (date-time)read-onlyErforderlichPublicReinstallRequestRequestPublic API version: exposes template instead of ostemplate.
appintegernullablewrite-onlytemplateintegerwrite-onlysnapshotintegernullablewrite-onlyPublicTicketСоздание тикета пользователем
subjectstringmax length: 64ErforderlichDie Hauptidee Ihrer Anfrage in Kürze.
messagestringmax length: 49152ErforderlichEine detaillierte Beschreibung Ihres Problems und weitere Details der Anfrage.
priorityintegerdefault: 101234
Eine der Optionen, die die Dringlichkeit Ihrer Anfrage widerspiegelt:
0- Nicht dringend (bis zu 24 Stunden)1- Normal (bis zu 8 Stunden)2- Wichtig (bis zu 6 Stunden)3- Dringend (bis zu 1 Stunde)4- Sehr dringend (so schnell wie möglich)
Standardmäßig wird ein Ticket mit normaler Priorität erstellt.
Die Priorität sehr dringend kann nur für Bestellungen mit erweiterter Verwaltung gesetzt werden.
Bitte setzen Sie die Priorität "sehr dringend" nicht für Anfragen, die nicht mit technischen Problemen Ihrer Bestellungen oder Ausfällen zusammenhängen. Erhöhen Sie die Priorität eines Tickets nicht unnötig, wenn es nicht erforderlich ist – dies erschwert nur die Bearbeitung Ihrer Anfragen.
orderstringnullableID der Bestellung im Format "34-NNNN", auf die sich Ihre Anfrage bezieht. Derzeit kann ein Ticket nur mit einer Bestellung verknüpft werden. Standardmäßig wird ein Ticket ohne verknüpfte Bestellung erstellt.
urlstringread-onlyErforderlichidstringread-onlyErforderlichstatusstringread-onlyErforderlichPublicTicketRequestСоздание тикета пользователем
subjectstringlength 1…64ErforderlichDie Hauptidee Ihrer Anfrage in Kürze.
messagestringlength 1…49152ErforderlichEine detaillierte Beschreibung Ihres Problems und weitere Details der Anfrage.
priorityintegerdefault: 101234
Eine der Optionen, die die Dringlichkeit Ihrer Anfrage widerspiegelt:
0- Nicht dringend (bis zu 24 Stunden)1- Normal (bis zu 8 Stunden)2- Wichtig (bis zu 6 Stunden)3- Dringend (bis zu 1 Stunde)4- Sehr dringend (so schnell wie möglich)
Standardmäßig wird ein Ticket mit normaler Priorität erstellt.
Die Priorität sehr dringend kann nur für Bestellungen mit erweiterter Verwaltung gesetzt werden.
Bitte setzen Sie die Priorität "sehr dringend" nicht für Anfragen, die nicht mit technischen Problemen Ihrer Bestellungen oder Ausfällen zusammenhängen. Erhöhen Sie die Priorität eines Tickets nicht unnötig, wenn es nicht erforderlich ist – dies erschwert nur die Bearbeitung Ihrer Anfragen.
orderstringmin length: 1nullableID der Bestellung im Format "34-NNNN", auf die sich Ihre Anfrage bezieht. Derzeit kann ein Ticket nur mit einer Bestellung verknüpft werden. Standardmäßig wird ein Ticket ohne verknüpfte Bestellung erstellt.
credentialsobjectwrite-onlyS3NotificationThresholdspace_warning_notify_gbintegermin: 0ErforderlichS3NotificationThresholdRequestspace_warning_notify_gbintegermin: 0ErforderlichS3Orderidstringread-onlyErforderlichnamestringread-onlyErforderlichhostnamestringErforderlichaccess_keystringread-onlyErforderlichsecret_keystringread-onlyErforderlichbucket_namestringread-onlyErforderlichspace_usedintegerErforderlichcost_monthnumber (double)read-onlyErforderlichexpiration_datestring (date-time)read-onlyErforderlichtagsarray string[]Erforderlichcancel_markbooleanread-onlyErforderlichEin Marker, der anzeigt, dass die Bestellung storniert wird.
projectobjectnullableread-onlyErforderlichServerBandwidthTariffmin_valuestring (decimal)^-?\d{0,5}(?:\.\d{0,2})?$Erforderlichmax_valuestring (decimal)^-?\d{0,5}(?:\.\d{0,2})?$Erforderlichstepstring (decimal)^-?\d{0,5}(?:\.\d{0,2})?$ErforderlichUnterschied zwischen zwei aufeinanderfolgenden Bandbreitenwerten
pricestring (decimal)^-?\d{0,5}(?:\.\d{0,2})?$ErforderlichunitUnitEnumgbpsmbps
Serviceidintegerread-onlyErforderlichID der Dienstleistung.
namestringmax length: 128ErforderlichName der Dienstleistung.
descriptionstringmax length: 255Beschreibung der Dienstleistung.
pricestring (decimal)^-?\d{0,8}(?:\.\d{0,2})?$ErforderlichPreis der Dienstleistung.
billing_typestringErforderlichsingleperiodic
Einmalige oder monatliche Gebühr.
Snapshotidintegerread-onlyErforderlichID des Snapshots.
namestringmax length: 64ErforderlichName des Snapshots.
size_gbnumber (double)read-onlyErforderlichGröße des Snapshots in GB.
created_atstring (date-time)ErforderlichSshKeyidintegerread-onlyErforderlichuserstringread-onlyErforderlichkeystringmax length: 16384ErforderlichÖffentlicher Schlüssel im Klartext.
titlestringmax length: 128Erforderlichdatestring (date-time)read-onlyErforderlichdefaultbooleanSshKeyRequestkeystringlength 1…16384ErforderlichÖffentlicher Schlüssel im Klartext.
titlestringlength 1…128ErforderlichdefaultbooleanTemplateidintegerread-onlyErforderlichID der Vorlage.
namestringmax length: 64ErforderlichName der Vorlage.
osstringread-onlyErforderlichpanelnullableIn der Vorlage verwendetes Admin-Panel, kann leer sein.
archstringx86_64arm
CPU-Architekturtyp, der für diese Vorlage erforderlich ist.
min_storage_spaceinteger (int64)min: 0max: 4294967295nullableMinimaler Speicherplatz, der für diese Vorlage erforderlich ist.
min_ram_volumeintegermin: 0max: 65535nullableMinimales RAM-Volumen, das für diese Vorlage erforderlich ist.
min_cpu_coresinteger (int64)min: 0max: 4294967295nullableMinimale Anzahl von CPU-Kernen, die für diese Vorlage erforderlich sind.
TermEnum13612
TicketsWebhookurlstring (uri)max length: 512URL zum Absenden der Anfrage, lassen Sie das Feld leer zum Deaktivieren
last_error_datestring (date-time)nullableread-onlyErforderlichlast_error_messagestringnullableread-onlyErforderlichTicketsWebhookRequesturlstring (uri)max length: 512URL zum Absenden der Anfrage, lassen Sie das Feld leer zum Deaktivieren
TtlEnum1203006009001800
UnitEnumgbpsmbps
VHTariffidintegerread-onlyErforderlichnamestringmax length: 128ErforderlichDer Tarifname erscheint auf Rechnungen, daher sollte er kurz und in lateinischen Zeichen geschrieben sein — z. B. Cloud NVMe 1.
sitesintegermin: 0max: 65535nullablepricenumber (double)Erforderlichcpu_coresintegermin: 0max: 65535nullablehdd_spaceinteger (int64)min: 0max: 4294967295nullableGB
available_locationsarray string[]read-onlyErforderlichVpnConfigaccess_urlstring (uri)ErforderlichVpnTariffidintegerread-onlyErforderlichpricenumber (double)Erforderlichshareddedicatedmulti-hop
available_locationsarray string[]read-onlyErforderlichVpnTariffTypeEnumshareddedicatedmulti-hop
VpsConfigurationcpu_countintegermin: 1max: 16Die Anzahl der Kerne.
ram_sizeintegermin: 2max: 32Der RAM-Speicherplatz in Gigabyte (GB).
disk_classintegernullableFestplattenklasse.
disk_sizeintegermin: 20max: 300Der Speicherplatz in Gigabyte (GB).
cpu_archstringx86_64arm
CPU-Architektur.
min_cpu_freqstring (decimal)^-?\d{0,2}(?:\.\d{0,1})?$Minimale CPU-Kernfrequenz in Gigahertz (GHz). Beeinflusst die Kosten der Bestellung (höhere Frequenz - höherer Preis) und die Wahl des Hypervisors beim Erstellen eines VPS. Wir empfehlen, genaue Werte aus dem VPS-Konfigurator festzulegen, da bei Nichtübereinstimmung die nächst höhere Frequenz angewendet wird (z. B. wird eine Bestellung mit 2,4 GHz als 3,0 GHz verarbeitet).
VpsConfigurationRequestcpu_countintegermin: 1max: 16Die Anzahl der Kerne.
ram_sizeintegermin: 2max: 32Der RAM-Speicherplatz in Gigabyte (GB).
disk_classintegernullableFestplattenklasse.
disk_sizeintegermin: 20max: 300Der Speicherplatz in Gigabyte (GB).
cpu_archstringx86_64arm
CPU-Architektur.
min_cpu_freqstring (decimal)^-?\d{0,2}(?:\.\d{0,1})?$Minimale CPU-Kernfrequenz in Gigahertz (GHz). Beeinflusst die Kosten der Bestellung (höhere Frequenz - höherer Preis) und die Wahl des Hypervisors beim Erstellen eines VPS. Wir empfehlen, genaue Werte aus dem VPS-Konfigurator festzulegen, da bei Nichtübereinstimmung die nächst höhere Frequenz angewendet wird (z. B. wird eine Bestellung mit 2,4 GHz als 3,0 GHz verarbeitet).
VpsDiskClassidintegerread-onlyErforderlichnamestringmax length: 64Erforderlichlimit_total_mbytes_secintegermin: 0max: 65535ErforderlichМb/sec
limit_read_iops_secintegermin: 0max: 65535ErforderlichOp/sec
limit_write_iops_secintegermin: 0max: 65535ErforderlichOp/sec
price_per_gbstring (decimal)^-?\d{0,2}(?:\.\d{0,4})?$ErforderlichKosten pro 1 GB
disk_typeDiskTypeEnumhddnvmessdsas
disk_type_displaystringErforderlichVpsLocationvaluestringErforderlichlabelstringErforderlichlocation_os_typesarray string[]Erforderlichbandwidth_tariffobjectnullabledisabled_by_slotsbooleandefault: truedisabled_by_cpu_freqbooleandefault: truedisabled_by_osbooleandefault: falsedisabled_by_cpu_typebooleandefault: falseavailable_frequenciesobjectErforderlichVpsLogEntrypkintegerread-onlyErforderlichactionstringread-onlyErforderlichnotestringread-onlyErforderlichuserstringread-onlyErforderlichtimestring (date-time)read-onlyErforderlichcompletedbooleanread-onlyErforderlichjob_statestringread-onlyErforderlichreadyerrordone
job_actionstringread-onlyErforderlichVPSOrderidstringread-onlyErforderlichnamestringmax length: 64tariffstringread-onlyErforderlichtariff_pricenumber (double)nullableread-onlyErforderlichtypestringread-onlyErforderlichhostnamestringnullableread-onlyErforderlichipaddress_setarray string[]nullableread-onlyErforderlichstatusstringread-onlyErforderlichunpaidpendingactiveexpireddisabledcanceledblockednoprolong
cost_monthnumber (double)read-onlyErforderlichexpiration_datestring (date-time)read-onlyErforderlichtagsarray string[]Erforderlichcancel_markbooleanread-onlyErforderlichEin Marker, der anzeigt, dass die Bestellung storniert wird.
projectobjectnullableread-onlyErforderlichconfigurationobjectread-onlyErforderlichServerkonfiguration
VpsOrderCreateorder_idstringread-onlyErforderlichVpsOrderCreateRequesttariffintegernullablewrite-onlyDie ID des vordefinierten Tarifs.
Die verfügbaren Optionen für tariff erhalten Sie unter VPS-Tarife.
Zum Erstellen einer benutzerdefinierten Konfiguration verwenden Sie den Parameter configuration.
Verwenden Sie nicht beide Parameter gleichzeitig.
configurationobjectnullablewrite-onlyDie benutzerdefinierten Konfigurationsparameter als Objekt (öffnen Sie den ausklappbaren Bereich für weitere Details). Verwenden Sie den VPS-Konfigurator, um eine angemessene Kombination von Parametern gemäß dynamischer Einschränkungen zu erhalten.
Anstelle einer benutzerdefinierten Konfiguration können Sie einen vordefinierten Tarif auswählen, der normalerweise günstiger ist.
Verwenden Sie dazu den Parameter tariff. Verwenden Sie nicht beide Parameter gleichzeitig.
templateintegerwrite-onlyTemplate-ID zum Installieren eines Betriebssystems und optional eines Hosting-Kontrollpanels. Die verfügbaren Optionen für template erhalten Sie unter VPS-Vorlagen.
Anstelle eines Betriebssystems können Sie eine Anwendung installieren (Parameter app) oder VPS aus einem Snapshot wiederherstellen (Parameter snapshot). Verwenden Sie dazu den entsprechenden Parameter. Verwenden Sie nur einen Parameter pro Bestellung.
appintegerwrite-onlyAnwendungs-ID, die Sie installieren möchten. Die verfügbaren Optionen für app erhalten Sie unter VPS-Anwendungen.
Anstelle einer Anwendung können Sie ein Betriebssystem installieren (Parameter template) oder VPS aus einem Snapshot wiederherstellen (Parameter snapshot). Verwenden Sie dazu den entsprechenden Parameter. Verwenden Sie nur einen Parameter pro Bestellung.
snapshotintegerwrite-onlySnapshot-ID, aus der Sie VPS wiederherstellen möchten.
Die verfügbaren Optionen für snapshot erhalten Sie unter VPS-Snapshots.
Sie können einen Snapshot aus einem beliebigen bereits erstellten VPS in Ihrem Dashboard auf der Seite der Bestellung erstellen und ihn zum Wiederherstellen (als Sicherung) oder zum Erstellen von Kopien der Bestellung (als Vorlage) verwenden.
Anstelle der Wiederherstellung aus einem Snapshot können Sie ein Betriebssystem installieren (Parameter template) oder eine Anwendung installieren (Parameter app). Verwenden Sie dazu den entsprechenden Parameter. Verwenden Sie nur einen Parameter pro Bestellung.
locationstringmin length: 1write-onlyErforderlichDer Zweizeichenländercode des Bestellungsstandorts.
Die verfügbaren Optionen für location erhalten Sie unter VPS-Standorte.
termintegerwrite-onlydefault: 113612
Die Anzahl der Monate, für die die Bestellung nach der Erstellung erneuert wird (z. B. 3).
Zusatzleistungen und deren Menge als Liste (öffnen Sie den ausklappbaren Bereich für weitere Details).
Die verfügbaren Optionen für services erhalten Sie unter VPS-Zusatzleistungen.
ssh_keysarray integer[]write-onlyIDs der SSH-Schlüssel als Liste, die während der Installation zum Server hinzugefügt werden. Die verfügbaren Optionen für ssh_keys erhalten Sie unter SSH-Schlüssel. Übergeben Sie die Schlüsselliste explizit. Standardmäßig wird eine leere Liste übergeben, auch wenn in Ihrem Dashboard Schlüssel mit der Markierung "standardmäßig hinzufügen" vorhanden sind.
namestringlength 1…25write-onlydefault: Benutzerdefinierter Name für den VPS. Standardmäßig ist für den Server kein Name festgelegt.
projectintegernullablewrite-onlyProjekt-ID. Die verfügbaren Optionen für project können in der Projektliste abgerufen werden.
disk_classintegernullablewrite-onlyDie ID der VPS-Festplattenklasse.
Die verfügbaren Optionen für tariff erhalten Sie unter VPS-Laufwerke.
Bei Verwendung einer benutzerdefinierten Konfiguration verwenden Sie das Attribut im Parameter configuration.
Verwenden Sie nicht beide Parameter gleichzeitig.
bandwidthintegernullablewrite-onlyBandbreitenlimit für die VPS-Bestellung. Der Preis pro Einheit ist im Wert bandwidth_tariff definiert
webhookobjectwrite-onlyWebhook-Konfiguration als Objekt (öffnen Sie den ausklappbaren Bereich für weitere Details). Dies ist erforderlich, um eine POST-Anfrage mit Bestellungsdetails und Zugriffsanmeldeinformationen nach der Erstellung des VPS zu erhalten.
placement_policystringwrite-onlydefault: OPTIONALSTRICTOPTIONAL
placement_groupintegernullablewrite-onlyprivate_networkintegernullablewrite-onlytagsarray string[]write-onlyTags für den VPS. Standardmäßig sind für den Server keine Tags festgelegt.
VpsOrderCreateWebhookurlstring (uri)max length: 512ErforderlichDie URL, an die die POST-Anfrage gesendet wird.
Vollständige Bestellungsdetails werden gesendet (wie in der Methode Bestellungsdetails), aber mit einem zusätzlichen Feld namens credentials:
{
"credentials": {
"ip_address": "127.0.0.1",
"username": "root",
"password": "root_pass"
}
}
secretstringmax length: 64ErforderlichGeheime Phrase zur Signierung.
Verwenden Sie bei der Verarbeitung einer Webhook-Anfrage den Header "Fornex-Signature" zur Validierung.
Beispiel in Python:
import hmac
from hashlib import sha256
import json
from django.views.decorators.csrf import csrf_exempt
from django.http import HttpRequest, HttpResponse
@csrf_exempt
def webhook_handler(request: HttpRequest):
signature = request.headers["Fornex-Signature"]
secret = "secret"
expected_signature = hmac.new(secret.encode(), request.body, sha256).hexdigest()
if signature != expected_signature:
raise ValueError("Invalid signature.")
print(json.loads(request.body.decode()))
return HttpResponse()
VpsOrderCreateWebhookRequesturlstring (uri)length 1…512ErforderlichDie URL, an die die POST-Anfrage gesendet wird.
Vollständige Bestellungsdetails werden gesendet (wie in der Methode Bestellungsdetails), aber mit einem zusätzlichen Feld namens credentials:
{
"credentials": {
"ip_address": "127.0.0.1",
"username": "root",
"password": "root_pass"
}
}
secretstringlength 1…64ErforderlichGeheime Phrase zur Signierung.
Verwenden Sie bei der Verarbeitung einer Webhook-Anfrage den Header "Fornex-Signature" zur Validierung.
Beispiel in Python:
import hmac
from hashlib import sha256
import json
from django.views.decorators.csrf import csrf_exempt
from django.http import HttpRequest, HttpResponse
@csrf_exempt
def webhook_handler(request: HttpRequest):
signature = request.headers["Fornex-Signature"]
secret = "secret"
expected_signature = hmac.new(secret.encode(), request.body, sha256).hexdigest()
if signature != expected_signature:
raise ValueError("Invalid signature.")
print(json.loads(request.body.decode()))
return HttpResponse()
VpsResetPasswordpasswdstringread-onlyErforderlichIhr neues Passwort.
resp_idintegerread-onlyErforderlichID der Operation, um deren Status zu überprüfen. Weitere Details finden Sie unter vps_log_details
VpsStatusstatusstringErforderlichon | off | unknown
VpsTariffidintegerread-onlyErforderlichnamestringmax length: 128ErforderlichDer Tarifname erscheint auf Rechnungen, daher sollte er kurz und in lateinischen Zeichen geschrieben sein — z. B. Cloud NVMe 1.
cpu_countintegerErforderlichramstringErforderlichdiskstringErforderlichbandwidthstringErforderlichpricenumber (double)ErforderlichVpsUpdateprivate_network_enabledbooleanErforderlichVerbinden Sie die Bestellung mit einem privaten Netzwerk. Dies ermöglicht den direkten Datenaustausch mit anderen Bestellungen im selben Netzwerk und verbessert Geschwindigkeit und Sicherheit. Derzeit wird nur ein privates Netzwerk pro Konto erstellt.
WhenEnumnowexpired