curl --request GET \
--url https://console.advinservers.com/api/v1/client/servers/{server}/billing/overdue-invoice \
--header 'Authorization: Bearer <token>'import requests
url = "https://console.advinservers.com/api/v1/client/servers/{server}/billing/overdue-invoice"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://console.advinservers.com/api/v1/client/servers/{server}/billing/overdue-invoice', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://console.advinservers.com/api/v1/client/servers/{server}/billing/overdue-invoice",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://console.advinservers.com/api/v1/client/servers/{server}/billing/overdue-invoice"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://console.advinservers.com/api/v1/client/servers/{server}/billing/overdue-invoice")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/servers/{server}/billing/overdue-invoice")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": 18342,
"number": "18342",
"status": "Unpaid",
"date": "2026-09-11T00:00:00+00:00",
"due_date": "2026-10-02T00:00:00+00:00",
"date_paid": null,
"subtotal": "12.00",
"credit": "0.00",
"tax": "0.00",
"total": "12.00",
"currency": "USD",
"payment_method": "Paddle",
"url": "https://clients.advinservers.com/viewinvoice.php?id=18342",
"balance": "12.00",
"items": [
{
"id": 24815,
"description": "Standard 4 GB - lambda-core.blackmesa.example.com (10/02/2026 - 11/01/2026)",
"amount": "12.00",
"taxed": false
}
],
"transactions": [],
"tax_rate": null,
"tax_rate_2": null,
"tax_amount": "0.00",
"tax_amount_2": "0.00",
"pay_to": {
"name": "Advin Services LLC",
"email": "company@advinservers.com",
"address_lines": [
"3640 Concord Pike #1080",
"Wilmington, DE 19803",
"United States"
]
},
"billed_to": {
"name": "Gordon Freeman",
"email": "gordon.freeman@blackmesa.example.com",
"address_lines": [
"Black Mesa Research Facility",
"1 Mesa Road",
"Sector C, Anomalous Materials Laboratory",
"Socorro, New Mexico 87801",
"United States"
]
}
}{
"message": "Unauthenticated."
}{
"message": "This API key is not allowed to do that in this team. It needs the \"snapshot.delete\" permission."
}{
"message": "Not found."
}{
"message": "Too Many Attempts."
}Get a suspended server's overdue invoice
Overview
Returns the oldest overdue invoice covering this server, with its lines and payments, or null when there is none. Only the account holder can read it, and only while the server is suspended. Invoices belong to the account and are never shared with a team. Returns null instead of an error when billing information cannot be loaded. Use this to tell the customer which invoice to pay while the server is suspended.
Permissions
Requires the billing.read (View billing) permission for the selected team. Resources outside that team return 404.
curl --request GET \
--url https://console.advinservers.com/api/v1/client/servers/{server}/billing/overdue-invoice \
--header 'Authorization: Bearer <token>'import requests
url = "https://console.advinservers.com/api/v1/client/servers/{server}/billing/overdue-invoice"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://console.advinservers.com/api/v1/client/servers/{server}/billing/overdue-invoice', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://console.advinservers.com/api/v1/client/servers/{server}/billing/overdue-invoice",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://console.advinservers.com/api/v1/client/servers/{server}/billing/overdue-invoice"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://console.advinservers.com/api/v1/client/servers/{server}/billing/overdue-invoice")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/servers/{server}/billing/overdue-invoice")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": 18342,
"number": "18342",
"status": "Unpaid",
"date": "2026-09-11T00:00:00+00:00",
"due_date": "2026-10-02T00:00:00+00:00",
"date_paid": null,
"subtotal": "12.00",
"credit": "0.00",
"tax": "0.00",
"total": "12.00",
"currency": "USD",
"payment_method": "Paddle",
"url": "https://clients.advinservers.com/viewinvoice.php?id=18342",
"balance": "12.00",
"items": [
{
"id": 24815,
"description": "Standard 4 GB - lambda-core.blackmesa.example.com (10/02/2026 - 11/01/2026)",
"amount": "12.00",
"taxed": false
}
],
"transactions": [],
"tax_rate": null,
"tax_rate_2": null,
"tax_amount": "0.00",
"tax_amount_2": "0.00",
"pay_to": {
"name": "Advin Services LLC",
"email": "company@advinservers.com",
"address_lines": [
"3640 Concord Pike #1080",
"Wilmington, DE 19803",
"United States"
]
},
"billed_to": {
"name": "Gordon Freeman",
"email": "gordon.freeman@blackmesa.example.com",
"address_lines": [
"Black Mesa Research Facility",
"1 Mesa Road",
"Sector C, Anomalous Materials Laboratory",
"Socorro, New Mexico 87801",
"United States"
]
}
}{
"message": "Unauthenticated."
}{
"message": "This API key is not allowed to do that in this team. It needs the \"snapshot.delete\" permission."
}{
"message": "Not found."
}{
"message": "Too Many Attempts."
}Authorizations
Your API key, sent as a bearer token. Create one in the control panel under API Keys, give it only the permissions the integration needs, and copy it when it is created. It cannot be shown again. Each key is restricted to one owned team. The key determines the team for every request.
Path Parameters
The server UUID
"ecc6f4f1"
Response
The record, as a JSON object. There is no envelope.
The id ID.
18342
The value of number.
"18342"
The value of status.
"Unpaid"
The date and time for date, in UTC.
"2026-09-11T00:00:00+00:00"
The value of due_date.
"2026-10-02T00:00:00+00:00"
The value of date_paid.
null
The value of subtotal.
"12.00"
The available account credit, formatted for display.
"0.00"
The value of tax.
"0.00"
The value of total.
"12.00"
The three-letter currency code used for monetary amounts.
"USD"
The value of payment_method.
"Paddle"
The complete URL.
"https://clients.advinservers.com/viewinvoice.php?id=18342"
What is still owed.
The value of items.
Show child attributes
Show child attributes
The value of transactions.
Show child attributes
Show child attributes
The two levels apart, so a viewer can show "GST 5%" and "PST 7%" as their own lines rather than labelling their sum with the first of the two rates.
The value of tax_rate_2.
The value of tax_amount.
The value of tax_amount_2.
Who the invoice is payable to, or null where the operator has none of it on file.
Show child attributes
Show child attributes
{
"name": "Gordon Freeman",
"email": "gordon.freeman@blackmesa.example.com",
"address_lines": [
"Black Mesa Research Facility",
"1 Mesa Road",
"Sector C, Anomalous Materials Laboratory",
"Socorro, New Mexico 87801",
"United States"
]
}
Who the invoice was raised for, or null where the billing record could not be read.
Show child attributes
Show child attributes
{
"name": "Gordon Freeman",
"email": "gordon.freeman@blackmesa.example.com",
"address_lines": [
"Black Mesa Research Facility",
"1 Mesa Road",
"Sector C, Anomalous Materials Laboratory",
"Socorro, New Mexico 87801",
"United States"
]
}