Skip to main content
All list endpoints use page-based pagination. Results are returned in pages of a fixed size, and you advance through them using the page query parameter.

Request parameters

ParameterTypeDefaultDescription
pagenumber1The page number to retrieve (1-indexed)
sizenumber20The number of records per page
GET /v1/crm/leads?page=2&size=50
Authorization: Api-Key <your-api-key>

Response envelope

Every list response wraps results in a consistent envelope:
{
  "meta": {
    "page": 2,
    "perPage": 50,
    "totalCount": 134,
    "totalPages": 3
  },
  "data": [...]
}
FieldDescription
meta.pageThe current page number
meta.perPageThe number of records returned on this page
meta.totalCountThe total number of records matching the query
meta.totalPagesThe total number of pages available
dataThe array of records for the current page

Iterating all pages

To retrieve every record, loop until meta.page equals meta.totalPages:
page=1
while true; do
  response=$(curl -s "https://api.signapay.com/v1/crm/leads?page=$page&size=100" \
    -H "Authorization: Api-Key <your-api-key>")
  
  total_pages=$(echo "$response" | jq '.meta.totalPages')
  # process $response.data ...

  [ "$page" -ge "$total_pages" ] && break
  page=$((page + 1))
done