Fornex Public API
Authentication
Access to the API requires an API key. Pass it in the HTTP header of every request.
Authorization: Api-Key <key>Authorization: Api-Key <key>
Account
Account balance
Returns current account balance
/account/balanceResponses
200application/jsonbalancenumber (double)RequiredcurrencystringRequired
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/infoResponses
200application/jsonemailstring (email)max length: 254namestringRequired
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"
}Invoices
Returns the number and total amount of unpaid invoices.
/account/invoicesResponses
200application/jsonunpaid_invoices_countintegerRequiredunpaid_invoices_amountnumber (double)RequiredcurrencystringRequired
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/backupsResponses
200application/jsonarray object[]BackupTariff[]spaceintegerRequiredpricenumber (double)Requiredunitsstringread-onlyRequireddefault: 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"
}
]Dedicated servers
/plans/dedicatedResponses
200application/jsonarray object[]DedicatedTariff[]idintegerread-onlyRequirednamestringmax length: 128RequiredThe plan name appears on invoices, so it should be short and written in Latin characters — for example, Cloud NVMe 1.
cpu_modelstringread-onlyRequiredcpu_countintegermin: 0max: 65535ramstringRequireddiskstringRequiredbandwidthstringRequiredpricenumber (double)Requiredlocationsarray array[]Required
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",
"Германия"
]
]
}
]Web Hosting
/plans/hostingResponses
200application/jsonarray object[]VHTariff[]idintegerread-onlyRequirednamestringmax length: 128RequiredThe plan name appears on invoices, so it should be short and written in Latin characters — for example, Cloud NVMe 1.
sitesintegermin: 0max: 65535nullablepricenumber (double)Requiredcpu_coresintegermin: 0max: 65535nullablehdd_spaceinteger (int64)min: 0max: 4294967295nullableGB
available_locationsarray string[]read-onlyRequired
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"
]
}
]VPS
/plans/vpsResponses
200application/jsonarray object[]VpsTariff[]idintegerread-onlyRequirednamestringmax length: 128RequiredThe plan name appears on invoices, so it should be short and written in Latin characters — for example, Cloud NVMe 1.
cpu_countintegerRequiredramstringRequireddiskstringRequiredbandwidthstringRequiredpricenumber (double)Required
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
Project list
/project/Query Parameters
pageintegerA page number within the paginated result set.
default: 1page_sizeintegerNumber of results to return per page.
default: 10
Responses
200application/jsoncountintegerRequiredexample: 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"
]
}
}
}
}Create project
/project/Body
Requirednamestringlength 1…40Requiredcommentstringmax length: 256Responses
201application/jsonidintegerread-onlyRequirednamestringmax length: 40Requiredcommentstringmax length: 256logostring (uri)read-onlyRequired
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"
]
}Project details
/project/{id}/Path Parameters
idintegerRequiredA unique integer value identifying this project.
Responses
200application/jsonidintegerread-onlyRequirednamestringmax length: 40Requiredcommentstringmax length: 256logostring (uri)read-onlyRequired
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"
]
}Edit project
/project/{id}/Path Parameters
idintegerRequiredA unique integer value identifying this project.
Body
namestringlength 1…40commentstringmax length: 256Responses
200application/jsonidintegerread-onlyRequirednamestringmax length: 40Requiredcommentstringmax length: 256logostring (uri)read-onlyRequired
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"
]
}Remove project
/project/{id}/Path Parameters
idintegerRequiredA unique integer value identifying this project.
Responses
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/"Add order
Request to add an order from Project.
/project/{id}/add_orders/Path Parameters
idintegerRequiredA unique integer value identifying this project.
Body
Requiredordersarray string[]write-onlyRequiredResponses
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/"Edit logo
Request to edit a logo of the Project.
/project/{id}/edit_logo/Path Parameters
idintegerRequiredA unique integer value identifying this project.
Body
multipart/form-datalogostring (binary)Path to file.
Responses
200application/jsonlogostring (uri)Path to file.
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": "Path to file."
}
}
}Remove order
Request to remove an order from the Project.
/project/{id}/remove_orders/Path Parameters
idintegerRequiredA unique integer value identifying this project.
Body
Requiredordersarray string[]write-onlyRequiredResponses
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
An order is an internal entity of our system, which is created together with a service and contains a list of its properties (e.g. cost, location, etc). For example, a VPS is the service itself (virtual machine), and a VPS order is a list of its associated properties. Therefore, to create an order, make a service create request in the corresponding API section, e.g. Create VPS. And for further work with any order use methods from this section.
Find below the API requests that allow you to deal with orders of any type, in particular, to get the order details, edit or cancel it.
List of orders
List all available orders. Information about the parameters or each order will also be included in the response.
/orders/Query Parameters
cancel_markbooleanFilter the orders that will be canceled.
orderingstringField used to order the results.
default: idexpiredidpageintegerA page number within the paginated result set.
default: 1page_sizeintegerNumber of results to return per page.
default: 10
Responses
200application/jsoncountintegerRequiredexample: 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"
]
}
]
}Order details
Get all available data about the order by it's ID.
/orders/{order_id}/Path Parameters
order_idstringRequiredOrder ID in the format NN-NNNNN. The prefix may vary depending on the order type.
Responses
200application/jsonidstringread-onlyRequirednamestringmax length: 64tariffstringread-onlyRequiredtariff_pricenumber (double)nullableread-onlyRequiredtypestringread-onlyRequiredhostnamestringnullableread-onlyRequiredipaddress_setarray string[]nullableread-onlyRequiredstatusstringread-onlyRequiredvaluesunpaidpendingactiveexpireddisabledcanceledblockednoprolong
cost_monthnumber (double)read-onlyRequiredexpiration_datestring (date-time)read-onlyRequiredtagsarray string[]Requiredcancel_markbooleanread-onlyRequiredA mark indicating that the order will be canceled.
projectobjectnullableread-onlyRequired
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"
]
}Edit order
Change some parameters of a specific order (search by ID) that are available for editing.
/orders/{order_id}/Path Parameters
order_idstringRequiredOrder ID in the format NN-NNNNN. The prefix may vary depending on the order type.
Body
namestringlength 1…64default: Сustom name for the order. Set an empty string if you want to remove the name.
tagsarray string[]Tags for the order. New tags will completely replace the current ones if any. Set an empty list if you want to remove all tags.
projectintegernullableOrders Project Set an empty string if you want to remove the project.
Responses
200application/jsonnamestringmax length: 64default:Сustom name for the order.
tagsarray string[]RequiredTags for the order.
projectintegernullableRequiredOrders Project
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
}Cancel order
Cancel an order and delete the related service.
Depending on the when parameter, two options are possible:
expired- the order will be given a cancel mark, and it will be canceled once the paid period expires. In other words it blocks the autorenewal. This is the default approach. You can remove the mark if you change your mind.now- the cancel request will be immediately passed to processing, and the order will be canceled as soon as possible. Instant order cancelation is not yet supported.
If the order has not yet been paid for, it will be canceled immediately regardless of the when parameter selected.
/orders/{order_id}/cancel/Path Parameters
order_idstringRequiredOrder ID in the format NN-NNNNN. The prefix may vary depending on the order type.
Body
whenstringwrite-onlydefault: expirednowexpired
The parameter describes when the order should be canceled - now or once the paid period expires.
save_backupbooleanwrite-onlydefault: trueThe parameter describes whether to take a snapshot of the VPS before removing the virtual machine or not.
Responses
200application/jsonstatusstringread-onlyRequiredvaluescanceledcancel_pending
messagestringread-onlyRequired
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."
}Remove cancel mark
Remove the cancel mark for a specific order (search by ID). As well the mark is removed automatically if you force to renew the order.
/orders/{order_id}/cancel/Path Parameters
order_idstringRequiredOrder ID in the format NN-NNNNN. The prefix may vary depending on the order type.
Responses
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 is a Virtual Private Server, also known as Virtual Dedicated Server. This section covers the main and auxiliary API endpoints used to work with VPS at Fornex.
List of VPS orders
List all available VPS orders. Information about the parameters or each order will also be included in the response.
/orders/vps/Query Parameters
cancel_markbooleanFilter the orders that will be canceled.
orderingstringField used to order the results.
default: idexpiredidpageintegerA page number within the paginated result set.
default: 1page_sizeintegerNumber of results to return per page.
default: 10
Responses
200application/jsoncountintegerRequiredexample: 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
}
}
]
}VPS Order details
Get all available data about the VPS order by it's ID.
/orders/vps/{order_id}/Path Parameters
order_idstringRequiredOrder ID in the format NN-NNNNN.
Responses
200application/jsonidstringread-onlyRequirednamestringmax length: 64tariffstringread-onlyRequiredtariff_pricenumber (double)nullableread-onlyRequiredtypestringread-onlyRequiredhostnamestringnullableread-onlyRequiredipaddress_setarray string[]nullableread-onlyRequiredstatusstringread-onlyRequiredvaluesunpaidpendingactiveexpireddisabledcanceledblockednoprolong
cost_monthnumber (double)read-onlyRequiredexpiration_datestring (date-time)read-onlyRequiredtagsarray string[]Requiredcancel_markbooleanread-onlyRequiredA mark indicating that the order will be canceled.
projectobjectnullableread-onlyRequiredconfigurationobjectread-onlyRequiredServer configuration
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 is a Virtual Private Server, also known as Virtual Dedicated Server. This section covers the main and auxiliary API endpoints used to create a new VPS at Fornex.
Create VPS
This request is not available by default, contact tech support to get access.
For now creating a VPS via API requires payment from the account balance. If you do not have enough funds, the request will return an error and the order will not be created.
To create a VPS you should consider three required parameters - VPS configuration (cores, RAM, storage), pre-installed software and location:
- Configuration: choose
tariff(predefined plan) orconfiguration(flexible set of parameters from the configurator). You can try available configurations at the VPS page. - Software: choose
template(to install an operating system and optionally, a hosting control panel) orapp(to install an application) orsnapshot(to restore VPS from your snapshot). - Country: choose
locationfrom the available options.
To cancel and remove a VPS via API use universal Cancel order method.
/orders/vps/Body
Requiredtariffintegernullablewrite-onlyThe ID of the predefined plan.
Get the available options for tariff from VPS plans.
To create a custom configuration, use the configuration parameter.
Do not use both parameters at the same time.
configurationobjectnullablewrite-onlyThe custom configuration parameters as an object (open the collapsible section for more details). Use VPS configurator to get a proper combination of parameters in line with dynamic constraints.
Instead of custom configuration, you may wish to take a predefined plan, which is usually cheaper.
To do this, use the tariff parameter. Do not use both parameters at the same time.
templateintegerwrite-onlyTemplate's ID to install an operating system and, optionally,
a hosting control panel. Get the available options for template from
VPS templates.
Instead of OS, you may wish to install an application (app parameter) or
to restore VPS from a snapshot (snapshot parameter). To do this, use the corresponding parameter. Use one parameter only per order.
appintegerwrite-onlyApplication's ID you wish to be installed. Get the available options for app from
VPS applications.
Instead of application, you may wish to install an operating system (template parameter) or
to restore VPS from a snapshot (snapshot parameter). To do this, use the corresponding parameter. Use one parameter only per order.
snapshotintegerwrite-onlySnapshot's ID you wish to restore VPS from.
Get the available options for snapshot from VPS snapshots.
You can create a snapshot from any already created VPS in your dashboard on the order's page and use it for restoring (as a backup) or creating copies of the order (as a template).
Instead of restoring from a snapshot, you may wish to install an operating system (template parameter)
or an application (app parameter). To do this, use the corresponding parameter.
Use one parameter only per order.
locationstringmin length: 1write-onlyRequiredThe two-letter country code of the order location.
Get the available options for location from VPS locations.
termintegerwrite-onlydefault: 113612
The number of months for which the order is being renewed once created (e.g. 3).
Extra services and their quantity as a list (open the collapsible section for more details).
Get the available options for services from VPS extra services.
ssh_keysarray integer[]write-onlyIDs of the SSH keys as a list that are added to the server on install. Get the available options for ssh_keys from SSH keys. Pass the keys list explicitly. By default, an empty list is passed, even if there are keys marked as "add by default" in your dashboard.
namestringlength 1…25write-onlydefault: Custom name for the VPS. By default no name is set for the server.
projectintegernullablewrite-onlyProject ID. The available options for the project can be obtained
from the project list.
disk_classintegernullablewrite-onlyThe ID of the vps disk class.
Get the available options for tariff from VPS drives.
When using a custom configuration, use the attribute within configuration parameter.
Do not use both parameters at the same time.
bandwidthintegernullablewrite-onlyBandwidth limit to set for VPS order. Price for unit defined in bandwidth_tariff value
webhookobjectwrite-onlyWebhook configuration as an object (open the collapsible section for more details). It's needed to receive a POST-request with order details and access credentials once the VPS is created
placement_policystringwrite-onlydefault: OPTIONALSTRICTOPTIONAL
placement_groupintegernullablewrite-onlyprivate_networkintegernullablewrite-onlytagsarray string[]write-onlyTags for the VPS. By default no tags are set for the server.
Responses
201application/jsonorder_idstringread-onlyRequired
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 templates
List all available templates to create a VPS. Information about the required VPS parameters will also be included for each template.
/orders/vps/templates/Responses
200application/jsonarray object[]Template[]idintegerread-onlyRequiredID of the template.
namestringmax length: 64RequiredName of the template.
osstringread-onlyRequiredpanelnullableAdmin panel used in the template, may be blank.
One ofarchstringvaluesx86_64arm
CPU architecture type required for this template.
min_storage_spaceinteger (int64)min: 0max: 4294967295nullableMinimum storage space required for this template.
min_ram_volumeintegermin: 0max: 65535nullableMinimum RAM volume required for this template.
min_cpu_coresinteger (int64)min: 0max: 4294967295nullableMinimum CPU cores number required for this template.
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 applications
List all available combinations of "application + operating system" that could be installed on VPS creation.
/orders/vps/apps/Responses
200application/jsonarray object[]AppTemplate[]idintegerread-onlyRequiredID of the application.
namestringmax length: 64RequiredName of the application.
osstringread-onlyRequired
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 of the application."
},
"name": {
"type": "string",
"description": " Name of the application.",
"maxLength": 64
},
"os": {
"type": "string",
"readOnly": true
}
},
"required": [
"id",
"name",
"os"
]
}
}VPS snapshots
List all snapshots available on your account that could be used to create a VPS.
/orders/vps/snapshots/Responses
200application/jsonarray object[]Snapshot[]idintegerread-onlyRequiredID of the snapshot.
namestringmax length: 64RequiredName of the snapshot.
size_gbnumber (double)read-onlyRequiredSize of the snapshot in GB.
created_atstring (date-time)Required
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 of the snapshot."
},
"name": {
"type": "string",
"description": " Name of the snapshot.",
"maxLength": 64
},
"size_gb": {
"type": "number",
"format": "double",
"readOnly": true,
"description": "Size of the snapshot in GB."
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"created_at",
"id",
"name",
"size_gb"
]
}
}VPS locations
List all datacenters where the VPS services are available.
/orders/vps/locations/Responses
200application/jsonarray object[]VpsLocation[]valuestringRequiredlabelstringRequiredlocation_os_typesarray string[]Requiredbandwidth_tariffobjectnullabledisabled_by_slotsbooleandefault: truedisabled_by_cpu_freqbooleandefault: truedisabled_by_osbooleandefault: falsedisabled_by_cpu_typebooleandefault: falseavailable_frequenciesobjectRequired
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 Drives
List all disk options available for a VPS.
/orders/vps/disks/Responses
200application/jsonarray object[]VpsDiskClass[]idintegerread-onlyRequirednamestringmax length: 64Requiredlimit_total_mbytes_secintegermin: 0max: 65535RequiredМb/sec
limit_read_iops_secintegermin: 0max: 65535RequiredOp/sec
limit_write_iops_secintegermin: 0max: 65535RequiredOp/sec
price_per_gbstring (decimal)^-?\d{0,2}(?:\.\d{0,4})?$RequiredCost per 1 GB
disk_typeDiskTypeEnumvalueshddnvmessdsas
disk_type_displaystringRequired
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 extra services
List all extra services available for a VPS.
/orders/vps/services/Responses
200application/jsonarray object[]Service[]idintegerread-onlyRequiredID of the service.
namestringmax length: 128RequiredName of the service.
descriptionstringmax length: 255Description of the service.
pricestring (decimal)^-?\d{0,8}(?:\.\d{0,2})?$RequiredPrice of the service.
billing_typestringRequiredvaluessingleperiodic
One-time or monthly cost.
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 of the service."
},
"name": {
"type": "string",
"description": " Name of the service.",
"maxLength": 128
},
"description": {
"type": "string",
"description": "Description of the service.",
"maxLength": 255
},
"price": {
"type": "string",
"format": "decimal",
"pattern": "^-?\\d{0,8}(?:\\.\\d{0,2})?$",
"description": "Price of the service."
},
"billing_type": {
"allOf": [
{
"enum": [
"single",
"periodic"
],
"type": "string"
}
],
"description": "One-time or monthly cost."
}
},
"required": [
"billing_type",
"id",
"name",
"price"
]
}
}VPS: Reinstall
Reinstall the operating system on your VPS while keeping the existing order and configuration. This section covers the API endpoints used to retrieve available installation targets — such as clean OS templates, pre-configured applications, or existing snapshots — and trigger the reinstallation process.
VPS reinstall templates
List all available templates to reinstall the VPS. Information about the required VPS parameters will also be included for each template.
/vps/{order_id}/reinstall/templates/Path Parameters
order_idstringRequiredOrder ID (including prefix 34-...)
Query Parameters
pageintegerA page number within the paginated result set.
default: 1page_sizeintegerNumber of results to return per page.
default: 10
Responses
200application/jsoncountintegerRequiredexample: 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 reinstall applications
List all available combinations of "application + operating system" that could be installed on VPS reinstall.
/vps/{order_id}/reinstall/apps/Path Parameters
order_idstringRequiredOrder ID (including prefix 34-...)
Query Parameters
pageintegerA page number within the paginated result set.
default: 1page_sizeintegerNumber of results to return per page.
default: 10
Responses
200application/jsoncountintegerRequiredexample: 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 of the application."
},
"name": {
"type": "string",
"description": " Name of the application.",
"maxLength": 64
},
"os": {
"type": "string",
"readOnly": true
}
},
"required": [
"id",
"name",
"os"
]
}
}
}
}VPS reinstall snapshots
List all snapshots available on your account that could be used to reinstall the VPS.
/vps/{order_id}/reinstall/snapshots/Path Parameters
order_idstringRequiredOrder ID (including prefix 34-...)
Query Parameters
pageintegerA page number within the paginated result set.
default: 1page_sizeintegerNumber of results to return per page.
default: 10
Responses
200application/jsoncountintegerRequiredexample: 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 of the snapshot."
},
"name": {
"type": "string",
"description": " Name of the snapshot.",
"maxLength": 64
},
"size_gb": {
"type": "number",
"format": "double",
"readOnly": true,
"description": "Size of the snapshot in GB."
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"created_at",
"id",
"name",
"size_gb"
]
}
}
}
}Reinstall VPS
Starts the reinstallation process for the VPS. You must provide either an VPS template ID or an application ID for a clean setup, or a snapshot ID to restore the server to a previous state.
Warning: This action is destructive. All current data on the server will be permanently deleted and replaced by the selected image.
/vps/{order_id}/reinstall/reinstall/Path Parameters
order_idstringRequiredOrder ID (including prefix 34-...)
Body
Public API version: exposes template instead of ostemplate.
appintegernullablewrite-onlytemplateintegerwrite-onlysnapshotintegernullablewrite-onlyResponses
200application/jsonPublic API version: exposes
templateinstead ofostemplate.display_namestringread-onlyRequiredstatusstringread-onlyRequireddatestring (date-time)read-onlyRequired
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
A Virtual Private Server on Fornex supports remote control requests. This section covers the API endpoints used to start, stop or reset your VPS at Fornex, as well as other options.
VPS Status
/vps/{order_id}/status/Path Parameters
order_idstringRequiredOrder ID (including prefix 34-...)
Responses
200application/jsonstatusstringRequiredon | 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"
}Start VPS
/vps/{order_id}/start/Path Parameters
order_idstringRequiredOrder ID (including prefix 34-...)
Responses
200application/jsonpkintegerread-onlyRequiredactionstringread-onlyRequirednotestringread-onlyRequireduserstringread-onlyRequiredtimestring (date-time)read-onlyRequiredcompletedbooleanread-onlyRequiredjob_statestringread-onlyRequiredvaluesreadyerrordone
job_actionstringread-onlyRequired
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": "Launch",
"note": "Launching server",
"user": "username@example.com",
"time": "2024-02-15T11:12:11+02:00",
"completed": false,
"job_state": "ready",
"job_action": "start"
}Stop VPS
/vps/{order_id}/stop/Path Parameters
order_idstringRequiredOrder ID (including prefix 34-...)
Responses
200application/jsonpkintegerread-onlyRequiredactionstringread-onlyRequirednotestringread-onlyRequireduserstringread-onlyRequiredtimestring (date-time)read-onlyRequiredcompletedbooleanread-onlyRequiredjob_statestringread-onlyRequiredvaluesreadyerrordone
job_actionstringread-onlyRequired
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": "Launch",
"note": "Launching server",
"user": "username@example.com",
"time": "2024-02-15T11:12:11+02:00",
"completed": false,
"job_state": "ready",
"job_action": "start"
}Reboot VPS
/vps/{order_id}/restart/Path Parameters
order_idstringRequiredOrder ID (including prefix 34-...)
Responses
200application/jsonpkintegerread-onlyRequiredactionstringread-onlyRequirednotestringread-onlyRequireduserstringread-onlyRequiredtimestring (date-time)read-onlyRequiredcompletedbooleanread-onlyRequiredjob_statestringread-onlyRequiredvaluesreadyerrordone
job_actionstringread-onlyRequired
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": "Launch",
"note": "Launching server",
"user": "username@example.com",
"time": "2024-02-15T11:12:11+02:00",
"completed": false,
"job_state": "ready",
"job_action": "start"
}Start Rescue Mode
/vps/{order_id}/rescue_mode/Path Parameters
order_idstringRequiredOrder ID (including prefix 34-...)
Responses
200application/jsonpkintegerread-onlyRequiredactionstringread-onlyRequirednotestringread-onlyRequireduserstringread-onlyRequiredtimestring (date-time)read-onlyRequiredcompletedbooleanread-onlyRequiredjob_statestringread-onlyRequiredvaluesreadyerrordone
job_actionstringread-onlyRequired
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": "Launch",
"note": "Launching server",
"user": "username@example.com",
"time": "2024-02-15T11:12:11+02:00",
"completed": false,
"job_state": "ready",
"job_action": "start"
}Stop Rescue Mode
/vps/{order_id}/stop_rescue_mode/Path Parameters
order_idstringRequiredOrder ID (including prefix 34-...)
Responses
200application/jsonpkintegerread-onlyRequiredactionstringread-onlyRequirednotestringread-onlyRequireduserstringread-onlyRequiredtimestring (date-time)read-onlyRequiredcompletedbooleanread-onlyRequiredjob_statestringread-onlyRequiredvaluesreadyerrordone
job_actionstringread-onlyRequired
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": "Launch",
"note": "Launching server",
"user": "username@example.com",
"time": "2024-02-15T11:12:11+02:00",
"completed": false,
"job_state": "ready",
"job_action": "start"
}Hard reset VPS
You can perform a hard reset, aka hard reboot, to restore the VPS performance.
A reset signal will be sent to the virtual machine, which will reboot it without first preparing it for the shutdown procedure.
Note that most file systems that use deferred write may come to an «unclean» state after a hard reboot. After that, an automatic file system check is usually run, after which the virtual machine will be able to work normally, but some data may still be lost.
/vps/{order_id}/hard_reset/Path Parameters
order_idstringRequiredOrder ID (including prefix 34-...)
Responses
200application/jsonpkintegerread-onlyRequiredactionstringread-onlyRequirednotestringread-onlyRequireduserstringread-onlyRequiredtimestring (date-time)read-onlyRequiredcompletedbooleanread-onlyRequiredjob_statestringread-onlyRequiredvaluesreadyerrordone
job_actionstringread-onlyRequired
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": "Launch",
"note": "Launching server",
"user": "username@example.com",
"time": "2024-02-15T11:12:11+02:00",
"completed": false,
"job_state": "ready",
"job_action": "start"
}Reset root password
/vps/{order_id}/passwd_reset/Path Parameters
order_idstringRequiredOrder ID (including prefix 34-...)
Responses
200application/jsonpasswdstringread-onlyRequiredYour new password.
resp_idintegerread-onlyRequiredID of the operation to check its status, for more details see. 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": "Your new password."
},
"resp_id": {
"type": "integer",
"readOnly": true,
"description": "ID of the operation to check its status, for more details see. [vps_log_details](#operation/vps_log_details_retrieve)"
}
},
"required": [
"passwd",
"resp_id"
]
}Request Status
/vps/{order_id}/log_details/{log_id}/Path Parameters
log_idintegerRequiredrecord ID
order_idstringRequiredOrder ID (including prefix 34-...)
Responses
200application/jsonpkintegerread-onlyRequiredactionstringread-onlyRequirednotestringread-onlyRequireduserstringread-onlyRequiredtimestring (date-time)read-onlyRequiredcompletedbooleanread-onlyRequiredjob_statestringread-onlyRequiredvaluesreadyerrordone
job_actionstringread-onlyRequired
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": "Launch",
"note": "Launching server",
"user": "username@example.com",
"time": "2024-02-15T11:12:11+02:00",
"completed": false,
"job_state": "ready",
"job_action": "start"
}VPS: Settings
You can remotely modify settings on a Fornex virtual server. This section includes API requests for performing these changes.
Adjust VPS settings
Adjust various VPS parameters.
/vps/{order_id}/Path Parameters
order_idstringRequiredOrder ID (including prefix 34-...)
Body
private_network_enabledbooleanConnect the order to a private network. This will enable direct data exchange with other orders in the same network, improving speed and security. At the moment, only one private network is created per account.
Responses
200application/jsonprivate_network_enabledbooleanRequiredConnect the order to a private network. This will enable direct data exchange with other orders in the same network, improving speed and security. At the moment, only one private network is created per account.
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": "Connect the order to a private network. This will enable direct data exchange with other orders in the same network, improving speed and security. At the moment, only one private network is created per account."
}
},
"required": [
"private_network_enabled"
]
}VPS: Statistics
At Fornex we collect statistics on your Virtual Private Server performance and resource utilization. This section covers the API endpoint used to request that statistics.
VPS Statistics
The series field contains a list of value pairs (timestamp * 1000, float value).
/vps/{order_id}/stats/{field}/Path Parameters
fieldstringRequiredStatistics field
cpudiskiomemorytrafficorder_idstringRequiredOrder ID (including prefix 34-...)
Query Parameters
endstringPeriod end (default -
now)startstringPeriod start (default -
-1h)
Responses
200application/jsonsubtitlestringRequired
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": "Incoming"
},
{
"color": "#61D561",
"data": [
[
1677628800000,
4585.9263464
],
[
1677629088000,
4575.14841552
],
[
1677629376000,
4636.41519648
]
],
"name": "Outgoing",
"type": "areaspline"
}
],
"subtitle": "November 16, 2015, 17:18 - November 17, 2015, 17:18 (Europe / Moscow)"
}VPS: Private Network
Private Network management for VPS.
List of networks
/private-network/Query Parameters
pageintegerA page number within the paginated result set.
default: 1page_sizeintegerNumber of results to return per page.
default: 10
Responses
200application/jsoncountintegerRequiredexample: 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"
]
}Supported locations
/private-network/locations/Query Parameters
pageintegerA page number within the paginated result set.
default: 1page_sizeintegerNumber of results to return per page.
default: 10
Responses
200application/jsoncountintegerRequiredexample: 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"
]
}
}
}
}Delete network
/private-network/{id}/Path Parameters
idintegerRequiredA unique integer value identifying this User VNI.
Responses
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 orders list
List all available DS orders. Information about the parameters or each order will also be included in the response
/orders/ds/Query Parameters
cancel_markbooleanFilter the orders that will be canceled.
orderingstringField used to order the results.
default: idexpiredidpageintegerA page number within the paginated result set.
default: 1page_sizeintegerNumber of results to return per page.
default: 10
Responses
200application/jsoncountintegerRequiredexample: 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 order detail
Get all available data about the order by it's ID.
/orders/ds/{order_id}/Path Parameters
order_idstringRequiredOrder ID in the format NN-NNNNNNN.
Responses
200application/jsonidstringread-onlyRequirednamestringmax length: 64tariffstringread-onlyRequiredtariff_pricenumber (double)nullableread-onlyRequiredtypestringread-onlyRequiredhostnamestringnullableread-onlyRequiredipaddress_setarray string[]nullableread-onlyRequiredstatusstringread-onlyRequiredvaluesunpaidpendingactiveexpireddisabledcanceledblockednoprolong
cost_monthnumber (double)read-onlyRequiredexpiration_datestring (date-time)read-onlyRequiredtagsarray string[]Requiredcancel_markbooleanread-onlyRequiredA mark indicating that the order will be canceled.
projectobjectnullableread-onlyRequiredconfigurationobjectread-onlyRequiredServer configuration
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
}
}Traffic
Get traffic data for order
/orders/ds/{order_id}/traffic/Path Parameters
order_idstringRequiredOrder ID (including prefix 34-...)
Query Parameters
periodstringPeriod for displaying statistics
default: monthmonthyearportintegerSequential port number
default: 0
Responses
200application/jsondataarrayRequiredorderstringRequiredperiodstringRequired
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"
}Traffic limits
/orders/ds/{order_id}/traffic_used/Path Parameters
order_idintegerRequiredA unique integer value identifying this DS order.
Responses
200application/jsonorderstringRequiredlimitintegerRequiredrange_startstring (date)Requiredrange_endstring (date)RequiredusedintegerRequiredused_ratenumber (double)Required
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 list
/dns/domain/Query Parameters
pageintegerA page number within the paginated result set.
default: 1page_sizeintegerNumber of results to return per page.
default: 10qstringsearch by name or IP
tagstringfilter by tag
Responses
200application/jsoncountintegerRequiredexample: 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": []
}
]
}Add domain
The ability to add domains via the API is disabled by default for account security reasons. If you'd like to use this feature — contact support.
/dns/domain/Body
Requirednamestringlength 1…128Requiredipstring (ipv4)min length: 1write-onlyRequiredcurl -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": []
}Delete domain
/dns/domain/{name}/Path Parameters
namestringRequiredDomain name
Responses
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/"Zone file
/dns/domain/{name}/zone_file/Path Parameters
namestringRequiredDomain name
Responses
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
Entry list
/dns/domain/{name}/entry_set/Path Parameters
namestringRequiredDomain name
Query Parameters
qstringrecord filter
typestringAAAAACAACNAMEMXNSSRVTXTnull
Responses
200application/jsonarray object[]Entry[]idintegerread-onlyRequiredhoststringmax length: 255default:Record hostname: '@, *, subdomain'
typestringRequiredvaluesAAAAATXTCNAMENSMXSRVCAA
Record type
priointeger (int64)min: 0max: 4294967295nullablePriority, used only for SRV and MX
valuestringmax length: 1024RequiredRecord value according to type, for example IP for A records
ttlnullableRecord TTL (optional, default: 3600 sec.)
One of
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"
}
]Add record
/dns/domain/{name}/entry_set/Path Parameters
namestringRequiredDomain name
Body
Requiredhoststringmax length: 255default: Record hostname: '@, *, subdomain'
typestringRequiredAAAAATXTCNAMENSMXSRVCAA
Record type
priointeger (int64)min: 0max: 4294967295nullablePriority, used only for SRV and MX
valuestringlength 1…1024RequiredRecord value according to type, for example IP for A records
ttlnullableRecord TTL (optional, default: 3600 sec.)
Responses
201application/jsonidintegerread-onlyRequiredhoststringmax length: 255default:Record hostname: '@, *, subdomain'
typestringRequiredvaluesAAAAATXTCNAMENSMXSRVCAA
Record type
priointeger (int64)min: 0max: 4294967295nullablePriority, used only for SRV and MX
valuestringmax length: 1024RequiredRecord value according to type, for example IP for A records
ttlnullableRecord TTL (optional, default: 3600 sec.)
One of
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"
}Update record
/dns/domain/{name}/entry_set/{id}/Path Parameters
idintegerRequiredA unique integer value identifying this DNS record.
namestringRequiredDomain name
Body
Requiredhoststringmax length: 255default: Record hostname: '@, *, subdomain'
typestringRequiredAAAAATXTCNAMENSMXSRVCAA
Record type
priointeger (int64)min: 0max: 4294967295nullablePriority, used only for SRV and MX
valuestringlength 1…1024RequiredRecord value according to type, for example IP for A records
ttlnullableRecord TTL (optional, default: 3600 sec.)
Responses
200application/jsonidintegerread-onlyRequiredhoststringmax length: 255default:Record hostname: '@, *, subdomain'
typestringRequiredvaluesAAAAATXTCNAMENSMXSRVCAA
Record type
priointeger (int64)min: 0max: 4294967295nullablePriority, used only for SRV and MX
valuestringmax length: 1024RequiredRecord value according to type, for example IP for A records
ttlnullableRecord TTL (optional, default: 3600 sec.)
One of
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"
}Delete record
/dns/domain/{name}/entry_set/{id}/Path Parameters
idintegerRequiredA unique integer value identifying this DNS record.
namestringRequiredDomain name
Responses
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
Change NS
Request to change Nameservers for Domain order.
/dns/order/{order_id}/change_ns/Path Parameters
order_idstringRequiredorder number
Body
Requirednssstringmin length: 1Requiredlist of NS, separated by comma
Responses
200application/jsonnssstringRequiredlist of NS, separated by comma
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": "list of NS, separated by comma"
}
},
"required": [
"nss"
]
}SSH Keys
List of keys
/ssh_keys/Responses
200application/jsonarray object[]SshKey[]idintegerread-onlyRequireduserstringread-onlyRequiredkeystringmax length: 16384RequiredPublic key in plain text.
titlestringmax length: 128Requireddatestring (date-time)read-onlyRequireddefaultboolean
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
}
]Add key
When adding a new key, it will be automatically linked to all of your VPS. The key is only added directly to the VPS on create or reinstall.
/ssh_keys/Body
Requiredkeystringlength 1…16384RequiredPublic key in plain text.
titlestringlength 1…128RequireddefaultbooleanResponses
201application/jsonidintegerread-onlyRequireduserstringread-onlyRequiredkeystringmax length: 16384RequiredPublic key in plain text.
titlestringmax length: 128Requireddatestring (date-time)read-onlyRequireddefaultboolean
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
}Delete key
/ssh_keys/{key_id}/Path Parameters
key_idintegerRequiredA unique integer value identifying this user ssh key.
Responses
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
List of order keys
/vps/{order_id}/ssh_keys/Path Parameters
order_idstringRequiredOrder ID (including prefix 34-...)
Responses
200application/jsonarray object[]SshKey[]idintegerread-onlyRequireduserstringread-onlyRequiredkeystringmax length: 16384RequiredPublic key in plain text.
titlestringmax length: 128Requireddatestring (date-time)read-onlyRequireddefaultboolean
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
}
]Add key to order
/vps/{order_id}/ssh_keys/add/Path Parameters
order_idstringRequiredOrder ID (including prefix 34-...)
Body
Requiredkey_pkintegerwrite-onlyRequiredResponses
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/"Delete order key
/vps/{order_id}/ssh_keys/delete/Path Parameters
order_idstringRequiredOrder ID (including prefix 34-...)
Body
Requiredkey_pkintegerwrite-onlyRequiredResponses
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
S3 orders list
List all available S3 orders. Information about the parameters or each order will also be included in the response
/orders/s3/Query Parameters
cancel_markbooleanFilter the orders that will be canceled.
orderingstringField used to order the results.
default: idexpiredidpageintegerA page number within the paginated result set.
default: 1page_sizeintegerNumber of results to return per page.
default: 10
Responses
200application/jsoncountintegerRequiredexample: 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 order detail
Get all available data about the order by it's ID.
/orders/s3/{order_id}/Path Parameters
order_idstringRequiredOrder ID in the format NNN-NN.
Responses
200application/jsonidstringread-onlyRequirednamestringread-onlyRequiredhostnamestringRequiredaccess_keystringread-onlyRequiredsecret_keystringread-onlyRequiredbucket_namestringread-onlyRequiredspace_usedintegerRequiredcost_monthnumber (double)read-onlyRequiredexpiration_datestring (date-time)read-onlyRequiredtagsarray string[]Requiredcancel_markbooleanread-onlyRequiredA mark indicating that the order will be canceled.
projectobjectnullableread-onlyRequired
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 low-space notification limit
Set the free-space threshold at which a low-space warning is sent. Pass 0 to disable the notification.
/orders/s3/{order_id}/notification_threshold/Path Parameters
order_idintegerRequiredA unique integer value identifying this S3 Order.
Body
Requiredspace_warning_notify_gbintegermin: 0RequiredResponses
200application/jsonspace_warning_notify_gbintegermin: 0Required
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"
]
}IP Addresses
IP addresses assigned to your services.
List IP addresses
/network/ip-address/Query Parameters
orderingstringWhich field to use when ordering the results.
searchstringtypestring
Responses
200application/jsonarray object[]PublicNetworkAddress[]idintegerread-onlyRequiredipstringRequiredrdnsstringRequiredorderobjectnullableread-onlyRequired
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
This section describes API requests that allow you to set up remote operation with our ticketing system. This section covers the main and auxiliary API endpoints used to manage remote access to the Fornex ticket system.
Create ticket
To create a ticket, submit the subject and body of your inquiry. In addition, you may set the priority for your request, as well as the order which relates to it.
/tickets/ticket/Body
RequiredСоздание тикета пользователем
subjectstringlength 1…64RequiredThe main idea of your inquiry in short.
messagestringlength 1…49152RequiredA detailed description of your issue and other details of the request.
priorityintegerdefault: 101234
One of the options which reflects the priority of your request:
0- Non-urgent (up to 24 hours)1- Normal (up to 8 hours)2- Important (up to 6 hours)3- Urgent (up to 1 hour)4- Very urgent (asap)
By default a ticket is created with normal priority.
Very urgent priority can be set only for orders with extended management service.
Please do not set the priority "very urgent" for requests that are not related to technical issues of your orders or any accident. As well, please do not intentionally increase the priority of a ticket if it is not necessary, it only complicates the processing of your requests.
orderstringmin length: 1nullableID of the order as "34-NNNN", which relates to your inquiry. For now one ticket can relate to one order only. By default a ticket is created with no related order.
credentialsobjectwrite-onlyResponses
201application/jsonСоздание тикета пользователем
subjectstringmax length: 64RequiredThe main idea of your inquiry in short.
messagestringmax length: 49152RequiredA detailed description of your issue and other details of the request.
priorityintegerdefault: 1values01234
One of the options which reflects the priority of your request:
0- Non-urgent (up to 24 hours)1- Normal (up to 8 hours)2- Important (up to 6 hours)3- Urgent (up to 1 hour)4- Very urgent (asap)
By default a ticket is created with normal priority.
Very urgentpriority can be set only for orders with extended management service.Please do not set the priority "very urgent" for requests that are not related to technical issues of your orders or any accident. As well, please do not intentionally increase the priority of a ticket if it is not necessary, it only complicates the processing of your requests.
orderstringnullableID of the order as "34-NNNN", which relates to your inquiry. For now one ticket can relate to one order only. By default a ticket is created with no related order.
urlstringread-onlyRequiredidstringread-onlyRequiredstatusstringread-onlyRequired
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/Responses
200application/jsonurlstring (uri)max length: 512URL for submitting request, leave blank to deactivate
last_error_datestring (date-time)nullableread-onlyRequiredlast_error_messagestringnullableread-onlyRequired
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"
}Configure webhook
A POST request
ContentType: 'application/json'
{"text": 'New comment added to the ticket...'}
will be sent to the specified URL. By default, it works with Slack, but you can specify your own webhook and process the notification on your own.
/tickets/webhook_set/Body
urlstring (uri)max length: 512URL for submitting request, leave blank to deactivate
Responses
201application/jsonurlstring (uri)max length: 512URL for submitting request, leave blank to deactivate
last_error_datestring (date-time)nullableread-onlyRequiredlast_error_messagestringnullableread-onlyRequired
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)RequiredcurrencystringRequiredAccountInfoemailstring (email)max length: 254namestringRequiredAccountInvoicesunpaid_invoices_countintegerRequiredunpaid_invoices_amountnumber (double)RequiredcurrencystringRequiredAppTemplateidintegerread-onlyRequiredID of the application.
namestringmax length: 64RequiredName of the application.
osstringread-onlyRequiredBackupTariffspaceintegerRequiredpricenumber (double)Requiredunitsstringread-onlyRequireddefault: GBBandwidthEnum1015202540
BillingTypeEnumsingleperiodic
BlankEnumCancelOrderstatusstringread-onlyRequiredcanceledcancel_pending
messagestringread-onlyRequiredCancelOrderRequestwhenstringwrite-onlydefault: expirednowexpired
The parameter describes when the order should be canceled - now or once the paid period expires.
save_backupbooleanwrite-onlydefault: trueThe parameter describes whether to take a snapshot of the VPS before removing the virtual machine or not.
CancelOrderStatusEnumcanceledcancel_pending
CpuArchEnumx86_64arm
DedicatedTariffidintegerread-onlyRequirednamestringmax length: 128RequiredThe plan name appears on invoices, so it should be short and written in Latin characters — for example, Cloud NVMe 1.
cpu_modelstringread-onlyRequiredcpu_countintegermin: 0max: 65535ramstringRequireddiskstringRequiredbandwidthstringRequiredpricenumber (double)Requiredlocationsarray array[]RequiredDiskTypeEnumhddnvmessdsas
DnsOrderNameserversnssstringRequiredlist of NS, separated by comma
DnsOrderNameserversRequestnssstringmin length: 1Requiredlist of NS, separated by comma
Domainnamestringmax length: 128Requiredcreatedstring (date-time)read-onlyRequiredupdatedstring (date-time)read-onlyRequiredtagsarray string[]read-onlyRequiredDomainRequestnamestringlength 1…128Requiredipstring (ipv4)min length: 1write-onlyRequiredDomainTagstagsarray string[]RequiredDomainTagsRequesttagsarray string[]RequiredDSConfigurationcpu_countintegermin: 0max: 65535cpustringRequiredmotherboardstringRequiredchassisstringRequiredraid_controllerstringRequirednetwork_adapterstringRequiredbandwidthnullablememoryinteger (int64)min: 0max: 4294967295Requireddisksstringread-onlyRequiredDSOrderidstringread-onlyRequirednamestringmax length: 64tariffstringread-onlyRequiredtariff_pricenumber (double)nullableread-onlyRequiredtypestringread-onlyRequiredhostnamestringnullableread-onlyRequiredipaddress_setarray string[]nullableread-onlyRequiredstatusstringread-onlyRequiredunpaidpendingactiveexpireddisabledcanceledblockednoprolong
cost_monthnumber (double)read-onlyRequiredexpiration_datestring (date-time)read-onlyRequiredtagsarray string[]Requiredcancel_markbooleanread-onlyRequiredA mark indicating that the order will be canceled.
projectobjectnullableread-onlyRequiredconfigurationobjectread-onlyRequiredServer configuration
DSTrafficdataarrayRequiredorderstringRequiredperiodstringRequiredDSTrafficUsedorderstringRequiredlimitintegerRequiredrange_startstring (date)Requiredrange_endstring (date)RequiredusedintegerRequiredused_ratenumber (double)RequiredEntryidintegerread-onlyRequiredhoststringmax length: 255default: Record hostname: '@, *, subdomain'
typestringRequiredAAAAATXTCNAMENSMXSRVCAA
Record type
priointeger (int64)min: 0max: 4294967295nullablePriority, used only for SRV and MX
valuestringmax length: 1024RequiredRecord value according to type, for example IP for A records
ttlnullableRecord TTL (optional, default: 3600 sec.)
EntryRequesthoststringmax length: 255default: Record hostname: '@, *, subdomain'
typestringRequiredAAAAATXTCNAMENSMXSRVCAA
Record type
priointeger (int64)min: 0max: 4294967295nullablePriority, used only for SRV and MX
valuestringlength 1…1024RequiredRecord value according to type, for example IP for A records
ttlnullableRecord TTL (optional, default: 3600 sec.)
JobStateEnumreadyerrordone
LocationChoicevaluestringRequiredlabelstringRequirediconstringRequiredNetworkOrderidintegerRequirednamestringRequiredtypestringRequiredlinkstringread-onlyRequiredunique_numberstringRequiredNullEnumnull
Orderidstringread-onlyRequirednamestringmax length: 64tariffstringread-onlyRequiredtariff_pricenumber (double)nullableread-onlyRequiredtypestringread-onlyRequiredhostnamestringnullableread-onlyRequiredipaddress_setarray string[]nullableread-onlyRequiredstatusstringread-onlyRequiredunpaidpendingactiveexpireddisabledcanceledblockednoprolong
cost_monthnumber (double)read-onlyRequiredexpiration_datestring (date-time)read-onlyRequiredtagsarray string[]Requiredcancel_markbooleanread-onlyRequiredA mark indicating that the order will be canceled.
projectobjectnullableread-onlyRequiredOrderCredentialsusernamestringpasswordstringcommentstringOrderCredentialsRequestusernamestringmin length: 1passwordstringmin length: 1commentstringmin length: 1OrderServiceCreateserviceintegerRequiredThe ID of the extra service.
countintegermin: 1default: 1The quantity for this extra service.
OrderServiceCreateRequestserviceintegerRequiredThe ID of the extra service.
countintegermin: 1default: 1The quantity for this extra service.
OrderSSHKeyAddRequestkey_pkintegerwrite-onlyRequiredOrderSSHKeyRemoveRequestkey_pkintegerwrite-onlyRequiredOrderStatusunpaidpendingactiveexpireddisabledcanceledblockednoprolong
OrderUpdatenamestringmax length: 64default: Сustom name for the order.
tagsarray string[]RequiredTags for the order.
projectintegernullableRequiredOrders Project
PaginatedAppTemplateListcountintegerRequiredexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedDomainListcountintegerRequiredexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedDSOrderListcountintegerRequiredexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedOrderListcountintegerRequiredexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedPrivateNetworkListcountintegerRequiredexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedPrivateNetworkLocationListcountintegerRequiredexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedProjectListcountintegerRequiredexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedS3OrderListcountintegerRequiredexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedSnapshotListcountintegerRequiredexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedTemplateListcountintegerRequiredexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PaginatedVPSOrderListcountintegerRequiredexample: 123nextstring (uri)nullableexample: http://api.example.org/accounts/?page=4previousstring (uri)nullableexample: http://api.example.org/accounts/?page=2PanelEnumvestahestiaaapanelbrainycpcloudpanelcyberpanelbeadminopenpanel
PatchedOrderUpdateRequestnamestringlength 1…64default: Сustom name for the order. Set an empty string if you want to remove the name.
tagsarray string[]Tags for the order. New tags will completely replace the current ones if any. Set an empty list if you want to remove all tags.
projectintegernullableOrders Project Set an empty string if you want to remove the project.
PatchedProjectRequestnamestringlength 1…40commentstringmax length: 256PatchedVpsUpdateRequestprivate_network_enabledbooleanConnect the order to a private network. This will enable direct data exchange with other orders in the same network, improving speed and security. At the moment, only one private network is created per account.
PlacementPolicyEnumSTRICTOPTIONAL
PriorityEnum01234
PrivateNetworkidintegerread-onlyRequiredPrivateNetworkLocationidintegerread-onlyRequiredProjectidintegerread-onlyRequirednamestringmax length: 40Requiredcommentstringmax length: 256logostring (uri)read-onlyRequiredProjectAddOrdersRequestordersarray string[]write-onlyRequiredProjectLogologostring (uri)Path to file.
ProjectLogoRequestlogostring (binary)Path to file.
ProjectRemoveOrdersRequestordersarray string[]write-onlyRequiredProjectRequestnamestringlength 1…40Requiredcommentstringmax length: 256PublicChartsubtitlestringRequiredPublicChartSeriesnamestringRequireddataarrayRequiredtypestringcolorstringPublicNetworkAddressidintegerread-onlyRequiredipstringRequiredrdnsstringRequiredorderobjectnullableread-onlyRequiredPublicReinstallRequestPublic API version: exposes template instead of ostemplate.
display_namestringread-onlyRequiredstatusstringread-onlyRequireddatestring (date-time)read-onlyRequiredPublicReinstallRequestRequestPublic API version: exposes template instead of ostemplate.
appintegernullablewrite-onlytemplateintegerwrite-onlysnapshotintegernullablewrite-onlyPublicTicketСоздание тикета пользователем
subjectstringmax length: 64RequiredThe main idea of your inquiry in short.
messagestringmax length: 49152RequiredA detailed description of your issue and other details of the request.
priorityintegerdefault: 101234
One of the options which reflects the priority of your request:
0- Non-urgent (up to 24 hours)1- Normal (up to 8 hours)2- Important (up to 6 hours)3- Urgent (up to 1 hour)4- Very urgent (asap)
By default a ticket is created with normal priority.
Very urgent priority can be set only for orders with extended management service.
Please do not set the priority "very urgent" for requests that are not related to technical issues of your orders or any accident. As well, please do not intentionally increase the priority of a ticket if it is not necessary, it only complicates the processing of your requests.
orderstringnullableID of the order as "34-NNNN", which relates to your inquiry. For now one ticket can relate to one order only. By default a ticket is created with no related order.
urlstringread-onlyRequiredidstringread-onlyRequiredstatusstringread-onlyRequiredPublicTicketRequestСоздание тикета пользователем
subjectstringlength 1…64RequiredThe main idea of your inquiry in short.
messagestringlength 1…49152RequiredA detailed description of your issue and other details of the request.
priorityintegerdefault: 101234
One of the options which reflects the priority of your request:
0- Non-urgent (up to 24 hours)1- Normal (up to 8 hours)2- Important (up to 6 hours)3- Urgent (up to 1 hour)4- Very urgent (asap)
By default a ticket is created with normal priority.
Very urgent priority can be set only for orders with extended management service.
Please do not set the priority "very urgent" for requests that are not related to technical issues of your orders or any accident. As well, please do not intentionally increase the priority of a ticket if it is not necessary, it only complicates the processing of your requests.
orderstringmin length: 1nullableID of the order as "34-NNNN", which relates to your inquiry. For now one ticket can relate to one order only. By default a ticket is created with no related order.
credentialsobjectwrite-onlyS3NotificationThresholdspace_warning_notify_gbintegermin: 0RequiredS3NotificationThresholdRequestspace_warning_notify_gbintegermin: 0RequiredS3Orderidstringread-onlyRequirednamestringread-onlyRequiredhostnamestringRequiredaccess_keystringread-onlyRequiredsecret_keystringread-onlyRequiredbucket_namestringread-onlyRequiredspace_usedintegerRequiredcost_monthnumber (double)read-onlyRequiredexpiration_datestring (date-time)read-onlyRequiredtagsarray string[]Requiredcancel_markbooleanread-onlyRequiredA mark indicating that the order will be canceled.
projectobjectnullableread-onlyRequiredServerBandwidthTariffmin_valuestring (decimal)^-?\d{0,5}(?:\.\d{0,2})?$Requiredmax_valuestring (decimal)^-?\d{0,5}(?:\.\d{0,2})?$Requiredstepstring (decimal)^-?\d{0,5}(?:\.\d{0,2})?$RequiredDifference between two following bandwidth values
pricestring (decimal)^-?\d{0,5}(?:\.\d{0,2})?$RequiredunitUnitEnumgbpsmbps
Serviceidintegerread-onlyRequiredID of the service.
namestringmax length: 128RequiredName of the service.
descriptionstringmax length: 255Description of the service.
pricestring (decimal)^-?\d{0,8}(?:\.\d{0,2})?$RequiredPrice of the service.
billing_typestringRequiredsingleperiodic
One-time or monthly cost.
Snapshotidintegerread-onlyRequiredID of the snapshot.
namestringmax length: 64RequiredName of the snapshot.
size_gbnumber (double)read-onlyRequiredSize of the snapshot in GB.
created_atstring (date-time)RequiredSshKeyidintegerread-onlyRequireduserstringread-onlyRequiredkeystringmax length: 16384RequiredPublic key in plain text.
titlestringmax length: 128Requireddatestring (date-time)read-onlyRequireddefaultbooleanSshKeyRequestkeystringlength 1…16384RequiredPublic key in plain text.
titlestringlength 1…128RequireddefaultbooleanTemplateidintegerread-onlyRequiredID of the template.
namestringmax length: 64RequiredName of the template.
osstringread-onlyRequiredpanelnullableAdmin panel used in the template, may be blank.
archstringx86_64arm
CPU architecture type required for this template.
min_storage_spaceinteger (int64)min: 0max: 4294967295nullableMinimum storage space required for this template.
min_ram_volumeintegermin: 0max: 65535nullableMinimum RAM volume required for this template.
min_cpu_coresinteger (int64)min: 0max: 4294967295nullableMinimum CPU cores number required for this template.
TermEnum13612
TicketsWebhookurlstring (uri)max length: 512URL for submitting request, leave blank to deactivate
last_error_datestring (date-time)nullableread-onlyRequiredlast_error_messagestringnullableread-onlyRequiredTicketsWebhookRequesturlstring (uri)max length: 512URL for submitting request, leave blank to deactivate
TtlEnum1203006009001800
TypeEnumAAAAATXTCNAMENSMXSRVCAA
UnitEnumgbpsmbps
VHTariffidintegerread-onlyRequirednamestringmax length: 128RequiredThe plan name appears on invoices, so it should be short and written in Latin characters — for example, Cloud NVMe 1.
sitesintegermin: 0max: 65535nullablepricenumber (double)Requiredcpu_coresintegermin: 0max: 65535nullablehdd_spaceinteger (int64)min: 0max: 4294967295nullableGB
available_locationsarray string[]read-onlyRequiredVpsConfigurationcpu_countintegermin: 1max: 16The number of cores.
ram_sizeintegermin: 2max: 32The RAM volume in gigabytes (GB).
disk_classintegernullableDisk class.
disk_sizeintegermin: 20max: 300The storage volume in gigabytes (GB).
cpu_archstringx86_64arm
CPU architecture.
min_cpu_freqstring (decimal)^-?\d{0,2}(?:\.\d{0,1})?$Minimum CPU core frequency in gigahertz (GHz). Affects the cost of the order (higher frequency - higher price) and the choice of hypervisor when creating a VPS. We recommend to set exact value from VPS configurator, because in case of mismatch the nearest higher frequency will be applied (for example, an order with 2.4 GHz will be processed as 3.0 GHz).
VpsConfigurationRequestcpu_countintegermin: 1max: 16The number of cores.
ram_sizeintegermin: 2max: 32The RAM volume in gigabytes (GB).
disk_classintegernullableDisk class.
disk_sizeintegermin: 20max: 300The storage volume in gigabytes (GB).
cpu_archstringx86_64arm
CPU architecture.
min_cpu_freqstring (decimal)^-?\d{0,2}(?:\.\d{0,1})?$Minimum CPU core frequency in gigahertz (GHz). Affects the cost of the order (higher frequency - higher price) and the choice of hypervisor when creating a VPS. We recommend to set exact value from VPS configurator, because in case of mismatch the nearest higher frequency will be applied (for example, an order with 2.4 GHz will be processed as 3.0 GHz).
VpsDiskClassidintegerread-onlyRequirednamestringmax length: 64Requiredlimit_total_mbytes_secintegermin: 0max: 65535RequiredМb/sec
limit_read_iops_secintegermin: 0max: 65535RequiredOp/sec
limit_write_iops_secintegermin: 0max: 65535RequiredOp/sec
price_per_gbstring (decimal)^-?\d{0,2}(?:\.\d{0,4})?$RequiredCost per 1 GB
disk_typeDiskTypeEnumhddnvmessdsas
disk_type_displaystringRequiredVpsLocationvaluestringRequiredlabelstringRequiredlocation_os_typesarray string[]Requiredbandwidth_tariffobjectnullabledisabled_by_slotsbooleandefault: truedisabled_by_cpu_freqbooleandefault: truedisabled_by_osbooleandefault: falsedisabled_by_cpu_typebooleandefault: falseavailable_frequenciesobjectRequiredVpsLogEntrypkintegerread-onlyRequiredactionstringread-onlyRequirednotestringread-onlyRequireduserstringread-onlyRequiredtimestring (date-time)read-onlyRequiredcompletedbooleanread-onlyRequiredjob_statestringread-onlyRequiredreadyerrordone
job_actionstringread-onlyRequiredVPSOrderidstringread-onlyRequirednamestringmax length: 64tariffstringread-onlyRequiredtariff_pricenumber (double)nullableread-onlyRequiredtypestringread-onlyRequiredhostnamestringnullableread-onlyRequiredipaddress_setarray string[]nullableread-onlyRequiredstatusstringread-onlyRequiredunpaidpendingactiveexpireddisabledcanceledblockednoprolong
cost_monthnumber (double)read-onlyRequiredexpiration_datestring (date-time)read-onlyRequiredtagsarray string[]Requiredcancel_markbooleanread-onlyRequiredA mark indicating that the order will be canceled.
projectobjectnullableread-onlyRequiredconfigurationobjectread-onlyRequiredServer configuration
VpsOrderCreateorder_idstringread-onlyRequiredVpsOrderCreateRequesttariffintegernullablewrite-onlyThe ID of the predefined plan.
Get the available options for tariff from VPS plans.
To create a custom configuration, use the configuration parameter.
Do not use both parameters at the same time.
configurationobjectnullablewrite-onlyThe custom configuration parameters as an object (open the collapsible section for more details). Use VPS configurator to get a proper combination of parameters in line with dynamic constraints.
Instead of custom configuration, you may wish to take a predefined plan, which is usually cheaper.
To do this, use the tariff parameter. Do not use both parameters at the same time.
templateintegerwrite-onlyTemplate's ID to install an operating system and, optionally,
a hosting control panel. Get the available options for template from
VPS templates.
Instead of OS, you may wish to install an application (app parameter) or
to restore VPS from a snapshot (snapshot parameter). To do this, use the corresponding parameter. Use one parameter only per order.
appintegerwrite-onlyApplication's ID you wish to be installed. Get the available options for app from
VPS applications.
Instead of application, you may wish to install an operating system (template parameter) or
to restore VPS from a snapshot (snapshot parameter). To do this, use the corresponding parameter. Use one parameter only per order.
snapshotintegerwrite-onlySnapshot's ID you wish to restore VPS from.
Get the available options for snapshot from VPS snapshots.
You can create a snapshot from any already created VPS in your dashboard on the order's page and use it for restoring (as a backup) or creating copies of the order (as a template).
Instead of restoring from a snapshot, you may wish to install an operating system (template parameter)
or an application (app parameter). To do this, use the corresponding parameter.
Use one parameter only per order.
locationstringmin length: 1write-onlyRequiredThe two-letter country code of the order location.
Get the available options for location from VPS locations.
termintegerwrite-onlydefault: 113612
The number of months for which the order is being renewed once created (e.g. 3).
Extra services and their quantity as a list (open the collapsible section for more details).
Get the available options for services from VPS extra services.
ssh_keysarray integer[]write-onlyIDs of the SSH keys as a list that are added to the server on install. Get the available options for ssh_keys from SSH keys. Pass the keys list explicitly. By default, an empty list is passed, even if there are keys marked as "add by default" in your dashboard.
namestringlength 1…25write-onlydefault: Custom name for the VPS. By default no name is set for the server.
projectintegernullablewrite-onlyProject ID. The available options for the project can be obtained
from the project list.
disk_classintegernullablewrite-onlyThe ID of the vps disk class.
Get the available options for tariff from VPS drives.
When using a custom configuration, use the attribute within configuration parameter.
Do not use both parameters at the same time.
bandwidthintegernullablewrite-onlyBandwidth limit to set for VPS order. Price for unit defined in bandwidth_tariff value
webhookobjectwrite-onlyWebhook configuration as an object (open the collapsible section for more details). It's needed to receive a POST-request with order details and access credentials once the VPS is created
placement_policystringwrite-onlydefault: OPTIONALSTRICTOPTIONAL
placement_groupintegernullablewrite-onlyprivate_networkintegernullablewrite-onlytagsarray string[]write-onlyTags for the VPS. By default no tags are set for the server.
VpsOrderCreateWebhookurlstring (uri)max length: 512RequiredThe URL to which the POST request is sent.
Full list of details is sent (like in Order Details method), but with extra field called credentials:
{
"credentials": {
"ip_address": "127.0.0.1",
"username": "root",
"password": "root_pass"
}
}
secretstringmax length: 64RequiredSecret phrase used for signing.
When processing a webhook request, use the "Fornex-Signature" header for validation.
Example 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…512RequiredThe URL to which the POST request is sent.
Full list of details is sent (like in Order Details method), but with extra field called credentials:
{
"credentials": {
"ip_address": "127.0.0.1",
"username": "root",
"password": "root_pass"
}
}
secretstringlength 1…64RequiredSecret phrase used for signing.
When processing a webhook request, use the "Fornex-Signature" header for validation.
Example 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-onlyRequiredYour new password.
resp_idintegerread-onlyRequiredID of the operation to check its status, for more details see. vps_log_details
VpsStatusstatusstringRequiredon | off | unknown
VpsTariffidintegerread-onlyRequirednamestringmax length: 128RequiredThe plan name appears on invoices, so it should be short and written in Latin characters — for example, Cloud NVMe 1.
cpu_countintegerRequiredramstringRequireddiskstringRequiredbandwidthstringRequiredpricenumber (double)RequiredVpsUpdateprivate_network_enabledbooleanRequiredConnect the order to a private network. This will enable direct data exchange with other orders in the same network, improving speed and security. At the moment, only one private network is created per account.
WhenEnumnowexpired