Skip to main content

Pagination

Endpoints that return lists use pagination to improve performance.

Parameters

ParameterTypeDefaultDescription
pageinteger0Page number (starts at 0)
sizeinteger20Number of items per page (max 100)
sortstring-Sorting (format: field,direction)

Examples

Simple Pagination

GET /v1/appointments?page=0&size=20

With Sorting

# Sort by creation date descending
GET /v1/appointments?page=0&size=20&sort=createdAt,desc

# Sort by name ascending
GET /v1/departments?sort=name,asc

Response Format

{
"content": [
{ "id": 1, "..." },
{ "id": 2, "..." }
],
"pageable": {
"pageNumber": 0,
"pageSize": 20,
"offset": 0
},
"totalElements": 150,
"totalPages": 8,
"last": false,
"first": true,
"numberOfElements": 20
}

Useful Fields

  • totalElements: Total number of elements
  • totalPages: Total number of pages
  • last: Is last page?
  • first: Is first page?
  • numberOfElements: Number of elements in this page

Best Practices

  • Start with a reasonable page size (20-50)
  • Use sorting for deterministic order
  • Don't request pages that are too large (max 100)