Get the reseller catalogue
curl --request GET \
--url https://my.server.express/api/v1/reseller/catalogue \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://my.server.express/api/v1/reseller/catalogue', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://my.server.express/api/v1/reseller/catalogue"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"success": true,
"data": {
"dedicated": [
{
"slug": "<string>",
"name": "<string>",
"location": "<string>",
"cpu": "<string>",
"cpuCores": 123,
"cpuThreads": 123,
"ramMb": 123,
"storage": "<string>",
"network": "<string>",
"currency": "<string>",
"billingCycle": "<string>",
"price": {
"listMinor": 123,
"netMinor": 123,
"discountBps": 123
},
"setup": {
"listMinor": 123,
"netMinor": 123,
"discountBps": 123
},
"stock": {
"total": 123,
"racked": 123,
"slots": 123
},
"instant": true,
"leadTime": "<string>"
}
],
"cloud": [
{
"slug": "<string>",
"name": "<string>",
"cores": 123,
"ramMb": 123,
"diskGb": 123,
"currency": "<string>",
"billingCycle": "monthly",
"price": {
"listMinor": 123,
"netMinor": 123,
"discountBps": 123
},
"priceSource": "override",
"locations": [
"<string>"
]
}
],
"hosting": [
{
"slug": "<string>",
"name": "<string>",
"diskQuotaMb": 123,
"trafficGb": 123,
"domains": 123,
"mailboxes": 123,
"databases": 123,
"currency": "<string>",
"billingCycle": "monthly",
"price": {
"listMinor": 123,
"netMinor": 123,
"discountBps": 123
},
"priceSource": "override",
"locations": [
"<string>"
],
"orderable": true
}
]
},
"meta": {
"currency": "GBP",
"discountPercent": 123,
"priceUnit": "minor"
}
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}Reseller
Get the reseller catalogue
Everything orderable — dedicated, cloud and hosting — with both the storefront list price and the net price this
account pays (after its reseller discount) on every row. All amounts are minor units. Dedicated rows split stock into
racked machines (ship on payment when instant) and build slots (ship to leadTime). Cloud and hosting prices are in
the requested currency; dedicated prices are in each plan’s own currency.
GET
/
v1
/
reseller
/
catalogue
Get the reseller catalogue
curl --request GET \
--url https://my.server.express/api/v1/reseller/catalogue \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://my.server.express/api/v1/reseller/catalogue', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://my.server.express/api/v1/reseller/catalogue"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"success": true,
"data": {
"dedicated": [
{
"slug": "<string>",
"name": "<string>",
"location": "<string>",
"cpu": "<string>",
"cpuCores": 123,
"cpuThreads": 123,
"ramMb": 123,
"storage": "<string>",
"network": "<string>",
"currency": "<string>",
"billingCycle": "<string>",
"price": {
"listMinor": 123,
"netMinor": 123,
"discountBps": 123
},
"setup": {
"listMinor": 123,
"netMinor": 123,
"discountBps": 123
},
"stock": {
"total": 123,
"racked": 123,
"slots": 123
},
"instant": true,
"leadTime": "<string>"
}
],
"cloud": [
{
"slug": "<string>",
"name": "<string>",
"cores": 123,
"ramMb": 123,
"diskGb": 123,
"currency": "<string>",
"billingCycle": "monthly",
"price": {
"listMinor": 123,
"netMinor": 123,
"discountBps": 123
},
"priceSource": "override",
"locations": [
"<string>"
]
}
],
"hosting": [
{
"slug": "<string>",
"name": "<string>",
"diskQuotaMb": 123,
"trafficGb": 123,
"domains": 123,
"mailboxes": 123,
"databases": 123,
"currency": "<string>",
"billingCycle": "monthly",
"price": {
"listMinor": 123,
"netMinor": 123,
"discountBps": 123
},
"priceSource": "override",
"locations": [
"<string>"
],
"orderable": true
}
]
},
"meta": {
"currency": "GBP",
"discountPercent": 123,
"priceUnit": "minor"
}
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}Authorizations
bearerAuthapiToken
Session access token (JWT) from POST /v1/auth/login or /v1/auth/refresh. A session satisfies every API scope.
Query Parameters
GBP, USD or EUR, case-insensitive. Anything else falls back to GBP.