Skip to content
ABUNA
DocsLists and filters

Getting started

Lists and filters

What list endpoints return, how to filter them, and how many rows they send.

A list endpoint returns its items newest first. Invoices and sessions come in pages. The other lists return a JSON array, or [] with no matches, and have no page, limit, cursor, or offset parameters.

How many items a list returns

  • Products, prices, customers, and subscriptions return every match.
  • Events and webhook deliveries return the 50 newest matches.
  • Notices return the 100 newest matches.
  • Invoices and sessions return 25 by default, up to 100 with limit.

To find something older than the newest 50 or 100, narrow the list with a filter.

Pages

A paged list returns an object, not an array. items holds the page, empty when nothing matches. next_cursor is the cursor for the next page, or null on the last one. Pass it back as cursor with the same filters. Treat it as opaque.

List invoices and List sessions have the details.

The prices list includes archived prices. An archived price has a timestamp in archived_at.

Filters

Send filters as query parameters. The API ignores a blank filter. A status it doesn't know returns 422 with code invalid.

  • Invoices: status is open, paid, void, or overdue. search matches part of the number, name, or email, ignoring case. from and to bound the issue date in Unix seconds.
  • Sessions: type is checkout, payment, plan_change, cancel, or portal. status is open, completed, or expired. subscription_id is one subscription's ID.
  • Customers: search matches part of the name or email, ignoring case.
  • Subscriptions: status is pending, active, or canceled. email matches part of the customer's email, ignoring case.
  • Events: type is one event type, such as invoice.paid.
  • Webhook deliveries: type is one event type. status is pending, delivering, delivered, or failed.
  • Notices: subscription_id is one subscription's ID. status is pending, sending, sent, failed, or withdrawn.

Filters combine, so a list returns only items that match all of them.

GET /v1/apps/{appID}/subscriptions
curl "https://api.abuna.app/v1/apps/01J9ZQ4Y7R3T6V8W2X5B1C0DEF/subscriptions?status=active&email=ana" \
  -H "Authorization: Bearer sk_test_..."

Next steps