Pagination and filters
Clients and employees
Client and employee-directory lists use skip (default 0) and take (default
15, range 1–100). Their count is the matching total before pagination.
Advance skip by the requested page size. Clients sort by name, then clientID;
employees by name, then userID. Assigned employee services use the same
pagination defaults and sort by service sort, then serviceID.
Filters combine with AND. Client name and phone perform substring searches.
For a complete international phone number, send phoneExact instead of phone.
Sending both, even empty, returns 422. Encode the leading + as %2B or use
curl --data-urlencode. A valid exact search can match multiple clients; it does
not establish uniqueness.
curl --get "$TETRADKA_API_BASE/open/crm/v1/clients" \
-H "X-Api-Key: $TETRADKA_API_KEY" \
-H 'Accept: application/json' \
--data-urlencode 'phoneExact=+44 (7700) 900-123' \
--data-urlencode 'take=15'
Employee filters include name, serviceID, hasServices and isOnline.
Boolean query values for these employee filters are the strings true or false.
Other collections
Pagination is not uniform across the API. Read each operation's parameters and response schema in the reference.
| Collection | Contract to preserve |
|---|---|
| Visits | Grouped response by status; skip is accepted but currently does not apply an offset. There is no generic take pagination. |
| Services and category services | Use the documented skip and exclude[] behavior; do not add a universal take parameter. |
| Service categories | {count,categories} without nested services; categories sort by sort. The current list does not apply take without skip. |
| Schedules | Date bounds and endpoint-specific skip/take; use the operation schema for defaults and limits. |
| Booking time slots | Date and ordered employee/service selection, with the operation's skip/take rules. |
An empty result is a successful read, not automatically a missing resource. Counts and response envelopes retain the individual domain contract; do not flatten grouped visits into a generic list.