Subnets & LOA
27 operations
API.Pub.Resources.IPMarket.IPMarketServiceResourceDeclared in the spec. Shown from GET /v1/{tenantUUID}/market/services/{ipmarketServiceUUID}.
uuidaddresscidrstartabuse_emailregistrystatusauth_pending auth_failed_verify auth_failed_verify_email_not_found auth_failed_verify_email_not_sent validity_pending validity_active validity_invalid validity_terminatedauthauth.typeauth.statusauth.descriptionwhoiswhois.statuswhois.descriptionbgpbgp.statusbgp.descriptiondnsdns.statusdns.descriptioniprepiprep.statusiprep.descriptionloaaloaa.statusloaa.descriptionroaroa.statusroa.descriptionhiddenreservation_idminimum_splitmaximum_splitloa-aloa-a.emailloa-a.statusloa-a.created_atipsips.run_rateips.run_rate_ipips.totalips.usedips.freeips.utilisation_percentpricingspricings.datapricings.metaterminatedexpires_athas_commitmentscan_initiate_expirationservicesservices.uuidservices.cidrservices.addressservices.statusservices.pricingservices.commitmentcommitmentReservationscommitmentReservations.uuidcommitmentReservations.addresscommitmentReservations.cidrcommitmentReservations.pricecommitmentReservations.commitment_periodcommitmentReservations.created_atcommitmentReservations.tenantcommitmentReservations.ipmarket_servicecommitmentReservations.commitmentserviceReservationsserviceReservations.addressserviceReservations.cidrserviceReservations.pricingSearch available to buy subnets
/v1/{tenantUUID}/market/ipv4Returns available to buy subnets by given filters
tenantUUIDcidrregistrar_uuids[]reservation_idlimitsortpriceprice_minprice_maxgeo_databasesgeo_country_codegeo_city_nameoctetsregistrywants_to_negotiateaddresscurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4?cidr=' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4?cidr="
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4?cidr=";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4?cidr=", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4?cidr=");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;"string"Search subnet child
/v1/{tenantUUID}/market/ipv4/child/searchSearch subnet child
tenantUUIDaddresscidrmarket_service_uuidaddressmaskis_hiddenis_reservedis_leasedpriceis_part_of_subnet_leased_or_reservedhiding_reasonaddressmaskis_hiddenis_reservedis_leasedpriceis_part_of_subnet_leased_or_reservedhiding_reasoncurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/child/search?address=&cidr=' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"address": "string",
"mask": 1,
"is_hidden": true,
"is_reserved": true,
"is_leased": true,
"price": 1.0,
"is_part_of_subnet_leased_or_reserved": true,
"hiding_reason": "string"
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/child/search?address=&cidr="
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"address": "string",
"mask": 1,
"is_hidden": true,
"is_reserved": true,
"is_leased": true,
"price": 1.0,
"is_part_of_subnet_leased_or_reserved": true,
"hiding_reason": "string"
}
r = requests.get(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/child/search?address=&cidr=";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"address": "string",
"mask": 1,
"is_hidden": true,
"is_reserved": true,
"is_leased": true,
"price": 1.0,
"is_part_of_subnet_leased_or_reserved": true,
"hiding_reason": "string"
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"address": "string",
"mask": 1,
"is_hidden": true,
"is_reserved": true,
"is_leased": true,
"price": 1.0,
"is_part_of_subnet_leased_or_reserved": true,
"hiding_reason": "string"
}`)
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/child/search?address=&cidr=", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/child/search?address=&cidr=");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"address" => "string",
"mask" => 1,
"is_hidden" => true,
"is_reserved" => true,
"is_leased" => true,
"price" => 1.0,
"is_part_of_subnet_leased_or_reserved" => true,
"hiding_reason" => "string"
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"address": "string",
"mask": 1,
"is_hidden": true,
"is_reserved": true,
"is_leased": true,
"price": 1.0,
"is_part_of_subnet_leased_or_reserved": true,
"hiding_reason": "string"
}Hide or unhide child subnets
/v1/{tenantUUID}/market/ipv4/child/toggleHide or unhide child subnets
tenantUUIDchildschilds.addressmarket_service_uuidcidrreasonbatchIdcurl -X POST 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/child/toggle' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"childs": [
{
"address": "string"
}
],
"market_service_uuid": "00000000-0000-0000-0000-000000000000",
"cidr": 1,
"reason": "string"
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/child/toggle"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"childs": [
{
"address": "string"
}
],
"market_service_uuid": "00000000-0000-0000-0000-000000000000",
"cidr": 1,
"reason": "string"
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/child/toggle";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"childs": [
{
"address": "string"
}
],
"market_service_uuid": "00000000-0000-0000-0000-000000000000",
"cidr": 1,
"reason": "string"
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"childs": [
{
"address": "string"
}
],
"market_service_uuid": "00000000-0000-0000-0000-000000000000",
"cidr": 1,
"reason": "string"
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/child/toggle", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/child/toggle");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"childs" => [[
"address" => "string"
]],
"market_service_uuid" => "00000000-0000-0000-0000-000000000000",
"cidr" => 1,
"reason" => "string"
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"batchId": "string"
}Export to CSV Tenant IPv4 Services
/v1/{tenantUUID}/market/ipv4/csvExport to CSV Tenant IPv4 Services
tenantUUIDuuidaddresscidrregistrysortpageper_pagecurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/csv' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/csv"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/csv";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/csv", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/csv");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;List Tenant IPv4 Services
/v1/{tenantUUID}/market/ipv4/servicesList Tenant IPv4 Services
tenantUUIDuuidaddresscidrregistrystatusdisplaysortdirectionasnpageper_pagebilling_servicebilling_service.addressbilling_service.cidrbilling_service.next_due_datebilling_service.recurring_amountbilling_service.status billing_service.pricingbilling_service.pricing.typebilling_service.pricing.x-truncatedbilling_service.uuidbilling_service.ecommerce_subscription_uuidloaloa.datamarket_servicemarket_service.expires_atmarket_service.registrymarket_service.uuidecommerce_subscription_uuidecommerce_pending_orderecommerce_pending_order.uuidecommerce_pending_order.statusecommerce_pending_order.expires_atcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"billing_service": {
"address": "string",
"cidr": 1,
"next_due_date": 1.0,
"recurring_amount": 1.0,
"status": {
"type": "object",
"x-truncated": true
},
"pricing": {
"type": "string",
"x-truncated": "string"
},
"uuid": "00000000-0000-0000-0000-000000000000",
"ecommerce_subscription_uuid": "00000000-0000-0000-0000-000000000000"
},
"loa": [
{
"data": "string"
}
],
"market_service": {
"expires_at": 1.0,
"registry": "string",
"uuid": "00000000-0000-0000-0000-000000000000"
},
"ecommerce_subscription_uuid": "00000000-0000-0000-0000-000000000000",
"ecommerce_pending_order": {
"uuid": {},
"status": {},
"expires_at": {}
}
}Revoke LOA documents for multiple subnets
/v1/{tenantUUID}/market/ipv4/services/loa/revokeRevoke LOA documents for multiple subnets
tenantUUIDcurl -X POST 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/loa/revoke' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/loa/revoke"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.post(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/loa/revoke";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/loa/revoke", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/loa/revoke");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Reserve Subnet
/v1/{tenantUUID}/market/ipv4/services/reserveReserve Subnet
tenantUUIDpricing_uuidaddresscidrip_pricecontract_lengthcurl -X POST 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/reserve' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"pricing_uuid": "00000000-0000-0000-0000-000000000000",
"address": "string",
"cidr": 1,
"ip_price": "string",
"contract_length": 1
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/reserve"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"pricing_uuid": "00000000-0000-0000-0000-000000000000",
"address": "string",
"cidr": 1,
"ip_price": "string",
"contract_length": 1
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/reserve";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"pricing_uuid": "00000000-0000-0000-0000-000000000000",
"address": "string",
"cidr": 1,
"ip_price": "string",
"contract_length": 1
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"pricing_uuid": "00000000-0000-0000-0000-000000000000",
"address": "string",
"cidr": 1,
"ip_price": "string",
"contract_length": 1
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/reserve", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/reserve");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"pricing_uuid" => "00000000-0000-0000-0000-000000000000",
"address" => "string",
"cidr" => 1,
"ip_price" => "string",
"contract_length" => 1
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Billing Terminate Request
/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}Billing Terminate Request
tenantUUIDserviceUUIDcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;IPv4 Service Geodata
/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/geodataIPv4 Service Geodata
tenantUUIDserviceUUIDcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/geodata' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/geodata"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/geodata";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/geodata", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/geodata");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Immediate termination request for IPv4 Service
/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/immediate-terminationImmediate termination request for IPv4 Service
tenantUUIDserviceUUIDdescriptionuse_againreasoncurl -X POST 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/immediate-termination' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"description": "string",
"use_again": true,
"reason": "00000000-0000-0000-0000-000000000000"
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/immediate-termination"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"description": "string",
"use_again": true,
"reason": "00000000-0000-0000-0000-000000000000"
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/immediate-termination";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"description": "string",
"use_again": true,
"reason": "00000000-0000-0000-0000-000000000000"
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"description": "string",
"use_again": true,
"reason": "00000000-0000-0000-0000-000000000000"
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/immediate-termination", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/immediate-termination");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"description" => "string",
"use_again" => true,
"reason" => "00000000-0000-0000-0000-000000000000"
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;List of Billing Service LOA documents
/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/loaList of Billing Service LOA documents
tenantUUIDserviceUUIDstatusesdatadata.uuiddata.asndata.as_namedata.statusdata.created_atmetameta.current_pagemeta.frommeta.last_pagemeta.per_pagemeta.tometa.totalcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/loa' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/loa"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/loa";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/loa", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/loa");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"asn": 1.0,
"as_name": "string",
"status": "string",
"created_at": 1.0
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 1,
"to": 1,
"total": 1
}
}Get LOA documents Zip
/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/loa/downloadGet LOA documents Zip
tenantUUIDserviceUUIDcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/loa/download' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/loa/download"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/loa/download";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/loa/download", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/services/{serviceUUID}/loa/download");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Search available subnets
/v1/{tenantUUID}/market/searchReturns available subnets by given filters
tenantUUIDprefix_lengthreservation_idlimitoctetsaddressregistrarssortgeo_providersgeo_country_codegeo_city_namegeo_provider_match_typeprice_minprice_maxprice_negotiablecapabilities_rpkicapabilities_whois_inetnumcapabilities_whois_routescapabilities_whois_rdnspromotionalcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/search?prefix_length=' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/search?prefix_length="
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/search?prefix_length=";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/search?prefix_length=", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/search?prefix_length=");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;"string"List IP Market Services
/v1/{tenantUUID}/market/servicesList IP Market Services
tenantUUIDincludesortfiltercidraddresshiddenstatusregistrysortdatadata.uuiddata.addressdata.cidrdata.startdata.abuse_emaildata.registrydata.statusdata.authdata.auth.typedata.auth.x-truncateddata.whoisdata.whois.typedata.whois.x-truncateddata.bgpdata.bgp.typedata.bgp.x-truncateddata.dnsdata.dns.typedata.dns.x-truncateddata.iprepdata.iprep.typedata.iprep.x-truncateddata.loaadata.loaa.typedata.loaa.x-truncateddata.roadata.roa.typedata.roa.x-truncateddata.hiddendata.reservation_iddata.minimum_splitdata.maximum_splitdata.loa-adata.ipsdata.pricingsdata.terminateddata.expires_atdata.has_commitmentsdata.can_initiate_expirationdata.servicesdata.commitmentReservationsdata.serviceReservationsmetameta.current_pagemeta.frommeta.last_pagemeta.per_pagemeta.tometa.totalcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"cidr": 1,
"address": "string",
"hidden": true,
"status": [
"auth_pending"
],
"registry": "string",
"sort": [
"cidr"
]
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"cidr": 1,
"address": "string",
"hidden": true,
"status": [
"auth_pending"
],
"registry": "string",
"sort": [
"cidr"
]
}
r = requests.get(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"cidr": 1,
"address": "string",
"hidden": true,
"status": [
"auth_pending"
],
"registry": "string",
"sort": [
"cidr"
]
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"cidr": 1,
"address": "string",
"hidden": true,
"status": [
"auth_pending"
],
"registry": "string",
"sort": [
"cidr"
]
}`)
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"cidr" => 1,
"address" => "string",
"hidden" => true,
"status" => ["auth_pending"],
"registry" => "string",
"sort" => ["cidr"]
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"address": "string",
"cidr": "string",
"start": "string",
"abuse_email": "[email protected]",
"registry": "string",
"status": "string",
"auth": {
"type": "string",
"x-truncated": "string"
}
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 1,
"to": 1,
"total": 1
}
}Create IP Market Service
/v1/{tenantUUID}/market/servicesCreates and returns IP Market Service
tenantUUIDsubnetssubnets.addresssubnets.cidrsubnets.minimum_splitsubnets.maximum_splitsubnets.pricingssubnets.pricings.cidrsubnets.pricings.valuesubnets.pricings.wants_to_negotiatesubnets.pricings.selected_commitment_periodssubnets.hiddensubnets.maintainer_idsubnets.maintainer_passwordsubnets.registrytos_acceptedsubnet_actions_accepteddatadata.uuiddata.addressdata.cidrdata.startdata.abuse_emaildata.registrydata.statusdata.authdata.auth.typedata.auth.x-truncateddata.whoisdata.whois.typedata.whois.x-truncateddata.bgpdata.bgp.typedata.bgp.x-truncateddata.dnsdata.dns.typedata.dns.x-truncateddata.iprepdata.iprep.typedata.iprep.x-truncateddata.loaadata.loaa.typedata.loaa.x-truncateddata.roadata.roa.typedata.roa.x-truncateddata.hiddendata.reservation_iddata.minimum_splitdata.maximum_splitdata.loa-adata.ipsdata.pricingsdata.terminateddata.expires_atdata.has_commitmentsdata.can_initiate_expirationdata.servicesdata.commitmentReservationsdata.serviceReservationsmetameta.current_pagemeta.frommeta.last_pagemeta.per_pagemeta.tometa.totalcurl -X POST 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"subnets": [
{
"address": "string",
"cidr": 1,
"minimum_split": 1,
"maximum_split": 1,
"pricings": [
{
"cidr": "\u2026",
"value": "\u2026",
"wants_to_negotiate": "\u2026",
"selected_commitment_periods": "\u2026"
}
],
"hidden": true,
"maintainer_id": "string",
"maintainer_password": "string"
}
],
"tos_accepted": true,
"subnet_actions_accepted": true
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"subnets": [
{
"address": "string",
"cidr": 1,
"minimum_split": 1,
"maximum_split": 1,
"pricings": [
{
"cidr": "\u2026",
"value": "\u2026",
"wants_to_negotiate": "\u2026",
"selected_commitment_periods": "\u2026"
}
],
"hidden": true,
"maintainer_id": "string",
"maintainer_password": "string"
}
],
"tos_accepted": true,
"subnet_actions_accepted": true
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"subnets": [
{
"address": "string",
"cidr": 1,
"minimum_split": 1,
"maximum_split": 1,
"pricings": [
{
"cidr": "\u2026",
"value": "\u2026",
"wants_to_negotiate": "\u2026",
"selected_commitment_periods": "\u2026"
}
],
"hidden": true,
"maintainer_id": "string",
"maintainer_password": "string"
}
],
"tos_accepted": true,
"subnet_actions_accepted": true
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"subnets": [
{
"address": "string",
"cidr": 1,
"minimum_split": 1,
"maximum_split": 1,
"pricings": [
{
"cidr": "\u2026",
"value": "\u2026",
"wants_to_negotiate": "\u2026",
"selected_commitment_periods": "\u2026"
}
],
"hidden": true,
"maintainer_id": "string",
"maintainer_password": "string"
}
],
"tos_accepted": true,
"subnet_actions_accepted": true
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"subnets" => [[
"address" => "string",
"cidr" => 1,
"minimum_split" => 1,
"maximum_split" => 1,
"pricings" => [[
"cidr" => "\u2026",
"value" => "\u2026",
"wants_to_negotiate" => "\u2026",
"selected_commitment_periods" => "\u2026"
]],
"hidden" => true,
"maintainer_id" => "string",
"maintainer_password" => "string"
]],
"tos_accepted" => true,
"subnet_actions_accepted" => true
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"address": "string",
"cidr": "string",
"start": "string",
"abuse_email": "[email protected]",
"registry": "string",
"status": "string",
"auth": {
"type": "string",
"x-truncated": "string"
}
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 1,
"to": 1,
"total": 1
}
}Export CSV IP Market Services
/v1/{tenantUUID}/market/services/csvExport CSV IP Market Services
tenantUUIDcidraddresshiddenstatusregistrysortdatadata.uuiddata.addressdata.cidrdata.startdata.abuse_emaildata.registrydata.statusdata.authdata.auth.typedata.auth.x-truncateddata.whoisdata.whois.typedata.whois.x-truncateddata.bgpdata.bgp.typedata.bgp.x-truncateddata.dnsdata.dns.typedata.dns.x-truncateddata.iprepdata.iprep.typedata.iprep.x-truncateddata.loaadata.loaa.typedata.loaa.x-truncateddata.roadata.roa.typedata.roa.x-truncateddata.hiddendata.reservation_iddata.minimum_splitdata.maximum_splitdata.loa-adata.ipsdata.pricingsdata.terminateddata.expires_atdata.has_commitmentsdata.can_initiate_expirationdata.servicesdata.commitmentReservationsdata.serviceReservationsmetameta.current_pagemeta.frommeta.last_pagemeta.per_pagemeta.tometa.totalcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/csv' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"cidr": 1,
"address": "string",
"hidden": true,
"status": [
"auth_pending"
],
"registry": "string",
"sort": [
"cidr"
]
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/csv"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"cidr": 1,
"address": "string",
"hidden": true,
"status": [
"auth_pending"
],
"registry": "string",
"sort": [
"cidr"
]
}
r = requests.get(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/csv";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"cidr": 1,
"address": "string",
"hidden": true,
"status": [
"auth_pending"
],
"registry": "string",
"sort": [
"cidr"
]
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"cidr": 1,
"address": "string",
"hidden": true,
"status": [
"auth_pending"
],
"registry": "string",
"sort": [
"cidr"
]
}`)
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/csv", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/csv");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"cidr" => 1,
"address" => "string",
"hidden" => true,
"status" => ["auth_pending"],
"registry" => "string",
"sort" => ["cidr"]
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"address": "string",
"cidr": "string",
"start": "string",
"abuse_email": "[email protected]",
"registry": "string",
"status": "string",
"auth": {
"type": "string",
"x-truncated": "string"
}
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 1,
"to": 1,
"total": 1
}
}Get IP Market Service
/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}Get IP Market Service
tenantUUIDipmarketServiceUUIDincludeuuidaddresscidrstartabuse_emailregistrystatusauth_pending auth_failed_verify auth_failed_verify_email_not_found auth_failed_verify_email_not_sent validity_pending validity_active validity_invalid validity_terminatedauthauth.typeauth.statusauth.descriptionwhoiswhois.statuswhois.descriptionbgpbgp.statusbgp.descriptiondnsdns.statusdns.descriptioniprepiprep.statusiprep.descriptionloaaloaa.statusloaa.descriptionroaroa.statusroa.descriptionhiddenreservation_idminimum_splitmaximum_splitloa-aloa-a.emailloa-a.statusloa-a.created_atipsips.run_rateips.run_rate_ipips.totalips.usedips.freeips.utilisation_percentpricingspricings.datapricings.metapricings.meta.typepricings.meta.x-truncatedterminatedexpires_athas_commitmentscan_initiate_expirationservicesservices.uuidservices.cidrservices.addressservices.statusservices.pricingservices.pricing.typeservices.pricing.x-truncatedservices.commitmentservices.commitment.typeservices.commitment.x-truncatedcommitmentReservationscommitmentReservations.uuidcommitmentReservations.addresscommitmentReservations.cidrcommitmentReservations.pricecommitmentReservations.commitment_periodcommitmentReservations.created_atcommitmentReservations.tenantcommitmentReservations.tenant.typecommitmentReservations.tenant.x-truncatedcommitmentReservations.ipmarket_servicecommitmentReservations.ipmarket_service.typecommitmentReservations.ipmarket_service.x-truncatedcommitmentReservations.commitmentcommitmentReservations.commitment.typecommitmentReservations.commitment.x-truncatedserviceReservationsserviceReservations.addressserviceReservations.cidrserviceReservations.pricingserviceReservations.pricing.typeserviceReservations.pricing.x-truncatedcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"uuid": "00000000-0000-0000-0000-000000000000",
"address": "string",
"cidr": 1,
"start": "string",
"abuse_email": "[email protected]",
"registry": "string",
"status": "auth_pending",
"auth": {
"type": "string",
"status": "string",
"description": "string"
}
}Update IP Market Service
/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}Updates and returns IP Market Service
tenantUUIDipmarketServiceUUIDincludehiddenminimum_splitmaximum_splitpricingspricings.uuidpricings.cidrpricings.valuepricings.wants_to_negotiatepricings.selected_commitment_periodsmaintainer_idmaintainer_passworduuidaddresscidrstartabuse_emailregistrystatusauth_pending auth_failed_verify auth_failed_verify_email_not_found auth_failed_verify_email_not_sent validity_pending validity_active validity_invalid validity_terminatedauthauth.typeauth.statusauth.descriptionwhoiswhois.statuswhois.descriptionbgpbgp.statusbgp.descriptiondnsdns.statusdns.descriptioniprepiprep.statusiprep.descriptionloaaloaa.statusloaa.descriptionroaroa.statusroa.descriptionhiddenreservation_idminimum_splitmaximum_splitloa-aloa-a.emailloa-a.statusloa-a.created_atipsips.run_rateips.run_rate_ipips.totalips.usedips.freeips.utilisation_percentpricingspricings.datapricings.metapricings.meta.typepricings.meta.x-truncatedterminatedexpires_athas_commitmentscan_initiate_expirationservicesservices.uuidservices.cidrservices.addressservices.statusservices.pricingservices.pricing.typeservices.pricing.x-truncatedservices.commitmentservices.commitment.typeservices.commitment.x-truncatedcommitmentReservationscommitmentReservations.uuidcommitmentReservations.addresscommitmentReservations.cidrcommitmentReservations.pricecommitmentReservations.commitment_periodcommitmentReservations.created_atcommitmentReservations.tenantcommitmentReservations.tenant.typecommitmentReservations.tenant.x-truncatedcommitmentReservations.ipmarket_servicecommitmentReservations.ipmarket_service.typecommitmentReservations.ipmarket_service.x-truncatedcommitmentReservations.commitmentcommitmentReservations.commitment.typecommitmentReservations.commitment.x-truncatedserviceReservationsserviceReservations.addressserviceReservations.cidrserviceReservations.pricingserviceReservations.pricing.typeserviceReservations.pricing.x-truncatedcurl -X PATCH 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"hidden": true,
"minimum_split": 1,
"maximum_split": 1,
"pricings": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"cidr": 1,
"value": 1.0,
"wants_to_negotiate": true,
"selected_commitment_periods": [
{
"type": "object",
"x-truncated": true
}
]
}
],
"maintainer_id": "string",
"maintainer_password": "string"
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"hidden": true,
"minimum_split": 1,
"maximum_split": 1,
"pricings": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"cidr": 1,
"value": 1.0,
"wants_to_negotiate": true,
"selected_commitment_periods": [
{
"type": "object",
"x-truncated": true
}
]
}
],
"maintainer_id": "string",
"maintainer_password": "string"
}
r = requests.patch(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}";
const res = await fetch(url, {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"hidden": true,
"minimum_split": 1,
"maximum_split": 1,
"pricings": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"cidr": 1,
"value": 1.0,
"wants_to_negotiate": true,
"selected_commitment_periods": [
{
"type": "object",
"x-truncated": true
}
]
}
],
"maintainer_id": "string",
"maintainer_password": "string"
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"hidden": true,
"minimum_split": 1,
"maximum_split": 1,
"pricings": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"cidr": 1,
"value": 1.0,
"wants_to_negotiate": true,
"selected_commitment_periods": [
{
"type": "object",
"x-truncated": true
}
]
}
],
"maintainer_id": "string",
"maintainer_password": "string"
}`)
req, _ := http.NewRequest("PATCH", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"hidden" => true,
"minimum_split" => 1,
"maximum_split" => 1,
"pricings" => [[
"uuid" => "00000000-0000-0000-0000-000000000000",
"cidr" => 1,
"value" => 1.0,
"wants_to_negotiate" => true,
"selected_commitment_periods" => [[
"type" => "object",
"x-truncated" => true
]]
]],
"maintainer_id" => "string",
"maintainer_password" => "string"
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"uuid": "00000000-0000-0000-0000-000000000000",
"address": "string",
"cidr": 1,
"start": "string",
"abuse_email": "[email protected]",
"registry": "string",
"status": "auth_pending",
"auth": {
"type": "string",
"status": "string",
"description": "string"
}
}Cancel IP Market Service
/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}Cancel IP Market Service
tenantUUIDipmarketServiceUUIDuuidaddresscidrstartabuse_emailregistrystatusauth_pending auth_failed_verify auth_failed_verify_email_not_found auth_failed_verify_email_not_sent validity_pending validity_active validity_invalid validity_terminatedauthauth.typeauth.statusauth.descriptionwhoiswhois.statuswhois.descriptionbgpbgp.statusbgp.descriptiondnsdns.statusdns.descriptioniprepiprep.statusiprep.descriptionloaaloaa.statusloaa.descriptionroaroa.statusroa.descriptionhiddenreservation_idminimum_splitmaximum_splitloa-aloa-a.emailloa-a.statusloa-a.created_atipsips.run_rateips.run_rate_ipips.totalips.usedips.freeips.utilisation_percentpricingspricings.datapricings.metapricings.meta.typepricings.meta.x-truncatedterminatedexpires_athas_commitmentscan_initiate_expirationservicesservices.uuidservices.cidrservices.addressservices.statusservices.pricingservices.pricing.typeservices.pricing.x-truncatedservices.commitmentservices.commitment.typeservices.commitment.x-truncatedcommitmentReservationscommitmentReservations.uuidcommitmentReservations.addresscommitmentReservations.cidrcommitmentReservations.pricecommitmentReservations.commitment_periodcommitmentReservations.created_atcommitmentReservations.tenantcommitmentReservations.tenant.typecommitmentReservations.tenant.x-truncatedcommitmentReservations.ipmarket_servicecommitmentReservations.ipmarket_service.typecommitmentReservations.ipmarket_service.x-truncatedcommitmentReservations.commitmentcommitmentReservations.commitment.typecommitmentReservations.commitment.x-truncatedserviceReservationsserviceReservations.addressserviceReservations.cidrserviceReservations.pricingserviceReservations.pricing.typeserviceReservations.pricing.x-truncatedcurl -X DELETE 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.delete(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}";
const res = await fetch(url, {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("DELETE", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"uuid": "00000000-0000-0000-0000-000000000000",
"address": "string",
"cidr": 1,
"start": "string",
"abuse_email": "[email protected]",
"registry": "string",
"status": "auth_pending",
"auth": {
"type": "string",
"status": "string",
"description": "string"
}
}Get LOA-A document PDF
/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/documents/downloadGet LOA-A document PDF
tenantUUIDipmarketServiceUUIDcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/documents/download' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/documents/download"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/documents/download";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/documents/download", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/documents/download");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Cancel IP Market Service expiration
/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/expirationCancel IP Market Service expiration
tenantUUIDipmarketServiceUUIDuuidaddresscidrstartabuse_emailregistrystatusauth_pending auth_failed_verify auth_failed_verify_email_not_found auth_failed_verify_email_not_sent validity_pending validity_active validity_invalid validity_terminatedauthauth.typeauth.statusauth.descriptionwhoiswhois.statuswhois.descriptionbgpbgp.statusbgp.descriptiondnsdns.statusdns.descriptioniprepiprep.statusiprep.descriptionloaaloaa.statusloaa.descriptionroaroa.statusroa.descriptionhiddenreservation_idminimum_splitmaximum_splitloa-aloa-a.emailloa-a.statusloa-a.created_atipsips.run_rateips.run_rate_ipips.totalips.usedips.freeips.utilisation_percentpricingspricings.datapricings.metapricings.meta.typepricings.meta.x-truncatedterminatedexpires_athas_commitmentscan_initiate_expirationservicesservices.uuidservices.cidrservices.addressservices.statusservices.pricingservices.pricing.typeservices.pricing.x-truncatedservices.commitmentservices.commitment.typeservices.commitment.x-truncatedcommitmentReservationscommitmentReservations.uuidcommitmentReservations.addresscommitmentReservations.cidrcommitmentReservations.pricecommitmentReservations.commitment_periodcommitmentReservations.created_atcommitmentReservations.tenantcommitmentReservations.tenant.typecommitmentReservations.tenant.x-truncatedcommitmentReservations.ipmarket_servicecommitmentReservations.ipmarket_service.typecommitmentReservations.ipmarket_service.x-truncatedcommitmentReservations.commitmentcommitmentReservations.commitment.typecommitmentReservations.commitment.x-truncatedserviceReservationsserviceReservations.addressserviceReservations.cidrserviceReservations.pricingserviceReservations.pricing.typeserviceReservations.pricing.x-truncatedcurl -X DELETE 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/expiration' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/expiration"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.delete(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/expiration";
const res = await fetch(url, {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("DELETE", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/expiration", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/expiration");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"uuid": "00000000-0000-0000-0000-000000000000",
"address": "string",
"cidr": 1,
"start": "string",
"abuse_email": "[email protected]",
"registry": "string",
"status": "auth_pending",
"auth": {
"type": "string",
"status": "string",
"description": "string"
}
}List IP Market Service Pricing
/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/pricingList IP Market Service Pricing
tenantUUIDipmarketServiceUUIDdatadata.uuiddata.subnet_sizedata.ip_countdata.pricedata.commissiondata.wants_to_negotiatedata.selected_commitment_periodsmetameta.current_pagemeta.frommeta.last_pagemeta.per_pagemeta.tometa.totalcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/pricing' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/pricing"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/pricing";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/pricing", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/pricing");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"subnet_size": "string",
"ip_count": "string",
"price": "string",
"commission": "string",
"wants_to_negotiate": "string",
"selected_commitment_periods": "string"
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 1,
"to": 1,
"total": 1
}
}Get IP Market service reputation scan result list
/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/reputationsGet IP Market service reputation scan result list
tenantUUIDipmarketServiceUUIDdatadata.iddata.ipdata.ip_intdata.country_codedata.detection_ratedata.detectionsdata.detections_engine_listdata.engines_countdata.is_listeddata.is_proxydata.is_tordata.is_vpndata.session_iddata.createddata.metametameta.limitmeta.offsetmeta.countcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/reputations' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/reputations"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/reputations";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/reputations", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/reputations");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"id": "string",
"ip": "string",
"ip_int": "string",
"country_code": "string",
"detection_rate": "string",
"detections": "string",
"detections_engine_list": "string",
"engines_count": "string"
}
],
"meta": {
"limit": 1,
"offset": 1,
"count": 1
}
}Resend IP Market Service Verification Email
/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/resend_verificationResend IP Market Service Verification Email
tenantUUIDipmarketServiceUUIDcurl -X POST 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/resend_verification' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/resend_verification"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.post(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/resend_verification";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/resend_verification", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/resend_verification");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Update The Commitment Reservation ID
/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/reservation_idUpdate The Commitment Reservation ID
tenantUUIDipmarketServiceUUIDremovecurl -X POST 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/reservation_id' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/reservation_id"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.post(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/reservation_id";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/reservation_id", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/reservation_id");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Return the status report for service
/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/statusReturn the status report for service
tenantUUIDipmarketServiceUUIDabuse_emailregistrystatusauth_pending auth_failed_verify auth_failed_verify_email_not_found auth_failed_verify_email_not_sent validity_pending validity_active validity_invalid validity_terminatedauthauth.typeauth.statusauth.descriptionwhoiswhois.statuswhois.descriptionbgpbgp.statusbgp.descriptiondnsdns.statusdns.descriptioniprepiprep.statusiprep.descriptionloaaloaa.statusloaa.descriptioncurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/status' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/status"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/status";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/status", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/status");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"abuse_email": "[email protected]",
"registry": "string",
"status": "auth_pending",
"auth": {
"type": "string",
"status": "string",
"description": "string"
},
"whois": {
"status": "string",
"description": "string"
},
"bgp": {
"status": "string",
"description": "string"
},
"dns": {
"status": "string",
"description": "string"
},
"iprep": {
"status": "string",
"description": "string"
}
}Cart & checkout
16 operations
The spec declares no named object for this resource, so the renderer synthesised one from its richest response body (GET /public/{user_id}/cart). Fields no endpoint returns cannot appear here.
datadata.uuiddata.totaldata.sub_totaldata.tax_totaldata.credits_totaldata.discount_totaldata.remaining_totaldata.credits_eligible_amountdata.total_before_taxdata.tax_breakdowndata.discount_breakdowndata.expires_atCurrent Cart
/public/{user_id}/cartShow the current Cart.
user_iddatadata.uuiddata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.credits_totaldata.credits_total.currencydata.credits_total.amountdata.credits_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.remaining_totaldata.remaining_total.currencydata.remaining_total.amountdata.remaining_total.amount_minordata.credits_eligible_amountdata.credits_eligible_amount.currencydata.credits_eligible_amount.amountdata.credits_eligible_amount.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.tax_breakdowndata.tax_breakdown.amountdata.tax_breakdown.amount.typedata.tax_breakdown.amount.x-truncateddata.tax_breakdown.codedata.tax_breakdown.namedata.tax_breakdown.ratedata.tax_breakdown.calculator_typedata.tax_breakdown.noticedata.discount_breakdowndata.discount_breakdown.amountdata.discount_breakdown.amount.typedata.discount_breakdown.amount.x-truncateddata.discount_breakdown.codedata.discount_breakdown.namedata.discount_breakdown.ratedata.discount_breakdown.calculator_typedata.discount_breakdown.noticedata.expires_atcurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/cart' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/cart");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"sub_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"tax_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"credits_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"discount_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"remaining_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"credits_eligible_amount": {
"currency": "string",
"amount": "string",
"amount_minor": 1
}
}
}Show Cart
/public/{user_id}/cart/{cart_uuid}Show the Cart.
user_idcart_uuiddatadata.uuiddata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.credits_totaldata.credits_total.currencydata.credits_total.amountdata.credits_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.remaining_totaldata.remaining_total.currencydata.remaining_total.amountdata.remaining_total.amount_minordata.credits_eligible_amountdata.credits_eligible_amount.currencydata.credits_eligible_amount.amountdata.credits_eligible_amount.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.tax_breakdowndata.tax_breakdown.amountdata.tax_breakdown.amount.typedata.tax_breakdown.amount.x-truncateddata.tax_breakdown.codedata.tax_breakdown.namedata.tax_breakdown.ratedata.tax_breakdown.calculator_typedata.tax_breakdown.noticedata.discount_breakdowndata.discount_breakdown.amountdata.discount_breakdown.amount.typedata.discount_breakdown.amount.x-truncateddata.discount_breakdown.codedata.discount_breakdown.namedata.discount_breakdown.ratedata.discount_breakdown.calculator_typedata.discount_breakdown.noticedata.expires_atcurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"sub_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"tax_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"credits_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"discount_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"remaining_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"credits_eligible_amount": {
"currency": "string",
"amount": "string",
"amount_minor": 1
}
}
}Create Cart Address
/public/{user_id}/cart/{cart_uuid}/addresses/{customerAddress_id}Create a single Cart Address.
user_idcart_uuidcustomerAddress_iddatadata.uuiddata.first_namedata.last_namedata.company_namedata.vat_numberdata.vat_validation_statusdata.vat_validated_atdata.line_onedata.line_twodata.line_threedata.citydata.province_codedata.country_codedata.postcodedata.contact_emaildata.contact_phonedata.company_codecurl -X POST 'https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/addresses/{customerAddress_id}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/addresses/{customerAddress_id}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.post(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/addresses/{customerAddress_id}";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/addresses/{customerAddress_id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/addresses/{customerAddress_id}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"first_name": "string",
"last_name": "string",
"company_name": "string",
"vat_number": "string",
"vat_validation_status": "string",
"vat_validated_at": "string",
"line_one": "string"
}
}Update Cart Address
/public/{user_id}/cart/{cart_uuid}/addresses/{customerAddress_id}Update a Cart Address.
user_idcart_uuidcustomerAddress_idline_oneline_twocitypostcodeprovince_codecontact_emailvat_numbercompany_codefirst_namelast_namecompany_namecontact_phonedatadata.uuiddata.first_namedata.last_namedata.company_namedata.vat_numberdata.vat_validation_statusdata.vat_validated_atdata.line_onedata.line_twodata.line_threedata.citydata.province_codedata.country_codedata.postcodedata.contact_emaildata.contact_phonedata.company_codecurl -X PATCH 'https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/addresses/{customerAddress_id}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"line_one": "string",
"line_two": "string",
"city": "string",
"postcode": "string",
"province_code": "string",
"contact_email": "[email protected]",
"vat_number": "string",
"company_code": "string"
}'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/addresses/{customerAddress_id}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"line_one": "string",
"line_two": "string",
"city": "string",
"postcode": "string",
"province_code": "string",
"contact_email": "[email protected]",
"vat_number": "string",
"company_code": "string"
}
r = requests.patch(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/addresses/{customerAddress_id}";
const res = await fetch(url, {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"line_one": "string",
"line_two": "string",
"city": "string",
"postcode": "string",
"province_code": "string",
"contact_email": "[email protected]",
"vat_number": "string",
"company_code": "string"
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"line_one": "string",
"line_two": "string",
"city": "string",
"postcode": "string",
"province_code": "string",
"contact_email": "[email protected]",
"vat_number": "string",
"company_code": "string"
}`)
req, _ := http.NewRequest("PATCH", "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/addresses/{customerAddress_id}", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/addresses/{customerAddress_id}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"line_one" => "string",
"line_two" => "string",
"city" => "string",
"postcode" => "string",
"province_code" => "string",
"contact_email" => "[email protected]",
"vat_number" => "string",
"company_code" => "string"
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"first_name": "string",
"last_name": "string",
"company_name": "string",
"vat_number": "string",
"vat_validation_status": "string",
"vat_validated_at": "string",
"line_one": "string"
}
}Checkout Cart
/public/{user_id}/cart/{cart_uuid}/checkoutCheckout the current Cart.
user_idcart_uuiddatadata.orderdata.order.uuiddata.order.statusdata.order.placed_atdata.order.expires_atdata.order.sub_totaldata.order.sub_total.currencydata.order.sub_total.amountdata.order.sub_total.amount_minordata.order.discount_totaldata.order.discount_total.currencydata.order.discount_total.amountdata.order.discount_total.amount_minordata.order.tax_totaldata.order.tax_total.currencydata.order.tax_total.amountdata.order.tax_total.amount_minordata.order.credits_totaldata.order.credits_total.currencydata.order.credits_total.amountdata.order.credits_total.amount_minordata.order.totaldata.order.total.currencydata.order.total.amountdata.order.total.amount_minordata.order.remaining_totaldata.order.remaining_total.currencydata.order.remaining_total.amountdata.order.remaining_total.amount_minordata.order.total_before_taxdata.order.total_before_tax.currencydata.order.total_before_tax.amountdata.order.total_before_tax.amount_minordata.order.tax_breakdowndata.order.tax_breakdown.typedata.order.tax_breakdown.x-truncateddata.order.discount_breakdowndata.order.discount_breakdown.typedata.order.discount_breakdown.x-truncatedcurl -X POST 'https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/checkout' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/checkout"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.post(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/checkout";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/checkout", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/checkout");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"order": {
"uuid": "00000000-0000-0000-0000-000000000000",
"status": "string",
"placed_at": "string",
"expires_at": "string",
"sub_total": {
"currency": {},
"amount": {},
"amount_minor": {}
},
"discount_total": {
"currency": {},
"amount": {},
"amount_minor": {}
},
"tax_total": {
"currency": {},
"amount": {},
"amount_minor": {}
},
"credits_total": {
"currency": {},
"amount": {},
"amount_minor": {}
}
}
}
}Remove Credits From Cart
/public/{user_id}/cart/{cart_uuid}/creditsRemove Credits from Cart
user_idcart_uuidamountdatadata.uuiddata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.credits_totaldata.credits_total.currencydata.credits_total.amountdata.credits_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.remaining_totaldata.remaining_total.currencydata.remaining_total.amountdata.remaining_total.amount_minordata.credits_eligible_amountdata.credits_eligible_amount.currencydata.credits_eligible_amount.amountdata.credits_eligible_amount.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.tax_breakdowndata.tax_breakdown.amountdata.tax_breakdown.amount.typedata.tax_breakdown.amount.x-truncateddata.tax_breakdown.codedata.tax_breakdown.namedata.tax_breakdown.ratedata.tax_breakdown.calculator_typedata.tax_breakdown.noticedata.discount_breakdowndata.discount_breakdown.amountdata.discount_breakdown.amount.typedata.discount_breakdown.amount.x-truncateddata.discount_breakdown.codedata.discount_breakdown.namedata.discount_breakdown.ratedata.discount_breakdown.calculator_typedata.discount_breakdown.noticedata.expires_atcurl -X DELETE 'https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/credits' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"amount": 1.0
}'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/credits"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"amount": 1.0
}
r = requests.delete(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/credits";
const res = await fetch(url, {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"amount": 1.0
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"amount": 1.0
}`)
req, _ := http.NewRequest("DELETE", "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/credits", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/credits");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"amount" => 1.0
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"sub_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"tax_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"credits_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"discount_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"remaining_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"credits_eligible_amount": {
"currency": "string",
"amount": "string",
"amount_minor": 1
}
}
}Apply Credits To Cart
/public/{user_id}/cart/{cart_uuid}/credits/applyApply Credits to Cart
user_idcart_uuidamountdatadata.uuiddata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.credits_totaldata.credits_total.currencydata.credits_total.amountdata.credits_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.remaining_totaldata.remaining_total.currencydata.remaining_total.amountdata.remaining_total.amount_minordata.credits_eligible_amountdata.credits_eligible_amount.currencydata.credits_eligible_amount.amountdata.credits_eligible_amount.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.tax_breakdowndata.tax_breakdown.amountdata.tax_breakdown.amount.typedata.tax_breakdown.amount.x-truncateddata.tax_breakdown.codedata.tax_breakdown.namedata.tax_breakdown.ratedata.tax_breakdown.calculator_typedata.tax_breakdown.noticedata.discount_breakdowndata.discount_breakdown.amountdata.discount_breakdown.amount.typedata.discount_breakdown.amount.x-truncateddata.discount_breakdown.codedata.discount_breakdown.namedata.discount_breakdown.ratedata.discount_breakdown.calculator_typedata.discount_breakdown.noticedata.expires_atcurl -X POST 'https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/credits/apply' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"amount": 1.0
}'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/credits/apply"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"amount": 1.0
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/credits/apply";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"amount": 1.0
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"amount": 1.0
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/credits/apply", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/credits/apply");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"amount" => 1.0
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"sub_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"tax_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"credits_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"discount_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"remaining_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"credits_eligible_amount": {
"currency": "string",
"amount": "string",
"amount_minor": 1
}
}
}Apply Discount Code
/public/{user_id}/cart/{cart_uuid}/discount-code/{discountCode_code}Applies discount code to cart.
user_idcart_uuiddiscountCode_codedatadata.uuiddata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.credits_totaldata.credits_total.currencydata.credits_total.amountdata.credits_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.remaining_totaldata.remaining_total.currencydata.remaining_total.amountdata.remaining_total.amount_minordata.credits_eligible_amountdata.credits_eligible_amount.currencydata.credits_eligible_amount.amountdata.credits_eligible_amount.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.tax_breakdowndata.tax_breakdown.amountdata.tax_breakdown.amount.typedata.tax_breakdown.amount.x-truncateddata.tax_breakdown.codedata.tax_breakdown.namedata.tax_breakdown.ratedata.tax_breakdown.calculator_typedata.tax_breakdown.noticedata.discount_breakdowndata.discount_breakdown.amountdata.discount_breakdown.amount.typedata.discount_breakdown.amount.x-truncateddata.discount_breakdown.codedata.discount_breakdown.namedata.discount_breakdown.ratedata.discount_breakdown.calculator_typedata.discount_breakdown.noticedata.expires_atcurl -X POST 'https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/discount-code/{discountCode_code}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/discount-code/{discountCode_code}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.post(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/discount-code/{discountCode_code}";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/discount-code/{discountCode_code}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/discount-code/{discountCode_code}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"sub_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"tax_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"credits_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"discount_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"remaining_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"credits_eligible_amount": {
"currency": "string",
"amount": "string",
"amount_minor": 1
}
}
}{}Remove Discount Code from Cart
/public/{user_id}/cart/{cart_uuid}/discount-code/{discountCode_code}Remove discount code from a cart.
user_idcart_uuiddiscountCode_codecurl -X DELETE 'https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/discount-code/{discountCode_code}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/discount-code/{discountCode_code}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.delete(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/discount-code/{discountCode_code}";
const res = await fetch(url, {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("DELETE", "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/discount-code/{discountCode_code}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/discount-code/{discountCode_code}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{}List Cart Lines
/public/{user_id}/cart/{cart_uuid}/linesList the current Cart Lines.
user_idcart_uuiddatadata.uuiddata.reference_iddata.titledata.descriptiondata.quantitydata.unit_quantitydata.purchasable_typedata.purchasable_iddata.unit_pricedata.unit_price.currencydata.unit_price.amountdata.unit_price.amount_minordata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.exchange_ratedata.exchange_rate_fetched_atcurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/lines' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/lines"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/lines";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/lines", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/lines");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"reference_id": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit_quantity": 1,
"purchasable_type": "string",
"purchasable_id": "string"
}
]
}Add To Cart
/public/{user_id}/cart/{cart_uuid}/linesAdd a Purchasable to the Cart.
user_idcart_uuidprice_idquantitydatadata.uuiddata.reference_iddata.titledata.descriptiondata.quantitydata.unit_quantitydata.purchasable_typedata.purchasable_iddata.unit_pricedata.unit_price.currencydata.unit_price.amountdata.unit_price.amount_minordata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.exchange_ratedata.exchange_rate_fetched_atcurl -X POST 'https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/lines' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"price_id": "string",
"quantity": 1.0
}'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/lines"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"price_id": "string",
"quantity": 1.0
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/lines";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"price_id": "string",
"quantity": 1.0
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"price_id": "string",
"quantity": 1.0
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/lines", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/lines");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"price_id" => "string",
"quantity" => 1.0
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"reference_id": "string",
"title": "string",
"description": "string",
"quantity": 1,
"unit_quantity": 1,
"purchasable_type": "string",
"purchasable_id": "string"
}
}Remove Line
/public/{user_id}/cart/{cart_uuid}/lines/{cartLine_uuid}Remove a Cart Line.
user_idcart_uuidcartLine_uuiddatadata.uuiddata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.credits_totaldata.credits_total.currencydata.credits_total.amountdata.credits_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.remaining_totaldata.remaining_total.currencydata.remaining_total.amountdata.remaining_total.amount_minordata.credits_eligible_amountdata.credits_eligible_amount.currencydata.credits_eligible_amount.amountdata.credits_eligible_amount.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.tax_breakdowndata.tax_breakdown.amountdata.tax_breakdown.amount.typedata.tax_breakdown.amount.x-truncateddata.tax_breakdown.codedata.tax_breakdown.namedata.tax_breakdown.ratedata.tax_breakdown.calculator_typedata.tax_breakdown.noticedata.discount_breakdowndata.discount_breakdown.amountdata.discount_breakdown.amount.typedata.discount_breakdown.amount.x-truncateddata.discount_breakdown.codedata.discount_breakdown.namedata.discount_breakdown.ratedata.discount_breakdown.calculator_typedata.discount_breakdown.noticedata.expires_atcurl -X DELETE 'https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/lines/{cartLine_uuid}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/lines/{cartLine_uuid}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.delete(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/lines/{cartLine_uuid}";
const res = await fetch(url, {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("DELETE", "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/lines/{cartLine_uuid}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/lines/{cartLine_uuid}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"sub_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"tax_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"credits_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"discount_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"remaining_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"credits_eligible_amount": {
"currency": "string",
"amount": "string",
"amount_minor": 1
}
}
}Show Cart Payment Method
/public/{user_id}/cart/{cart_uuid}/payment-methodShow cart payment method.
user_idcart_uuiddatadata.uuiddata.typedata.is_defaultcurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/payment-method' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/payment-method"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/payment-method";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/payment-method", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/payment-method");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"type": "string",
"is_default": true
}
}Update Cart Payment Method
/public/{user_id}/cart/{cart_uuid}/payment-method/{paymentMethod_uuid}Update the Cart Payment Method.
user_idcart_uuidpaymentMethod_uuiddatadata.uuiddata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.credits_totaldata.credits_total.currencydata.credits_total.amountdata.credits_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.remaining_totaldata.remaining_total.currencydata.remaining_total.amountdata.remaining_total.amount_minordata.credits_eligible_amountdata.credits_eligible_amount.currencydata.credits_eligible_amount.amountdata.credits_eligible_amount.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.tax_breakdowndata.tax_breakdown.amountdata.tax_breakdown.amount.typedata.tax_breakdown.amount.x-truncateddata.tax_breakdown.codedata.tax_breakdown.namedata.tax_breakdown.ratedata.tax_breakdown.calculator_typedata.tax_breakdown.noticedata.discount_breakdowndata.discount_breakdown.amountdata.discount_breakdown.amount.typedata.discount_breakdown.amount.x-truncateddata.discount_breakdown.codedata.discount_breakdown.namedata.discount_breakdown.ratedata.discount_breakdown.calculator_typedata.discount_breakdown.noticedata.expires_atcurl -X PATCH 'https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/payment-method/{paymentMethod_uuid}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/payment-method/{paymentMethod_uuid}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.patch(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/payment-method/{paymentMethod_uuid}";
const res = await fetch(url, {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("PATCH", "https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/payment-method/{paymentMethod_uuid}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/cart/{cart_uuid}/payment-method/{paymentMethod_uuid}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"sub_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"tax_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"credits_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"discount_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"remaining_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"credits_eligible_amount": {
"currency": "string",
"amount": "string",
"amount_minor": 1
}
}
}Add item to shopping cart
/v1/{tenantUUID}/cart/itemsAdds new item to shopping cart. For LOA product type with AWS BYOIP provisioning, include aws_account_id, aws_service, and aws_region in product_fields.
tenantUUIDproduct_typeipv4 ipv6 loa asnbilling_cycle0 1 3 6 12 24labelproduct_optionsproduct_options.quantityproduct_options.quantity.<key1>product_options.quantity.<key2>product_options.quantity.<key..>product_options.quantity.<keyN>product_options.selectionproduct_options.selection.<key1>product_options.selection.<key2>product_options.selection.<key..>product_options.selection.<keyN>product_fieldsproduct_fields.<key1>product_fields.<key2>product_fields.<key..>product_fields.<keyN>product_fields.aws_account_idproduct_fields.aws_serviceproduct_fields.aws_regioncurl -X POST 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/cart/items' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"product_type": "ipv4",
"billing_cycle": 0,
"label": "string",
"product_options": {
"quantity": {
"<key1>": 1,
"<key2>": 1,
"<key..>": 1,
"<keyN>": 1
},
"selection": {
"<key1>": "string",
"<key2>": "string",
"<key..>": "string",
"<keyN>": "string"
}
},
"product_fields": {
"<key1>": "string",
"<key2>": "string",
"<key..>": "string",
"<keyN>": "string",
"aws_account_id": "string",
"aws_service": "string",
"aws_region": "string"
}
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/cart/items"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"product_type": "ipv4",
"billing_cycle": 0,
"label": "string",
"product_options": {
"quantity": {
"<key1>": 1,
"<key2>": 1,
"<key..>": 1,
"<keyN>": 1
},
"selection": {
"<key1>": "string",
"<key2>": "string",
"<key..>": "string",
"<keyN>": "string"
}
},
"product_fields": {
"<key1>": "string",
"<key2>": "string",
"<key..>": "string",
"<keyN>": "string",
"aws_account_id": "string",
"aws_service": "string",
"aws_region": "string"
}
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/cart/items";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"product_type": "ipv4",
"billing_cycle": 0,
"label": "string",
"product_options": {
"quantity": {
"<key1>": 1,
"<key2>": 1,
"<key..>": 1,
"<keyN>": 1
},
"selection": {
"<key1>": "string",
"<key2>": "string",
"<key..>": "string",
"<keyN>": "string"
}
},
"product_fields": {
"<key1>": "string",
"<key2>": "string",
"<key..>": "string",
"<keyN>": "string",
"aws_account_id": "string",
"aws_service": "string",
"aws_region": "string"
}
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"product_type": "ipv4",
"billing_cycle": 0,
"label": "string",
"product_options": {
"quantity": {
"<key1>": 1,
"<key2>": 1,
"<key..>": 1,
"<keyN>": 1
},
"selection": {
"<key1>": "string",
"<key2>": "string",
"<key..>": "string",
"<keyN>": "string"
}
},
"product_fields": {
"<key1>": "string",
"<key2>": "string",
"<key..>": "string",
"<keyN>": "string",
"aws_account_id": "string",
"aws_service": "string",
"aws_region": "string"
}
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/cart/items", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/cart/items");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"product_type" => "ipv4",
"billing_cycle" => 0,
"label" => "string",
"product_options" => [
"quantity" => [
"<key1>" => 1,
"<key2>" => 1,
"<key..>" => 1,
"<keyN>" => 1
],
"selection" => [
"<key1>" => "string",
"<key2>" => "string",
"<key..>" => "string",
"<keyN>" => "string"
]
],
"product_fields" => [
"<key1>" => "string",
"<key2>" => "string",
"<key..>" => "string",
"<keyN>" => "string",
"aws_account_id" => "string",
"aws_service" => "string",
"aws_region" => "string"
]
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Get cart extra information
/v1/{tenantUUID}/cart/{cartUUID}/extra-infoReturns extra information for all items in the specified cart
tenantUUIDcartUUIDdatadata.cart_line_uuiddata.extradata.product_typecurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/cart/{cartUUID}/extra-info' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/cart/{cartUUID}/extra-info"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/cart/{cartUUID}/extra-info";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/cart/{cartUUID}/extra-info", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/cart/{cartUUID}/extra-info");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"cart_line_uuid": "00000000-0000-0000-0000-000000000000",
"extra": {},
"product_type": "string"
}
]
}Orders
15 operations
The spec declares no named object for this resource, so the renderer synthesised one from its richest response body (POST /public/{user_id}/orders/{publicOrder}/discount-code/{discountCode_code}). Fields no endpoint returns cannot appear here.
datadata.uuiddata.statusdata.placed_atdata.expires_atdata.sub_totaldata.discount_totaldata.tax_totaldata.totaldata.credits_totaldata.remaining_totaldata.total_before_taxdata.tax_breakdowndata.discount_breakdowndata.enabled_free_checkoutdata.auto_chargeList Orders
/public/{user_id}/ordersReturns a list of Orders.
user_idsortfilter[uuid]filter[status]filter[purchasable_uuid]filter[purchasable_type]filter[placed_at]filter[reference_id]datadata.uuiddata.statusdata.placed_atdata.expires_atdata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.credits_totaldata.credits_total.currencydata.credits_total.amountdata.credits_total.amount_minordata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.remaining_totaldata.remaining_total.currencydata.remaining_total.amountdata.remaining_total.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.tax_breakdowndata.tax_breakdown.amountdata.tax_breakdown.codedata.tax_breakdown.namedata.tax_breakdown.ratedata.tax_breakdown.calculator_typedata.tax_breakdown.noticedata.discount_breakdowndata.discount_breakdown.amountdata.discount_breakdown.codedata.discount_breakdown.namedata.discount_breakdown.ratedata.discount_breakdown.calculator_typedata.discount_breakdown.noticemetameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/orders' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/orders");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"status": "string",
"placed_at": "string",
"expires_at": "string",
"sub_total": {
"currency": "string",
"amount": "string",
"amount_minor": "string"
},
"discount_total": {
"currency": "string",
"amount": "string",
"amount_minor": "string"
},
"tax_total": {
"currency": "string",
"amount": "string",
"amount_minor": "string"
},
"credits_total": {
"currency": "string",
"amount": "string",
"amount_minor": "string"
}
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}Show Order
/public/{user_id}/orders/{publicOrder_uuid}Returns a single Order extended information.
user_idpublicOrder_uuidincludedatadata.uuiddata.statusdata.placed_atdata.expires_atdata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.credits_totaldata.credits_total.currencydata.credits_total.amountdata.credits_total.amount_minordata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.remaining_totaldata.remaining_total.currencydata.remaining_total.amountdata.remaining_total.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.tax_breakdowndata.tax_breakdown.amountdata.tax_breakdown.amount.typedata.tax_breakdown.amount.x-truncateddata.tax_breakdown.codedata.tax_breakdown.namedata.tax_breakdown.ratedata.tax_breakdown.calculator_typedata.tax_breakdown.noticedata.discount_breakdowndata.discount_breakdown.amountdata.discount_breakdown.amount.typedata.discount_breakdown.amount.x-truncateddata.discount_breakdown.codedata.discount_breakdown.namedata.discount_breakdown.ratedata.discount_breakdown.calculator_typedata.discount_breakdown.noticecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"status": "string",
"placed_at": "string",
"expires_at": "string",
"sub_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"discount_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"tax_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"credits_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
}
}
}Create Order Address
/public/{user_id}/orders/{publicOrder_uuid}/addresses/{customerAddress_id}Creates a new Order address.
user_idpublicOrder_uuidcustomerAddress_iddatadata.uuiddata.first_namedata.last_namedata.company_namedata.vat_numberdata.vat_validation_statusdata.vat_validated_atdata.line_onedata.line_twodata.line_threedata.citydata.province_codedata.country_codedata.postcodedata.contact_emaildata.contact_phonedata.company_codecurl -X POST 'https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/addresses/{customerAddress_id}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/addresses/{customerAddress_id}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.post(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/addresses/{customerAddress_id}";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/addresses/{customerAddress_id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/addresses/{customerAddress_id}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"first_name": "string",
"last_name": "string",
"company_name": "string",
"vat_number": "string",
"vat_validation_status": "string",
"vat_validated_at": "string",
"line_one": "string"
}
}Update Order Address
/public/{user_id}/orders/{publicOrder_uuid}/addresses/{customerAddress_id}Updates an Order address.
user_idpublicOrder_uuidcustomerAddress_idline_oneline_twocitypostcodeprovince_codecontact_emailvat_numbercompany_codefirst_namelast_namecompany_namecontact_phonedatadata.uuiddata.first_namedata.last_namedata.company_namedata.vat_numberdata.vat_validation_statusdata.vat_validated_atdata.line_onedata.line_twodata.line_threedata.citydata.province_codedata.country_codedata.postcodedata.contact_emaildata.contact_phonedata.company_codedata.async_processing_requiredcurl -X PATCH 'https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/addresses/{customerAddress_id}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"line_one": "string",
"line_two": "string",
"city": "string",
"postcode": "string",
"province_code": "string",
"contact_email": "[email protected]",
"vat_number": "string",
"company_code": "string"
}'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/addresses/{customerAddress_id}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"line_one": "string",
"line_two": "string",
"city": "string",
"postcode": "string",
"province_code": "string",
"contact_email": "[email protected]",
"vat_number": "string",
"company_code": "string"
}
r = requests.patch(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/addresses/{customerAddress_id}";
const res = await fetch(url, {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"line_one": "string",
"line_two": "string",
"city": "string",
"postcode": "string",
"province_code": "string",
"contact_email": "[email protected]",
"vat_number": "string",
"company_code": "string"
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"line_one": "string",
"line_two": "string",
"city": "string",
"postcode": "string",
"province_code": "string",
"contact_email": "[email protected]",
"vat_number": "string",
"company_code": "string"
}`)
req, _ := http.NewRequest("PATCH", "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/addresses/{customerAddress_id}", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/addresses/{customerAddress_id}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"line_one" => "string",
"line_two" => "string",
"city" => "string",
"postcode" => "string",
"province_code" => "string",
"contact_email" => "[email protected]",
"vat_number" => "string",
"company_code" => "string"
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"first_name": "string",
"last_name": "string",
"company_name": "string",
"vat_number": "string",
"vat_validation_status": "string",
"vat_validated_at": "string",
"line_one": "string"
}
}Checkout Order
/public/{user_id}/orders/{publicOrder_uuid}/checkoutCheckout the Order.
user_idpublicOrder_uuiddatadata.orderdata.order.uuiddata.order.statusdata.order.placed_atdata.order.expires_atdata.order.sub_totaldata.order.sub_total.currencydata.order.sub_total.amountdata.order.sub_total.amount_minordata.order.discount_totaldata.order.discount_total.currencydata.order.discount_total.amountdata.order.discount_total.amount_minordata.order.tax_totaldata.order.tax_total.currencydata.order.tax_total.amountdata.order.tax_total.amount_minordata.order.credits_totaldata.order.credits_total.currencydata.order.credits_total.amountdata.order.credits_total.amount_minordata.order.totaldata.order.total.currencydata.order.total.amountdata.order.total.amount_minordata.order.remaining_totaldata.order.remaining_total.currencydata.order.remaining_total.amountdata.order.remaining_total.amount_minordata.order.total_before_taxdata.order.total_before_tax.currencydata.order.total_before_tax.amountdata.order.total_before_tax.amount_minordata.order.tax_breakdowndata.order.tax_breakdown.typedata.order.tax_breakdown.x-truncateddata.order.discount_breakdowndata.order.discount_breakdown.typedata.order.discount_breakdown.x-truncateddata.payment_responsedata.payment_response.keycurl -X POST 'https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/checkout' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/checkout"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.post(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/checkout";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/checkout", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/checkout");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"order": {
"uuid": "00000000-0000-0000-0000-000000000000",
"status": "string",
"placed_at": "string",
"expires_at": "string",
"sub_total": {
"currency": {},
"amount": {},
"amount_minor": {}
},
"discount_total": {
"currency": {},
"amount": {},
"amount_minor": {}
},
"tax_total": {
"currency": {},
"amount": {},
"amount_minor": {}
},
"credits_total": {
"currency": {},
"amount": {},
"amount_minor": {}
}
},
"payment_response": {
"key": "string"
}
}
}Download Order
/public/{user_id}/orders/{publicOrder_uuid}/downloadDownload an Order.
user_idpublicOrder_uuidcurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/download' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/download"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/download";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/download", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/download");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{}List Order Lines
/public/{user_id}/orders/{publicOrder_uuid}/linesList the Order Lines.
user_idpublicOrder_uuidincludedatadata.uuiddata.titledata.descriptiondata.quantitydata.unit_quantitydata.exchange_ratedata.exchange_rate_fetched_atdata.unit_pricedata.unit_price.currencydata.unit_price.amountdata.unit_price.amount_minordata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.notesmetameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/lines' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/lines"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/lines";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/lines", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/lines");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"title": "string",
"description": "string",
"quantity": 1,
"unit_quantity": 1,
"exchange_rate": "string",
"exchange_rate_fetched_at": "string",
"unit_price": {
"currency": "string",
"amount": "string",
"amount_minor": "string"
}
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}List Refunds for Order
/public/{user_id}/orders/{publicOrder_uuid}/refundsList all Refunds for Order.
user_idpublicOrder_uuiddatadata.uuiddata.invoice_iddata.order_uuiddata.reference_iddata.refund_reasondata.refund_methoddata.statusdata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.itemsdata.items.datametameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/refunds' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/refunds"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/refunds";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/refunds", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/refunds");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"invoice_id": "string",
"order_uuid": "00000000-0000-0000-0000-000000000000",
"reference_id": "string",
"refund_reason": "string",
"refund_method": "string",
"status": "string",
"tax_total": {
"currency": "string",
"amount": "string",
"amount_minor": "string"
}
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}List Order Transactions
/public/{user_id}/orders/{publicOrder_uuid}/transactionsList the Order Transactions.
user_idpublicOrder_uuiddatadata.uuiddata.typedata.statusdata.gateway_driverdata.amountdata.amount.currencydata.amount.amountdata.amount.amount_minordata.referencedata.initiated_atdata.created_atmetameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/transactions' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/transactions"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/transactions";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/transactions", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder_uuid}/transactions");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"type": "string",
"status": "string",
"gateway_driver": "string",
"amount": {
"currency": "string",
"amount": "string",
"amount_minor": "string"
},
"reference": "string",
"initiated_at": "string",
"created_at": "string"
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}Remove Credits From Order
/public/{user_id}/orders/{publicOrder}/creditsRemove Credits from Order
user_idpublicOrderamountdatadata.uuiddata.statusdata.placed_atdata.expires_atdata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.credits_totaldata.credits_total.currencydata.credits_total.amountdata.credits_total.amount_minordata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.remaining_totaldata.remaining_total.currencydata.remaining_total.amountdata.remaining_total.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.tax_breakdowndata.tax_breakdown.amountdata.tax_breakdown.amount.typedata.tax_breakdown.amount.x-truncateddata.tax_breakdown.codedata.tax_breakdown.namedata.tax_breakdown.ratedata.tax_breakdown.calculator_typedata.tax_breakdown.noticedata.discount_breakdowndata.discount_breakdown.amountdata.discount_breakdown.amount.typedata.discount_breakdown.amount.x-truncateddata.discount_breakdown.codedata.discount_breakdown.namedata.discount_breakdown.ratedata.discount_breakdown.calculator_typedata.discount_breakdown.noticecurl -X DELETE 'https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/credits' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"amount": 1.0
}'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/credits"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"amount": 1.0
}
r = requests.delete(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/credits";
const res = await fetch(url, {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"amount": 1.0
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"amount": 1.0
}`)
req, _ := http.NewRequest("DELETE", "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/credits", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/credits");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"amount" => 1.0
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"status": "string",
"placed_at": "string",
"expires_at": "string",
"sub_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"discount_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"tax_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"credits_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
}
}
}Apply Credits To Order
/public/{user_id}/orders/{publicOrder}/credits/applyApply Credits to Order
user_idpublicOrderamountdatadata.uuiddata.statusdata.placed_atdata.expires_atdata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.credits_totaldata.credits_total.currencydata.credits_total.amountdata.credits_total.amount_minordata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.remaining_totaldata.remaining_total.currencydata.remaining_total.amountdata.remaining_total.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.tax_breakdowndata.tax_breakdown.amountdata.tax_breakdown.amount.typedata.tax_breakdown.amount.x-truncateddata.tax_breakdown.codedata.tax_breakdown.namedata.tax_breakdown.ratedata.tax_breakdown.calculator_typedata.tax_breakdown.noticedata.discount_breakdowndata.discount_breakdown.amountdata.discount_breakdown.amount.typedata.discount_breakdown.amount.x-truncateddata.discount_breakdown.codedata.discount_breakdown.namedata.discount_breakdown.ratedata.discount_breakdown.calculator_typedata.discount_breakdown.noticecurl -X POST 'https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/credits/apply' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"amount": 1.0
}'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/credits/apply"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"amount": 1.0
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/credits/apply";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"amount": 1.0
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"amount": 1.0
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/credits/apply", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/credits/apply");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"amount" => 1.0
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"status": "string",
"placed_at": "string",
"expires_at": "string",
"sub_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"discount_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"tax_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"credits_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
}
}
}Apply Discount Code To Order
/public/{user_id}/orders/{publicOrder}/discount-code/{discountCode_code}Apply Discount Code to Order
user_idpublicOrderdiscountCode_codedatadata.uuiddata.statusdata.placed_atdata.expires_atdata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.credits_totaldata.credits_total.currencydata.credits_total.amountdata.credits_total.amount_minordata.remaining_totaldata.remaining_total.currencydata.remaining_total.amountdata.remaining_total.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.tax_breakdowndata.tax_breakdown.amountdata.tax_breakdown.amount.typedata.tax_breakdown.amount.x-truncateddata.tax_breakdown.codedata.tax_breakdown.namedata.tax_breakdown.ratedata.tax_breakdown.calculator_typedata.tax_breakdown.noticedata.discount_breakdowndata.discount_breakdown.amountdata.discount_breakdown.amount.typedata.discount_breakdown.amount.x-truncateddata.discount_breakdown.codedata.discount_breakdown.namedata.discount_breakdown.ratedata.discount_breakdown.calculator_typedata.discount_breakdown.noticedata.enabled_free_checkoutdata.auto_chargecurl -X POST 'https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/discount-code/{discountCode_code}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/discount-code/{discountCode_code}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.post(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/discount-code/{discountCode_code}";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/discount-code/{discountCode_code}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/discount-code/{discountCode_code}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"status": "string",
"placed_at": "string",
"expires_at": "string",
"sub_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"discount_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"tax_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
}
}
}Remove Discount Code
/public/{user_id}/orders/{publicOrder}/discount-code/{discountCode_code}Remove discount code from order.
user_idpublicOrderdiscountCode_codecurl -X DELETE 'https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/discount-code/{discountCode_code}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/discount-code/{discountCode_code}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.delete(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/discount-code/{discountCode_code}";
const res = await fetch(url, {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("DELETE", "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/discount-code/{discountCode_code}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/discount-code/{discountCode_code}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{}Show Payment Method
/public/{user_id}/orders/{publicOrder}/payment-methodShow Order payment method
user_idpublicOrderdatadata.uuiddata.typedata.is_defaultdata.detailsdata.details.card_branddata.details.card_last_fourdata.details.card_expiry_monthdata.details.card_expiry_yeardata.statuscurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/payment-method' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/payment-method"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/payment-method";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/payment-method", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/payment-method");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"type": "string",
"is_default": true,
"details": {
"card_brand": "string",
"card_last_four": "string",
"card_expiry_month": 1,
"card_expiry_year": 1
},
"status": "string"
}
}Update Payment Method
/public/{user_id}/orders/{publicOrder}/payment-methods/{paymentMethod_uuid}Update a Payment Method to Order
user_idpublicOrderpaymentMethod_uuidcurl -X PATCH 'https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/payment-methods/{paymentMethod_uuid}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/payment-methods/{paymentMethod_uuid}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.patch(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/payment-methods/{paymentMethod_uuid}";
const res = await fetch(url, {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("PATCH", "https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/payment-methods/{paymentMethod_uuid}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/orders/{publicOrder}/payment-methods/{paymentMethod_uuid}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{}Subscriptions
12 operations
The spec declares no named object for this resource, so the renderer synthesised one from its richest response body (GET /public/{user_id}/subscriptions). Fields no endpoint returns cannot appear here.
datadata.uuiddata.namedata.short_descriptiondata.statusdata.current_period_startdata.current_period_enddata.previous_period_startdata.previous_period_enddata.started_atdata.terminated_atdata.terminate_atdata.terminate_at_period_enddata.is_scheduled_for_terminationdata.billing_anchor_daydata.customerdata.totaldata.sub_totaldata.discount_totaldata.current_phasedata.has_immediate_terminationdata.is_in_grace_perioddata.expires_atdata.reference_iddata.order_uuidmetameta.current_pagemeta.totalmeta.per_pageList Billing Settings
/public/{user_id}/billing-settingsList all Billing Settings.
user_iddatadata.uuiddata.billing_anchor_daydata.payment_term_dayscurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/billing-settings' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/billing-settings"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/billing-settings";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/billing-settings", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/billing-settings");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"billing_anchor_day": 1,
"payment_term_days": 1
}
}Update Billing Settings
/public/{user_id}/billing-settingsUpdate Billing Settings
user_idbilling_anchor_daydatadata.uuiddata.billing_anchor_daydata.payment_term_dayscurl -X PATCH 'https://apigw.ipxo.com/ecommerce/public/{user_id}/billing-settings' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"billing_anchor_day": "string"
}'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/billing-settings"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"billing_anchor_day": "string"
}
r = requests.patch(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/billing-settings";
const res = await fetch(url, {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"billing_anchor_day": "string"
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"billing_anchor_day": "string"
}`)
req, _ := http.NewRequest("PATCH", "https://apigw.ipxo.com/ecommerce/public/{user_id}/billing-settings", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/billing-settings");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"billing_anchor_day" => "string"
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"billing_anchor_day": 1,
"payment_term_days": 1
}
}{}List Subscription Category Views
/public/{user_id}/subscription-category-viewsReturns a list of subscription category views for the customer.
user_idfilter[category_id]filter[status]filter[statuses]sortdatadata.uuiddata.subscription_iddata.subscription_namedata.statusdata.product_category_iddata.product_category_namedata.purchasable_iddata.purchasable_typedata.customer_idmetameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/subscription-category-views' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscription-category-views"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscription-category-views";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscription-category-views", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/subscription-category-views");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"subscription_id": "string",
"subscription_name": "string",
"status": "string",
"product_category_id": "string",
"product_category_name": "string",
"purchasable_id": "string",
"purchasable_type": "string"
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}List Subscriptions
/public/{user_id}/subscriptionsList all Subscriptions.
user_idfilter[status]filter[name]filter[current_period_end]includesortdatadata.uuiddata.namedata.short_descriptiondata.statusdata.current_period_startdata.current_period_enddata.previous_period_startdata.previous_period_enddata.started_atdata.terminated_atdata.terminate_atdata.terminate_at_period_enddata.is_scheduled_for_terminationdata.billing_anchor_daydata.customerdata.customer.uuiddata.customer.auth_iddata.customer.namedata.customer.business_entity_iddata.customer.currencydata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.current_phasedata.current_phase.uuiddata.current_phase.namedata.current_phase.short_descriptiondata.current_phase.start_atdata.current_phase.occurrencedata.current_phase.perioddata.current_phase.end_atdata.current_phase.statusdata.current_phase.created_atdata.has_immediate_terminationdata.is_in_grace_perioddata.expires_atdata.reference_iddata.order_uuidmetameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "string",
"short_description": "string",
"status": "string",
"current_period_start": "string",
"current_period_end": "string",
"previous_period_start": "string",
"previous_period_end": "string"
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}Search Subscriptions
/public/{user_id}/subscriptions/searchSearch subscriptions with enhanced filtering capabilities including UUID arrays.
user_idper_pagepagesortincludefilterfilter.statusfilter.namefilter.current_period_endfilter.uuidsfilter.customerfilter.customer.user_idfilter.customer.namedatadata.uuiddata.namedata.short_descriptiondata.statusdata.current_period_startdata.current_period_enddata.previous_period_startdata.previous_period_enddata.started_atdata.terminated_atdata.terminate_atdata.terminate_at_period_enddata.is_scheduled_for_terminationdata.billing_anchor_daydata.customerdata.customer.uuiddata.customer.auth_iddata.customer.namedata.customer.business_entity_iddata.customer.currencydata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.current_phasedata.current_phase.uuiddata.current_phase.namedata.current_phase.short_descriptiondata.current_phase.start_atdata.current_phase.occurrencedata.current_phase.perioddata.current_phase.end_atdata.current_phase.statusdata.current_phase.created_atdata.has_immediate_terminationdata.is_in_grace_perioddata.expires_atdata.reference_iddata.order_uuidmetameta.current_pagemeta.totalmeta.per_pagecurl -X POST 'https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/search' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"per_page": 1,
"page": 1,
"sort": "string",
"include": "string",
"filter": {
"status": "string",
"name": "string",
"current_period_end": "string",
"uuids": [
"00000000-0000-0000-0000-000000000000"
],
"customer": {
"user_id": "string",
"name": "string"
}
}
}'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/search"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"per_page": 1,
"page": 1,
"sort": "string",
"include": "string",
"filter": {
"status": "string",
"name": "string",
"current_period_end": "string",
"uuids": [
"00000000-0000-0000-0000-000000000000"
],
"customer": {
"user_id": "string",
"name": "string"
}
}
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/search";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"per_page": 1,
"page": 1,
"sort": "string",
"include": "string",
"filter": {
"status": "string",
"name": "string",
"current_period_end": "string",
"uuids": [
"00000000-0000-0000-0000-000000000000"
],
"customer": {
"user_id": "string",
"name": "string"
}
}
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"per_page": 1,
"page": 1,
"sort": "string",
"include": "string",
"filter": {
"status": "string",
"name": "string",
"current_period_end": "string",
"uuids": [
"00000000-0000-0000-0000-000000000000"
],
"customer": {
"user_id": "string",
"name": "string"
}
}
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/search", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/search");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"per_page" => 1,
"page" => 1,
"sort" => "string",
"include" => "string",
"filter" => [
"status" => "string",
"name" => "string",
"current_period_end" => "string",
"uuids" => ["00000000-0000-0000-0000-000000000000"],
"customer" => [
"user_id" => "string",
"name" => "string"
]
]
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "string",
"short_description": "string",
"status": "string",
"current_period_start": "string",
"current_period_end": "string",
"previous_period_start": "string",
"previous_period_end": "string"
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}List Customer Termination Requests
/public/{user_id}/subscriptions/termination-requestsReturns a list of Termination Requests for the authenticated customer
user_idfilter[subscription_id]filter[status]sortdatadata.uuiddata.typedata.statusdata.reasondata.detailsdata.metadata.meta.use_againdata.requested_atdata.terminated_atmetameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/termination-requests' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/termination-requests"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/termination-requests";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/termination-requests", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/termination-requests");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"type": "string",
"status": "string",
"reason": "string",
"details": "string",
"meta": {
"use_again": "string"
},
"requested_at": "string",
"terminated_at": "string"
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}Show Termination Request
/public/{user_id}/subscriptions/termination-requests/{terminationRequest_uuid}Returns a single Termination Request extended information.
user_idterminationRequest_uuiddatadata.uuiddata.typedata.statusdata.reasondata.detailsdata.metadata.meta.use_againdata.requested_atdata.terminated_atcurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/termination-requests/{terminationRequest_uuid}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/termination-requests/{terminationRequest_uuid}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/termination-requests/{terminationRequest_uuid}";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/termination-requests/{terminationRequest_uuid}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/termination-requests/{terminationRequest_uuid}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"type": "string",
"status": "string",
"reason": "string",
"details": "string",
"meta": {
"use_again": true
},
"requested_at": "string",
"terminated_at": "string"
}
}Cancel Termination Request
/public/{user_id}/subscriptions/termination-requests/{terminationRequest_uuid}/cancelCancel a pending termination request.
user_idterminationRequest_uuiddatadata.uuiddata.typedata.statusdata.reasondata.detailsdata.metadata.meta.use_againdata.requested_atdata.terminated_atcurl -X POST 'https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/termination-requests/{terminationRequest_uuid}/cancel' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/termination-requests/{terminationRequest_uuid}/cancel"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.post(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/termination-requests/{terminationRequest_uuid}/cancel";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/termination-requests/{terminationRequest_uuid}/cancel", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/termination-requests/{terminationRequest_uuid}/cancel");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"type": "string",
"status": "string",
"reason": "string",
"details": "string",
"meta": {
"use_again": true
},
"requested_at": "string",
"terminated_at": "string"
}
}Show Customer Subscription
/public/{user_id}/subscriptions/{subscription_uuid}Returns a single Customer Subscription extended information.
user_idsubscription_uuidincludedatadata.uuiddata.namedata.short_descriptiondata.statusdata.current_period_startdata.current_period_enddata.previous_period_startdata.previous_period_enddata.started_atdata.terminated_atdata.terminate_atdata.terminate_at_period_enddata.is_scheduled_for_terminationdata.billing_anchor_daydata.customerdata.customer.uuiddata.customer.auth_iddata.customer.namedata.customer.business_entity_iddata.customer.currencydata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.current_phasedata.current_phase.uuiddata.current_phase.namedata.current_phase.short_descriptiondata.current_phase.start_atdata.current_phase.occurrencedata.current_phase.perioddata.current_phase.end_atdata.current_phase.statusdata.current_phase.created_atdata.has_immediate_terminationdata.is_in_grace_perioddata.expires_atdata.reference_iddata.order_uuidcurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "string",
"short_description": "string",
"status": "string",
"current_period_start": "string",
"current_period_end": "string",
"previous_period_start": "string",
"previous_period_end": "string"
}
}Update Subscription
/public/{user_id}/subscriptions/{subscription_uuid}Update Single Subscription
user_idsubscription_uuidbilling_anchor_daydatadata.uuiddata.namedata.short_descriptiondata.statusdata.current_period_startdata.current_period_enddata.previous_period_startdata.previous_period_enddata.started_atdata.terminated_atdata.terminate_atdata.terminate_at_period_enddata.is_scheduled_for_terminationdata.billing_anchor_daydata.customerdata.customer.uuiddata.customer.auth_iddata.customer.namedata.customer.business_entity_iddata.customer.currencydata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.current_phasedata.current_phase.uuiddata.current_phase.namedata.current_phase.short_descriptiondata.current_phase.start_atdata.current_phase.occurrencedata.current_phase.perioddata.current_phase.end_atdata.current_phase.statusdata.current_phase.created_atdata.has_immediate_terminationdata.is_in_grace_perioddata.expires_atdata.reference_iddata.order_uuidcurl -X PATCH 'https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"billing_anchor_day": "string"
}'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"billing_anchor_day": "string"
}
r = requests.patch(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}";
const res = await fetch(url, {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"billing_anchor_day": "string"
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"billing_anchor_day": "string"
}`)
req, _ := http.NewRequest("PATCH", "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"billing_anchor_day" => "string"
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "string",
"short_description": "string",
"status": "string",
"current_period_start": "string",
"current_period_end": "string",
"previous_period_start": "string",
"previous_period_end": "string"
}
}List Subscription Phases
/public/{user_id}/subscriptions/{subscription_uuid}/phasesReturn a list of Subscription Phases.
user_idsubscription_uuidsortfilter[start_at]filter[end_at]datadata.uuiddata.namedata.short_descriptiondata.start_atdata.occurrencedata.perioddata.end_atdata.statusdata.created_atmetameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}/phases' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}/phases"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}/phases";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}/phases", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}/phases");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "string",
"short_description": "string",
"start_at": "string",
"occurrence": "string",
"period": 1,
"end_at": "string",
"status": "string"
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}Terminate Subscription
/public/{user_id}/subscriptions/{subscription_uuid}/terminateCreates termination request for customer subscription.
user_idsubscription_uuidtypeend_of_periodreasondetailsmetameta.use_againdatadata.uuiddata.typedata.statusdata.reasondata.detailsdata.metadata.meta.use_againdata.requested_atdata.terminated_atcurl -X POST 'https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}/terminate' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"type": "end_of_period",
"reason": "string",
"details": "string",
"meta": {
"use_again": true
}
}'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}/terminate"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"type": "end_of_period",
"reason": "string",
"details": "string",
"meta": {
"use_again": true
}
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}/terminate";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"type": "end_of_period",
"reason": "string",
"details": "string",
"meta": {
"use_again": true
}
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"type": "end_of_period",
"reason": "string",
"details": "string",
"meta": {
"use_again": true
}
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}/terminate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/subscriptions/{subscription_uuid}/terminate");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"type" => "end_of_period",
"reason" => "string",
"details" => "string",
"meta" => [
"use_again" => true
]
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"type": "string",
"status": "string",
"reason": "string",
"details": "string",
"meta": {
"use_again": true
},
"requested_at": "string",
"terminated_at": "string"
}
}Invoices
8 operations
API.Pub.Resources.Invoices.InvoiceResourceDeclared in the spec. Shown from GET /v1/{tenantUUID}/invoices/{invoiceUUID}.
uuidtenant_uuidinvoice_numberdatedate_duedate_paidsubtotalsubtotal_with_taxestotaltotal_left_to_paytotal_paidtotal_taxstatusitems_countitemsitems.invoice_uuiditems.service_uuiditems.descriptionitems.amountitems.taxeditems.period_startitems.period_enditems.typeitems.metadatataxestaxes.descriptiontaxes.percentagetaxes.amounttaxes.ordertaxes.stackstransactionstransactions.invoice_uuidtransactions.service_uuidtransactions.descriptiontransactions.amounttransactions.taxedtransactions.period_starttransactions.period_endtransactions.typetransactions.metadataList Invoices
/public/{user_id}/invoicesList the current User's Invoices.
user_idsortfilter[invoicable_id]filter[invoicable_type]filter[uuid]filter[status]filter[placed_at]filter[type]datadata.uuiddata.referencedata.statusdata.typedata.placed_atdata.due_datedata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.credits_totaldata.credits_total.currencydata.credits_total.amountdata.credits_total.amount_minordata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.invoicable_iddata.invoicable_typemetameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"reference": "string",
"status": "string",
"type": "string",
"placed_at": "string",
"due_date": "string",
"sub_total": {
"currency": "string",
"amount": "string",
"amount_minor": "string"
},
"discount_total": {
"currency": "string",
"amount": "string",
"amount_minor": "string"
}
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}Show Invoice
/public/{user_id}/invoices/{invoice_uuid}Returns a single Invoice extended information.
user_idinvoice_uuiddatadata.uuiddata.referencedata.statusdata.typedata.placed_atdata.due_datedata.sub_totaldata.sub_total.currencydata.sub_total.amountdata.sub_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.credits_totaldata.credits_total.currencydata.credits_total.amountdata.credits_total.amount_minordata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.invoicable_iddata.invoicable_typecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices/{invoice_uuid}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices/{invoice_uuid}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices/{invoice_uuid}";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices/{invoice_uuid}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices/{invoice_uuid}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"reference": "string",
"status": "string",
"type": "string",
"placed_at": "string",
"due_date": "string",
"sub_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
},
"discount_total": {
"currency": "string",
"amount": "string",
"amount_minor": 1
}
}
}Download Invoice
/public/{user_id}/invoices/{invoice_uuid}/downloadDownload an Invoice.
user_idinvoice_uuidcurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices/{invoice_uuid}/download' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices/{invoice_uuid}/download"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices/{invoice_uuid}/download";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices/{invoice_uuid}/download", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices/{invoice_uuid}/download");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{}List Invoice Lines
/public/{user_id}/invoices/{invoice_uuid}/linesList the Invoice Lines.
user_idinvoice_uuidincludedatadata.uuiddata.titledata.descriptiondata.unit_quantitydata.quantitydata.subtotaldata.subtotal.currencydata.subtotal.amountdata.subtotal.amount_minordata.unit_pricedata.unit_price.currencydata.unit_price.amountdata.unit_price.amount_minordata.tax_totaldata.tax_total.currencydata.tax_total.amountdata.tax_total.amount_minordata.discount_totaldata.discount_total.currencydata.discount_total.amountdata.discount_total.amount_minordata.totaldata.total.currencydata.total.amountdata.total.amount_minordata.total_before_taxdata.total_before_tax.currencydata.total_before_tax.amountdata.total_before_tax.amount_minordata.exchange_ratedata.exchange_rate_fetched_atdata.notesmetameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices/{invoice_uuid}/lines' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices/{invoice_uuid}/lines"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices/{invoice_uuid}/lines";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices/{invoice_uuid}/lines", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/invoices/{invoice_uuid}/lines");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"title": "string",
"description": "string",
"unit_quantity": 1,
"quantity": 1,
"subtotal": {
"currency": "string",
"amount": "string",
"amount_minor": "string"
},
"unit_price": {
"currency": "string",
"amount": "string",
"amount_minor": "string"
},
"tax_total": {
"currency": "string",
"amount": "string",
"amount_minor": "string"
}
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}List Tenant Invoices
/v1/{tenantUUID}/invoicesList Tenant Invoices
tenantUUIDinvoice_numberinvoice_number_bulkperiod_startperiod_endstatusessortdirectionper_pageuuidinvoice_numberdatedate_duesubtotal_with_taxesstatusitems_countcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"uuid": "00000000-0000-0000-0000-000000000000",
"invoice_number": "string",
"date": 1,
"date_due": 1,
"subtotal_with_taxes": 1.0,
"status": "string",
"items_count": 1
}Get multi invoices PDF
/v1/{tenantUUID}/invoices/export/pdfExport multi invoices PDF
tenantUUIDinvoice_uuidscurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices/export/pdf' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"invoice_uuids": [
"00000000-0000-0000-0000-000000000000"
]
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices/export/pdf"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"invoice_uuids": [
"00000000-0000-0000-0000-000000000000"
]
}
r = requests.get(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices/export/pdf";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"invoice_uuids": [
"00000000-0000-0000-0000-000000000000"
]
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"invoice_uuids": [
"00000000-0000-0000-0000-000000000000"
]
}`)
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices/export/pdf", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices/export/pdf");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"invoice_uuids" => ["00000000-0000-0000-0000-000000000000"]
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Get invoice
/v1/{tenantUUID}/invoices/{invoiceUUID}Returns invoice
tenantUUIDinvoiceUUIDuuidtenant_uuidinvoice_numberdatedate_duedate_paidsubtotalsubtotal_with_taxestotaltotal_left_to_paytotal_paidtotal_taxstatusitems_countitemsitems.invoice_uuiditems.service_uuiditems.descriptionitems.amountitems.taxeditems.period_startitems.period_enditems.typeitems.metadatataxestaxes.descriptiontaxes.percentagetaxes.amounttaxes.ordertaxes.stackstransactionstransactions.invoice_uuidtransactions.service_uuidtransactions.descriptiontransactions.amounttransactions.taxedtransactions.period_starttransactions.period_endtransactions.typetransactions.metadatacurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices/{invoiceUUID}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices/{invoiceUUID}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices/{invoiceUUID}";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices/{invoiceUUID}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices/{invoiceUUID}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"uuid": "00000000-0000-0000-0000-000000000000",
"tenant_uuid": "00000000-0000-0000-0000-000000000000",
"invoice_number": "string",
"date": 1,
"date_due": 1,
"date_paid": 1,
"subtotal": 1.0,
"subtotal_with_taxes": 1.0
}Get invoices PDF
/v1/{tenantUUID}/invoices/{invoiceUUID}/pdfReturns invoice pdf
tenantUUIDinvoiceUUIDcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices/{invoiceUUID}/pdf' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices/{invoiceUUID}/pdf"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices/{invoiceUUID}/pdf";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices/{invoiceUUID}/pdf", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/invoices/{invoiceUUID}/pdf");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Payouts
18 operations
API.Pub.Resources.IPMarket.PayoutInvoiceStatsResourceDeclared in the spec. Shown from GET /v1/{tenantUUID}/market/payouts/stats/v2.
periodperiod.fromperiod.todatadata.invoice_uuiddata.invoice_numberdata.perioddata.payout_datedata.payout_status data.ips_countdata.total_salesdata.average_net_per_ipdata.transaction_feedata.holder_feedata.deductionsdata.net_payoutdata.payment_confirmation_uuiddata.payment_confirmation_numberdata.holder_fee_invoice_uuidmetameta.current_pagemeta.per_pagemeta.totalmeta.last_pagemeta.frommeta.tototal_salestotal_net_payoutList Deductions
/v1/{tenantUUID}/market/deductionsList IP Market Deductions
tenantUUIDsubnetstatuscompleted cancelled pendingcreated_atsortdirectionasc descpayout_uuidinvoice_uuiduuidtenant_uuidipmarket_service_uuidsubnetamountstatuspending completed cancelledcommentevidenceall_sumlease_perioddeduction_invoice_uuidcreated_atupdated_attypeservice ip_holder_feecurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/deductions' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"subnet": "string",
"status": "completed",
"created_at": 1,
"sort": "string",
"direction": "asc",
"payout_uuid": "00000000-0000-0000-0000-000000000000",
"invoice_uuid": "00000000-0000-0000-0000-000000000000"
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/deductions"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"subnet": "string",
"status": "completed",
"created_at": 1,
"sort": "string",
"direction": "asc",
"payout_uuid": "00000000-0000-0000-0000-000000000000",
"invoice_uuid": "00000000-0000-0000-0000-000000000000"
}
r = requests.get(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/deductions";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"subnet": "string",
"status": "completed",
"created_at": 1,
"sort": "string",
"direction": "asc",
"payout_uuid": "00000000-0000-0000-0000-000000000000",
"invoice_uuid": "00000000-0000-0000-0000-000000000000"
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"subnet": "string",
"status": "completed",
"created_at": 1,
"sort": "string",
"direction": "asc",
"payout_uuid": "00000000-0000-0000-0000-000000000000",
"invoice_uuid": "00000000-0000-0000-0000-000000000000"
}`)
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/deductions", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/deductions");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"subnet" => "string",
"status" => "completed",
"created_at" => 1,
"sort" => "string",
"direction" => "asc",
"payout_uuid" => "00000000-0000-0000-0000-000000000000",
"invoice_uuid" => "00000000-0000-0000-0000-000000000000"
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"uuid": "00000000-0000-0000-0000-000000000000",
"tenant_uuid": "00000000-0000-0000-0000-000000000000",
"ipmarket_service_uuid": "00000000-0000-0000-0000-000000000000",
"subnet": "string",
"amount": 1.0,
"status": "pending",
"comment": "string",
"evidence": "string"
}Get deduction invoice as PDF
/v1/{tenantUUID}/market/deductions/invoices/{invoiceUUID}/pdfReturns deduction invoice as pdf
tenantUUIDinvoiceUUIDcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/deductions/invoices/{invoiceUUID}/pdf' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/deductions/invoices/{invoiceUUID}/pdf"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/deductions/invoices/{invoiceUUID}/pdf";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/deductions/invoices/{invoiceUUID}/pdf", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/deductions/invoices/{invoiceUUID}/pdf");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;List Payment Confirmations
/v1/{tenantUUID}/market/payment_confirmationsList Payment Confirmations
tenantUUIDpageper_pageconfirmation_numbermethodtransaction_idfrom_dateto_datedatadata.uuiddata.confirmation_numberdata.method data.method_detailsdata.datedata.transaction_iddata.amountdata.feemetameta.current_pagemeta.frommeta.last_pagemeta.per_pagemeta.tometa.totalcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payment_confirmations' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payment_confirmations"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payment_confirmations";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payment_confirmations", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payment_confirmations");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"confirmation_number": "string",
"method": {
"type": "object",
"x-truncated": true
},
"method_details": "string",
"date": 1,
"transaction_id": "string",
"amount": 1.0,
"fee": 1.0
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 1,
"to": 1,
"total": 1
}
}Get single payment confirmation
/v1/{tenantUUID}/market/payment_confirmations/{paymentConfirmationUuid}Returns single payment confirmation
tenantUUIDpaymentConfirmationUuiduuidconfirmation_numbermethodbanktransfer paypal creditmethod_detailsdatetransaction_idamountfeecurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payment_confirmations/{paymentConfirmationUuid}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payment_confirmations/{paymentConfirmationUuid}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payment_confirmations/{paymentConfirmationUuid}";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payment_confirmations/{paymentConfirmationUuid}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payment_confirmations/{paymentConfirmationUuid}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"uuid": "00000000-0000-0000-0000-000000000000",
"confirmation_number": "string",
"method": "banktransfer",
"method_details": "string",
"date": 1,
"transaction_id": "string",
"amount": 1.0,
"fee": 1.0
}Get payment confirmation as PDF
/v1/{tenantUUID}/market/payment_confirmations/{paymentConfirmationUuid}/pdfReturns payment confirmation as pdf
tenantUUIDpaymentConfirmationUuidcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payment_confirmations/{paymentConfirmationUuid}/pdf' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payment_confirmations/{paymentConfirmationUuid}/pdf"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payment_confirmations/{paymentConfirmationUuid}/pdf";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payment_confirmations/{paymentConfirmationUuid}/pdf", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payment_confirmations/{paymentConfirmationUuid}/pdf");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Get Current Payout Method
/v1/{tenantUUID}/market/payoutmethodGet Current Payout Method
tenantUUIDtypedetailscycleminimal_amountcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payoutmethod' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payoutmethod"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payoutmethod";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payoutmethod", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payoutmethod");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"type": "string",
"details": [
"string"
],
"cycle": 1,
"minimal_amount": 1.0
}Set Payout Method
/v1/{tenantUUID}/market/payoutmethodSet Payout Method
tenantUUIDdetailsdetails.beneficiarydetails.addressdetails.bicdetails.ibandetails.bank_namedetails.emaildetails.notetypebanktransfer credit paypalcycle0 1 3 6 12minimal_amounttypedetailscycleminimal_amountcurl -X PUT 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payoutmethod' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"details": {
"beneficiary": "string",
"address": "string",
"bic": "string",
"iban": "string",
"bank_name": "string",
"email": "[email protected]",
"note": "string"
},
"type": "banktransfer",
"cycle": 0,
"minimal_amount": 1.0
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payoutmethod"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"details": {
"beneficiary": "string",
"address": "string",
"bic": "string",
"iban": "string",
"bank_name": "string",
"email": "[email protected]",
"note": "string"
},
"type": "banktransfer",
"cycle": 0,
"minimal_amount": 1.0
}
r = requests.put(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payoutmethod";
const res = await fetch(url, {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"details": {
"beneficiary": "string",
"address": "string",
"bic": "string",
"iban": "string",
"bank_name": "string",
"email": "[email protected]",
"note": "string"
},
"type": "banktransfer",
"cycle": 0,
"minimal_amount": 1.0
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"details": {
"beneficiary": "string",
"address": "string",
"bic": "string",
"iban": "string",
"bank_name": "string",
"email": "[email protected]",
"note": "string"
},
"type": "banktransfer",
"cycle": 0,
"minimal_amount": 1.0
}`)
req, _ := http.NewRequest("PUT", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payoutmethod", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payoutmethod");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"details" => [
"beneficiary" => "string",
"address" => "string",
"bic" => "string",
"iban" => "string",
"bank_name" => "string",
"email" => "[email protected]",
"note" => "string"
],
"type" => "banktransfer",
"cycle" => 0,
"minimal_amount" => 1.0
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"type": "string",
"details": [
"string"
],
"cycle": 1,
"minimal_amount": 1.0
}List Payouts
/v1/{tenantUUID}/market/payoutsList IP Market Payouts
tenantUUIDuuidservice_uuidaddresscidramounttotallease_countstatusmethodstartendfromtostatus_datecreated_atsortpageper_pagedatadata.uuiddata.tenant_uuiddata.service_uuiddata.addressdata.cidrdata.amountdata.totaldata.lease_countdata.statusdata.status_detailsdata.methoddata.transaction_iddata.startdata.enddata.status_datedata.created_atdata.earningsmetameta.current_pagemeta.frommeta.last_pagemeta.per_pagemeta.tometa.totalcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"tenant_uuid": "00000000-0000-0000-0000-000000000000",
"service_uuid": "00000000-0000-0000-0000-000000000000",
"address": "string",
"cidr": "string",
"amount": "string",
"total": "string",
"lease_count": "string"
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 1,
"to": 1,
"total": 1
}
}Get Payouts Statistics
/v1/{tenantUUID}/market/payouts/statsIP Market Payouts Statistics
tenantUUIDservice_uuidaddresscidrstatus_date_fromstatus_date_toperiodperiod.fromperiod.todatadata.datedata.amountdata.subnetdata.service_uuidtotallast_payout_datenext_payout_datemin_amount_reachedunpaidcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/stats' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/stats"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/stats";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/stats", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/stats");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"period": {
"from": 1,
"to": 1
},
"data": [
{
"date": 1,
"amount": 1.0,
"subnet": "string",
"service_uuid": "00000000-0000-0000-0000-000000000000"
}
],
"total": 1.0,
"last_payout_date": 1.0,
"next_payout_date": 1.0,
"min_amount_reached": true,
"unpaid": 1.0
}Get Payout Invoice Statistics (v2)
/v1/{tenantUUID}/market/payouts/stats/v2IP Market Payout Invoice Statistics with detailed breakdown. Add pagination params for table view.
tenantUUIDperiod_start_dateperiod_end_datestatussortpageper_pageperiodperiod.fromperiod.todatadata.invoice_uuiddata.invoice_numberdata.perioddata.payout_datedata.payout_status data.ips_countdata.total_salesdata.average_net_per_ipdata.transaction_feedata.holder_feedata.deductionsdata.net_payoutdata.payment_confirmation_uuiddata.payment_confirmation_numberdata.holder_fee_invoice_uuidmetameta.current_pagemeta.per_pagemeta.totalmeta.last_pagemeta.frommeta.tototal_salestotal_net_payoutcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/stats/v2' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/stats/v2"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/stats/v2";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/stats/v2", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/stats/v2");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"period": {
"from": "string",
"to": "string"
},
"data": [
{
"invoice_uuid": "00000000-0000-0000-0000-000000000000",
"invoice_number": "string",
"period": "string",
"payout_date": 1,
"payout_status": {
"type": "object",
"x-truncated": true
},
"ips_count": 1,
"total_sales": 1.0,
"average_net_per_ip": 1.0
}
],
"meta": {
"current_page": 1,
"per_page": 1,
"total": 1,
"last_page": 1,
"from": 1,
"to": 1
},
"total_sales": 1.0,
"total_net_payout": 1.0
}Export Payout Invoice Statistics to CSV
/v1/{tenantUUID}/market/payouts/stats/v2/exportExport IP Market Payout Invoice Statistics with detailed breakdown as CSV file
tenantUUIDperiod_start_dateperiod_end_datestatuscurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/stats/v2/export' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/stats/v2/export"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/stats/v2/export";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/stats/v2/export", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/stats/v2/export");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Get single payout
/v1/{tenantUUID}/market/payouts/{payoutUuid}Returns single payout identified by target UUID
tenantUUIDpayoutUuiduuidtenant_uuidservice_uuidaddresscidramounttotallease_countstatuspending completed rejected graphstatus_detailsmethodtransaction_idstartendstatus_datecreated_atearningsearnings.service_uuidearnings.payout_uuidearnings.amountearnings.startearnings.endearnings.created_atcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/{payoutUuid}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/{payoutUuid}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/{payoutUuid}";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/{payoutUuid}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts/{payoutUuid}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"uuid": "00000000-0000-0000-0000-000000000000",
"tenant_uuid": "00000000-0000-0000-0000-000000000000",
"service_uuid": "00000000-0000-0000-0000-000000000000",
"address": "string",
"cidr": 1,
"amount": 1.0,
"total": 1.0,
"lease_count": 1
}List Payouts Invoices
/v1/{tenantUUID}/market/payouts_invoicesList IP Market Payouts Invoices
tenantUUIDuuidinvoice_numberservice_uuidsubnettotalstatusstartendsortpageper_pagedatadata.uuiddata.invoice_numberdata.tenant_uuiddata.totaldata.feesdata.status data.datedata.date_paiddata.payment_confirmation_uuiddata.itemsmetameta.current_pagemeta.frommeta.last_pagemeta.per_pagemeta.tometa.totalcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"invoice_number": "string",
"tenant_uuid": "00000000-0000-0000-0000-000000000000",
"total": 1.0,
"fees": 1.0,
"status": {
"type": "object",
"x-truncated": true
},
"date": 1,
"date_paid": 1
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 1,
"to": 1,
"total": 1
}
}Export payout invoices CSV
/v1/{tenantUUID}/market/payouts_invoices/export/csvExport payout invoices CSV
tenantUUIDcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/export/csv' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/export/csv"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/export/csv";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/export/csv", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/export/csv");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Get single payout invoice
/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}Returns single payout invoice
tenantUUIDpayoutInvoiceUuiduuidinvoice_numbertenant_uuidtotalfeesstatuspaid unpaiddatedate_paidpayment_confirmation_uuiditemsitems.uuiditems.typeitems.descriptionitems.period_startitems.period_enditems.amountitems.cidritems.addressitems.service_uuiditems.startitems.endcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"uuid": "00000000-0000-0000-0000-000000000000",
"invoice_number": "string",
"tenant_uuid": "00000000-0000-0000-0000-000000000000",
"total": 1.0,
"fees": 1.0,
"status": "paid",
"date": 1,
"date_paid": 1
}Get Self-Billing Invoice Lease Items
/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/itemsGet detailed breakdown of individual lease items within a self-billing (payout) invoice
tenantUUIDpayoutInvoiceUuidsortpageper_pagedatadata.subnetdata.lease_period_fromdata.lease_period_todata.salesdata.holder_feedata.deductionsdata.net_earningsmetameta.current_pagemeta.per_pagemeta.totalmeta.last_pagemeta.frommeta.tocurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/items' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/items"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/items";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/items", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/items");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"subnet": "string",
"lease_period_from": "string",
"lease_period_to": "string",
"sales": 1.0,
"holder_fee": 1.0,
"deductions": 1.0,
"net_earnings": 1.0
}
],
"meta": {
"current_page": 1,
"per_page": 1,
"total": 1,
"last_page": 1,
"from": 1,
"to": 1
}
}Get payout invoice as PDF
/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/pdfReturns payout invoice as pdf
tenantUUIDpayoutInvoiceUuidcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/pdf' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/pdf"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/pdf";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/pdf", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/pdf");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Get Self-Billing Invoice Statistics
/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/statsGet detailed statistics for a specific self-billing (payout) invoice
tenantUUIDpayoutInvoiceUuidperiodperiod.fromperiod.todatadata.invoice_uuiddata.invoice_numberdata.perioddata.payout_datedata.payout_status data.ips_countdata.total_salesdata.average_net_per_ipdata.transaction_feedata.holder_feedata.deductionsdata.net_payoutdata.payment_confirmation_uuiddata.payment_confirmation_numberdata.holder_fee_invoice_uuidmetameta.current_pagemeta.per_pagemeta.totalmeta.last_pagemeta.frommeta.tototal_salestotal_net_payoutcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/stats' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/stats"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/stats";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/stats", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/payouts_invoices/{payoutInvoiceUuid}/stats");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"period": {
"from": "string",
"to": "string"
},
"data": [
{
"invoice_uuid": "00000000-0000-0000-0000-000000000000",
"invoice_number": "string",
"period": "string",
"payout_date": 1,
"payout_status": {
"type": "object",
"x-truncated": true
},
"ips_count": 1,
"total_sales": 1.0,
"average_net_per_ip": 1.0
}
],
"meta": {
"current_page": 1,
"per_page": 1,
"total": 1,
"last_page": 1,
"from": 1,
"to": 1
},
"total_sales": 1.0,
"total_net_payout": 1.0
}Credits
1 operations
The spec declares no named object for this resource, so the renderer synthesised one from its richest response body (GET /public/{user_id}/balances). Fields no endpoint returns cannot appear here.
datadata.available_balancedata.total_balancedata.currencydata.updated_atShow Balance
/public/{user_id}/balancesShow customer Balance
user_idfilter[currency]datadata.available_balancedata.total_balancedata.currencydata.updated_atcurl -X GET 'https://apigw.ipxo.com/credits/public/{user_id}/balances' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/credits/public/{user_id}/balances"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/credits/public/{user_id}/balances";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/credits/public/{user_id}/balances", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/credits/public/{user_id}/balances");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"available_balance": 1.0,
"total_balance": 1.0,
"currency": "string",
"updated_at": "string"
}
}Prefixes
14 operations
PrefixHolderDeclared in the spec. Shown from PATCH /{tenantUUID}/prefixes/{notation}/metadata.
notationipNetipNet.ipipNet.maskinternalMetadatainternalMetadata.internalinternalMetadata.readOnlyinternalMetadata.masterinternalMetadata.prefixLengthLimitsinternalMetadata.holdersexternalMetadataholderMetadatageodatageodata.providergeodata.countryNamegeodata.countryCodegeodata.cityNamegeodata.dategeodata.statewhoiswhois.inetnumwhois.registrarwhois.sourcewhois.recordActivewhois.netswhois.domainsbgpbgp.peerCountbgp.asOriginsbgp.asSetOriginsrpkirpki.roasrpki.suggestionsroutesroutes.routeroutes.originroutes.descrroutes.mnt_byroutes.changedroutes.sourceroutingHealthroutingHealth.criticalityStatus routingHealth.bgpStatusroutingHealth.bgpActionsroutingHealth.rpkiStatusroutingHealth.rpkiActionsroutingHealth.irrStatusroutingHealth.irrActionsroutingHealth.irmActionscacheDerrivedcacheDerrived.registrarSet Holder Metadata
/{tenantUUID}/prefixes/metadataUpdates target prefix holder metadata and returns updated prefixes.
tenantUUIDnotationmetadatanotationipNetipNet.ipipNet.maskinternalMetadatainternalMetadata.internalinternalMetadata.readOnlyinternalMetadata.masterinternalMetadata.prefixLengthLimitsinternalMetadata.holdersexternalMetadataholderMetadatageodatageodata.providergeodata.countryNamegeodata.countryCodegeodata.cityNamegeodata.dategeodata.statewhoiswhois.inetnumwhois.registrarwhois.sourcewhois.recordActivewhois.netswhois.domainsbgpbgp.peerCountbgp.asOriginsbgp.asSetOriginsrpkirpki.roasrpki.suggestionsroutesroutes.routeroutes.originroutes.descrroutes.mnt_byroutes.changedroutes.sourceroutingHealthroutingHealth.criticalityStatusroutingHealth.bgpStatusroutingHealth.bgpActionsroutingHealth.rpkiStatusroutingHealth.rpkiActionsroutingHealth.irrStatusroutingHealth.irrActionsroutingHealth.irmActionscacheDerrivedcacheDerrived.registrarcurl -X PATCH 'https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '[
{
"notation": "string",
"metadata": {}
}
]'import os, requests
url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = [
{
"notation": "string",
"metadata": {}
}
]
r = requests.patch(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata";
const res = await fetch(url, {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify([
{
"notation": "string",
"metadata": {}
}
]),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`[
{
"notation": "string",
"metadata": {}
}
]`)
req, _ := http.NewRequest("PATCH", "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([[
"notation" => "string",
"metadata" => [
]
]]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;[
{
"notation": "string",
"ipNet": {
"ip": "string",
"mask": "string"
},
"internalMetadata": {
"internal": "string",
"readOnly": "string",
"master": "string",
"prefixLengthLimits": {},
"holders": "string"
},
"externalMetadata": {},
"holderMetadata": {},
"geodata": [
{
"provider": {},
"countryName": {},
"countryCode": {},
"cityName": {},
"date": {},
"state": {}
}
],
"whois": {
"inetnum": "string",
"registrar": "string",
"source": "string",
"recordActive": "string",
"nets": "string",
"domains": "string"
},
"bgp": {
"peerCount": {},
"asOrigins": "string",
"asSetOrigins": "string"
}
}
]{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}Delete Holder Metadata
/{tenantUUID}/prefixes/metadataDeletes target prefix holder metadata by requested keys and returns updated prefixes.
tenantUUIDnotationmetadatanotationipNetipNet.ipipNet.maskinternalMetadatainternalMetadata.internalinternalMetadata.readOnlyinternalMetadata.masterinternalMetadata.prefixLengthLimitsinternalMetadata.holdersexternalMetadataholderMetadatageodatageodata.providergeodata.countryNamegeodata.countryCodegeodata.cityNamegeodata.dategeodata.statewhoiswhois.inetnumwhois.registrarwhois.sourcewhois.recordActivewhois.netswhois.domainsbgpbgp.peerCountbgp.asOriginsbgp.asSetOriginsrpkirpki.roasrpki.suggestionsroutesroutes.routeroutes.originroutes.descrroutes.mnt_byroutes.changedroutes.sourceroutingHealthroutingHealth.criticalityStatusroutingHealth.bgpStatusroutingHealth.bgpActionsroutingHealth.rpkiStatusroutingHealth.rpkiActionsroutingHealth.irrStatusroutingHealth.irrActionsroutingHealth.irmActionscacheDerrivedcacheDerrived.registrarcurl -X DELETE 'https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '[
{
"notation": "string",
"metadata": [
"string"
]
}
]'import os, requests
url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = [
{
"notation": "string",
"metadata": [
"string"
]
}
]
r = requests.delete(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata";
const res = await fetch(url, {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify([
{
"notation": "string",
"metadata": [
"string"
]
}
]),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`[
{
"notation": "string",
"metadata": [
"string"
]
}
]`)
req, _ := http.NewRequest("DELETE", "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([[
"notation" => "string",
"metadata" => ["string"]
]]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;[
{
"notation": "string",
"ipNet": {
"ip": "string",
"mask": "string"
},
"internalMetadata": {
"internal": "string",
"readOnly": "string",
"master": "string",
"prefixLengthLimits": {},
"holders": "string"
},
"externalMetadata": {},
"holderMetadata": {},
"geodata": [
{
"provider": {},
"countryName": {},
"countryCode": {},
"cityName": {},
"date": {},
"state": {}
}
],
"whois": {
"inetnum": "string",
"registrar": "string",
"source": "string",
"recordActive": "string",
"nets": "string",
"domains": "string"
},
"bgp": {
"peerCount": {},
"asOrigins": "string",
"asSetOrigins": "string"
}
}
]{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}Delete All Holder Metadata
/{tenantUUID}/prefixes/metadata/allDeletes target prefix holder metadata and returns updated prefixes.
tenantUUIDnotationnotationipNetipNet.ipipNet.maskinternalMetadatainternalMetadata.internalinternalMetadata.readOnlyinternalMetadata.masterinternalMetadata.prefixLengthLimitsinternalMetadata.holdersexternalMetadataholderMetadatageodatageodata.providergeodata.countryNamegeodata.countryCodegeodata.cityNamegeodata.dategeodata.statewhoiswhois.inetnumwhois.registrarwhois.sourcewhois.recordActivewhois.netswhois.domainsbgpbgp.peerCountbgp.asOriginsbgp.asSetOriginsrpkirpki.roasrpki.suggestionsroutesroutes.routeroutes.originroutes.descrroutes.mnt_byroutes.changedroutes.sourceroutingHealthroutingHealth.criticalityStatusroutingHealth.bgpStatusroutingHealth.bgpActionsroutingHealth.rpkiStatusroutingHealth.rpkiActionsroutingHealth.irrStatusroutingHealth.irrActionsroutingHealth.irmActionscacheDerrivedcacheDerrived.registrarcurl -X DELETE 'https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/all' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '[
{
"notation": "string"
}
]'import os, requests
url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/all"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = [
{
"notation": "string"
}
]
r = requests.delete(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/all";
const res = await fetch(url, {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify([
{
"notation": "string"
}
]),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`[
{
"notation": "string"
}
]`)
req, _ := http.NewRequest("DELETE", "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/all", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/all");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([[
"notation" => "string"
]]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;[
{
"notation": "string",
"ipNet": {
"ip": "string",
"mask": "string"
},
"internalMetadata": {
"internal": "string",
"readOnly": "string",
"master": "string",
"prefixLengthLimits": {},
"holders": "string"
},
"externalMetadata": {},
"holderMetadata": {},
"geodata": [
{
"provider": {},
"countryName": {},
"countryCode": {},
"cityName": {},
"date": {},
"state": {}
}
],
"whois": {
"inetnum": "string",
"registrar": "string",
"source": "string",
"recordActive": "string",
"nets": "string",
"domains": "string"
},
"bgp": {
"peerCount": {},
"asOrigins": "string",
"asSetOrigins": "string"
}
}
]{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}Add metadata array elements to existing prefix holders metadata
/{tenantUUID}/prefixes/metadata/arrayThis endpoint allows for the addition of array elements to the metadata arrays of existing prefix holders. If matching values already exist no action is performed.
tenantUUIDnotationitemsitems.pathToArrayitems.elementsitems.positionnotationipNetipNet.ipipNet.maskmaskSizetype0 1holderMetadatacurl -X POST 'https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/array' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '[
{
"notation": "string",
"items": [
{
"pathToArray": {},
"elements": {},
"position": {}
}
]
}
]'import os, requests
url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/array"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = [
{
"notation": "string",
"items": [
{
"pathToArray": {},
"elements": {},
"position": {}
}
]
}
]
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/array";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify([
{
"notation": "string",
"items": [
{
"pathToArray": {},
"elements": {},
"position": {}
}
]
}
]),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`[
{
"notation": "string",
"items": [
{
"pathToArray": {},
"elements": {},
"position": {}
}
]
}
]`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/array", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/array");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([[
"notation" => "string",
"items" => [[
"pathToArray" => [
],
"elements" => [
],
"position" => [
]
]]
]]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;[
{
"notation": "string",
"ipNet": {
"ip": "string",
"mask": "string"
},
"maskSize": 1,
"type": 0,
"holderMetadata": {}
}
]{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}Add metadata array elements to existing prefix holders metadata
/{tenantUUID}/prefixes/metadata/arrayThis endpoint allows for the addition of array elements to the metadata arrays of existing prefix holders. Values are always added to the target array. Position can be provided to set where exactly in the array new values should be added. If element in the target position already exists the value is overwritten.
tenantUUIDnotationitemsitems.pathToArrayitems.elementsitems.positionnotationipNetipNet.ipipNet.maskmaskSizetype0 1holderMetadatacurl -X PATCH 'https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/array' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '[
{
"notation": "string",
"items": [
{
"pathToArray": {},
"elements": {},
"position": {}
}
]
}
]'import os, requests
url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/array"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = [
{
"notation": "string",
"items": [
{
"pathToArray": {},
"elements": {},
"position": {}
}
]
}
]
r = requests.patch(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/array";
const res = await fetch(url, {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify([
{
"notation": "string",
"items": [
{
"pathToArray": {},
"elements": {},
"position": {}
}
]
}
]),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`[
{
"notation": "string",
"items": [
{
"pathToArray": {},
"elements": {},
"position": {}
}
]
}
]`)
req, _ := http.NewRequest("PATCH", "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/array", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/array");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([[
"notation" => "string",
"items" => [[
"pathToArray" => [
],
"elements" => [
],
"position" => [
]
]]
]]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;[
{
"notation": "string",
"ipNet": {
"ip": "string",
"mask": "string"
},
"maskSize": 1,
"type": 0,
"holderMetadata": {}
}
]{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}Remove metadata array elements from existing prefix holders metadata
/{tenantUUID}/prefixes/metadata/arrayThis endpoint allows for the deletion of array elements from the metadata arrays of existing prefix holders. This endpoint can be combined with `DELETE - /{tenantUUID}/prefixes/metadata` by removing specific array components with that endpoint first and since it sets values to `NULL` when performing delete operations on array positions, one can execute this API call by providing single value of `NULL` to `elements` and it will easily remove all those elements, freeing up array space and resetting positions.
tenantUUIDnotationitemsitems.pathToArrayitems.elementsitems.positionnotationipNetipNet.ipipNet.maskmaskSizetype0 1holderMetadatacurl -X DELETE 'https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/array' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '[
{
"notation": "string",
"items": [
{
"pathToArray": {},
"elements": {},
"position": {}
}
]
}
]'import os, requests
url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/array"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = [
{
"notation": "string",
"items": [
{
"pathToArray": {},
"elements": {},
"position": {}
}
]
}
]
r = requests.delete(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/array";
const res = await fetch(url, {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify([
{
"notation": "string",
"items": [
{
"pathToArray": {},
"elements": {},
"position": {}
}
]
}
]),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`[
{
"notation": "string",
"items": [
{
"pathToArray": {},
"elements": {},
"position": {}
}
]
}
]`)
req, _ := http.NewRequest("DELETE", "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/array", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/metadata/array");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([[
"notation" => "string",
"items" => [[
"pathToArray" => [
],
"elements" => [
],
"position" => [
]
]]
]]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;[
{
"notation": "string",
"ipNet": {
"ip": "string",
"mask": "string"
},
"maskSize": 1,
"type": 0,
"holderMetadata": {}
}
]{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}Search for Prefixes
/{tenantUUID}/prefixes/searchReturns a list of prefixes that match the given search parameters.
tenantUUIDnotationnotation.fieldnotation.opnotation.valsnotation.childreninternalMetadatainternalMetadata.fieldinternalMetadata.opinternalMetadata.valsinternalMetadata.childrenexternalMetadataexternalMetadata.fieldexternalMetadata.opexternalMetadata.valsexternalMetadata.childrenholderMetadataholderMetadata.fieldholderMetadata.opholderMetadata.valsholderMetadata.childrengeodatageodata.fieldgeodata.opgeodata.valsgeodata.childrenwhoiswhois.fieldwhois.opwhois.valswhois.childrenbgpbgp.fieldbgp.opbgp.valsbgp.childrenrpkirpki.fieldrpki.oprpki.valsrpki.childrenroutesroutes.fieldroutes.oproutes.valsroutes.childrenroutingHealthroutingHealth.fieldroutingHealth.oproutingHealth.valsroutingHealth.childrencacheDerrivedcacheDerrived.fieldcacheDerrived.opcacheDerrived.valscacheDerrived.childrenoffsetlimitsortfieldsdatadata.notationdata.ipNetdata.internalMetadatadata.externalMetadatadata.holderMetadatadata.geodatadata.whoisdata.bgpdata.rpkidata.routesdata.routingHealthdata.cacheDerrivedmetadatametadata.limitmetadata.offsetcurl -X POST 'https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/search' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"notation": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"internalMetadata": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"externalMetadata": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"holderMetadata": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"geodata": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"whois": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"bgp": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"rpki": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
}
}'import os, requests
url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/search"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"notation": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"internalMetadata": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"externalMetadata": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"holderMetadata": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"geodata": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"whois": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"bgp": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"rpki": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
}
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/search";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"notation": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"internalMetadata": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"externalMetadata": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"holderMetadata": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"geodata": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"whois": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"bgp": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"rpki": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
}
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"notation": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"internalMetadata": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"externalMetadata": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"holderMetadata": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"geodata": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"whois": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"bgp": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
},
"rpki": {
"field": "string",
"op": "string",
"vals": [
"string"
],
"children": [
{}
]
}
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/search", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/search");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"notation" => [
"field" => "string",
"op" => "string",
"vals" => ["string"],
"children" => [[
]]
],
"internalMetadata" => [
"field" => "string",
"op" => "string",
"vals" => ["string"],
"children" => [[
]]
],
"externalMetadata" => [
"field" => "string",
"op" => "string",
"vals" => ["string"],
"children" => [[
]]
],
"holderMetadata" => [
"field" => "string",
"op" => "string",
"vals" => ["string"],
"children" => [[
]]
],
"geodata" => [
"field" => "string",
"op" => "string",
"vals" => ["string"],
"children" => [[
]]
],
"whois" => [
"field" => "string",
"op" => "string",
"vals" => ["string"],
"children" => [[
]]
],
"bgp" => [
"field" => "string",
"op" => "string",
"vals" => ["string"],
"children" => [[
]]
],
"rpki" => [
"field" => "string",
"op" => "string",
"vals" => ["string"],
"children" => [[
]]
]
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"notation": "string",
"ipNet": {},
"internalMetadata": {},
"externalMetadata": {},
"holderMetadata": {},
"geodata": "string",
"whois": {},
"bgp": {}
}
],
"metadata": {
"limit": 1,
"offset": 1
}
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}Find master prefixes with subsets metadata
/{tenantUUID}/prefixes/subsets/metadataReturns the master prefixes with subsets metadata based on the provided search criteria
tenantUUIDnotationoffsetlimitsortfieldsdatadata.notationdata.ipNetdata.internalMetadatadata.externalMetadatadata.holderMetadatadata.geodatadata.whoisdata.bgpdata.rpkidata.routesdata.routingHealthdata.cacheDerriveddata.subsetsmetadatametadata.limitmetadata.offsetcurl -X GET 'https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/subsets/metadata' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/subsets/metadata"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/subsets/metadata";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/subsets/metadata", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/subsets/metadata");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"notation": "string",
"ipNet": {},
"internalMetadata": {},
"externalMetadata": {},
"holderMetadata": {},
"geodata": "string",
"whois": {},
"bgp": {}
}
],
"metadata": {
"limit": 1,
"offset": 1
}
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}Set Holder Metadata for a single Prefix
/{tenantUUID}/prefixes/{notation}/metadataUpdates target prefix holder metadata and returns updated prefix.
tenantUUIDnotationmetadatanotationipNetipNet.ipipNet.maskinternalMetadatainternalMetadata.internalinternalMetadata.readOnlyinternalMetadata.masterinternalMetadata.prefixLengthLimitsinternalMetadata.prefixLengthLimits.typeinternalMetadata.prefixLengthLimits.x-truncatedinternalMetadata.holdersexternalMetadataholderMetadatageodatageodata.providergeodata.countryNamegeodata.countryCodegeodata.cityNamegeodata.dategeodata.statewhoiswhois.inetnumwhois.registrarwhois.sourcewhois.recordActivewhois.netswhois.domainsbgpbgp.peerCountbgp.peerCount.typebgp.peerCount.x-truncatedbgp.asOriginsbgp.asSetOriginsrpkirpki.roasrpki.suggestionsroutesroutes.routeroutes.originroutes.descrroutes.mnt_byroutes.changedroutes.sourceroutingHealthroutingHealth.criticalityStatus routingHealth.bgpStatusroutingHealth.bgpActionsroutingHealth.rpkiStatusroutingHealth.rpkiActionsroutingHealth.irrStatusroutingHealth.irrActionsroutingHealth.irmActionscacheDerrivedcacheDerrived.registrarcurl -X PATCH 'https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"metadata": {}
}'import os, requests
url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"metadata": {}
}
r = requests.patch(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata";
const res = await fetch(url, {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"metadata": {}
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"metadata": {}
}`)
req, _ := http.NewRequest("PATCH", "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"metadata" => [
]
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"notation": "string",
"ipNet": {
"ip": "string",
"mask": "string"
},
"internalMetadata": {
"internal": true,
"readOnly": true,
"master": true,
"prefixLengthLimits": {
"type": "string",
"x-truncated": "string"
},
"holders": [
{}
]
},
"externalMetadata": {},
"holderMetadata": {},
"geodata": [
{
"provider": "string",
"countryName": "string",
"countryCode": "string",
"cityName": "string",
"date": "string",
"state": "string"
}
],
"whois": {
"inetnum": "string",
"registrar": "string",
"source": "string",
"recordActive": true,
"nets": [
{}
],
"domains": [
{}
]
},
"bgp": {
"peerCount": {
"type": "string",
"x-truncated": "string"
},
"asOrigins": [
{}
],
"asSetOrigins": [
{}
]
}
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}Delete Holder Metadata for a single Prefix
/{tenantUUID}/prefixes/{notation}/metadataDeletes target prefix holder metadata and returns updated prefix.
tenantUUIDnotationmetadatanotationipNetipNet.ipipNet.maskinternalMetadatainternalMetadata.internalinternalMetadata.readOnlyinternalMetadata.masterinternalMetadata.prefixLengthLimitsinternalMetadata.prefixLengthLimits.typeinternalMetadata.prefixLengthLimits.x-truncatedinternalMetadata.holdersexternalMetadataholderMetadatageodatageodata.providergeodata.countryNamegeodata.countryCodegeodata.cityNamegeodata.dategeodata.statewhoiswhois.inetnumwhois.registrarwhois.sourcewhois.recordActivewhois.netswhois.domainsbgpbgp.peerCountbgp.peerCount.typebgp.peerCount.x-truncatedbgp.asOriginsbgp.asSetOriginsrpkirpki.roasrpki.suggestionsroutesroutes.routeroutes.originroutes.descrroutes.mnt_byroutes.changedroutes.sourceroutingHealthroutingHealth.criticalityStatus routingHealth.bgpStatusroutingHealth.bgpActionsroutingHealth.rpkiStatusroutingHealth.rpkiActionsroutingHealth.irrStatusroutingHealth.irrActionsroutingHealth.irmActionscacheDerrivedcacheDerrived.registrarcurl -X DELETE 'https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"metadata": [
"string"
]
}'import os, requests
url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"metadata": [
"string"
]
}
r = requests.delete(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata";
const res = await fetch(url, {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"metadata": [
"string"
]
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"metadata": [
"string"
]
}`)
req, _ := http.NewRequest("DELETE", "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"metadata" => ["string"]
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"notation": "string",
"ipNet": {
"ip": "string",
"mask": "string"
},
"internalMetadata": {
"internal": true,
"readOnly": true,
"master": true,
"prefixLengthLimits": {
"type": "string",
"x-truncated": "string"
},
"holders": [
{}
]
},
"externalMetadata": {},
"holderMetadata": {},
"geodata": [
{
"provider": "string",
"countryName": "string",
"countryCode": "string",
"cityName": "string",
"date": "string",
"state": "string"
}
],
"whois": {
"inetnum": "string",
"registrar": "string",
"source": "string",
"recordActive": true,
"nets": [
{}
],
"domains": [
{}
]
},
"bgp": {
"peerCount": {
"type": "string",
"x-truncated": "string"
},
"asOrigins": [
{}
],
"asSetOrigins": [
{}
]
}
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}Delete All Holder Metadata for a single Prefix
/{tenantUUID}/prefixes/{notation}/metadata/allDeletes target prefix holder metadata and returns updated prefix.
tenantUUIDnotationnotationipNetipNet.ipipNet.maskinternalMetadatainternalMetadata.internalinternalMetadata.readOnlyinternalMetadata.masterinternalMetadata.prefixLengthLimitsinternalMetadata.prefixLengthLimits.typeinternalMetadata.prefixLengthLimits.x-truncatedinternalMetadata.holdersexternalMetadataholderMetadatageodatageodata.providergeodata.countryNamegeodata.countryCodegeodata.cityNamegeodata.dategeodata.statewhoiswhois.inetnumwhois.registrarwhois.sourcewhois.recordActivewhois.netswhois.domainsbgpbgp.peerCountbgp.peerCount.typebgp.peerCount.x-truncatedbgp.asOriginsbgp.asSetOriginsrpkirpki.roasrpki.suggestionsroutesroutes.routeroutes.originroutes.descrroutes.mnt_byroutes.changedroutes.sourceroutingHealthroutingHealth.criticalityStatus routingHealth.bgpStatusroutingHealth.bgpActionsroutingHealth.rpkiStatusroutingHealth.rpkiActionsroutingHealth.irrStatusroutingHealth.irrActionsroutingHealth.irmActionscacheDerrivedcacheDerrived.registrarcurl -X DELETE 'https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/all' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/all"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.delete(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/all";
const res = await fetch(url, {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("DELETE", "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/all", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/all");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"notation": "string",
"ipNet": {
"ip": "string",
"mask": "string"
},
"internalMetadata": {
"internal": true,
"readOnly": true,
"master": true,
"prefixLengthLimits": {
"type": "string",
"x-truncated": "string"
},
"holders": [
{}
]
},
"externalMetadata": {},
"holderMetadata": {},
"geodata": [
{
"provider": "string",
"countryName": "string",
"countryCode": "string",
"cityName": "string",
"date": "string",
"state": "string"
}
],
"whois": {
"inetnum": "string",
"registrar": "string",
"source": "string",
"recordActive": true,
"nets": [
{}
],
"domains": [
{}
]
},
"bgp": {
"peerCount": {
"type": "string",
"x-truncated": "string"
},
"asOrigins": [
{}
],
"asSetOrigins": [
{}
]
}
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}Add metadata array elements to existing prefix holders metadata of a specified notation
/{tenantUUID}/prefixes/{notation}/metadata/arrayThis endpoint allows for the addition of array elements to the metadata arrays of existing prefix holders notation. If matching values already exist no action is performed.
tenantUUIDnotationpathToArrayelementspositionnotationipNetipNet.ipipNet.maskmaskSizetype0 1holderMetadatacurl -X POST 'https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/array' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '[
{
"pathToArray": "string",
"elements": [
{}
],
"position": 1
}
]'import os, requests
url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/array"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = [
{
"pathToArray": "string",
"elements": [
{}
],
"position": 1
}
]
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/array";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify([
{
"pathToArray": "string",
"elements": [
{}
],
"position": 1
}
]),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`[
{
"pathToArray": "string",
"elements": [
{}
],
"position": 1
}
]`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/array", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/array");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([[
"pathToArray" => "string",
"elements" => [[
]],
"position" => 1
]]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;[
{
"notation": "string",
"ipNet": {
"ip": "string",
"mask": "string"
},
"maskSize": 1,
"type": 0,
"holderMetadata": {}
}
]{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}Add metadata array elements to existing prefix holders metadata of a specified notation
/{tenantUUID}/prefixes/{notation}/metadata/arrayThis endpoint allows for the addition of array elements to the metadata arrays of existing prefix holders notation. Values are always added to the target array. Position can be provided to set where exactly in the array new values should be added. If element in the target position already exists the value is overwritten.
tenantUUIDnotationpathToArrayelementspositionnotationipNetipNet.ipipNet.maskmaskSizetype0 1holderMetadatacurl -X PATCH 'https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/array' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '[
{
"pathToArray": "string",
"elements": [
{}
],
"position": 1
}
]'import os, requests
url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/array"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = [
{
"pathToArray": "string",
"elements": [
{}
],
"position": 1
}
]
r = requests.patch(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/array";
const res = await fetch(url, {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify([
{
"pathToArray": "string",
"elements": [
{}
],
"position": 1
}
]),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`[
{
"pathToArray": "string",
"elements": [
{}
],
"position": 1
}
]`)
req, _ := http.NewRequest("PATCH", "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/array", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/array");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([[
"pathToArray" => "string",
"elements" => [[
]],
"position" => 1
]]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;[
{
"notation": "string",
"ipNet": {
"ip": "string",
"mask": "string"
},
"maskSize": 1,
"type": 0,
"holderMetadata": {}
}
]{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}Remove metadata array elements from existing prefix holders metadata of a specified notation
/{tenantUUID}/prefixes/{notation}/metadata/arrayThis endpoint allows for the deletion of array elements from the metadata arrays of existing prefix holders notation. This endpoint can be combined with `DELETE - /{tenantUUID}/prefixes/metadata` by removing specific array components with that endpoint first and since it sets values to `NULL` when performing delete operations on array positions, one can execute this API call by providing single value of `NULL` to `elements` and it will easily remove all those elements, freeing up array space and resetting positions.
tenantUUIDnotationpathToArrayelementspositionnotationipNetipNet.ipipNet.maskmaskSizetype0 1holderMetadatacurl -X DELETE 'https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/array' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '[
{
"pathToArray": "string",
"elements": [
{}
],
"position": 1
}
]'import os, requests
url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/array"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = [
{
"pathToArray": "string",
"elements": [
{}
],
"position": 1
}
]
r = requests.delete(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/array";
const res = await fetch(url, {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify([
{
"pathToArray": "string",
"elements": [
{}
],
"position": 1
}
]),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`[
{
"pathToArray": "string",
"elements": [
{}
],
"position": 1
}
]`)
req, _ := http.NewRequest("DELETE", "https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/array", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/nethub-data/{tenantUUID}/prefixes/{notation}/metadata/array");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([[
"pathToArray" => "string",
"elements" => [[
]],
"position" => 1
]]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;[
{
"notation": "string",
"ipNet": {
"ip": "string",
"mask": "string"
},
"maskSize": 1,
"type": 0,
"holderMetadata": {}
}
]{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}{
"status": "string",
"code": 1,
"error": "string"
}Payment methods
6 operations
The spec declares no named object for this resource, so the renderer synthesised one from its richest response body (GET /public/{user_id}/payment-methods). Fields no endpoint returns cannot appear here.
datadata.uuiddata.typedata.is_defaultdata.detailsdata.statusmetameta.current_pagemeta.totalmeta.per_pageList Gateways
/public/{user_id}/gatewaysList all Gateways.
user_iddatadata.uuiddata.gatewaydata.configdata.config.public_keymetameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/gateways' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/gateways"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/gateways";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/gateways", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/gateways");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"gateway": "string",
"config": {
"public_key": "string"
}
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}Setup Gateway
/public/{user_id}/gateways/{gatewayConfig_uuid}/setupSetup Gateway
user_idgatewayConfig_uuidcurl -X POST 'https://apigw.ipxo.com/ecommerce/public/{user_id}/gateways/{gatewayConfig_uuid}/setup' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/gateways/{gatewayConfig_uuid}/setup"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.post(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/gateways/{gatewayConfig_uuid}/setup";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/{user_id}/gateways/{gatewayConfig_uuid}/setup", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/gateways/{gatewayConfig_uuid}/setup");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{}Add Payment Method
/public/{user_id}/gateways/{gatewayConfig_uuid}/{paymentMethodType}Add Payment Method
user_idgatewayConfig_uuidpaymentMethodTypecurl -X POST 'https://apigw.ipxo.com/ecommerce/public/{user_id}/gateways/{gatewayConfig_uuid}/{paymentMethodType}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/gateways/{gatewayConfig_uuid}/{paymentMethodType}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.post(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/gateways/{gatewayConfig_uuid}/{paymentMethodType}";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/{user_id}/gateways/{gatewayConfig_uuid}/{paymentMethodType}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/gateways/{gatewayConfig_uuid}/{paymentMethodType}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{}List Payment Methods
/public/{user_id}/payment-methodsList the Payment Methods.
user_idfilter[type]filter[status]datadata.uuiddata.typedata.is_defaultdata.detailsdata.details.card_branddata.details.card_last_fourdata.details.card_expiry_monthdata.details.card_expiry_yeardata.statusmetameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/payment-methods' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/payment-methods"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/payment-methods";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/payment-methods", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/payment-methods");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"type": "string",
"is_default": true,
"details": {
"card_brand": "string",
"card_last_four": "string",
"card_expiry_month": "string",
"card_expiry_year": "string"
},
"status": "string"
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}Updates Payment Method
/public/{user_id}/payment-methods/{paymentMethod_uuid}Updates Payment Method information.
user_idpaymentMethod_uuidmake_defaultdatadata.uuiddata.typedata.is_defaultdata.detailsdata.details.card_branddata.details.card_last_fourdata.details.card_expiry_monthdata.details.card_expiry_yeardata.statuscurl -X PATCH 'https://apigw.ipxo.com/ecommerce/public/{user_id}/payment-methods/{paymentMethod_uuid}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"make_default": true
}'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/payment-methods/{paymentMethod_uuid}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"make_default": true
}
r = requests.patch(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/payment-methods/{paymentMethod_uuid}";
const res = await fetch(url, {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"make_default": true
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"make_default": true
}`)
req, _ := http.NewRequest("PATCH", "https://apigw.ipxo.com/ecommerce/public/{user_id}/payment-methods/{paymentMethod_uuid}", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/payment-methods/{paymentMethod_uuid}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"make_default" => true
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"type": "string",
"is_default": true,
"details": {
"card_brand": "string",
"card_last_four": "string",
"card_expiry_month": 1,
"card_expiry_year": 1
},
"status": "string"
}
}Delete Payment Method
/public/{user_id}/payment-methods/{paymentMethod_uuid}Delete a Payment Method
user_idpaymentMethod_uuidcurl -X DELETE 'https://apigw.ipxo.com/ecommerce/public/{user_id}/payment-methods/{paymentMethod_uuid}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/payment-methods/{paymentMethod_uuid}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.delete(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/payment-methods/{paymentMethod_uuid}";
const res = await fetch(url, {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("DELETE", "https://apigw.ipxo.com/ecommerce/public/{user_id}/payment-methods/{paymentMethod_uuid}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/payment-methods/{paymentMethod_uuid}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{}Addresses
5 operations
The spec declares no named object for this resource, so the renderer synthesised one from its richest response body (GET /public/{user_id}/addresses). Fields no endpoint returns cannot appear here.
datadata.uuiddata.first_namedata.last_namedata.company_namedata.vat_numberdata.vat_validation_statusdata.vat_validated_atdata.line_onedata.line_twodata.line_threedata.citydata.province_codedata.country_codedata.postcodedata.contact_emaildata.contact_phonedata.company_codemetameta.current_pagemeta.totalmeta.per_pageList Countries
/public/common/countriesList all Countries.
datadata.namedata.codemetameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/common/countries' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/common/countries"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/common/countries";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/common/countries", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/common/countries");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"name": "string",
"code": "string"
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}List Provinces
/public/common/countries/{country_code}/provincesList all Provinces for a Country.
country_codedatadata.country_codedata.namedata.codemetameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/common/countries/{country_code}/provinces' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/common/countries/{country_code}/provinces"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/common/countries/{country_code}/provinces";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/common/countries/{country_code}/provinces", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/common/countries/{country_code}/provinces");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"country_code": "string",
"name": "string",
"code": "string"
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}List Customer Billing Addresses
/public/{user_id}/addressesList the customer billing addresses.
user_idfilter[addressable_type]filter[addressable_id]datadata.uuiddata.first_namedata.last_namedata.company_namedata.vat_numberdata.vat_validation_statusdata.vat_validated_atdata.line_onedata.line_twodata.line_threedata.citydata.province_codedata.country_codedata.postcodedata.contact_emaildata.contact_phonedata.company_codemetameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/addresses' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/addresses"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/addresses";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/addresses", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/addresses");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"first_name": "string",
"last_name": "string",
"company_name": "string",
"vat_number": "string",
"vat_validation_status": "string",
"vat_validated_at": "string",
"line_one": "string"
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}Create Address
/public/{user_id}/addressesCreate a single Address.
user_idcountry_codevat_numberfirst_namelast_namecompany_namecompany_codeline_oneline_twoline_threecityprovince_codepostcodecontact_emailcontact_phonedatadata.uuiddata.first_namedata.last_namedata.company_namedata.vat_numberdata.vat_validation_statusdata.vat_validated_atdata.line_onedata.line_twodata.line_threedata.citydata.province_codedata.country_codedata.postcodedata.contact_emaildata.contact_phonedata.company_codecurl -X POST 'https://apigw.ipxo.com/ecommerce/public/{user_id}/addresses' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"country_code": "string",
"vat_number": "string",
"first_name": "string",
"last_name": "string",
"company_name": "string",
"company_code": "string",
"line_one": "string",
"line_two": "string"
}'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/addresses"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"country_code": "string",
"vat_number": "string",
"first_name": "string",
"last_name": "string",
"company_name": "string",
"company_code": "string",
"line_one": "string",
"line_two": "string"
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/addresses";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"country_code": "string",
"vat_number": "string",
"first_name": "string",
"last_name": "string",
"company_name": "string",
"company_code": "string",
"line_one": "string",
"line_two": "string"
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"country_code": "string",
"vat_number": "string",
"first_name": "string",
"last_name": "string",
"company_name": "string",
"company_code": "string",
"line_one": "string",
"line_two": "string"
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/{user_id}/addresses", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/addresses");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"country_code" => "string",
"vat_number" => "string",
"first_name" => "string",
"last_name" => "string",
"company_name" => "string",
"company_code" => "string",
"line_one" => "string",
"line_two" => "string"
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"first_name": "string",
"last_name": "string",
"company_name": "string",
"vat_number": "string",
"vat_validation_status": "string",
"vat_validated_at": "string",
"line_one": "string"
}
}Update Address
/public/{user_id}/addresses/{customerAddress_id}Update customer address.
user_idcustomerAddress_idline_oneline_twocitypostcodeprovince_codecontact_emailvat_numbercompany_codefirst_namelast_namecompany_namecontact_phonedatadata.uuiddata.first_namedata.last_namedata.company_namedata.vat_numberdata.vat_validation_statusdata.vat_validated_atdata.line_onedata.line_twodata.line_threedata.citydata.province_codedata.country_codedata.postcodedata.contact_emaildata.contact_phonedata.company_codecurl -X PUT 'https://apigw.ipxo.com/ecommerce/public/{user_id}/addresses/{customerAddress_id}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"line_one": "string",
"line_two": "string",
"city": "string",
"postcode": "string",
"province_code": "string",
"contact_email": "[email protected]",
"vat_number": "string",
"company_code": "string"
}'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/addresses/{customerAddress_id}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"line_one": "string",
"line_two": "string",
"city": "string",
"postcode": "string",
"province_code": "string",
"contact_email": "[email protected]",
"vat_number": "string",
"company_code": "string"
}
r = requests.put(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/addresses/{customerAddress_id}";
const res = await fetch(url, {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"line_one": "string",
"line_two": "string",
"city": "string",
"postcode": "string",
"province_code": "string",
"contact_email": "[email protected]",
"vat_number": "string",
"company_code": "string"
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"line_one": "string",
"line_two": "string",
"city": "string",
"postcode": "string",
"province_code": "string",
"contact_email": "[email protected]",
"vat_number": "string",
"company_code": "string"
}`)
req, _ := http.NewRequest("PUT", "https://apigw.ipxo.com/ecommerce/public/{user_id}/addresses/{customerAddress_id}", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/addresses/{customerAddress_id}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"line_one" => "string",
"line_two" => "string",
"city" => "string",
"postcode" => "string",
"province_code" => "string",
"contact_email" => "[email protected]",
"vat_number" => "string",
"company_code" => "string"
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"first_name": "string",
"last_name": "string",
"company_name": "string",
"vat_number": "string",
"vat_validation_status": "string",
"vat_validated_at": "string",
"line_one": "string"
}
}Products
3 operations
The spec declares no named object for this resource, so the renderer synthesised one from its richest response body (GET /public/{user_id}/products). Fields no endpoint returns cannot appear here.
datadata.uuiddata.namedata.codedata.short_descriptiondata.pricemetameta.current_pagemeta.totalmeta.per_pageList Product Variants
/public/{user_id}/productsReturn the List of all Product Variants that are purchasable.
user_idfilter[code]filter[uuid]datadata.uuiddata.namedata.codedata.short_descriptiondata.pricedata.price.uuiddata.price.pricedata.price.price.typedata.price.price.x-truncateddata.price.typedata.price.recurrencedata.price.recurrence.typedata.price.recurrence.x-truncateddata.price.codedata.price.is_defaultdata.price.created_atdata.price.requires_external_terminationmetameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/products' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/products"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/products";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/products", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/products");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "string",
"code": "string",
"short_description": "string",
"price": {
"uuid": "00000000-0000-0000-0000-000000000000",
"price": {
"type": "\u2026",
"x-truncated": "\u2026"
},
"type": "string",
"recurrence": {
"type": "\u2026",
"x-truncated": "\u2026"
},
"code": "string",
"is_default": "string",
"created_at": "string",
"requires_external_termination": "string"
}
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}List Bundle Variants
/public/{user_id}/products/bundlesReturn the List of all Bundle Variants that are purchasable.
user_idincludedatadata.uuiddata.namedata.short_descriptiondata.typedata.pricedata.price.currencydata.price.amountdata.price.amount_minormetameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/products/bundles' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/products/bundles"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/products/bundles";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/products/bundles", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/products/bundles");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "string",
"short_description": "string",
"type": "string",
"price": {
"currency": "string",
"amount": "string",
"amount_minor": "string"
}
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}List Product Categories
/public/{user_id}/products/categoriesReturns a list of Product Categories.
user_idfilter[slugs]datadata.uuiddata.slugdata.enableddata.is_cart_enableddata.is_stock_enabledmetameta.current_pagemeta.totalmeta.per_pagecurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/products/categories' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/products/categories"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/products/categories";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/products/categories", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/products/categories");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"slug": "string",
"enabled": true,
"is_cart_enabled": true,
"is_stock_enabled": true
}
],
"meta": {
"current_page": 1,
"total": 1,
"per_page": 1
}
}Account
14 operations
API.Pub.Resources.Tenants.TenantShowResourceDeclared in the spec. Shown from GET /v1/{tenantUUID}.
uuidtitleemailbusiness_sincecompany_sizeaddress1address2citypostcodecountrystatestatusabuse_emailcreated_atoptionsoptions.keyoptions.valuemetameta.keymeta.valueindustryindustry.uuidindustry.namecreditcredit.uuidcredit.amountcredit.auto_paymentsummarylogologo.imagepayment_gatewaysflagsflags.uuidflags.slugstatus_reasonstatus_reason.uuidstatus_reason.slugstatus_reason.titlevat_numberemail_verifiedabuse_email_verifiedShow Customer
/public/{user_id}Show the current Customer
user_iddatadata.uuiddata.auth_iddata.namedata.business_entity_iddata.currencycurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"auth_id": "string",
"name": "string",
"business_entity_id": "string",
"currency": "string"
}
}Show Business Entity
/public/{user_id}/business-entityShow the Business Entity assigned to the current Customer
user_iddatadata.uuiddata.country_codedata.company_namedata.line_onedata.line_twodata.line_threedata.citydata.province_codedata.postcodedata.contact_emaildata.bank_transfer_detailsdata.bank_transfer_details.accountsdata.bank_transfer_details.accounts.typedata.bank_transfer_details.accounts.x-truncatedcurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/business-entity' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/business-entity"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/business-entity";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/business-entity", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/business-entity");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"country_code": "string",
"company_name": "string",
"line_one": "string",
"line_two": "string",
"line_three": "string",
"city": "string",
"province_code": "string"
}
}List Customer Flags
/public/{user_id}/flagsReturns flags attached to a customer.
user_iddatadata.uuiddata.namedata.slugcurl -X GET 'https://apigw.ipxo.com/ecommerce/public/{user_id}/flags' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/flags"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/{user_id}/flags";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/ecommerce/public/{user_id}/flags", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/{user_id}/flags");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "string",
"slug": "string"
}
}Get list of tenants
/v1Returns list of tenants
datadata.uuiddata.emaildata.business_sincedata.company_sizedata.titledata.statusdata.codedata.optionsdata.metadata.creditdata.credit.typedata.credit.x-truncateddata.summarydata.logodata.payment_gatewaysdata.flagsdata.status_reasondata.vat_numberdata.email_verifieddata.abuse_email_verifiedcurl -X GET 'https://apigw.ipxo.com/billing/v1' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"email": "[email protected]",
"business_since": "string",
"company_size": "string",
"title": "string",
"status": "string",
"code": "string",
"options": "string"
}
]
}Create Tenant
/v1Create Tenant
titleemailbusiness_sincecompany_sizeaddress1address2citycountrypostcodestateabuse_emailvat_numberindustry_uuidreuse_addressoptionsoptions.websiteoptions.social_networkoptions.has_social_networkoptions.found_usoptions.primary_intentionoptions.proprataoptions.prorata_dayuuidemailbusiness_sincecompany_sizetitlestatuscodeoptionsoptions.keyoptions.valuemetameta.keymeta.valuecreditcredit.amountcredit.auto_paymentsummarylogologo.imagepayment_gatewaysflagsflags.uuidflags.slugstatus_reasonstatus_reason.uuidstatus_reason.slugstatus_reason.titlevat_numberemail_verifiedabuse_email_verifiedcurl -X POST 'https://apigw.ipxo.com/billing/v1' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"title": "string",
"email": "[email protected]",
"business_since": "string",
"company_size": "string",
"address1": "string",
"address2": "string",
"city": "string",
"country": "string"
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"title": "string",
"email": "[email protected]",
"business_since": "string",
"company_size": "string",
"address1": "string",
"address2": "string",
"city": "string",
"country": "string"
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"title": "string",
"email": "[email protected]",
"business_since": "string",
"company_size": "string",
"address1": "string",
"address2": "string",
"city": "string",
"country": "string"
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"title": "string",
"email": "[email protected]",
"business_since": "string",
"company_size": "string",
"address1": "string",
"address2": "string",
"city": "string",
"country": "string"
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/billing/v1", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"title" => "string",
"email" => "[email protected]",
"business_since" => "string",
"company_size" => "string",
"address1" => "string",
"address2" => "string",
"city" => "string",
"country" => "string"
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"uuid": "00000000-0000-0000-0000-000000000000",
"email": "[email protected]",
"business_since": "string",
"company_size": "string",
"title": "string",
"status": "string",
"code": "string",
"options": [
{
"key": "string",
"value": "string"
}
]
}Get list of tenants with Summary
/v1/common/summaryReturns list of tenants with Summary
datadata.uuiddata.address1data.address2data.emaildata.citydata.postcodedata.abuse_emaildata.countrydata.statedata.titledata.created_atdata.statusdata.users_countdata.industrydata.vat_numbercurl -X GET 'https://apigw.ipxo.com/billing/v1/common/summary' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/common/summary"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/common/summary";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/common/summary", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/common/summary");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"address1": "string",
"address2": "string",
"email": "[email protected]",
"city": "string",
"postcode": "string",
"abuse_email": "[email protected]",
"country": "string"
}
]
}Get Single Tenant information
/v1/{tenantUUID}Get Single Tenant information
tenantUUIDuuidtitleemailbusiness_sincecompany_sizeaddress1address2citypostcodecountrystatestatusabuse_emailcreated_atoptionsoptions.keyoptions.valuemetameta.keymeta.valueindustryindustry.uuidindustry.namecreditcredit.uuidcredit.amountcredit.auto_paymentsummarylogologo.imagepayment_gatewaysflagsflags.uuidflags.slugstatus_reasonstatus_reason.uuidstatus_reason.slugstatus_reason.titlevat_numberemail_verifiedabuse_email_verifiedcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"uuid": "00000000-0000-0000-0000-000000000000",
"title": "string",
"email": "[email protected]",
"business_since": "string",
"company_size": "string",
"address1": "string",
"address2": "string",
"city": "string"
}Update Tenant Information
/v1/{tenantUUID}Update Tenant Information
tenantUUIDtitleemailbusiness_sincecompany_sizeaddress1address2citypostcodestateabuse_emailvat_numberindustry_uuidoptionsoptions.websiteoptions.has_websiteoptions.social_networkoptions.has_social_networkoptions.found_usoptions.proprataoptions.prorata_dayuuidemailbusiness_sincecompany_sizetitlestatuscodeoptionsoptions.keyoptions.valuemetameta.keymeta.valuecreditcredit.amountcredit.auto_paymentsummarylogologo.imagepayment_gatewaysflagsflags.uuidflags.slugstatus_reasonstatus_reason.uuidstatus_reason.slugstatus_reason.titlevat_numberemail_verifiedabuse_email_verifiedcurl -X PATCH 'https://apigw.ipxo.com/billing/v1/{tenantUUID}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"title": "string",
"email": "[email protected]",
"business_since": "string",
"company_size": "string",
"address1": "string",
"address2": "string",
"city": "string",
"postcode": "string"
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"title": "string",
"email": "[email protected]",
"business_since": "string",
"company_size": "string",
"address1": "string",
"address2": "string",
"city": "string",
"postcode": "string"
}
r = requests.patch(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}";
const res = await fetch(url, {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"title": "string",
"email": "[email protected]",
"business_since": "string",
"company_size": "string",
"address1": "string",
"address2": "string",
"city": "string",
"postcode": "string"
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"title": "string",
"email": "[email protected]",
"business_since": "string",
"company_size": "string",
"address1": "string",
"address2": "string",
"city": "string",
"postcode": "string"
}`)
req, _ := http.NewRequest("PATCH", "https://apigw.ipxo.com/billing/v1/{tenantUUID}", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"title" => "string",
"email" => "[email protected]",
"business_since" => "string",
"company_size" => "string",
"address1" => "string",
"address2" => "string",
"city" => "string",
"postcode" => "string"
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"uuid": "00000000-0000-0000-0000-000000000000",
"email": "[email protected]",
"business_since": "string",
"company_size": "string",
"title": "string",
"status": "string",
"code": "string",
"options": [
{
"key": "string",
"value": "string"
}
]
}Get Tenants Details
/v1/{tenantUUID}/detailsReturns tenants Details
tenantUUIDmonetizing_ips_countrenting_ips_countcodecurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/details' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/details"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/details";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/details", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/details");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"monetizing_ips_count": 1.0,
"renting_ips_count": 1.0,
"code": "string"
}Initiate email verification
/v1/{tenantUUID}/email_verification/initiateInitiate email verification
tenantUUIDemail_typeemail abuse_emailcurl -X POST 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/email_verification/initiate' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"email_type": "email"
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/email_verification/initiate"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"email_type": "email"
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/email_verification/initiate";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"email_type": "email"
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"email_type": "email"
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/email_verification/initiate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/email_verification/initiate");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"email_type" => "email"
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Verify email
/v1/{tenantUUID}/email_verification/verifyVerify email
tenantUUIDemail_typeemail abuse_emailcodecurl -X POST 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/email_verification/verify' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"email_type": "email",
"code": "string"
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/email_verification/verify"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"email_type": "email",
"code": "string"
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/email_verification/verify";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"email_type": "email",
"code": "string"
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"email_type": "email",
"code": "string"
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/email_verification/verify", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/email_verification/verify");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"email_type" => "email",
"code" => "string"
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Get list of AWS connected accounts
/v1/{tenantUUID}/integrations/aws/connected-accountsReturns list of AWS connected accounts for the tenant
tenantUUIDdatacurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/integrations/aws/connected-accounts' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/integrations/aws/connected-accounts"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/integrations/aws/connected-accounts";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/integrations/aws/connected-accounts", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/integrations/aws/connected-accounts");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
"string"
]
}Upload Tenant Logo
/v1/{tenantUUID}/logoUpload Tenant Logo
tenantUUIDimageuuidemailbusiness_sincecompany_sizetitlestatuscodeoptionsoptions.keyoptions.valuemetameta.keymeta.valuecreditcredit.amountcredit.auto_paymentsummarylogologo.imagepayment_gatewaysflagsflags.uuidflags.slugstatus_reasonstatus_reason.uuidstatus_reason.slugstatus_reason.titlevat_numberemail_verifiedabuse_email_verifiedcurl -X POST 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/logo' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"image": "string"
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/logo"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"image": "string"
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/logo";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"image": "string"
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"image": "string"
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/logo", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/logo");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"image" => "string"
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"uuid": "00000000-0000-0000-0000-000000000000",
"email": "[email protected]",
"business_since": "string",
"company_size": "string",
"title": "string",
"status": "string",
"code": "string",
"options": [
{
"key": "string",
"value": "string"
}
]
}Remove Tenant Logo
/v1/{tenantUUID}/logoRemove Tenant Logo
tenantUUIDcurl -X DELETE 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/logo' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/logo"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.delete(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/logo";
const res = await fetch(url, {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("DELETE", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/logo", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/logo");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Activity log
2 operations
The spec declares no named object for this resource, so the renderer synthesised one from its richest response body (GET /v1/{tenantUUID}/market/services/event_logs). Fields no endpoint returns cannot appear here.
datadata.labeldata.typedata.datadata.created_atmetameta.current_pagemeta.frommeta.last_pagemeta.per_pagemeta.tometa.totalList EventLog
/v1/{tenantUUID}/market/services/event_logsList Tenant IP Market EventLog
tenantUUIDtypelabelstartendsortpageper_pagedatadata.labeldata.typedata.datadata.data.typedata.data.x-truncateddata.created_atmetameta.current_pagemeta.frommeta.last_pagemeta.per_pagemeta.tometa.totalcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/event_logs' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/event_logs"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/event_logs";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/event_logs", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/event_logs");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"label": "string",
"type": "string",
"data": [
{
"type": "\u2026",
"x-truncated": "\u2026"
}
],
"created_at": 1
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 1,
"to": 1,
"total": 1
}
}List EventLog
/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/event_logsList IP Market EventLog
tenantUUIDipmarketServiceUUIDeventstartendsortlabelpageper_pagedatadata.labeldata.typedata.datadata.data.typedata.data.x-truncateddata.created_atmetameta.current_pagemeta.frommeta.last_pagemeta.per_pagemeta.tometa.totalcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/event_logs' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/event_logs"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/event_logs";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/event_logs", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/event_logs");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"label": "string",
"type": "string",
"data": [
{
"type": "\u2026",
"x-truncated": "\u2026"
}
],
"created_at": 1
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 1,
"to": 1,
"total": 1
}
}Reference data
13 operations
API.Pub.Resources.IPMarket.Services.LeasedServiceResourceDeclared in the spec. Shown from GET /v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/leased.
uuidprefix_lengthaddresspricingpricing.uuidpricing.subnet_sizepricing.ip_countpricing.pricepricing.commissionpricing.wants_to_negotiatepricing.selected_commitment_periodscommitmentscommitments.uuidcommitments.pricing_uuidcommitments.statuscommitments.pricecommitments.periodcommitments.start_datecommitments.end_dateValidate Vat Number
/public/common/vat/validateValidates a VAT number.
vat_numberdatadata.statusdata.validated_atdata.company_namedata.country_codecurl -X POST 'https://apigw.ipxo.com/ecommerce/public/common/vat/validate' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"vat_number": "string"
}'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/common/vat/validate"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"vat_number": "string"
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/common/vat/validate";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"vat_number": "string"
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"vat_number": "string"
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/common/vat/validate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/common/vat/validate");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"vat_number" => "string"
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": {
"status": "string",
"validated_at": "string",
"company_name": "string",
"country_code": "string"
}
}ASN Validate
/v1/common/asn/validate/{asn}ASN Validate
asnasnvalidas_nameuce3ofacspamhauscountrystatuscurl -X GET 'https://apigw.ipxo.com/billing/v1/common/asn/validate/{asn}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/common/asn/validate/{asn}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/common/asn/validate/{asn}";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/common/asn/validate/{asn}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/common/asn/validate/{asn}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"asn": 1,
"valid": true,
"as_name": "string",
"uce3": true,
"ofac": true,
"spamhaus": true,
"country": "string",
"status": "string"
}Get list of countries
/v1/common/countriesReturns list of countries
uuidalpha_2_codealpha_3_codenamephone_codetenant_availabilityofac_listedstatesstates.state_code1states.state_code2states.state_code..states.state_codeNcurl -X GET 'https://apigw.ipxo.com/billing/v1/common/countries' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/common/countries"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/common/countries";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/common/countries", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/common/countries");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"uuid": "00000000-0000-0000-0000-000000000000",
"alpha_2_code": "string",
"alpha_3_code": "string",
"name": "string",
"phone_code": "string",
"tenant_availability": true,
"ofac_listed": true,
"states": {
"state_code1": "string",
"state_code2": "string",
"state_code..": "string",
"state_codeN": "string"
}
}Get list of Tenant Industries
/v1/common/industriesReturns list of Tenant Industries
sortdirectiondatadata.uuiddata.namemetameta.current_pagemeta.frommeta.last_pagemeta.per_pagemeta.tometa.totalcurl -X GET 'https://apigw.ipxo.com/billing/v1/common/industries' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/common/industries"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/common/industries";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/common/industries", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/common/industries");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"data": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "string"
}
],
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 1,
"to": 1,
"total": 1
}
}List available registrars
/v1/common/market/registrarsReturns available registrars
uuidnamecurl -X GET 'https://apigw.ipxo.com/billing/v1/common/market/registrars' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/common/market/registrars"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/common/market/registrars";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/common/market/registrars", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/common/market/registrars");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;[
{
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "string"
}
]List aggregated subnet usage
/v1/common/market/subnetUsageReturns subnet usage
maskperiodsortdirectionmaskfreein_useprice_minprice_maxprice_avgperiodcurl -X GET 'https://apigw.ipxo.com/billing/v1/common/market/subnetUsage' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/common/market/subnetUsage"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/common/market/subnetUsage";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/common/market/subnetUsage", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/common/market/subnetUsage");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;[
{
"mask": 1,
"free": 1,
"in_use": 1,
"price_min": 1.0,
"price_max": 1.0,
"price_avg": 1.0,
"period": "2026-01-01T00:00:00Z"
}
]Check if prefixes is valid for adding to Market
/v1/common/market/subnetValidityCheck if prefixes is valid for adding to Market
prefixesaddresscidrstatusmessageminimum_splitmaximum_splitregistrycurl -X POST 'https://apigw.ipxo.com/billing/v1/common/market/subnetValidity' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"prefixes": [
"string"
]
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/common/market/subnetValidity"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"prefixes": [
"string"
]
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/common/market/subnetValidity";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"prefixes": [
"string"
]
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"prefixes": [
"string"
]
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/billing/v1/common/market/subnetValidity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/common/market/subnetValidity");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"prefixes" => ["string"]
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;[
{
"address": "string",
"cidr": 1,
"status": true,
"message": "string",
"minimum_split": 1,
"maximum_split": 1,
"registry": "string"
}
]Market Service verification
/v1/common/market_auth_verify/{token}Market Service verification
tokencurl -X GET 'https://apigw.ipxo.com/billing/v1/common/market_auth_verify/{token}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/common/market_auth_verify/{token}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/common/market_auth_verify/{token}";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/common/market_auth_verify/{token}", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/common/market_auth_verify/{token}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Get list of Commission minimum pricings
/v1/common/pricing/commissionsGet list of Commission minimum pricings
cidrmin_commissionmin_ip_pricecurl -X GET 'https://apigw.ipxo.com/billing/v1/common/pricing/commissions' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/common/pricing/commissions"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/common/pricing/commissions";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/common/pricing/commissions", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/common/pricing/commissions");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;[
{
"cidr": 1,
"min_commission": 1.0,
"min_ip_price": 1.0
}
]Get Public Slack URL
/v1/common/slackGet Public Slack URL
slack_urlcurl -X GET 'https://apigw.ipxo.com/billing/v1/common/slack' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/common/slack"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/common/slack";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/common/slack", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/common/slack");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"slack_url": "string"
}List Services Terminations Reasons
/v1/common/termination-reasonsList of termination reasons for services
uuidtitlecurl -X GET 'https://apigw.ipxo.com/billing/v1/common/termination-reasons' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/common/termination-reasons"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/common/termination-reasons";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/common/termination-reasons", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/common/termination-reasons");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"uuid": "00000000-0000-0000-0000-000000000000",
"title": "string"
}Validate subnets for ASN
/v1/{tenantUUID}/asn/validate/{asn}Validates which subnets can be added to cart with the given ASN
tenantUUIDasnsubnetsasnvalidas_nameuce3ofacspamhauscountrystatussubnetssubnets.subnetsubnets.already_addedcurl -X POST 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/asn/validate/{asn}' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"subnets": [
"string"
]
}'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/asn/validate/{asn}"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = {
"subnets": [
"string"
]
}
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/asn/validate/{asn}";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
"subnets": [
"string"
]
}),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"subnets": [
"string"
]
}`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/asn/validate/{asn}", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/asn/validate/{asn}");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"subnets" => ["string"]
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"asn": 1,
"valid": true,
"as_name": "string",
"uce3": true,
"ofac": true,
"spamhaus": true,
"country": "string",
"status": "string"
}Get list of service leased pricings
/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/leasedGet list of service leased pricings
tenantUUIDipmarketServiceUUIDuuidprefix_lengthaddresspricingpricing.uuidpricing.subnet_sizepricing.ip_countpricing.pricepricing.commissionpricing.wants_to_negotiatepricing.selected_commitment_periodscommitmentscommitments.uuidcommitments.pricing_uuidcommitments.statuscommitments.pricecommitments.periodcommitments.start_datecommitments.end_datecurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/leased' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/leased"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/leased";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/leased", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/services/{ipmarketServiceUUID}/leased");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"uuid": "00000000-0000-0000-0000-000000000000",
"prefix_length": 1,
"address": "string",
"pricing": {
"uuid": "00000000-0000-0000-0000-000000000000",
"subnet_size": 1.0,
"ip_count": 1.0,
"price": 1.0,
"commission": 1.0,
"wants_to_negotiate": true,
"selected_commitment_periods": [
"string"
]
},
"commitments": [
{
"uuid": "00000000-0000-0000-0000-000000000000",
"pricing_uuid": "00000000-0000-0000-0000-000000000000",
"status": "string",
"price": "string",
"period": "string",
"start_date": "string",
"end_date": "string"
}
]
}IPv6 & quarantine
3 operations
API.Pub.Resources.Jobs.BatchesResourceDeclared in the spec. Shown from GET /v1/{tenantUUID}/batches.
nametotal_jobsresultsresults.statusresults.metadataGet list of batches
/v1/{tenantUUID}/batchesReturns list of batches
tenantUUIDfilterincludepageper_pagenametotal_jobsresultsresults.statusresults.metadatacurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/batches' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/batches"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.get(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/batches";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/batches", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/batches");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"name": "string",
"total_jobs": 1,
"results": {
"status": "string",
"metadata": [
{}
]
}
}Request IPV6
/v1/{tenantUUID}/ipv6/requestRequest IPV6
tenantUUIDcurl -X POST 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/ipv6/request' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '"string"'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/ipv6/request"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = "string"
r = requests.post(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/ipv6/request";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify("string"),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`"string"`)
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/ipv6/request", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/ipv6/request");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode("string"),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;List Subnets In Quarantine
/v1/{tenantUUID}/market/ipv4/quarantineList Subnets In Quarantine
tenantUUIDsortdirectionsubnetin_quarantine_sinceroa_validation_last_updatedbgp_validation_last_updatedip_reputation_last_updatedcurl -X GET 'https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/quarantine' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '"string"'import os, requests
url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/quarantine"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
"Content-Type": "application/json",
}
payload = "string"
r = requests.get(url, headers=headers, json=payload)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/quarantine";
const res = await fetch(url, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify("string"),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`"string"`)
req, _ := http.NewRequest("GET", "https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/quarantine", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/billing/v1/{tenantUUID}/market/ipv4/quarantine");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode("string"),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{
"subnet": "string",
"in_quarantine_since": 1,
"roa_validation_last_updated": 1,
"bgp_validation_last_updated": 1,
"ip_reputation_last_updated": 1
}Webhooks
2 operations
postPublicCommonStripeWebhook
/public/common/stripe/webhookcurl -X POST 'https://apigw.ipxo.com/ecommerce/public/common/stripe/webhook' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/common/stripe/webhook"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.post(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/common/stripe/webhook";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/common/stripe/webhook", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/common/stripe/webhook");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{}postPublicCommonStripeWebhookEu
/public/common/stripe/webhook/eucurl -X POST 'https://apigw.ipxo.com/ecommerce/public/common/stripe/webhook/eu' \
-H 'Authorization: Bearer $IPXO_TOKEN' \
-H 'Accept: application/json'import os, requests
url = "https://apigw.ipxo.com/ecommerce/public/common/stripe/webhook/eu"
headers = {
"Authorization": f"Bearer {os.environ['IPXO_TOKEN']}",
"Accept": "application/json",
}
r = requests.post(url, headers=headers)
r.raise_for_status()
print(r.json())const url = "https://apigw.ipxo.com/ecommerce/public/common/stripe/webhook/eu";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.IPXO_TOKEN}`,
Accept: "application/json",
},
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, _ := http.NewRequest("POST", "https://apigw.ipxo.com/ecommerce/public/common/stripe/webhook/eu", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("IPXO_TOKEN"))
req.Header.Set("Accept", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}<?php
$ch = curl_init("https://apigw.ipxo.com/ecommerce/public/common/stripe/webhook/eu");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer " . getenv("IPXO_TOKEN"),
"Accept: application/json",
],
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;{}