Concepts
Pagination
All list endpoints use cursor pagination. Cursors are opaque resource IDs — don't parse them.
Parameters
limitinteger | Page size. Default 20, max 100. |
starting_afterstring | Pass next_cursor from the previous response to get the next page. |
Response envelope
List responsejson
{
"object": "list",
"data": [
{ "object": "customer", "id": "cu_a1…", "full_name": "Jane Doe" },
{ "object": "customer", "id": "cu_a2…", "full_name": "Bob Smith" }
],
"has_more": true,
"next_cursor": "cu_a2…"
}Iterating all pages
async function* allCustomers() {
let cursor = null
while (true) {
const url = new URL('https://userenvo.com/api/v1/customers')
url.searchParams.set('limit', '100')
if (cursor) url.searchParams.set('starting_after', cursor)
const res = await fetch(url, { headers: { Authorization: 'Bearer ' + process.env.RENVO_API_KEY } })
const page = await res.json()
for (const c of page.data) yield c
if (!page.has_more) break
cursor = page.next_cursor
}
}