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).