### GET /consultant/courses Source: https://api-docs.practicebetter.io/swagger.json Returns a list of programs. ```markdown ### Parameters - **after_id** (string, query, optional): Return objects that come after this ID. Use this to fetch more objects if the list is sorted in ascending order. - **before_id** (string, query, optional): Return objects that come before this ID. Use this to fetch more objects if the list is sorted in descending order. - **consultants** (string, query, optional): The IDs of the consultants whose programs should be retrieved. - **limit** (string, query, optional): A limit on the number of objects to return between 1 and 100. - **skip** (string, query, optional): **[Deprecated]** Return objects starting from this offset. Defaults to 0. \ This parameter will be removed in a future release. Use `after_id=id` or `before_id=id` to fetch more objects if the list is sorted in ascending or descending order, respectively. \ **Effective September 15, 2025, this parameter will be limited to a lower maximum value.** - **team_for** (string, query, optional): Filter resources by team ownership. Values: 'all' (all team members), 'self' (authenticated user only), 'other' (other team members excluding self), 'in' (specific subset via team_ids). Defaults to 'self or shared' when not specified. ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/courses?after_id=value&before_id=value&consultants=value&limit=value&skip=value&team_for=value" ``` ``` -------------------------------- ### GET /consultant/packages Source: https://api-docs.practicebetter.io/swagger.json Returns a list of packages. ```markdown ### Parameters - **after_id** (string, query, optional): Return objects that come after this ID. Use this to fetch more objects if the list is sorted in ascending order. - **before_id** (string, query, optional): Return objects that come before this ID. Use this to fetch more objects if the list is sorted in descending order. - **limit** (string, query, optional): A limit on the number of objects to return between 1 and 100. - **skip** (string, query, optional): **[Deprecated]** Return objects starting from this offset. Defaults to 0. \ This parameter will be removed in a future release. Use `after_id=id` or `before_id=id` to fetch more objects if the list is sorted in ascending or descending order, respectively. \ **Effective September 15, 2025, this parameter will be limited to a lower maximum value.** ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/packages?after_id=value&before_id=value&limit=value&skip=value" ``` ``` -------------------------------- ### GET /consultant/forms Source: https://api-docs.practicebetter.io/swagger.json API endpoint for GET /consultant/forms ```markdown ### Parameters - **after_id** (string, query, optional): Return objects that come after this ID. Use this to fetch more objects if the list is sorted in ascending order. - **before_id** (string, query, optional): Return objects that come before this ID. Use this to fetch more objects if the list is sorted in descending order. - **limit** (string, query, optional): A limit on the number of objects to return between 1 and 100. - **skip** (string, query, optional): **[Deprecated]** Return objects starting from this offset. Defaults to 0. \ This parameter will be removed in a future release. Use `after_id=id` or `before_id=id` to fetch more objects if the list is sorted in ascending or descending order, respectively. \ **Effective September 15, 2025, this parameter will be limited to a lower maximum value.** - **team_for** (string, query, optional): Filter resources by team ownership. Values: 'all' (all team members), 'self' (authenticated user only), 'other' (other team members excluding self), 'in' (specific subset via team_ids). Defaults to 'self or shared' when not specified. - **types** (string, query, optional): Filter by form type. Can specify multiple values. Available types: form (standard forms), quiz (auto-graded), waiver (consent forms), attachment (file uploads). Note: For API versions before 4.3, quizzes are excluded by default; use ?types=quiz to include them explicitly. ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/forms?after_id=value&before_id=value&limit=value&skip=value&team_for=value&types=value" ``` ``` -------------------------------- ### GET /webhooks/subscription Source: https://api-docs.practicebetter.io/swagger.json API endpoint for GET /webhooks/subscription ```markdown ### Parameters - **eventType** (string, query, optional) - **isActive** (string, query, optional) - **status** (string, query, optional) ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/webhooks/subscription?eventType=value&isActive=value&status=value" ``` ``` -------------------------------- ### GET /consultant/packages/instances Source: https://api-docs.practicebetter.io/swagger.json Returns a list of client packages. Packages are returned in descending order, with the most recent packages appearing first. ```markdown ### Parameters - **after_id** (string, query, optional): Return objects that come after this ID. Use this to fetch more objects if the list is sorted in ascending order. - **before_id** (string, query, optional): Return objects that come before this ID. Use this to fetch more objects if the list is sorted in descending order. - **consultants** (string, query, optional): The IDs of the consultants whose client packages should be retrieved. - **expired** (string, query, optional): If true, will return only expired packages. If false, will return active packages. If omitted, will return both. - **limit** (string, query, optional): A limit on the number of objects to return between 1 and 100. - **packages** (string, query, optional): Filter for client packages associated with these base package IDs. - **records** (string, query, optional): The IDs of the client records whose client packages should be retrieved. - **skip** (string, query, optional): **[Deprecated]** Return objects starting from this offset. Defaults to 0. \ This parameter will be removed in a future release. Use `after_id=id` or `before_id=id` to fetch more objects if the list is sorted in ascending or descending order, respectively. \ **Effective September 15, 2025, this parameter will be limited to a lower maximum value.** - **status** (string, query, optional): The statuses fo the client packages to retrieve. Possible values are `pending` `confirmed` `cancelled`. ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/packages/instances?after_id=value&before_id=value&consultants=value&expired=value&limit=value&packages=value&records=value&skip=value&status=value" ``` ``` -------------------------------- ### GET /webhooks/delivery Source: https://api-docs.practicebetter.io/swagger.json API endpoint for GET /webhooks/delivery ```markdown ### Parameters - **endDate** (string, query, optional) - **eventType** (string, query, optional) - **maxAttempts** (string, query, optional) - **minAttempts** (string, query, optional) - **page** (string, query, optional) - **pageSize** (string, query, optional) - **startDate** (string, query, optional) - **status** (string, query, optional) - **subscriptionId** (string, query, optional) ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/webhooks/delivery?endDate=value&eventType=value&maxAttempts=value&minAttempts=value&page=value&pageSize=value&startDate=value&status=value&subscriptionId=value" ``` ``` -------------------------------- ### GET /consultant/services Source: https://api-docs.practicebetter.io/swagger.json Returns a list of services. ```markdown ### Parameters - **after_id** (string, query, optional): Return objects that come after this ID. Use this to fetch more objects if the list is sorted in ascending order. - **before_id** (string, query, optional): Return objects that come before this ID. Use this to fetch more objects if the list is sorted in descending order. - **limit** (string, query, optional): A limit on the number of objects to return between 1 and 100. - **skip** (string, query, optional): **[Deprecated]** Return objects starting from this offset. Defaults to 0. \ This parameter will be removed in a future release. Use `after_id=id` or `before_id=id` to fetch more objects if the list is sorted in ascending or descending order, respectively. \ **Effective September 15, 2025, this parameter will be limited to a lower maximum value.** - **team_for** (string, query, optional): Filter resources by team ownership. Values: 'all' (all team members), 'self' (authenticated user only), 'other' (other team members excluding self), 'in' (specific subset via team_ids). Defaults to 'self or shared' when not specified. ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/services?after_id=value&before_id=value&limit=value&skip=value&team_for=value" ``` ``` -------------------------------- ### GET /timezones Source: https://api-docs.practicebetter.io/swagger.json API endpoint for GET /timezones ```markdown ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/timezones" ``` ``` -------------------------------- ### GET /tags/{tagId} Source: https://api-docs.practicebetter.io/swagger.json API endpoint for GET /tags/{tagId} ```markdown ### Parameters - **tagId** (string, path, required): The unique identifier of the tag. ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 404 - Not Found Not Found #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/tags/{tagId}" ``` ``` -------------------------------- ### GET /consultant/packages/instances/{instanceId} Source: https://api-docs.practicebetter.io/swagger.json A package combines sessions and programs offered to a client. [Learn more](https://help.practicebetter.io/hc/en-us/articles/115002329552) Returns an instance of a client's package with a given ID. ```markdown ### Parameters - **instanceId** (string, path, required): The unique identifier of the client package. ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 404 - Not Found Not Found #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/packages/instances/{instanceId}" ``` ``` -------------------------------- ### GET /webhooks/subscription/{subscriptionId} Source: https://api-docs.practicebetter.io/swagger.json API endpoint for GET /webhooks/subscription/{subscriptionId} ```markdown ### Parameters - **subscriptionId** (string, path, required) ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/webhooks/subscription/{subscriptionId}" ``` ``` -------------------------------- ### GET /consultant/media/{itemId} Source: https://api-docs.practicebetter.io/swagger.json Get the details of a media item. The media item can be downloaded by setting the query parameter `alt` to media (`alt=media`). ```markdown ### Parameters - **alt** (string, query, optional): Set to `media` to download the attachment file. In this case, the response will be a redirect to the location where the file could be downloaded. - **as_consultant** (string, query, optional): The unique identifier of the consultant to assume for this operation. - **itemId** (string, path, required): The unique identifier of the media item. ### Responses #### 200 - OK Empty response body #### 302 - Redirect Redirect #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/media/{itemId}?alt=value&as_consultant=value" ``` ``` -------------------------------- ### GET /consultant/measurements/{recordId}/body/{measurementsId} Source: https://api-docs.practicebetter.io/swagger.json API endpoint for GET /consultant/measurements/{recordId}/body/{measurementsId} ```markdown ### Parameters - **measurementsId** (string, path, required): The unique identifier of the measurement. - **recordId** (string, path, required): The unique identifier of the client record. ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 404 - Not Found Not Found #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/measurements/{recordId}/body/{measurementsId}" ``` ``` -------------------------------- ### GET /consultant/measurements/{recordId}/blood/{measurementsId} Source: https://api-docs.practicebetter.io/swagger.json API endpoint for GET /consultant/measurements/{recordId}/blood/{measurementsId} ```markdown ### Parameters - **measurementsId** (string, path, required): The unique identifier of the measurement. - **recordId** (string, path, required): The unique identifier of the client record. ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 404 - Not Found Not Found #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/measurements/{recordId}/blood/{measurementsId}" ``` ``` -------------------------------- ### GET /consultant/protocols Source: https://api-docs.practicebetter.io/swagger.json Returns a list of protocols. Protocols are returned in descending order, with the most recent protocols appearing first based on date created. ```markdown ### Parameters - **after_id** (string, query, optional): Return objects that come after this ID. Use this to fetch more objects if the list is sorted in ascending order. - **before_id** (string, query, optional): Return objects that come before this ID. Use this to fetch more objects if the list is sorted in descending order. - **consultants** (string, query, optional): The IDs of the consultants whose protocols should be retrieved. - **limit** (string, query, optional): A limit on the number of objects to return between 1 and 100. - **records** (string, query, optional): The IDs of the client records whose protocols should be retrieved. - **skip** (string, query, optional): **[Deprecated]** Return objects starting from this offset. Defaults to 0. \ This parameter will be removed in a future release. Use `after_id=id` or `before_id=id` to fetch more objects if the list is sorted in ascending or descending order, respectively. \ **Effective September 15, 2025, this parameter will be limited to a lower maximum value.** - **team_for** (string, query, optional): Filter resources by team ownership. Values: 'all' (all team members), 'self' (authenticated user only), 'other' (other team members excluding self), 'in' (specific subset via team_ids). Defaults to 'self or shared' when not specified. ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/protocols?after_id=value&before_id=value&consultants=value&limit=value&records=value&skip=value&team_for=value" ``` ``` -------------------------------- ### GET /consultant/reminders Source: https://api-docs.practicebetter.io/swagger.json Returns a list of tasks. Tasks are returned in descending order, with the most recent tasks appearing first based on date created. ```markdown ### Parameters - **after_id** (string, query, optional): Return objects that come after this ID. Use this to fetch more objects if the list is sorted in ascending order. - **before_id** (string, query, optional): Return objects that come before this ID. Use this to fetch more objects if the list is sorted in descending order. - **completed** (string, query, optional): If true return completed tasks. If false return only pending tasks. If omitted, return both. - **consultants** (string, query, optional): The IDs of the consultants whose tasks should be retrieved. - **limit** (string, query, optional): A limit on the number of objects to return between 1 and 100. - **records** (string, query, optional): The IDs of the client records whose tasks should be retrieved. - **skip** (string, query, optional): **[Deprecated]** Return objects starting from this offset. Defaults to 0. \ This parameter will be removed in a future release. Use `after_id=id` or `before_id=id` to fetch more objects if the list is sorted in ascending or descending order, respectively. \ **Effective September 15, 2025, this parameter will be limited to a lower maximum value.** - **team_for** (string, query, optional): Filter resources by team ownership. Values: 'all' (all team members), 'self' (authenticated user only), 'other' (other team members excluding self), 'in' (specific subset via team_ids). Defaults to 'self or shared' when not specified. - **type** (string, query, optional): The task type, i.e. personal task or client task. Possible values are `consultant` `client`. ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/reminders?after_id=value&before_id=value&completed=value&consultants=value&limit=value&records=value&skip=value&team_for=value&type=value" ``` ``` -------------------------------- ### GET /consultant/courses/{courseId}/enrollments Source: https://api-docs.practicebetter.io/swagger.json Returns a list of enrollments in a program. Enrollments will be returned in descending order, with the most recently registered enrollments appearing first. ```markdown ### Parameters - **after_id** (string, query, optional): Return objects that come after this ID. Use this to fetch more objects if the list is sorted in ascending order. - **before_id** (string, query, optional): Return objects that come before this ID. Use this to fetch more objects if the list is sorted in descending order. - **courseId** (string, path, required): The unique identifier of the program. - **limit** (string, query, optional): A limit on the number of objects to return between 1 and 100. - **skip** (string, query, optional): **[Deprecated]** Return objects starting from this offset. Defaults to 0. \ This parameter will be removed in a future release. Use `after_id=id` or `before_id=id` to fetch more objects if the list is sorted in ascending or descending order, respectively. \ **Effective September 15, 2025, this parameter will be limited to a lower maximum value.** ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/courses/{courseId}/enrollments?after_id=value&before_id=value&limit=value&skip=value" ``` ``` -------------------------------- ### GET /tags Source: https://api-docs.practicebetter.io/swagger.json Tags allow you to organize clients (e.g. by office location) and keep track of their progress and milestones (e.g. `3WeekCheckpoint`). Returns a list of tags in descending order based on date created. ```markdown ### Parameters - **after_id** (string, query, optional): Return objects that come after this ID. Use this to fetch more objects if the list is sorted in ascending order. - **before_id** (string, query, optional): Return objects that come before this ID. Use this to fetch more objects if the list is sorted in descending order. - **limit** (string, query, optional): A limit on the number of objects to return between 1 and 100. - **skip** (string, query, optional): **[Deprecated]** Return objects starting from this offset. Defaults to 0. \ This parameter will be removed in a future release. Use `after_id=id` or `before_id=id` to fetch more objects if the list is sorted in ascending or descending order, respectively. \ **Effective September 15, 2025, this parameter will be limited to a lower maximum value.** ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/tags?after_id=value&before_id=value&limit=value&skip=value" ``` ``` -------------------------------- ### GET /consultant/sessions Source: https://api-docs.practicebetter.io/swagger.json Returns a list of sessions. Sessions are returned in descending order, with the most recent sessions appearing first based on date created. ```markdown ### Parameters - **after_id** (string, query, optional): Return objects that come after this ID. Use this to fetch more objects if the list is sorted in ascending order. - **before_id** (string, query, optional): Return objects that come before this ID. Use this to fetch more objects if the list is sorted in descending order. - **consultants** (string, query, optional): The IDs of the consultants whose sessions should be retrieved. - **date_eq** (string, query, optional): Filter sessions by session date where the date equals the query parameter e.g. `1970-01-01T12:30:00-04:00` - **date_gte** (string, query, optional): Filter sessions by session date where the date is greater than or equal to the query parameter e.g. `1970-01-01T12:30:00-04:00` - **date_lte** (string, query, optional): Filter sessions by session date where the date is less than or equal to the query parameter e.g. `1970-01-01T12:30:00-04:00` - **group** (string, query, optional): If true, will return group sessions. If false, will return 1-1 sessions. If omitted, will return both. - **limit** (string, query, optional): A limit on the number of objects to return between 1 and 100. - **records** (string, query, optional): The IDs of the client records whose sessions should be retrieved. - **services** (string, query, optional): Retrieve sessions associated with these service IDs. - **skip** (string, query, optional): **[Deprecated]** Return objects starting from this offset. Defaults to 0. \ This parameter will be removed in a future release. Use `after_id=id` or `before_id=id` to fetch more objects if the list is sorted in ascending or descending order, respectively. \ **Effective September 15, 2025, this parameter will be limited to a lower maximum value.** ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/sessions?after_id=value&before_id=value&consultants=value&date_eq=value&date_gte=value&date_lte=value&group=value&limit=value&records=value&services=value&skip=value" ``` ``` -------------------------------- ### GET /consultant/sessionnotes Source: https://api-docs.practicebetter.io/swagger.json Returns a list of session notes. Notes are returned in descending order, with the most recent notes appearing first based on the date created. ```markdown ### Parameters - **after_id** (string, query, optional): Return objects that come after this ID. Use this to fetch more objects if the list is sorted in ascending order. - **before_id** (string, query, optional): Return objects that come before this ID. Use this to fetch more objects if the list is sorted in descending order. - **completion** (string, query, optional): The completion status of the notes. Possible values are `notstarted` `inprogress` `completed`. - **consultants** (string, query, optional): The IDs of the consultants whose notes should be retrieved. - **date_eq** (string, query, optional): Filter notes by session date where the date equals the query parameter e.g. `1970-01-01T12:30:00-04:00` - **date_gte** (string, query, optional): Filter notes by session date where the date is greater than or equal to the query parameter e.g. `1970-01-01T12:30:00-04:00` - **date_lte** (string, query, optional): Filter notes by session date where the date is less than or equal to the query parameter e.g. `1970-01-01T12:30:00-04:00` - **limit** (string, query, optional): A limit on the number of objects to return between 1 and 100. - **records** (string, query, optional): The IDs of the client record ids whose notes should be retrieved. - **skip** (string, query, optional): **[Deprecated]** Return objects starting from this offset. Defaults to 0. \ This parameter will be removed in a future release. Use `after_id=id` or `before_id=id` to fetch more objects if the list is sorted in ascending or descending order, respectively. \ **Effective September 15, 2025, this parameter will be limited to a lower maximum value.** - **team_for** (string, query, optional): Filter resources by team ownership. Values: 'all' (all team members), 'self' (authenticated user only), 'other' (other team members excluding self), 'in' (specific subset via team_ids). Defaults to 'self or shared' when not specified. ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/sessionnotes?after_id=value&before_id=value&completion=value&consultants=value&date_eq=value&date_gte=value&date_lte=value&limit=value&records=value&skip=value&team_for=value" ``` ``` -------------------------------- ### GET /consultant/protocols/{protocolId} Source: https://api-docs.practicebetter.io/swagger.json A protocol allows you to combine food, supplement, and lifestyle recommendations to share with a client. Supplement recommendations can be created using 3rd party supplement dispensaries. Returns a protocol with a given ID. ```markdown ### Parameters - **alt** (string, query, optional): Set to `media` to download the protocol as a PDF. - **protocolId** (string, path, required): The unique identifier of the protocol. ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 404 - Not Found Not Found #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/protocols/{protocolId}?alt=value" ``` ``` -------------------------------- ### GET /consultant/courses/{courseId} Source: https://api-docs.practicebetter.io/swagger.json Programs and courses allow you to share your knowledge and expertise with multiple clients at once. Content can be organized in modules and released to clients at later dates within the Client Portal or via email notifications. [Learn more](https://help.practicebetter.io/hc/en-us/articles/360001327732) Returns a program with a given ID. ```markdown ### Parameters - **courseId** (string, path, required): The unique identifier of the program. ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 404 - Not Found Not Found #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/courses/{courseId}" ``` ``` -------------------------------- ### GET /consultant/payments/invoices/{invoiceId} Source: https://api-docs.practicebetter.io/swagger.json Returns an invoice with a given ID. ```markdown ### Parameters - **invoiceId** (string, path, required): The unique identifier of the invoice. ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 404 - Not Found Not Found #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/payments/invoices/{invoiceId}" ``` ``` -------------------------------- ### GET /consultant/sessions/{sessionId} Source: https://api-docs.practicebetter.io/swagger.json A session (or appointment) is a scheduled one-on-one or group meeting with one or more clients. Returns a session with a given ID. ```markdown ### Parameters - **recordId** (string, query, optional): For a group session, the client record ID can be specified to retrieve resources associated with their enrollment. - **sessionId** (string, path, required): The unique identifier of the session. ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 404 - Not Found Not Found #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/sessions/{sessionId}?recordId=value" ``` ``` -------------------------------- ### GET /company/administration/members Source: https://api-docs.practicebetter.io/swagger.json The consultant object represents either a practitioner or administrative user associated with your account. Returns a list of practitioners and admin users. ```markdown ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/company/administration/members" ``` ``` -------------------------------- ### GET /consultant/payments/invoices Source: https://api-docs.practicebetter.io/swagger.json Returns a list of client invoices. Invoices are returned in descending order, with the most recent invoices appearing first based on date created. ```markdown ### Parameters - **after_id** (string, query, optional): Return objects that come after this ID. Use this to fetch more objects if the list is sorted in ascending order. - **before_id** (string, query, optional): Return objects that come before this ID. Use this to fetch more objects if the list is sorted in descending order. - **consultants** (string, query, optional): The IDs of the consultants whose invoices should be retrieved. - **invoicedate_eq** (string, query, optional): Filter the invoices by invoice date where the date equals the query parameter e.g. `1970-01-01T12:30:00-04:00` - **invoicedate_gte** (string, query, optional): Filter the invoices by invoice date where the date is greater than or equal to the query parameter e.g. `1970-01-01T12:30:00-04:00` - **invoicedate_lte** (string, query, optional): Filter the invoices by invoice date where the date is less than or equal to the query parameter e.g. `1970-01-01T12:30:00-04:00` - **limit** (string, query, optional): A limit on the number of objects to return between 1 and 100. - **paymentstatus** (string, query, optional): The payment statuses of the invoices to retrieve. Possible values are `unpaid` `partial` `paid`. - **records** (string, query, optional): The IDs of the client records whose invoices should be retrieved. - **skip** (string, query, optional): **[Deprecated]** Return objects starting from this offset. Defaults to 0. \ This parameter will be removed in a future release. Use `after_id=id` or `before_id=id` to fetch more objects if the list is sorted in ascending or descending order, respectively. \ **Effective September 15, 2025, this parameter will be limited to a lower maximum value.** ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/payments/invoices?after_id=value&before_id=value&consultants=value&invoicedate_eq=value&invoicedate_gte=value&invoicedate_lte=value&limit=value&paymentstatus=value&records=value&skip=value" ``` ``` -------------------------------- ### GET /consultant/medicalhistory/{recordId}/healthproducts Source: https://api-docs.practicebetter.io/swagger.json A medical history profile instance is returned but only the various health product lists are populated for a given client record. ```markdown ### Parameters - **recordId** (string, path, required): The unique identifier of the client record. ### Responses #### 200 - OK Empty response body #### 204 - No Content Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 404 - Not Found Not Found #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/medicalhistory/{recordId}/healthproducts" ``` ``` -------------------------------- ### GET /webhooks/subscription/event/types Source: https://api-docs.practicebetter.io/swagger.json Returns all webhook event types supported by Practice Better, grouped by category. **Response Structure:** ```json [ { "name": "Client Records", "eventTypes": [ { "label": "Client Record Created", "value": "client.record.created" }, { "label": "Client Record Updated", "value": "client.record.updated" } ] } ] ``` Use the `value` field when specifying event types in webhook subscription requests. ```markdown ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/webhooks/subscription/event/types" ``` ``` -------------------------------- ### GET /consultant/dietlifestyle/{recordId} Source: https://api-docs.practicebetter.io/swagger.json A diet and lifestyle profile contains information on a client's stressors, dietary restrictions, and other lifestyle markers. Returns the diet and lifestyle profile of a given client record. ```markdown ### Parameters - **recordId** (string, path, required): The unique identifier of the client record. ### Responses #### 200 - OK Empty response body #### 204 - No Content Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 404 - Not Found Not Found #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/dietlifestyle/{recordId}" ``` ``` -------------------------------- ### GET /consultant/records Source: https://api-docs.practicebetter.io/swagger.json Returns a list of client records. Records are returned in descending order, with the most recent records appearing first based on date created. ```markdown ### Parameters - **after_id** (string, query, optional): Return objects that come after this ID. Use this to fetch more objects if the list is sorted in ascending order. - **before_id** (string, query, optional): Return objects that come before this ID. Use this to fetch more objects if the list is sorted in descending order. - **child** (string, query, optional): If true, will return only sub-records. If false, will return only primary client records. If omitted, will return both. [Learn more](https://help.practicebetter.io/hc/en-us/articles/115007154147) - **client** (string, query, optional): If true only return client records that have an active Practice Better user account linked. - **details** (string, query, optional): If true, will return addresses, contacts, insurance information and other details. - **limit** (string, query, optional): A limit on the number of objects to return between 1 and 100. - **modified_eq** (string, query, optional): Filter client records by date modified where the date equals the query parameter e.g. `1970-01-01T12:30:00-04:00` - **modified_gte** (string, query, optional): Filter client records by date modified where the date is greater than or equal to the query parameter e.g. `1970-01-01T12:30:00-04:00` - **modified_lte** (string, query, optional): Filter client records by date modified where the date is less than or equal to the query parameter e.g. `1970-01-01T12:30:00-04:00` - **skip** (string, query, optional): **[Deprecated]** Return objects starting from this offset. Defaults to 0. \ This parameter will be removed in a future release. Use `after_id=id` or `before_id=id` to fetch more objects if the list is sorted in ascending or descending order, respectively. \ **Effective September 15, 2025, this parameter will be limited to a lower maximum value.** - **status** (string, query, optional): A list of client statuses. Possible values are `pendingcreate` `created`. A `pendingcreate` record is a prospective client that does not count towards your subscription limit. A prospective record turns into a `created` client once you've added them to your account either manually or via an automation. [Learn more](https://help.practicebetter.io/hc/en-us/articles/360026475051) ### Responses #### 200 - OK Empty response body #### 400 - Bad Request Bad Request #### 401 - Unauthorized Unauthorized #### 403 - Forbidden Forbidden #### 429 - Too Many Requests Too Many Requests #### 500 - Internal Server Error Internal Server Error ### Example Usage ```bash curl -X GET "https://api.example.com/consultant/records?after_id=value&before_id=value&child=value&client=value&details=value&limit=value&modified_eq=value&modified_gte=value&modified_lte=value&skip=value&status=value" ``` ```