List Products
Returns a paginated list of products, ordered by creation date (most recent first). Supports filtering by status, eligibility, and more.Authentication
Query Parameters
| Parameter | Type | Description |
|---|---|---|
limit | integer | Number of results per page (default: 10, max: 100) |
starting_after | integer | Cursor for pagination (product ID) |
status | enum | Filter by status: active, inactive, archived |
hsa_fsa_eligible | boolean | Filter by HSA/FSA eligibility (true/false) |
merchant_product_id | string | Filter by your product ID |
created_after | timestamp | Filter products created after this date |
created_before | timestamp | Filter products created before this date |
Request
Response
Response Fields
| Field | Type | Description |
|---|---|---|
data | array | Array of product objects |
has_more | boolean | Whether more results are available |
next_cursor | integer | Cursor for next page (use as starting_after) |
Examples
List All Products
Filter by Status
Filter by HSA/FSA Eligibility
Pagination
Filter by Date Range
Use Cases
Product Catalog Display
Sync to E-commerce Platform
Product Analytics
Export Products to CSV
Filter Eligible Products for Marketing
Inventory Report
Pagination Best Practices
Use cursor-based pagination for large datasets:Errors
| Status Code | Error Code | Description |
|---|---|---|
| 400 | invalid_request | Invalid query parameters |
| 401 | unauthorized | Invalid or missing API key |
| 429 | rate_limit_exceeded | Too many requests |
Best Practices
Use Pagination
Always paginate large result sets using cursors
Filter Efficiently
Use filters to reduce data transfer
Cache Results
Cache product lists to minimize API calls
Handle Empty Results
Check if
data array is empty before processingRelated Endpoints
- Create Product - POST /v2/products
- Get Product - GET /v2/products/
- Update Product - PUT /v2/products/
- Check Eligibility - POST /v2/products/check-eligibility
