Renvo
API docs
Concepts

Pagination

All list endpoints use cursor pagination. Cursors are opaque resource IDs — don't parse them.

Parameters

limit
integer
Page size. Default 20, max 100.
starting_after
string
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
  }
}