# List Patient Contacts Endpoint: GET /patient_contact Version: v1 Security: x-api-key, a-api-key ## Query parameters: - `page` (integer) Example: 1 - `page_size` (integer) Example: 50 - `sort_by` (array) Comma separated search fields. See Sorting Example: ["[\"field_name\",\"field_name\"]"] - `q[]` (array) Filter result by one or more fields. See Query Filtering Available filters: | Value | Format | |---|---| | client_id | integer | | first_name | string | | surname | string | | email | string | | home_phone | string | | work_phone | string | | mobile | string | | fax | string | | phone | string | | archive | boolean | ## Response 200 fields (application/json): - `patient_contacts` (array) - `patient_contacts.row_num` (integer) - `patient_contacts.total_rows` (integer) - `patient_contacts.links` (object) - `patient_contacts.links.self` (string) Example: "https://api.pracsuite.com/v1/patient_contact/1" - `patient_contacts.tenant_id` (integer) - `patient_contacts.patient_contact_id` (integer) - `patient_contacts.client_id` (integer) - `patient_contacts.relationship` (string) - `patient_contacts.title` (string) - `patient_contacts.first_name` (string) - `patient_contacts.surname` (string) - `patient_contacts.address_1` (string) - `patient_contacts.address_2` (string) - `patient_contacts.address_3` (string) - `patient_contacts.address_4` (string) - `patient_contacts.suburb` (string) - `patient_contacts.address_state` (string) - `patient_contacts.postcode` (string) - `patient_contacts.country` (string) - `patient_contacts.home_phone` (string) - `patient_contacts.work_phone` (string) - `patient_contacts.mobile` (string) - `patient_contacts.email` (string) - `patient_contacts.notes` (string) - `patient_contacts.fax` (string) - `patient_contacts.linked_client_id` (integer) - `patient_contacts.linked_referrer_id` (integer) - `patient_contacts.linked_payer_id` (integer) - `patient_contacts.account_id` (integer) - `patient_contacts.preferred_phone` (string) - `patient_contacts.archive` (boolean) - `total_entries` (integer) ## Response 400 fields (application/json): - `error` (object, required) - `error.status` (integer) Example: 400 - `error.code` (string) Example: "INVALID_PARAMS" - `error.detail` (string) Human readable explanation of the error Example: "One or more request parameters are invalid." - `request_id` (string, required) Example: "00000000-0000-0000-0000-000000000000" ## Response 401 fields (application/json): - `error` (object, required) - `error.status` (integer) Example: 403 - `error.code` (string) Example: "UNAUTHORIZED" - `error.detail` (string) Human readable explanation of the error Example: "Access could not be verified for this request." - `request_id` (string, required) Example: "00000000-0000-0000-0000-000000000000" ## Response 403 fields (application/json): - `error` (object, required) - `error.status` (integer) Example: 403 - `error.code` (string) Example: "MISSING_AUTHENTICATION_TOKEN" - `error.detail` (string) Human readable explanation of the error Example: "Authentication token is missing or the requested endpoint does not exist" - `request_id` (string, required) Example: "00000000-0000-0000-0000-000000000000" ## Response 500 fields (application/json): - `error` (object, required) - `error.status` (integer) Example: 500 - `error.code` (string) Example: "SERVER_ERROR" - `error.detail` (string) Human readable explanation of the error Example: "An unexpected error occurred while processing your request. Please try again in a few minutes. If it keeps happening, contact support with Request ID: 00000000-0000-0000-0000-000000000000." - `request_id` (string, required) Example: "00000000-0000-0000-0000-000000000000"