Read current account aging
curl --request GET \
--url https://api.getbreezyapp.com/v1/reports/receivables-aging \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.getbreezyapp.com/v1/reports/receivables-aging"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getbreezyapp.com/v1/reports/receivables-aging', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"account": {
"id": "11111111-1111-4111-8111-000000000101",
"name": "Example Household"
},
"currency": "USD",
"invoice_count": 2,
"balance_cents": 59000,
"current_cents": 20000,
"past_due_1_30_cents": 39000,
"past_due_31_60_cents": 0,
"past_due_61_90_cents": 0,
"past_due_91_plus_cents": 0,
"processing_cents": 10000
}
],
"pagination": {
"next_cursor": null
},
"meta": {
"request_id": "example-request",
"generated_at": "2026-09-08T19:00:00Z",
"timezone": "America/Los_Angeles"
},
"report": {
"aging_date": "2026-09-08"
}
}{
"error": {
"code": "INVALID_REQUEST",
"message": "end_date must be later than start_date",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "A valid API key is required",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Resource not found",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "METHOD_NOT_ALLOWED",
"message": "This resource supports GET",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Request limit exceeded",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Unable to complete request",
"request_id": "example-request",
"details": []
}
}Reports
Read current account aging
OPEN invoices only, including zero/negative balances. Group by account ID ascending. Signed buckets sum to balance_cents. Aging uses current company-local date; no as_of or historical date range. Accounts without qualifying OPEN invoices are omitted. Drill down with the identical filters on GET /invoices?status=OPEN.
GET
/
reports
/
receivables-aging
Read current account aging
curl --request GET \
--url https://api.getbreezyapp.com/v1/reports/receivables-aging \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.getbreezyapp.com/v1/reports/receivables-aging"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getbreezyapp.com/v1/reports/receivables-aging', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"account": {
"id": "11111111-1111-4111-8111-000000000101",
"name": "Example Household"
},
"currency": "USD",
"invoice_count": 2,
"balance_cents": 59000,
"current_cents": 20000,
"past_due_1_30_cents": 39000,
"past_due_31_60_cents": 0,
"past_due_61_90_cents": 0,
"past_due_91_plus_cents": 0,
"processing_cents": 10000
}
],
"pagination": {
"next_cursor": null
},
"meta": {
"request_id": "example-request",
"generated_at": "2026-09-08T19:00:00Z",
"timezone": "America/Los_Angeles"
},
"report": {
"aging_date": "2026-09-08"
}
}{
"error": {
"code": "INVALID_REQUEST",
"message": "end_date must be later than start_date",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "A valid API key is required",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Resource not found",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "METHOD_NOT_ALLOWED",
"message": "This resource supports GET",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Request limit exceeded",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Unable to complete request",
"request_id": "example-request",
"details": []
}
}Authorizations
Existing Breezy API key. Grants all published reads in its associated company. No app permission scopes.
Query Parameters
Maximum parent records or report rows. Complete children are always included.
Required range:
1 <= x <= 100Repeat the original filters; any valid page size may continue. Foreign-company, tampered or mismatched cursors return INVALID_CURSOR.
Minimum string length:
1Available options:
SERVICE, MAINTENANCE, ESTIMATE_REPAIR, ESTIMATE_REPLACE, INSTALL, WARRANTY, CALLBACK, SALES, UNKNOWN, null Response
Successful read. Clients ignore unrecognized response fields.