Endpoint Details
- Method:
GET
- URL:
/api/v0/invoices
- Authentication: Required (API Key & Secret)
- Content-Type:
application/json
- Rate Limiting: 100 requests per minute
Authentication
This endpoint requires API key authentication using:x-client-key
: Your API client keyx-client-secret
: Your API client secret
Query Parameters
Pagination Parameters
Parameter | Type | Description | Default | Example |
---|---|---|---|---|
skip | integer | Number of records to skip | 0 | ?skip=20 |
take | integer | Number of records to return | 10 | ?take=50 |
Filtering Parameters
Parameter | Type | Description | Example |
---|---|---|---|
status | enum | Filter by invoice status | ?status=OPEN |
customer | string | Filter by customer ID | ?customer=customer-uuid |
from_date | string | Filter invoices from date (YYYY-MM-DD) | ?from_date=2024-01-01 |
to_date | string | Filter invoices to date (YYYY-MM-DD) | ?to_date=2024-12-31 |
Response
Success Response (200 OK)
Response Fields
Invoice Object
Field | Type | Description |
---|---|---|
id | string | Unique identifier for the invoice |
invoice_number | string | Auto-generated invoice number (INV-XXXXXX) |
name | string | Invoice name/title |
app_id | string | Application ID that created the invoice |
string | Customer email address | |
address | string | Customer address (optional) |
phone_number | string | Customer phone number (optional) |
logo | string | Company logo URL (optional) |
customer_id | string | Customer identifier |
customer | object | Customer details |
walletId | string | Wallet used for payment processing |
wallet | object | Wallet details |
items | array | Invoice line items with product details |
due_date | string | Payment due date (ISO 8601) |
send_date | string | Date invoice was sent (ISO 8601) |
date_created | string | Invoice creation date (ISO 8601) |
status | enum | Invoice status |
payment_methods | array | Accepted payment methods |
delivery | enum | Delivery method |
payment_link | boolean | Whether payment link was generated |
partial_payment | boolean | Whether partial payments are allowed |
taxId | string | Tax configuration ID (optional) |
tax | object | Tax details (optional) |
currency | enum | Invoice currency |
subtotal | number | Subtotal amount before tax |
tax_amount | number | Tax amount |
total_amount | number | Total amount including tax |
transactions | array | Payment transactions |
amount_paid | number | Total amount paid |
amount_due | number | Remaining amount due |
is_overdue | boolean | Whether invoice is past due date |
Customer Object
Field | Type | Description |
---|---|---|
id | string | Customer unique identifier |
string | Customer email address | |
first_name | string | Customer first name |
last_name | string | Customer last name |
company_name | string | Customer company name |
created_at | string | Customer creation date (ISO 8601) |
Item Object
Field | Type | Description |
---|---|---|
id | string | Line item unique identifier |
product_id | string | Product identifier |
product | object | Product details |
quantity | number | Quantity of the product |
line_total | number | Total for this line item |
Example Requests
Error Responses
Filtering and Pagination
Pagination Strategy
Offset-Based Pagination
Offset-Based Pagination
- skip: Number of records to skip (offset)
- take: Number of records to return (limit)
- Default: skip=0, take=10
- Maximum: take=1000 per request
Performance Considerations
Performance Considerations
- Large datasets may require multiple requests
- Use appropriate
take
values to balance performance and data needs - Consider caching for frequently accessed data
Status Filtering
Invoice Status Values
Invoice Status Values
- DRAFT: Invoice created but not sent
- OPEN: Invoice sent and awaiting payment
- PAID: Invoice fully paid
- PASTDUE: Invoice overdue for payment
- PARTIALLYPAID: Partial payment received
Common Filter Combinations
Common Filter Combinations
Date Range Filtering
Date Field Options
Date Field Options
- from_date: Filter invoices created on or after this date
- to_date: Filter invoices created on or before this date
- Format: YYYY-MM-DD (ISO 8601 date format)
Common Date Ranges
Common Date Ranges
Use Cases
Invoice Dashboard
Display all invoices with status indicators and payment tracking
Collections Management
Track overdue invoices and manage collection processes
Revenue Reporting
Generate financial reports and revenue analytics
Customer Analysis
Analyze customer payment patterns and invoice history
Payment Reconciliation
Match payments with invoices for accounting purposes
Compliance Auditing
Review invoice history for regulatory compliance
Implementation Examples
Performance Considerations
Pagination Best Practices
Pagination Best Practices
- Use appropriate page sizes (10-100 records) for UI display
- Implement cursor-based pagination for large datasets
- Cache frequently accessed invoice lists
- Consider server-side filtering for complex queries
Data Loading Strategies
Data Loading Strategies
- Load invoice summaries first, then details on demand
- Use lazy loading for invoice line items and related data
- Implement progressive loading for dashboard analytics
- Cache customer and product data to reduce API calls
Real-time Updates
Real-time Updates
- Use webhooks to receive invoice status updates
- Implement optimistic UI updates for better user experience
- Cache invoice data with appropriate TTL values
- Consider WebSocket connections for real-time dashboards
Security Considerations
Invoice data contains sensitive financial information. Ensure proper access controls and data protection measures.
Data Access Control
Data Access Control
- Invoice data is automatically scoped to your authenticated application
- Only invoices created by your application are returned
- Business-level isolation prevents cross-business data access
Sensitive Data Handling
Sensitive Data Handling
- Customer payment information requires secure transmission
- Implement audit logging for invoice data access
- Consider data encryption for stored invoice information
Compliance Requirements
Compliance Requirements
- Maintain records for tax and regulatory compliance
- Implement data retention policies as required
- Ensure proper access controls for financial data
Rate Limiting
This endpoint is subject to the standard API rate limits:- Production: 100 requests per minute per API key
- Development: 50 requests per minute per API key
For large datasets, use appropriate pagination parameters and implement caching to stay within rate limits.
Related Endpoints
POST /api/v0/invoices
- Create a new invoiceGET /api/v0/invoices/{id}
- Fetch specific invoice detailsPATCH /api/v0/invoices/{id}
- Update invoice configurationGET /api/v0/customers
- List customers for invoice creation