Pagination, Sorting & Filtering

List endpoints support pagination, sorting, and filtering to help you retrieve exactly the data you need.

Pagination

Use the page and limit query parameters to paginate through results.

Parameter Type Default Constraints
page integer 1 Minimum: 1
limit integer 20 Min: 1, Max: 100

Example Request

curl -H "Authorization: Bearer rt_sk.prod.xxx" \
     "https://roundtable.eu/api/partners/v1/deals?page=2&limit=50"

Pagination Response

Every list response includes a pagination object:

{
  "data": [...],
  "pagination": {
    "page": 2,
    "limit": 50,
    "totalCount": 150,
    "totalPages": 3
  }
}

Sorting

Use the sort parameter to order results.

Sort Syntax

sort=field.direction
  • Direction is required: asc (ascending) or desc (descending)
  • Default sort is createdAt.desc (newest first)

Sort Examples

Query Description
sort=createdAt.desc Sort by createdAt descending (default)
sort=createdAt.asc Sort by createdAt ascending

Example Request

curl -H "Authorization: Bearer rt_sk.prod.xxx" \
     "https://roundtable.eu/api/partners/v1/deals?sort=createdAt.desc"

Note: Each endpoint defines which fields are sortable. Attempting to sort by an unsupported field returns a 400 BAD_REQUEST error.

Filtering

Filter list endpoints using query parameters with optional operators.

Filter Operators

Operator Syntax Description
eq field=value Equals (default)
notEq field.notEq=value Not equals
gt field.gt=value Greater than
gte field.gte=value Greater than or equal
lt field.lt=value Less than
lte field.lte=value Less than or equal
in field.in=a,b,c In list (comma-separated)
notIn field.notIn=a,b,c Not in list
ilike field.ilike=value Pattern match (case-insensitive)

For like and ilike, use % as a wildcard character.

Note: Each endpoint defines which fields are filterable and which operators are supported for each field. Check the endpoint documentation for available filter options.

Filter Examples

Filter by date range:

curl -H "Authorization: Bearer rt_sk.prod.xxx" \
     "https://roundtable.eu/api/partners/v1/deals?createdAt.gte=2024-01-01T00:00:00Z"

Filter by multiple IDs:

curl -H "Authorization: Bearer rt_sk.prod.xxx" \
     "https://roundtable.eu/api/partners/v1/deals?dealMemberId.in=uuid1,uuid2"

Text search (case-insensitive):

curl -H "Authorization: Bearer rt_sk.prod.xxx" \
     "https://roundtable.eu/api/partners/v1/deals?company.commercialName.ilike=%acme%"

Combining Filters

When multiple filters are provided, they are combined with AND logic. Results must match all specified conditions.

# Deals created in 2024 with "tech" in company name
curl -H "Authorization: Bearer rt_sk.prod.xxx" \
     "https://roundtable.eu/api/partners/v1/deals?createdAt.gte=2024-01-01T00:00:00Z&company.commercialName.ilike=%tech%"