Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developers.vendaze.com/llms.txt

Use this file to discover all available pages before exploring further.

All listing endpoints in the Vendaze API return paginated results. No endpoint returns an unbounded list of records.

How it works

Use the page and per_page query parameters to navigate through results:
GET /v1/people?page=1&per_page=50
GET /v1/people?page=2&per_page=50

Pagination metadata

Every listing response includes a meta object:
{
  "data": [ ... ],
  "meta": {
    "total": 234,
    "page": 2,
    "per_page": 50,
    "has_more": true
  }
}
FieldDescription
totalTotal number of records matching the current filters.
pageCurrent page number.
per_pageRecords per page.
has_moretrue if there are more pages after this one.

Available parameters

ParameterTypeDefaultMaxDescription
pageinteger1-Page number to retrieve.
per_pageinteger50100Records per page. Returns 422 if above 100.
order_bystringcreated_at-Field to sort by.
orderstringdesc-asc or desc.

Fetching all records

To retrieve all records, iterate through pages until has_more is false:
async function fetchAll(endpoint, accessToken) {
  const results = [];
  let page = 1;

  while (true) {
    const res = await fetch(`https://api.vendaze.com${endpoint}?page=${page}&per_page=100`, {
      headers: { Authorization: `Bearer ${accessToken}` },
    });
    const { data, meta } = await res.json();
    results.push(...data);
    if (!meta.has_more) break;
    page++;
  }

  return results;
}
Be mindful of rate limits when iterating over large datasets. Use filters to narrow the result set when possible.

Sortable fields by resource

ResourceSortable fields
Peoplecreated_at, updated_at, full_name
Companiescreated_at, updated_at, full_name
Dealscreated_at, updated_at, name, price_cts
Taskscreated_at, updated_at, due_date
Activitiescreated_at
Productscreated_at, name