Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.contazen.ro/llms.txt

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

Overview

All list endpoints return paginated results to ensure optimal performance and manageable response sizes.

Request Parameters

page
integer
default:"1"
The page number to retrieve. Pages are 1-indexed.
per_page
integer
default:"50"
Number of items per page. Maximum value is 100.

Response Format

Paginated responses include metadata about the results:
{
  "success": true,
  "data": {
    "object": "list",
    "data": [...], // Array of items
    "has_more": true,
    "total": 245,
    "page": 1,
    "per_page": 50,
    "total_pages": 5
  },
  "meta": {
    "version": "v1",
    "response_time": "23.45ms"
  }
}

Response Fields

FieldTypeDescription
objectstringAlways “list” for paginated responses
dataarrayThe requested items
has_morebooleanWhether more pages exist
totalintegerTotal number of items
pageintegerCurrent page number
per_pageintegerItems per page
total_pagesintegerTotal number of pages

Examples

Basic Pagination

Request the first page with default page size:
curl https://api.contazen.ro/v1/clients \
  -H "Authorization: Bearer YOUR_API_KEY"

Custom Page Size

Request 20 items per page:
curl "https://api.contazen.ro/v1/clients?per_page=20" \
  -H "Authorization: Bearer YOUR_API_KEY"
Get page 3 of results:
curl "https://api.contazen.ro/v1/clients?page=3&per_page=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

Best Practices

  • Use smaller page sizes (10-20) for real-time UIs
  • Use larger page sizes (50-100) for batch processing
  • Consider network latency and processing time
  • Check has_more before fetching next page
  • Handle empty results gracefully
  • Validate page numbers are within range
For frequently changing data:
  • Store the last item ID from each page
  • Use filters to get items after that ID
  • Prevents missing items due to insertions

Code Examples

async function getAllClients(apiKey) {
  const clients = [];
  let page = 1;
  let hasMore = true;
  
  while (hasMore) {
    const response = await fetch(
      `https://api.contazen.ro/v1/clients?page=${page}&per_page=100`,
      {
        headers: {
          'Authorization': `Bearer ${apiKey}`
        }
      }
    );
    
    const data = await response.json();
    clients.push(...data.data.data);
    
    hasMore = data.data.has_more;
    page++;
  }
  
  return clients;
}

Performance Tips

  1. Cache Results: Store paginated results when data doesn’t change frequently
  2. Parallel Requests: Fetch multiple pages simultaneously when order doesn’t matter
  3. Progressive Loading: Load initial page quickly, fetch more as needed
  4. Use Filters: Combine pagination with filters to reduce dataset size