Load a bill
curl --request GET \
--url https://anzapi.onboardme.app/api/v1/bills/{billingId} \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://anzapi.onboardme.app/api/v1/bills/{billingId}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://anzapi.onboardme.app/api/v1/bills/{billingId}', 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://anzapi.onboardme.app/api/v1/bills/{billingId}",
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: Basic <encoded-value>"
],
]);
$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://anzapi.onboardme.app/api/v1/bills/{billingId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://anzapi.onboardme.app/api/v1/bills/{billingId}")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://anzapi.onboardme.app/api/v1/bills/{billingId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"billingID": 123,
"engagementID": 123,
"engagementName": "<string>",
"engagementStatusID": 123,
"isEngagementFinalised": true,
"entityID": 123,
"entityKey": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isOnboardingEntity": true,
"entityName": "<string>",
"billDate": "2023-12-25",
"dueDate": "2023-12-25",
"billNumber": "<string>",
"billAmount": 123,
"billTax": 123,
"billTotal": 123,
"billDetails": "<string>",
"currencyID": 123,
"paymentTotal": 123,
"refNo": "<string>",
"billNow": 123,
"syncNow": true,
"sendBill": true,
"billPercent": 123,
"packageNumber": 123,
"invoiceStatus": "<string>",
"externalID": "<string>",
"externalNumber": "<string>",
"externalURL": "<string>",
"syncAttemptCount": 123,
"syncFailedReason": "<string>",
"brandingThemeID": "<string>",
"createdOn": "2023-11-07T05:31:56Z",
"updatedOn": "2023-11-07T05:31:56Z",
"cancelledOn": "2023-11-07T05:31:56Z",
"lineItems": [
{
"billingDetailID": 123,
"billAmount": 123,
"billTax": 123,
"billTotal": 123,
"narration": "<string>",
"extItemID": 123,
"extAccountID": 123,
"extTaxID": 123,
"fieldOne": "<string>",
"fieldTwo": "<string>",
"orderID": 123,
"serviceID": 123
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}Bills
Load a bill
Returns a single bill with line items and ledger sync fields (externalId, externalNumber, externalUrl).
invoiceStatus is computed from cancel state and payment totals (same values as list).
404: Unknown billingId or bill outside your practice.
429: Rate limit exceeded.
GET
/
api
/
v1
/
bills
/
{billingId}
Load a bill
curl --request GET \
--url https://anzapi.onboardme.app/api/v1/bills/{billingId} \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://anzapi.onboardme.app/api/v1/bills/{billingId}"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://anzapi.onboardme.app/api/v1/bills/{billingId}', 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://anzapi.onboardme.app/api/v1/bills/{billingId}",
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: Basic <encoded-value>"
],
]);
$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://anzapi.onboardme.app/api/v1/bills/{billingId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://anzapi.onboardme.app/api/v1/bills/{billingId}")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://anzapi.onboardme.app/api/v1/bills/{billingId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"billingID": 123,
"engagementID": 123,
"engagementName": "<string>",
"engagementStatusID": 123,
"isEngagementFinalised": true,
"entityID": 123,
"entityKey": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isOnboardingEntity": true,
"entityName": "<string>",
"billDate": "2023-12-25",
"dueDate": "2023-12-25",
"billNumber": "<string>",
"billAmount": 123,
"billTax": 123,
"billTotal": 123,
"billDetails": "<string>",
"currencyID": 123,
"paymentTotal": 123,
"refNo": "<string>",
"billNow": 123,
"syncNow": true,
"sendBill": true,
"billPercent": 123,
"packageNumber": 123,
"invoiceStatus": "<string>",
"externalID": "<string>",
"externalNumber": "<string>",
"externalURL": "<string>",
"syncAttemptCount": 123,
"syncFailedReason": "<string>",
"brandingThemeID": "<string>",
"createdOn": "2023-11-07T05:31:56Z",
"updatedOn": "2023-11-07T05:31:56Z",
"cancelledOn": "2023-11-07T05:31:56Z",
"lineItems": [
{
"billingDetailID": 123,
"billAmount": 123,
"billTax": 123,
"billTotal": 123,
"narration": "<string>",
"extItemID": 123,
"extAccountID": 123,
"extTaxID": 123,
"fieldOne": "<string>",
"fieldTwo": "<string>",
"orderID": 123,
"serviceID": 123
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}Authorizations
Swagger / Postman only: Client ID as username, Client secret as password. In Postman, set this once on the collection (Authorization → Basic Auth) so all requests inherit. For production server-to-server code, prefer X-OM-Auth-ID and X-OM-Auth-Key headers.
Path Parameters
Bill id.
Response
OK
Show child attributes
Show child attributes