curl --request GET \
--url https://console.advinservers.com/api/v1/client/invoices/{invoice} \
--header 'Authorization: Bearer <token>'import requests
url = "https://console.advinservers.com/api/v1/client/invoices/{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/invoices/{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/invoices/{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/invoices/{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/invoices/{invoice}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/invoices/{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 an invoice
Overview
Returns an invoice with its line items, recorded payments and remaining balance. These details are omitted from the invoice list. Use the account’s numeric invoice ID, not a UUID. Invoices belonging to another account return 404.
Permissions
Requires the account permission invoices.read (View invoices).
curl --request GET \
--url https://console.advinservers.com/api/v1/client/invoices/{invoice} \
--header 'Authorization: Bearer <token>'import requests
url = "https://console.advinservers.com/api/v1/client/invoices/{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/invoices/{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/invoices/{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/invoices/{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/invoices/{invoice}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://console.advinservers.com/api/v1/client/invoices/{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 invoice number shown on the account.
18342
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"
]
}