List Invoices
Returns a paginated list of invoices for the currently authenticated customer. Supports filtering by payment status and whether to include credit notes.
Authentication
This endpoint requires an authenticated customer session.
Query Parameters
When true, returns only paid invoices. When false, returns only unpaid invoices. Omit to return all invoices.
When true, includes credit notes in the result set.
Comma-separated list of field paths to include in the response. When provided, only the
specified fields are returned — useful for reducing payload size. Supports nested paths
using dot notation. Example: _shape=Records.InvoiceNumber,Records.TotalAmount,Records.Paid,TotalItems.
Response
Returns an ApiListResult<InvoicePreview> object.
Number of records in the current page.
Total number of invoices matching the query.
Total number of available pages.
Whether there is a next page.
Whether there is a previous page.
Records
Each item in Records follows the InvoicePreview shape. Key fields:
Unique identifier of the invoice.
Globally unique identifier of the invoice.
Human-readable invoice number as shown to the customer.
Whether the invoice has been fully paid.
ISO 8601 datetime when the invoice was paid (if applicable).
ISO 8601 date the invoice is due.
Whether the invoice is still a draft.
Whether this document is a credit note rather than a standard invoice.
Grand total of the invoice in the invoice currency.
Amount still outstanding.
Pre-formatted total string (e.g. "$199.00").
Currency object with fields: Code, Name, Format.
Web address of the location that issued the invoice. Used to construct PDF download links.
ISO 8601 datetime when the invoice was created (local time).
Example Response
{
"Records": [
{
"Id": 12345,
"UniqueId": "e9a3a3b8-8d3e-4b54-9f2d-0c82b2a8b9a1",
"InvoiceNumber": "INV-2025-000123",
"Paid": false,
"PaidOn": null,
"DueDate": "2025-10-01",
"Draft": false,
"CreditNote": false,
"TotalAmount": 199.0,
"DueAmount": 199.0,
"TotalFormated": "$199.00",
"Currency": { "Code": "USD", "Name": "US Dollar", "Format": "$0,0.00" },
"BusinessWebAddress": "myspace.spaces.nexudus.com",
"CreatedOn": "2025-09-28T10:15:00"
}
],
"CurrentPage": 1,
"CurrentPageSize": 1,
"TotalItems": 1,
"TotalPages": 1,
"HasNextPage": false,
"HasPreviousPage": false
}
Usage in Portal
This endpoint is used in two places:
-
My Invoices section – lists all invoices grouped by paid/unpaid status.
- File:
src/views/user/activity/invoices/useInvoicesData.tsx
-
Onboarding action panel – surfaces unpaid invoices to prompt the member to complete payment.
- File:
src/views/user/dashboards/personal/components/OnBoarding/components/UnpaidInvoicesActionPanel.tsx
Typical integration pattern
// From src/api/endpoints.ts
// endpoints.billing.invoices.list = (paid?: boolean, creditNotes?: boolean) => ({
// url: `/api/public/billing/invoices/my?paid=${paid}&creditNotes=${creditNotes}`,
// type: null as unknown as ApiListResult<InvoicePreview>,
// })
// Usage in React
const endpoint = endpoints.billing.invoices.list(false, false)
const { resource: invoices } = useData<typeof endpoint.type>(httpClient, endpoint.url)
GET /api/public/billing/invoices/{invoiceId} – Retrieve a single invoice by ID
GET /api/public/billing/invoices/{invoiceId}/pdf – Download invoice as PDF
Error Responses
The current user is not authenticated.