Skip to content

Pagination and filtering (V1)

V1 retires on January 15, 2027

Use Pagination and filtering with V2 for new work. See the migration guide for renamed filters and ordering fields.

This page covers the V1 differences. The pagination envelope (count, next, next_page, previous, results), the page and page_size parameters (default 50, maximum 100), the ordering syntax and the expand[] syntax are the same in both versions. Read them in Pagination and filtering and use /api/v1/ paths.

Sortable fields

Each V1 list endpoint accepts its own list of sortable fields. The table shows every endpoint that accepts ordering. A field an endpoint does not support is ignored, not rejected.

Endpoint Sortable fields
/api/v1/management/clients/ credit_account_balance, email, fullname, joined_date, lastname
/api/v1/management/bookings/ class_start_date, created_at, session_start_date
/api/v1/management/client-passes/ available_credits_amount, ending_date, purchased_date, starting_date
/api/v1/management/client-subscriptions/ created_at, first_billing_date, name, recurrent_price
/api/v1/management/passes/ base_price, name
/api/v1/management/subscriptions/ name, recurrent_price
/api/v1/management/client-notes/ created_on, id
/api/v1/management/tags/ id, tag_group_id
/api/v1/management/tag-groups/ id, name

Default window on classes and appointments

GET /api/v1/management/classes/ and /api/v1/management/appointments/ filter on period_start and period_end. When you omit them, period_start is now and period_end is now plus 30 days. Pass both explicitly to read past or distant classes.

curl -X GET \
  -H 'X-Api-Key: YOUR_API_KEY' \
  -H 'X-Client-ID: YOUR_CLIENT_ID' \
  -H 'X-Company-ID: YOUR_COMPANY_ID' \
  'https://YOUR_ENV_DOMAIN/api/v1/management/classes/?period_start=2026-01-01T00:00:00Z&period_end=2026-03-31T23:59:59Z'

Replace YOUR_ENV_DOMAIN with public.staging.bsport.io (staging) or public.production.bsport.io (production). See Environments.

Filters that differ from V2

The V1 booking filters keep session and location names. Read the table to match each V1 filter to its V2 name. The names are explained in Data model and terminology (V1).

V1 filter on /bookings/ V2 filter
session_id, session_ids class_id, class_ids
session_started_after_date, session_started_before_date class_started_after_date, class_started_before_date
has_session_ended, is_workshop_session has_class_ended, is_workshop_class
location_ids venue_ids
meta_activity_ids, activity_ids service_ids (activity_ids has no V2 equivalent)
client_pass_id client_class_pass_id

On /classes/, service_id filters on an internal scheduling record in V1 and on the service in V2. See Services.

For resource names, ID meanings and legacy route names, see Data model and terminology (V1).