Appearance
CSV Exports
Export your data as CSV. These are the only /v1 endpoints that do not return JSON — each responds with Content-Type: text/csv and a Content-Disposition: attachment header followed by a raw CSV body.
Account-wide exports
GET /v1/exports/licenses
GET /v1/exports/customers
GET /v1/exports/payments
GET /v1/exports/sales| Endpoint | Columns | Filters |
|---|---|---|
/exports/licenses | License Key, Email, Name, Product, Status, Seats, Sites, Created | ?search= (license key / customer email) |
/exports/customers | Email, First Name, Last Name, Company, Phone, Country, Created | ?search= (email / first / last name) |
/exports/payments | ID, Email, Amount, Currency, Status, Method, Created | — |
/exports/sales | Date, Order ID, Customer Email, Product, License Key, Amount, Currency, Status, Method | ?from=, ?to=, ?product_id=, ?status=, ?search= |
Per-product exports
GET /v1/products/:id/export/licenses
GET /v1/products/:id/export/orders
GET /v1/products/:id/export/subscriptions
GET /v1/products/:id/export/sitesPer-product exports require a Pro+ plan. The plan gate runs before any CSV bytes are written, so a denial is still a JSON 402 response.
| Endpoint | Columns |
|---|---|
/export/licenses | License Key, Email, Name, Status, Seats, Sites, Expires, Created |
/export/orders | ID, Email, Amount, Currency, Status, Method, Created |
/export/subscriptions | Email, License Key, Status, Renews / Ends, Cancel At Period End, Created |
/export/sites | URL, Status, Email, License Key, Activated, Deactivated, Last Checked |
Example
bash
curl -X GET "https://api.packedge.dev/v1/exports/licenses" \
-H "Authorization: Bearer pk_your_api_key" \
-o licenses.csvSample body:
csv
License Key,Email,Name,Product,Status,Seats,Sites,Created
MYPLUGIN-XXXX-XXXX-XXXX-XXXX,[email protected],John Doe,My Plugin,active,5,2,2026-02-06T00:00:00ZNotes
- Timestamps are RFC 3339; amounts are formatted with two decimals
- Exports stream the full dataset — there is no pagination
