At Oxide Hosting, we support our customer's development projects by making some of our internal data available publicly. This enables you to make use of our platform data for your own projects as per your requirements. Most data currently provided does not require any form of pre-authentication meaning any sensitive data is not currently available via this.
Below you can find all the endpoints available from various systems within our company.
Allows you to list all available products with their respective identifiers, stock and basic descriptions.
Name | Type | Value | Description | Required |
---|---|---|---|---|
id | GET | Integer | This specifies for an individual product to be returned. | No |
curl -k -L "https://api.oxide.host/v1/products" curl -k -L "https://api.oxide.host/v1/products?id=8" {"status":200,"response":{"VPS Classic XS":{"id":8,"link":"https:\/\/billing.oxide.host\/cart.php?a=add&pid=8","description":"Features included are listed below.\r\n\r\n1x vCore (3.70\/5.00GHz Turboboost),\r\n2048MB DDR4 ECC Ram,\r\n16GB Storage (Boosted NVMe),\r\n500mbp\/s download, 200mbp\/s upload Port Speed (Upgradeable),\r\nUnmetered Bandwidth,\r\nAnti-DDoS Protection,\r\n1x IPv4, 1x IPv6 (\/80),\r\nOne-Click Installers,\r\nBoosted Automated Backups,\r\nService Monitoring,\r\nMultiple Locations,\r\nVirtualized by KVM.","recurring":true,"control_panel":"virtualizor","in_stock":true,"pricing":{"monthly":{"GBP":"3.59","EUR":"4.48","USD":"4.50"},"quarterly":{"GBP":"9.69","EUR":"12.09","USD":"12.16"}}}}}
Allows you to list all available exchange rates that we accept along with our current conversion rates.
Name | Type | Value | Description | Required |
---|---|---|---|---|
No parameters required. |
curl -k -L "https://api.oxide.host/v1/exchange-rates" {"status":"200","response":{"GBP":{"rate":"1.00000","id":"1"},"USD":{"rate":"1.25471","id":"2"},"EUR":{"rate":"1.24796","id":"3"}}}
Below you can find all the endpoints available for our monitoring systems and the data available via such.
Allows you to list all available host systems which can be used within a query.
Name | Type | Value | Description | Required |
---|---|---|---|---|
No parameters required. |
curl -k -L "https://status.oxide.systems/api/hostsystems" {"status":200,"response":[{"name":"CORE-DE","purpose":"Core Infrastructure","location":"Limburg, Germany"},{"name":"CORE-GB","purpose":"Core Infrastructure","location":"London, United Kingdom"},{"name":"DBH-CA","purpose":"Discord Bot Hosting","location":"Montreal, Canada"}
Allows you to call the current status of a particular host system and information regarding such.
Name | Type | Value | Description | Required |
---|---|---|---|---|
name | GET | String | This specifies which hostsystem you would like to call the information for. | Yes |
curl -k -L "https://status.oxide.systems/api/hostsystems/status?name=VPS-FR01" {"status":200,"response":{"name":"VPS-FR01","purpose":"Classic Virtual Servers","response":"Gravelines, France","status":"Online"}}
Allows you to call the current status of all our hostsystems at once including overall percentage offline.
Name | Type | Value | Description | Required |
---|---|---|---|---|
No parameters required. |
curl -k -L "https://status.oxide.systems/api/hostsystems/general" {"response":{"hostsystems":{"VPS-CA01":{"name":"VPS-CA01","purpose":"Classic Virtual Servers","location":"Montreal, Canada","datacenter":"BHS","status":"online","historyAvailable":false},"VPS-CA02":{"name":"VPS-CA02","purpose":"Classic Virtual Servers","location":"Montreal, Canada","datacenter":"BHS","status":"online","historyAvailable":false},"VPS-CA03":{"name":"VPS-CA03","purpose":"Classic Virtual Servers","location":"Montreal, Canada","datacenter":"BHS","status":"online","historyAvailable":false},"general":{"offlineServers":0,"offlineServersPercentage":"0%","taskStatus":"None"}}}
Allows you to call the current status of a particular Virtual Server and information regarding such.
Name | Type | Value | Description | Required |
---|---|---|---|---|
ip | GET | String | This specifies which Virtual Server you would like to call the information for. | Yes |
curl -k -L "https://status.oxide.systems/api/vps/status?ip=51.38.201.104" {"status":200,"response":{"address":{"ipv4":"51.38.201.104","ipv4_subnet":"51.38.201.104\/29","ipv4_reverse":null},"status":{"current":"Online","last_updated":"No data currently available"},"hostsystem":{"name":"VPS-FR02","hostsystem":"vps.fr02.oxide.systems"},"monitoring":{"enabled":true,"batch":"DE12"},"brand":"Oxide Hosting"}}
Below you can find all the endpoints available for our dedicated server control panel (Nexus).
Allows you to create a session and generate a token to begin managing your services.
Name | Type | Value | Description | Required |
---|---|---|---|---|
POST | String | This specifies the email address of the account you are accessing. | Yes | |
password | POST | String | This specifies the password of the account you are accessing. | Yes |
curl -k -X POST -d "[email protected]&password=Password123" -L "https://nexus.oxide.host/v1/auth/login" {"status": 200,"token": "2c736aff4f41560cbb9a0f1ba5146f328be5e1136877eb3e4dedfaf712017aa5355c77ce5e37f92d84889284eec585420eab81f19388cdfeb83cfe24a54fba28"}
Allows you to initiate or execute a password reset of an account.
Name | Type | Value | Description | Required |
---|---|---|---|---|
token | POST | String | This specifies the provided token to execute and apply the password. | When executing. |
POST | String | This specifies the account you wish to create a password reset for. | When initiating. | |
password | POST | String | This specifies the password you wish to apply to the account. | When initiating. |
verify_password | POST | String | This verifies the password specified to ensure accuracy. | When initiating. |
curl -k -X POST -d "[email protected]&password=Password123&verify_password=Password123" -L "https://nexus.oxide.host/v1/auth/reset" { "status": 200, "response": "An email containing the confirmation has been sent.", "dev_response": "Please confirm the password change via an email sent out." }
Allows you to terminate your active session (logout).
Name | Type | Value | Description | Required |
---|---|---|---|---|
No parameters required. |
curl -X GET 'https://nexus.oxide.host/v1/auth/logout' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' { "status": 200, "response": "Thank you for using the Nexus Control Panel. Goodbye." }
Allows you to verify a generated token and return the relevant user identifier.
Name | Type | Value | Description | Required |
---|---|---|---|---|
No parameters required. |
curl -X GET 'https://nexus.oxide.host/v1/auth/token/verify' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' {"status": 200,"session": {"user": "ns164304","expiry": "1662755920","api_token": false}}
Security Notice: This endpoint cannot be accessed via an API token created within this control panel, a unique login token must be used.
Allows you to create a session and generate a token for API purposes to begin managing your services.
Name | Type | Value | Description | Required |
---|---|---|---|---|
expiry | POST | String | This specifies the expiry time (UNIX timestamp); or 'unlimited'. | Yes |
description | POST | String | This specifies the description of the token created. | Yes |
curl -X POST -d "expiry=unlimited&description=API" -L 'https://nexus.oxide.host/v1/auth/token/create' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' {"status": 200,"token": "a530d8af0c6700f5ea6335563cca2ce40b4690b3d684322ddaacea498a81af18898d6d4b59e588a756e31ab5530a1","identifier": "na360019","user": "ns164304"}
Allows you to list all tokens created/linked to your account.
Name | Type | Value | Description | Required |
---|---|---|---|---|
No parameters required. |
curl -X GET 'https://nexus.oxide.host/v1/auth/token/list' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' {"status": 200,"0": {"identifier": "na360019","description": "Oxide Hosting API","expiry": "Unlimited"}}
Security Notice: This endpoint cannot be accessed via an API token created within this control panel, a unique login token must be used.
Allows you to delete an already existing API token without justification.
Name | Type | Value | Description | Required |
---|---|---|---|---|
id | POST | String | This specifies the already existing token you wish to delete. | Yes |
curl -X POST -d "id=na360019" -L 'https://nexus.oxide.host/v1/auth/token/delete' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' {"status": 200,"response": "The requested token has been deleted.","dev_response": "The requested token (na360019) has been deleted."}
Allows you to update information about your account.
Name | Type | Value | Description | Required |
---|---|---|---|---|
No parameters required. |
curl -X GET 'https://nexus.oxide.host/v1/profile/display' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' {"status": 200,"profile": {"email": "[email protected]","billing_id": "2246"}}
Security Notice: This endpoint cannot be accessed via an API token created within this control panel, a unique login token must be used.
Allows you to create a session and generate a token for API purposes to begin managing your services.
Name | Type | Value | Description | Required |
---|---|---|---|---|
type | POST | String | This specifies the type of change (email/password). | Yes |
password | POST | String | This specifies the desired account password. | No |
auth | POST | String | This specifies the authentication code provided. | No |
curl -X POST -d "type=email" -L 'https://nexus.oxide.host/v1/profile/update' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' {"status": 200,"response": "Please confirm you wish to sync your email address ([email protected]).","dev_response": "Please post 'confirm' with the key 'auth' to proceed with the request to sync your email address ([email protected]).",} curl -X POST -d "type=email&auth=confirm" -L 'https://nexus.oxide.host/v1/profile/update' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' {"status": 200,"response": "We've synced your email address ([email protected]) to this account.","dev_response": "We've amended this account's email address using your billing account's ([email protected]).",} curl -X POST -d "type=password&password=Password123" -L 'https://nexus.oxide.host/v1/profile/update' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' {"status": 200,"response": "An email containing the confirmation has been sent.","dev_response": "Please confirm the password change via an email sent out.",}
Allows you to fetch the list of services you can access.
Name | Type | Value | Description | Required |
---|---|---|---|---|
No parameters required. |
curl -X GET 'https://nexus.oxide.host/v1/dedicated/list' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' { "status": 200, "response": { "servers": [ { "domain": "dedi181614.oxide.network", "friendly_name": "dedi181614.oxide.network", "location": "Montreal, Canada", "flag": "https://status.oxide.systems/assets/img/flag-canada.png", "expiry": "Friday, 6th May 2022", "status": "Active", "cycle": "Monthly", "product": "OXI-BASC2" } ] } }
Allows you to fetch the details of a particular server.
Name | Type | Value | Description | Required |
---|---|---|---|---|
server | GET | String | This specifies the server you wish to view. | Yes |
curl -X GET 'https://nexus.oxide.host/v1/dedicated/overview?server=dedi181614.oxide.network' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' { "status": 200, "response": { "domain": "dedi181614.oxide.network", "friendly_name": "dedi181614.oxide.network", "overview": { "product": "OXI-BASC2", "product_range": "Basic", "location": "Montreal, Canada", "ipv4": "158.69.246.27", "ipv6": "2607:5300:120:61b:0:0:0:1/128", "expiry": "Friday, 6th May 2022", "status": "Active", "cycle": "Monthly" }, "hardware": { "processor": "Intel Xeon E3-1245v2", "memory": "32GB DDR3", "disks": "2 x 480GB", "disks_type": "SSD", "motherboard": "DH67BL" }, "datacenter": { "ipv4": { "address": "158.69.246.27", "gateway": "158.69.246.254" }, "ipv6": { "address": "2607:5300:120:61b:0:0:0:1/128", "gateway": "2607:5300:120:6FF:FF:FF:FF:FF" }, "building": "BHS5", "rack": "T05E15", "server": 230643, "switch": "cisco.158.69.246.245", "reverse": "dedi160165.oxide.network.", "downlink": 1000, "uplink": 100 }, "settings": { "os": "Debian 11 (Bullseye)", "boot": "Boot from Network (Rescue)", "monitoring": false, "ipmi": false }, "contacts": { "billing": "ba940", "administrator": "ns164304" }, "reinstalling": false } }
Allows you to restart (cold reset) a particular server.
Name | Type | Value | Description | Required |
---|---|---|---|---|
server | POST | String | This specifies the server you wish to restart. | Yes |
curl -X POST -d "server=dedi181614.oxide.network" 'https://nexus.oxide.host/v1/dedicated/restart' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' { "status":200, "response":"We've requested the restart of the server (dedi181614.oxide.network).", "dev_response":"We've requested the restart of the server (dedi181614.oxide.network)." }
Allows you to change the boot device of a particular server, this automatically triggers a restart.
Name | Type | Value | Description | Required |
---|---|---|---|---|
server | POST | String | This specifies the server you wish to amend. | Yes |
boot | POST | String | This specifies the boot preference (disk/rescue). | Yes |
curl -X POST -d "server=dedi181614.oxide.network&boot=rescue" 'https://nexus.oxide.host/v1/dedicated/netboot' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' { "status": 200, "response": "We've updated the boot device of the server (dedi181614.oxide.network) and requested a restart.", "dev_response": "We've updated the boot device of the server (dedi181614.oxide.network) and requested a restart." }
Allows you to launch an IPMI session for a particular server where enabled, this endpoint does take time to respond.
Name | Type | Value | Description | Required |
---|---|---|---|---|
server | POST | String | This specifies the server you wish to access. | Yes |
type | POST | String | This specifies the type of IPMI client (web/java). | Yes |
ip | POST | String | This specifies the whitelisted IPv4 address. | Yes |
curl -X POST -d "server=dedi181614.oxide.network&type=web&ip=1.1.1.1" 'https://nexus.oxide.host/v1/dedicated/ipmi' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' { "status": 200, "response": "https://proxy.oxide.host" }
Allows you to fetch the details of all addresses linked to a particular server.
Name | Type | Value | Description | Required |
---|---|---|---|---|
server | GET | String | This specifies the server you wish to view. | Yes |
curl -X GET 'https://nexus.oxide.host/v1/dedicated/ips?server=dedi181614.oxide.network' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' { "status": 200, "response": { "primary": { "ipv4": { "address": "51.75.146.54", "gateway": "51.75.146.254", "reverse": "oxide.systems." }, "ipv6": { "address": "2001:41d0:700:1f36:0:0:0:0/64", "gateway": "2001:41D0:700:1FFF:FF:FF:FF:FF" } }, "additional": [ { "subnet": "51.89.45.88/29", "gateway": "51.75.146.254", "ips": [ { "address": "51.89.45.88", "vmac": "02:00:00:bd:39:8a", "reverse": "oxide.systems" }, { "address": "51.89.45.89", "vmac": "02:00:00:90:a3:85", "reverse": null }, { "address": "51.89.45.90", "vmac": "02:00:00:25:68:62", "reverse": null }, { "address": "51.89.45.91", "vmac": "02:00:00:c2:14:16", "reverse": null }, { "address": "51.89.45.92", "vmac": "02:00:00:d3:06:b0", "reverse": null }, { "address": "51.89.45.93", "vmac": "02:00:00:63:cd:40", "reverse": null }, { "address": "51.89.45.94", "vmac": "02:00:00:c7:9a:88", "reverse": null }, { "address": "51.89.45.95", "vmac": "02:00:00:81:1f:54", "reverse": null } ] } ], "billing": { "additional": { "current": { "quantity": 8, "monthly": "16.00", "quarterly": "48.00" }, "orderable": { "per_address": "2.00", "quantity": 112, "sizes": [ 1, 4, 8, 16 ] } } } } }
Allows you to update the reverse DNS and Virtual MAC Address of an IPv4 address.
Name | Type | Value | Description | Required |
---|---|---|---|---|
server | POST | String | This specifies the server you wish to access. | Yes |
ip | POST | String | This specifies the IPv4 address you wish to amend. | Yes |
type | POST | String | This specifies the type of change (reverse/mac). | Yes |
content | POST | String | This specifies the reverse DNS or vMAC type ('delete' to remove, 'normal' or 'vmware' for MAC address type). | Yes |
curl --location --request POST 'https://nexus.oxide.host/v1/dedicated/ips/update' \ --header 'Authorization: Bearer {TOKEN}' \ --form 'server="dedi181614.oxide.network"' \ --form 'ip="51.89.45.88"' \ --form 'type="reverse"' \ --form 'content="ip88.ip-51-89-45.eu"' { "status": 200, "response": "The requested reverse DNS (ip88.ip-51-89-45.eu) has been applied to the IPv4 address: 51.89.45.88." } curl --location --request POST 'https://nexus.oxide.host/v1/dedicated/ips/update' \ --header 'Authorization: Bearer {TOKEN}' \ --form 'server="dedi181614.oxide.network"' \ --form 'ip="51.89.45.95"' \ --form 'type="mac"' \ --form 'content="delete"' { "status": 200, "response": "The MAC address (02:00:00:fb:ae:9a) of the IPv4 address: 51.89.45.95 has now been deleted (removed)." }
Allows you to update the friendly name of your server.
Name | Type | Value | Description | Required |
---|---|---|---|---|
server | POST | String | This specifies the server you wish to update. | Yes |
name | POST | String | This specifies the friendly name you wish to apply. | Yes |
curl -X POST -d "server=dedi181614.oxide.network&name=oxide.network" 'https://nexus.oxide.host/v1/dedicated/name' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' { "status": 200, "response": "The friendly name of the server has been updated." }
Allows you to change whether monitoring of a particular server is enabled or not.
Name | Type | Value | Description | Required |
---|---|---|---|---|
server | POST | String | This specifies the server you wish to amend. | Yes |
action | POST | String | This specifies the action to carry out (enable/disable). | Yes |
curl -X POST -d "server=dedi181614.oxide.network&action=disable" 'https://nexus.oxide.host/v1/dedicated/monitoring' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' { "status": 200, "response": "We've updated the monitoring of the server (dedi181614.oxide.network) to disabled, this will apply immediately.", "dev_response": "We've updated the monitoring of the server (dedi181614.oxide.network) to disabled, this will apply immediately." }
Allows you to reinstall a new operating system to a particular server.
Name | Type | Value | Description | Required |
---|---|---|---|---|
server | POST | String | This specifies the server you wish to reinstall. | Yes |
os | POST | String | This specifies the operating system you wish to use. | Yes |
hostname | POST | String | This specifies the hostname you wish to use. | No |
curl -X POST -d "server=dedi181614.oxide.network&os=alma8_64&hostname=docker" 'https://nexus.oxide.host/v1/dedicated/reinstall' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' { "status": 200, "response": "We've requested the reinstall of the server (dedi181614.oxide.network), with the operating system: debian11_64.", "dev_response": "We've requested the reinstall of the server (dedi181614.oxide.network), with the operating system: debian11_64 (hostname: docker)." }
Allows you to fetch the templates available for a particular server.
Name | Type | Value | Description | Required |
---|---|---|---|---|
server | GET | String | This specifies the server you wish to view. | Yes |
curl -X GET 'https://nexus.oxide.host/v1/dedicated/reinstall/templates?server=dedi181614.oxide.network' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' { "status": 200, "response": [ { "internal_id": "alma8_64", "friendly_name": "AlmaLinux 8", "category": "management", "maintainer": "https://almalinux.org/" }, ] }
Allows you to request a replacement of defective components for a particular server.
Name | Type | Value | Description | Required |
---|---|---|---|---|
server | POST | String | This specifies the defective server impacted. | Yes |
part | POST | String | This specifies the component requiring replacement (disk/memory/network). | Yes |
comments | POST | String | This allows you to specify the tests carried out to display the fault. | Yes |
curl -X POST -d "server=dedi181614.oxide.network&part=disk&comments=Disk is faulty" 'https://nexus.oxide.host/v1/dedicated/replace/components' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}' { "status": 200, "response": { "ticket": "BA589622", "url": "https://billing.oxide.host/viewticket.php?tid=BA589622&c=kwkqqVsb" } }
All that display this symbol require authorization bearer tokens.