# List clients Retrieve all clients with basic pagination support This endpoint provides simple client listing capabilities without any filtering restrictions. It's designed for scenarios where you need to browse through the entire client database with standard pagination controls. Key Features: - Basic pagination with configurable page sizes (default: 50 records) - Default sorting by client name (ascending) then creation date (descending) - Complete client information including contact details and staff assignments - Total count aggregation for pagination metadata - No filtering logic - returns all clients in the system - Optimized for dashboard displays and data export operations Performance Considerations: - Default 50-record pageSize prevents memory issues with large datasets - Indexed sorting on name and createdAt fields for optimal query performance - Consider using filtered queries for large client databases (1000+ records) - Suitable for datasets up to 10,000 clients with reasonable response times Real Example: bash curl --location 'https://{{host}}/v1/clients' \ --data '{ "pageSize": 25, "page": 0 }' Endpoint: POST /gql/v1/clients Version: 1.0.0 Security: BearerAuth ## Request fields (application/json): - `pageSize` (integer) Maximum number of client records to return Example: 25 - `page` (integer) Number of records to skip for pagination navigation ## Response 200 fields (application/json): - `clients` (array) - `clients.id` (integer) Unique client identifier Example: 2180 - `clients.pmsRef` (string) Practice Management System reference Example: "1155" - `clients.clientRef` (string) External client reference number Example: "41664" - `clients.name` (string) Client full name or company name Example: "Aaron Fahey" - `clients.clientKey` (string) Formatted client key with padding Example: "000000041664 f" - `clients.active` (boolean) Client active status Example: true - `clients.partnerStaffId` (integer) ID of assigned partner staff member Example: 53 - `clients.managerStaffId` (integer) ID of assigned manager staff member Example: 19 - `clients.createdAt` (string) Client record creation timestamp Example: "2023-05-12T22:43:55.488054+00:00" - `clients.updatedAt` (string) Last modification timestamp Example: "2023-06-09T21:34:28.817274+00:00" - `clients.clientContactInfo` (object) Client contact information details - `clients.clientContactInfo.id` (integer) Example: 9957 - `clients.clientContactInfo.firstName` (string) Example: "John" - `clients.clientContactInfo.lastName` (string) Example: "Doe" - `clients.clientContactInfo.email` (string) Example: "loree.kling@yahoo.com" - `clients.clientContactInfo.phone` (string) Example: "1-555-123-4567" - `clients.clientContactInfo.address` (string) Example: "123 Main Street" - `clients.clientContactInfo.city` (string) Example: "Anytown" - `clients.clientContactInfo.state` (string) Example: "CA" - `clients.clientContactInfo.zip_code` (string) Example: "12345" - `clients.partnerStaff` (object) Staff member basic information - `clients.managerStaff` (object) Staff member basic information - `total` (object) - `total.aggregate` (object) - `total.aggregate.count` (integer) Total number of clients in the system Example: 13697 ## Response 400 fields (application/json): - `error` (string, required) Human-readable error message Example: "Invalid parameter value" - `code` (string, required) Machine-readable error code Example: "INVALID_PARAMETER" - `details` (string) Additional error context Example: "The 'pageSize' parameter must be between 1 and 1000" ## Response 500 fields (application/json): - `error` (string, required) Human-readable error message Example: "Invalid parameter value" - `code` (string, required) Machine-readable error code Example: "INVALID_PARAMETER" - `details` (string) Additional error context Example: "The 'pageSize' parameter must be between 1 and 1000"