Application Programming Interface

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.

General Endpoints.

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.

Parameters

Name Type Value Description Required
id GET Integer This specifies for an individual product to be returned. No

cURL Example

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.

Parameters

Name Type Value Description Required
No parameters required.

cURL Example

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"}}}

System Status.

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.

Parameters

Name Type Value Description Required
No parameters required.

cURL Example

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.

Parameters

Name Type Value Description Required
name GET String This specifies which hostsystem you would like to call the information for. Yes

cURL Example

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.

Parameters

Name Type Value Description Required
No parameters required.

cURL Example

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.

Parameters

Name Type Value Description Required
ip GET String This specifies which Virtual Server you would like to call the information for. Yes

cURL Example

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"}}

Nexus Control Panel.

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.

Parameters

Name Type Value Description Required
email 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 Example

curl -k -X POST -d "[email protected]&password=Password123" -L "https://nexus.oxide.host/api/auth/login"

{"status": 200,"token": "2c736aff4f41560cbb9a0f1ba5146f328be5e1136877eb3e4dedfaf712017aa5355c77ce5e37f92d84889284eec585420eab81f19388cdfeb83cfe24a54fba28"}

Allows you to verify a generated token and return the relevant user identifier.

Parameters

Name Type Value Description Required
No parameters required.

cURL Example

curl -X GET 'https://nexus.oxide.host/api/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.

Parameters

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 Example

curl -X POST -d "expiry=unlimited&description=API" -L 'https://nexus.oxide.host/api/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.

Parameters

Name Type Value Description Required
No parameters required.

cURL Example

curl -X GET 'https://nexus.oxide.host/api/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.

Parameters

Name Type Value Description Required
id POST String This specifies the already existing token you wish to delete. Yes

cURL Example

curl -X POST -d "id=na360019" -L 'https://nexus.oxide.host/api/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.

Parameters

Name Type Value Description Required
No parameters required.

cURL Example

curl -X GET 'https://nexus.oxide.host/api/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.

Allows you to display information about your account.

Parameters

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 Example

curl -X POST -d "type=email" -L 'https://nexus.oxide.host/api/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/api/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/api/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.

Parameters

Name Type Value Description Required
No parameters required.

cURL Example

curl -X GET 'https://nexus.oxide.host/api/dedicated/list' -H 'Content-Type: application/json' -H 'Authorization: Bearer {TOKEN}'

{"status": 200,"response": {"0": {"domain": "dedi143442.oxide.network","friendly_name": "dedi143442.oxide.network","location": "Montreal, Canada","flag": "https://status.oxide.systems/assets/img/flag-canada.png","expiry": "Friday, 16th September 2022","status": "Active","cycle": "Monthly","product": "OXI-ESNT1"}}}

All that display this symbol require authorization bearer tokens.