Skip to main content
GET

Endpoint

Authentication

Requires a valid API key with billing:read scope.

Response

Returns an array of invoice objects (max 10 most recent).
invoices
array

Errors

401
error
Unauthorized - Missing or invalid API key
500
error
Internal Server Error - Failed to fetch invoices

Invoice Statuses

Limits

Response Limit: Returns maximum 10 most recent invoices, ordered by createdAt descending. Time Range: No time limit - returns all historical invoices up to the limit.

Use Cases

Display Invoice History

Check Last Payment

Calculate Total Spent

Check for Unpaid Invoices

Best Practices

Display Currency: Always format amount by dividing by 100 and showing currency symbol.
Download Links: Use invoiceUrl to allow users to download/view invoice PDFs.
Date Formatting: Format createdAt and paidAt for user’s locale.
Status Badges: Show visual indicators (colors/icons) for different invoice statuses.
10 Invoice Limit: Endpoint returns max 10 invoices. For full history, direct users to Dodo Payments billing portal.
Amount in Cents: amount field is in cents. Always divide by 100 before displaying to users.
Invoice URLs: Invoice URLs may be temporary. Don’t cache them - fetch fresh on each page load.

Integration Examples

Invoice History Table

Invoice Status Badge

Invoice Summary Card

Download All Invoices