Enter at least two characters to search. Searching documentation… No matching sections. Try an endpoint, field or event name.

Pagination and filters

View as Markdown

Paginated endpoints return 25 records at a time, newest first except for members, which are listed oldest first. Ask for another page with ?page= and another size with ?per_page= (1 to 100; a size outside that range is brought within it rather than refused). Alongside data you get Laravel's meta and links objects, so you can walk the pages without counting yourself.

On this page
GET /v1/charges

Copy failed. Select the code and copy it manually.

curl 'https://api.velirapay.com/v1/charges?status=paid&per_page=50&page=2' \
  --fail-with-body --silent --show-error --max-time 30 \
  -H "Authorization: Bearer ${VELIRAPAY_API_KEY:?Set VELIRAPAY_API_KEY}" \
  -H 'Accept: application/json'
Response

Copy failed. Select the code and copy it manually.

{
  "data": [ … ],
  "links": { "first": "…", "last": "…", "prev": "…", "next": null },
  "meta": {
    "current_page": 2, "from": 51, "last_page": 2, "links": [ … ],
    "path": "…", "per_page": 50, "to": 63, "total": 63
  }
}

These are numbered pages, not a snapshot. Records added, removed or moved out of your filters while you page can cause repeats or skips. Ignore ids you already have, and repeat the scan if you need to reconcile a changing list.

Filters

Each list endpoint takes the filters that make sense for it, and they combine with paging.

  • GET /v1/charges Filter with ?status= (pending, underpaid, paid, expired or canceled), ?payment_link= (a payment link id), ?asset= (a coin), ?search= (the charge id, customer email or customer name), ?created_from= and ?created_to= (ISO 8601 dates in UTC; a bare ?created_to= date includes that whole day).
  • GET /v1/invoices Filter with ?status= (open, paid or void), ?search= (the number, customer name or customer email) and ?overdue=true.
  • GET /v1/payment-links Filter with ?status= (active or archived) and ?search= (the title).
  • GET /v1/coupons Filter with ?search= (the code).
  • GET /v1/payouts Filter with ?status= (pending, sending, sent, failed or manual), ?asset= (a coin) and ?search= (a charge id or a transaction hash).
  • GET /v1/events Filter with ?type= (one event name), ?charge= (a charge id) and ?invoice= (an invoice id). ?invoice= returns the invoice.* events only: the events of its charges are found with ?charge=.
  • GET /v1/webhook-endpoints No filters.
  • GET /v1/webhook-endpoints/{id}/deliveries Filter with ?status= (pending, succeeded, failed) and ?event= (one event name).
  • GET /v1/api-keys Active keys in the key's mode. No filters.
  • GET /v1/members Members, oldest first. No filters.
  • GET /v1/invitations Unaccepted invitations, including expired ones. No filters.
  • GET /v1/activity Filter with ?action= (an action or sensitive), ?person= (a name or email), ?q= (a subject or IP address), ?from= and ?to= (YYYY-MM-DD).

An invalid status, event type, coin or date in these filters is ignored; other valid filters still apply. An id or search that matches nothing gives an empty list. GET /v1/assets, GET /v1/payout-addresses and GET /v1/payouts/summary return complete lists without paging. GET /v1/assets accepts ?currency= and rejects an unsupported currency with 422.