{"items":[{"type":"link","label":"Lobbie Partner API","link":"/openapi","routeSlug":"/openapi"},{"type":"group","label":"Partner API Overview","link":"/openapi/section/partner-api-overview","routeSlug":"/openapi/section/partner-api-overview","items":[{"type":"link","label":"Authentication","link":"/openapi/section/partner-api-overview/authentication","routeSlug":"/openapi/section/partner-api-overview/authentication"},{"type":"link","label":"Prerequisites","link":"/openapi/section/partner-api-overview/prerequisites","routeSlug":"/openapi/section/partner-api-overview/prerequisites"},{"type":"link","label":"Obtaining an Access Token","link":"/openapi/section/partner-api-overview/obtaining-an-access-token","routeSlug":"/openapi/section/partner-api-overview/obtaining-an-access-token"},{"type":"link","label":"Making Authenticated Requests","link":"/openapi/section/partner-api-overview/making-authenticated-requests","routeSlug":"/openapi/section/partner-api-overview/making-authenticated-requests"},{"type":"link","label":"Token Management","link":"/openapi/section/partner-api-overview/token-management","routeSlug":"/openapi/section/partner-api-overview/token-management"},{"type":"link","label":"Authorization","link":"/openapi/section/partner-api-overview/authorization","routeSlug":"/openapi/section/partner-api-overview/authorization"},{"type":"link","label":"Rate Limits & Quotas","link":"/openapi/section/partner-api-overview/rate-limits-and-quotas","routeSlug":"/openapi/section/partner-api-overview/rate-limits-and-quotas"},{"type":"link","label":"Common Errors","link":"/openapi/section/partner-api-overview/common-errors","routeSlug":"/openapi/section/partner-api-overview/common-errors"},{"type":"link","label":"HIPAA & Compliance","link":"/openapi/section/partner-api-overview/hipaa-and-compliance","routeSlug":"/openapi/section/partner-api-overview/hipaa-and-compliance"},{"type":"link","label":"Webhooks","link":"/openapi/section/partner-api-overview/webhooks","routeSlug":"/openapi/section/partner-api-overview/webhooks"},{"type":"link","label":"Registering and managing endpoints","link":"/openapi/section/partner-api-overview/registering-and-managing-endpoints","routeSlug":"/openapi/section/partner-api-overview/registering-and-managing-endpoints"},{"type":"link","label":"Supported event types","link":"/openapi/section/partner-api-overview/supported-event-types","routeSlug":"/openapi/section/partner-api-overview/supported-event-types"},{"type":"link","label":"Test delivery","link":"/openapi/section/partner-api-overview/test-delivery","routeSlug":"/openapi/section/partner-api-overview/test-delivery"},{"type":"link","label":"Inbound delivery (your server)","link":"/openapi/section/partner-api-overview/inbound-delivery-(your-server)","routeSlug":"/openapi/section/partner-api-overview/inbound-delivery-(your-server)"},{"type":"link","label":"Request body shape","link":"/openapi/section/partner-api-overview/request-body-shape","routeSlug":"/openapi/section/partner-api-overview/request-body-shape"},{"type":"link","label":"Event ","link":"/openapi/section/partner-api-overview/event","routeSlug":"/openapi/section/partner-api-overview/event"},{"type":"link","label":"Payment events","link":"/openapi/section/partner-api-overview/payment-events","routeSlug":"/openapi/section/partner-api-overview/payment-events"},{"type":"link","label":"Subscription events","link":"/openapi/section/partner-api-overview/subscription-events","routeSlug":"/openapi/section/partner-api-overview/subscription-events"},{"type":"link","label":"Verifying signatures","link":"/openapi/section/partner-api-overview/verifying-signatures","routeSlug":"/openapi/section/partner-api-overview/verifying-signatures"},{"type":"link","label":"Acknowledging delivery","link":"/openapi/section/partner-api-overview/acknowledging-delivery","routeSlug":"/openapi/section/partner-api-overview/acknowledging-delivery"},{"type":"link","label":"Retries","link":"/openapi/section/partner-api-overview/retries","routeSlug":"/openapi/section/partner-api-overview/retries"},{"type":"link","label":"Delivery guarantees","link":"/openapi/section/partner-api-overview/delivery-guarantees","routeSlug":"/openapi/section/partner-api-overview/delivery-guarantees"}]},{"type":"group","label":"Terminology","link":"/openapi/section/terminology","routeSlug":"/openapi/section/terminology","items":[{"type":"link","label":"Core Entities","link":"/openapi/section/terminology/core-entities","routeSlug":"/openapi/section/terminology/core-entities"},{"type":"link","label":"Account","link":"/openapi/section/terminology/account","routeSlug":"/openapi/section/terminology/account"},{"type":"link","label":"Location","link":"/openapi/section/terminology/location","routeSlug":"/openapi/section/terminology/location"},{"type":"link","label":"Patient","link":"/openapi/section/terminology/patient","routeSlug":"/openapi/section/terminology/patient"},{"type":"link","label":"Scheduling","link":"/openapi/section/terminology/scheduling","routeSlug":"/openapi/section/terminology/scheduling"},{"type":"link","label":"Appointment","link":"/openapi/section/terminology/appointment","routeSlug":"/openapi/section/terminology/appointment"},{"type":"link","label":"Appointment Type","link":"/openapi/section/terminology/appointment-type","routeSlug":"/openapi/section/terminology/appointment-type"},{"type":"link","label":"Practitioner","link":"/openapi/section/terminology/practitioner","routeSlug":"/openapi/section/terminology/practitioner"},{"type":"link","label":"Self-Scheduling","link":"/openapi/section/terminology/self-scheduling","routeSlug":"/openapi/section/terminology/self-scheduling"},{"type":"link","label":"Self-Scheduling Attempt","link":"/openapi/section/terminology/self-scheduling-attempt","routeSlug":"/openapi/section/terminology/self-scheduling-attempt"},{"type":"link","label":"Staff & Access","link":"/openapi/section/terminology/staff-and-access","routeSlug":"/openapi/section/terminology/staff-and-access"},{"type":"link","label":"Staff Member","link":"/openapi/section/terminology/staff-member","routeSlug":"/openapi/section/terminology/staff-member"},{"type":"link","label":"Role Group","link":"/openapi/section/terminology/role-group","routeSlug":"/openapi/section/terminology/role-group"},{"type":"link","label":"Forms & Documentation","link":"/openapi/section/terminology/forms-and-documentation","routeSlug":"/openapi/section/terminology/forms-and-documentation"},{"type":"link","label":"Form Template","link":"/openapi/section/terminology/form-template","routeSlug":"/openapi/section/terminology/form-template"},{"type":"link","label":"Form Group","link":"/openapi/section/terminology/form-group","routeSlug":"/openapi/section/terminology/form-group"},{"type":"link","label":"Form","link":"/openapi/section/terminology/form","routeSlug":"/openapi/section/terminology/form"},{"type":"link","label":"Form Element","link":"/openapi/section/terminology/form-element","routeSlug":"/openapi/section/terminology/form-element"},{"type":"link","label":"Form Answer","link":"/openapi/section/terminology/form-answer","routeSlug":"/openapi/section/terminology/form-answer"},{"type":"link","label":"Form Template Group","link":"/openapi/section/terminology/form-template-group","routeSlug":"/openapi/section/terminology/form-template-group"},{"type":"link","label":"Billing & Payments","link":"/openapi/section/terminology/billing-and-payments","routeSlug":"/openapi/section/terminology/billing-and-payments"},{"type":"link","label":"Invoice","link":"/openapi/section/terminology/invoice","routeSlug":"/openapi/section/terminology/invoice"},{"type":"link","label":"Invoice Line Item","link":"/openapi/section/terminology/invoice-line-item","routeSlug":"/openapi/section/terminology/invoice-line-item"},{"type":"link","label":"Payment Request","link":"/openapi/section/terminology/payment-request","routeSlug":"/openapi/section/terminology/payment-request"},{"type":"link","label":"Recurring Payment","link":"/openapi/section/terminology/recurring-payment","routeSlug":"/openapi/section/terminology/recurring-payment"},{"type":"link","label":"Labs & Clinical","link":"/openapi/section/terminology/labs-and-clinical","routeSlug":"/openapi/section/terminology/labs-and-clinical"},{"type":"link","label":"Lab","link":"/openapi/section/terminology/lab","routeSlug":"/openapi/section/terminology/lab"},{"type":"link","label":"Test Panel","link":"/openapi/section/terminology/test-panel","routeSlug":"/openapi/section/terminology/test-panel"},{"type":"link","label":"Test Component","link":"/openapi/section/terminology/test-component","routeSlug":"/openapi/section/terminology/test-component"},{"type":"link","label":"Health Profile","link":"/openapi/section/terminology/health-profile","routeSlug":"/openapi/section/terminology/health-profile"},{"type":"link","label":"Patient Management","link":"/openapi/section/terminology/patient-management","routeSlug":"/openapi/section/terminology/patient-management"},{"type":"link","label":"Category","link":"/openapi/section/terminology/category","routeSlug":"/openapi/section/terminology/category"},{"type":"link","label":"Patient Category","link":"/openapi/section/terminology/patient-category","routeSlug":"/openapi/section/terminology/patient-category"},{"type":"link","label":"CRM Status Group","link":"/openapi/section/terminology/crm-status-group","routeSlug":"/openapi/section/terminology/crm-status-group"},{"type":"link","label":"CRM Status","link":"/openapi/section/terminology/crm-status","routeSlug":"/openapi/section/terminology/crm-status"},{"type":"link","label":"Communications","link":"/openapi/section/terminology/communications","routeSlug":"/openapi/section/terminology/communications"},{"type":"link","label":"Notification","link":"/openapi/section/terminology/notification","routeSlug":"/openapi/section/terminology/notification"},{"type":"link","label":"Notification Group","link":"/openapi/section/terminology/notification-group","routeSlug":"/openapi/section/terminology/notification-group"},{"type":"link","label":"Identity & Security","link":"/openapi/section/terminology/identity-and-security","routeSlug":"/openapi/section/terminology/identity-and-security"},{"type":"link","label":"Identity Proof","link":"/openapi/section/terminology/identity-proof","routeSlug":"/openapi/section/terminology/identity-proof"},{"type":"link","label":"Verification Method","link":"/openapi/section/terminology/verification-method","routeSlug":"/openapi/section/terminology/verification-method"}]},{"type":"separator","label":"API Endpoints"},{"type":"group","label":"Account","link":"/openapi/account","routeSlug":"/openapi/account","items":[{"label":"List accounts","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/account/listaccounts","routeSlug":"/openapi/account/listaccounts","metadata":{"seo":{"title":"List accounts","description":"Retrieve a paginated list of accounts the partner integrator is authorized to access."}},"httpPath":"/partner/v2/account"},{"label":"Get account by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/account/getaccount","routeSlug":"/openapi/account/getaccount","metadata":{"seo":{"title":"Get account by ID","description":"Retrieve account information and settings for the authorized account."}},"httpPath":"/partner/v2/account/{accountId}"}]},{"type":"group","label":"Appointment Types","link":"/openapi/appointment-types","routeSlug":"/openapi/appointment-types","items":[{"label":"List appointment types","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/appointment-types/listappointmenttypes","routeSlug":"/openapi/appointment-types/listappointmenttypes","metadata":{"seo":{"title":"List appointment types","description":"Retrieve a paginated list of active appointment types for the account. Supports filtering by name/description and keyset pagination."}},"httpPath":"/partner/v2/account/{accountId}/appointment/type"},{"label":"Get appointment type by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/appointment-types/getappointmenttype","routeSlug":"/openapi/appointment-types/getappointmenttype","metadata":{"seo":{"title":"Get appointment type by ID","description":"Retrieve details for a specific appointment type."}},"httpPath":"/partner/v2/account/{accountId}/appointment/type/{appointmentTypeId}"}]},{"type":"group","label":"Appointments","link":"/openapi/appointments","routeSlug":"/openapi/appointments","items":[{"label":"List appointments","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/appointments/listappointments","routeSlug":"/openapi/appointments/listappointments","metadata":{"seo":{"title":"List appointments","description":"Retrieve a paginated list of appointments for the account. Supports filtering by location, practitioner, patient, date range, and status. Results are sorted by appointment start time by default."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/appointment"},{"label":"Create appointment","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/appointments/createappointment","routeSlug":"/openapi/appointments/createappointment","metadata":{"seo":{"title":"Create appointment","description":"Schedule a new appointment for a patient. Requires patient ID, practitioner ID, appointment type ID, scheduler config ID, and the desired start time. The system will validate availability before confirming the appointment."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/appointment"},{"label":"Get appointment by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/appointments/getappointment","routeSlug":"/openapi/appointments/getappointment","metadata":{"seo":{"title":"Get appointment by ID","description":"Retrieve detailed information about a specific appointment including patient details, practitioner, location, and appointment type information."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/appointment/{appointmentId}"},{"label":"Update appointment","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/appointments/updateappointment","routeSlug":"/openapi/appointments/updateappointment","metadata":{"seo":{"title":"Update appointment","description":"Update an existing appointment. Can be used to reschedule (change time/practitioner) or update appointment details. Only provided fields will be updated."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/appointment/{appointmentId}"},{"label":"Get appointment confirm/cancel links","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/appointments/getappointmentlinks","routeSlug":"/openapi/appointments/getappointmentlinks","metadata":{"seo":{"title":"Get appointment confirm/cancel links","description":"Returns the patient-facing confirmation and cancellation URLs for an appointment — the same links Lobbie sends in its own reminder emails/texts, generated via the same mechanism. Generating a link does NOT send any notification to the patient. The cancel URL is only returned when patient cancellation is enabled for the account. Links expire at the appointment start time."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/appointment/{appointmentId}/link"}]},{"type":"group","label":"CRM Status Groups","link":"/openapi/crm-status-groups","routeSlug":"/openapi/crm-status-groups","items":[{"label":"List CRM status groups","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/crm-status-groups/listcrmstatusgroups","routeSlug":"/openapi/crm-status-groups/listcrmstatusgroups","metadata":{"seo":{"title":"List CRM status groups","description":"Retrieve the list of CRM status groups defined for the account."}},"httpPath":"/partner/v2/account/{accountId}/crm-status-group"},{"label":"Get CRM status group by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/crm-status-groups/getcrmstatusgroup","routeSlug":"/openapi/crm-status-groups/getcrmstatusgroup","metadata":{"seo":{"title":"Get CRM status group by ID","description":"Retrieve detailed information about a specific CRM status group."}},"httpPath":"/partner/v2/account/{accountId}/crm-status-group/{groupId}"},{"label":"List CRM statuses in group","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/crm-status-groups/listcrmstatuses","routeSlug":"/openapi/crm-status-groups/listcrmstatuses","metadata":{"seo":{"title":"List CRM statuses in group","description":"Retrieve all CRM statuses within the specified status group."}},"httpPath":"/partner/v2/account/{accountId}/crm-status-group/{groupId}/status"},{"label":"Get CRM status by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/crm-status-groups/getcrmstatus","routeSlug":"/openapi/crm-status-groups/getcrmstatus","metadata":{"seo":{"title":"Get CRM status by ID","description":"Retrieve detailed information about a specific CRM status."}},"httpPath":"/partner/v2/account/{accountId}/crm-status-group/{groupId}/status/{statusId}"}]},{"type":"group","label":"Categories","link":"/openapi/categories","routeSlug":"/openapi/categories","items":[{"label":"List categories","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/categories/listcategories","routeSlug":"/openapi/categories/listcategories","metadata":{"seo":{"title":"List categories","description":"Retrieve the list of patient categories defined for the account."}},"httpPath":"/partner/v2/account/{accountId}/category"},{"label":"Get category by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/categories/getcategory","routeSlug":"/openapi/categories/getcategory","metadata":{"seo":{"title":"Get category by ID","description":"Retrieve detailed information about a specific category."}},"httpPath":"/partner/v2/account/{accountId}/category/{categoryId}"}]},{"type":"group","label":"Form Template Groups","link":"/openapi/form-template-groups","routeSlug":"/openapi/form-template-groups","items":[{"label":"List form template groups","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/form-template-groups/listformtemplategroups","routeSlug":"/openapi/form-template-groups/listformtemplategroups","metadata":{"seo":{"title":"List form template groups","description":"Retrieve a list of form template groups for the account. Form template groups are pre-configured collections of forms that can be assigned together."}},"httpPath":"/partner/v2/account/{accountId}/form/template-group"},{"label":"Get form template group by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/form-template-groups/getformtemplategroup","routeSlug":"/openapi/form-template-groups/getformtemplategroup","metadata":{"seo":{"title":"Get form template group by ID","description":"Retrieve detailed information about a form template group including the list of form templates it contains."}},"httpPath":"/partner/v2/account/{accountId}/form/template-group/{groupId}"}]},{"type":"group","label":"Form Templates","link":"/openapi/form-templates","routeSlug":"/openapi/form-templates","items":[{"label":"List form templates","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/form-templates/listformtemplates","routeSlug":"/openapi/form-templates/listformtemplates","metadata":{"seo":{"title":"List form templates","description":"Retrieve a paginated list of form templates for the account. Templates define the structure of forms that can be assigned to patients. Supports filtering by appointment type and staff-only visibility."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/form/template"},{"label":"Get form template by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/form-templates/getformtemplate","routeSlug":"/openapi/form-templates/getformtemplate","metadata":{"seo":{"title":"Get form template by ID","description":"Retrieve detailed information about a form template including all form elements/fields. Use this to understand the structure of a form for integration purposes."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/form/template/{formTemplateId}"},{"label":"Get form template attributes","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/form-templates/getformtemplateattributes","routeSlug":"/openapi/form-templates/getformtemplateattributes","metadata":{"seo":{"title":"Get form template attributes","description":"Retrieve the list of mapped attributes for a template. Attributes are named mappings for form fields (e.g., 'first_name' or 'email') that can be used for pre-filling and data extraction."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/form/template/{formTemplateId}/attribute"},{"label":"Get form template elements","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/form-templates/getformtemplateelements","routeSlug":"/openapi/form-templates/getformtemplateelements","metadata":{"seo":{"title":"Get form template elements","description":"Retrieve the list of form elements (fields) for a template. Each element represents an input field, with its type, label, and optional attribute mapping."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/form/template/{formTemplateId}/element"}]},{"type":"group","label":"Forms","link":"/openapi/forms","routeSlug":"/openapi/forms","items":[{"label":"List form packets","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/forms/listformpackets","routeSlug":"/openapi/forms/listformpackets","metadata":{"seo":{"title":"List form packets","description":"Retrieve a paginated list of form packets for the account. Supports filtering by patient, location, and date range. Form packets contain one or more forms assigned to a patient."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/form-packet"},{"label":"Create form packet","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/forms/createformpacket","routeSlug":"/openapi/forms/createformpacket","metadata":{"seo":{"title":"Create form packet","description":"Create a new form packet for a patient. Specify the patient and either a list of form template IDs or a form template group ID. Optionally set a due date and pre-fill form fields with known data using attribute name keys (see the prefill field for details). Use GET /form/template/{id}/attribute to discover available attribute names for a template."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/form-packet"},{"label":"Archive form packet","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/forms/archiveformpacket","routeSlug":"/openapi/forms/archiveformpacket","metadata":{"seo":{"title":"Archive form packet","description":"Archive a form packet. Archived packets are hidden from default views."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/form-packet/{formPacketId}"},{"label":"Get form packet by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/forms/getformpacket","routeSlug":"/openapi/forms/getformpacket","metadata":{"seo":{"title":"Get form packet by ID","description":"Retrieve detailed information about a form packet including all forms and their completion status. Use the form sub-resource endpoints to retrieve answers."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/form-packet/{formPacketId}"},{"label":"Update form packet","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/forms/updateformpacket","routeSlug":"/openapi/forms/updateformpacket","metadata":{"seo":{"title":"Update form packet","description":"Update a form packet. Can be used to change the due date, add additional forms, archive or unarchive the packet, or pre-fill form fields."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/form-packet/{formPacketId}"},{"label":"List forms in a packet","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/forms/listforms","routeSlug":"/openapi/forms/listforms","metadata":{"seo":{"title":"List forms in a packet","description":"Retrieve all active forms within a form packet, including their completion status and template information."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/form-packet/{formPacketId}/form"},{"label":"Get a single form","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/forms/getform","routeSlug":"/openapi/forms/getform","metadata":{"seo":{"title":"Get a single form","description":"Retrieve a single form within a packet, including all submitted answers."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/form-packet/{formPacketId}/form/{formId}"},{"label":"Update form answers","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/forms/updateformanswers","routeSlug":"/openapi/forms/updateformanswers","metadata":{"seo":{"title":"Update form answers","description":"Update answers for a specific form within a packet. Provide a list of answer updates keyed by form element ID."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/form-packet/{formPacketId}/form/{formId}"},{"label":"Submit a form","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/forms/submitform","routeSlug":"/openapi/forms/submitform","metadata":{"seo":{"title":"Submit a form","description":"Mark a form as complete. Every required form element must have an answer; otherwise the request is rejected with a 422 listing the missing fields. Once submitted, the form is considered finalized. If all forms in the packet are complete, the packet is also marked complete."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/form-packet/{formPacketId}/form/{formId}/submit"},{"label":"Get form packet links","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/forms/getformpacketlinks","routeSlug":"/openapi/forms/getformpacketlinks","metadata":{"seo":{"title":"Get form packet links","description":"Retrieve previously generated patient-facing and staff-facing URLs. Returns null URLs if POST /link has not been called yet."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/form-packet/{formPacketId}/link"},{"label":"Generate form packet links","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/forms/generateformpacketlinks","routeSlug":"/openapi/forms/generateformpacketlinks","metadata":{"seo":{"title":"Generate form packet links","description":"Generate patient-facing and staff-facing URLs for a form packet. The patient URL allows the patient to complete forms. The staff URL links to the staff view. This may create notification and short-URL records."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/form-packet/{formPacketId}/link"}]},{"type":"group","label":"Health Profile","link":"/openapi/health-profile","routeSlug":"/openapi/health-profile","items":[{"label":"Get allergy by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/health-profile/getallergy","routeSlug":"/openapi/health-profile/getallergy","metadata":{"seo":{"title":"Get allergy by ID","description":"Retrieve detailed information about a specific allergy. Scoped by account."}},"httpPath":"/partner/v2/account/{accountId}/health-profile/allergies/{allergyId}"},{"label":"Get medication by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/health-profile/getmedication","routeSlug":"/openapi/health-profile/getmedication","metadata":{"seo":{"title":"Get medication by ID","description":"Retrieve detailed information about a specific medication. Scoped by account."}},"httpPath":"/partner/v2/account/{accountId}/health-profile/medications/{medicationId}"},{"label":"Get problem by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/health-profile/getproblem","routeSlug":"/openapi/health-profile/getproblem","metadata":{"seo":{"title":"Get problem by ID","description":"Retrieve detailed information about a specific problem/diagnosis. Scoped by account."}},"httpPath":"/partner/v2/account/{accountId}/health-profile/problems/{problemId}"}]},{"type":"group","label":"Identity Proof","link":"/openapi/identity-proof","routeSlug":"/openapi/identity-proof","items":[{"label":"Create identity proof","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/identity-proof/createidentityproof","routeSlug":"/openapi/identity-proof/createidentityproof","metadata":{"seo":{"title":"Create identity proof","description":"Create a new identity proof session for person verification within this account. Returns an ID and secure token for subsequent requests."}},"httpPath":"/partner/v2/account/{accountId}/identity-proof"},{"label":"Get identity proof status","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/identity-proof/getidentityproofstatus","routeSlug":"/openapi/identity-proof/getidentityproofstatus","metadata":{"seo":{"title":"Get identity proof status","description":"Returns the current status of an identity proof session, including which verification methods have been verified and which are still pending."}},"httpPath":"/partner/v2/account/{accountId}/identity-proof/{id}"},{"label":"Get matched patient","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/identity-proof/getpatient_1","routeSlug":"/openapi/identity-proof/getpatient_1","metadata":{"seo":{"title":"Get matched patient","description":"Find the matched patient for a verified identity proof. Returns the patient ID if a unique match is found. Returns 404 if no match found, or 422 if multiple matches found (duplicate email/phone in account). All required communication methods must be verified before calling this endpoint."}},"httpPath":"/partner/v2/account/{accountId}/identity-proof/{id}/patient"},{"label":"Send verification code","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/identity-proof/sendverification","routeSlug":"/openapi/identity-proof/sendverification","metadata":{"seo":{"title":"Send verification code","description":"Send verification code to email or phone. Does not perform patient matching - only proves contact ownership."}},"httpPath":"/partner/v2/account/{accountId}/identity-proof/{id}/send"},{"label":"Verify code","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/identity-proof/verifycode","routeSlug":"/openapi/identity-proof/verifycode","metadata":{"seo":{"title":"Verify code","description":"Verify the code sent via email or SMS. Returns verification status and the verified contact information (email/phone)."}},"httpPath":"/partner/v2/account/{accountId}/identity-proof/{id}/verify"}]},{"type":"group","label":"Invoices","link":"/openapi/invoices","routeSlug":"/openapi/invoices","items":[{"label":"List invoices","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/invoices/listinvoices","routeSlug":"/openapi/invoices/listinvoices","metadata":{"seo":{"title":"List invoices","description":"Retrieve invoices for the location using cursor pagination. Optional filters: purchase order ID, status, patient ID, subscription ID."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/invoice"},{"label":"Get invoice by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/invoices/getinvoice","routeSlug":"/openapi/invoices/getinvoice","metadata":{"seo":{"title":"Get invoice by ID","description":"Retrieve a single invoice for the location, including line items."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/invoice/{invoiceId}"}]},{"type":"group","label":"Items","link":"/openapi/items","routeSlug":"/openapi/items","items":[{"label":"List items","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/items/listitems","routeSlug":"/openapi/items/listitems","metadata":{"seo":{"title":"List items","description":"Retrieve a paginated list of items (services and supplies) for the account."}},"httpPath":"/partner/v2/account/{accountId}/item"},{"label":"Get item by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/items/getitem","routeSlug":"/openapi/items/getitem","metadata":{"seo":{"title":"Get item by ID","description":"Retrieve detailed information about a specific item."}},"httpPath":"/partner/v2/account/{accountId}/item/{itemId}"}]},{"type":"group","label":"Labs","link":"/openapi/labs","routeSlug":"/openapi/labs","items":[{"label":"List labs","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/labs/listlabs","routeSlug":"/openapi/labs/listlabs","metadata":{"seo":{"title":"List labs","description":"Retrieve lab orders and results for the location. Supports filtering by patient, status, vendor, and entry date range."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/lab"},{"label":"Get lab by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/labs/getlab","routeSlug":"/openapi/labs/getlab","metadata":{"seo":{"title":"Get lab by ID","description":"Retrieve detailed information about a lab including all test components."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/lab/{labId}"},{"label":"List test components for lab","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/labs/listtestcomponents","routeSlug":"/openapi/labs/listtestcomponents","metadata":{"seo":{"title":"List test components for lab","description":"Retrieve all test components (results) for the specified lab."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/lab/{labId}/test-component"},{"label":"Get test component by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/labs/gettestcomponent","routeSlug":"/openapi/labs/gettestcomponent","metadata":{"seo":{"title":"Get test component by ID","description":"Retrieve detailed information about a specific test component."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/lab/{labId}/test-component/{componentId}"}]},{"type":"group","label":"Locations","link":"/openapi/locations","routeSlug":"/openapi/locations","items":[{"label":"List locations","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/locations/listlocations","routeSlug":"/openapi/locations/listlocations","metadata":{"seo":{"title":"List locations","description":"Retrieve a paginated list of active locations for the account. Supports filtering by name and storeId. Use storeId filter to find a location by partner's external identifier."}},"httpPath":"/partner/v2/account/{accountId}/location"},{"label":"Get location by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/locations/getlocation","routeSlug":"/openapi/locations/getlocation","metadata":{"seo":{"title":"Get location by ID","description":"Retrieve location information by location ID. The location must belong to the account associated with the OAuth token."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}"},{"label":"List location external IDs","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/locations/listlocationexternalids","routeSlug":"/openapi/locations/listlocationexternalids","metadata":{"seo":{"title":"List location external IDs","description":"Retrieve the foreign-system IDs for a location: the location-level mappings (GoHighLevel location ID and MX Merchant merchant ID) plus every patient-scoped GHL/MX Merchant ID anchored to this location (each with its patientId). Location-level rows have a null patientId. Filter by system / idType / externalId; externalId enables reverse lookup (e.g. MX Merchant customerId -> patient). Keyset-paginated."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/external-id"}]},{"type":"group","label":"Notification Groups","link":"/openapi/notification-groups","routeSlug":"/openapi/notification-groups","items":[{"label":"List notification groups","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/notification-groups/listnotificationgroups","routeSlug":"/openapi/notification-groups/listnotificationgroups","metadata":{"seo":{"title":"List notification groups","description":"Retrieve a paginated list of notification groups for the account. Each group ties together related notifications for an appointment, form, or payment."}},"httpPath":"/partner/v2/account/{accountId}/notification-group"},{"label":"Get notification group by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/notification-groups/getnotificationgroup","routeSlug":"/openapi/notification-groups/getnotificationgroup","metadata":{"seo":{"title":"Get notification group by ID","description":"Retrieve detailed information about a specific notification group."}},"httpPath":"/partner/v2/account/{accountId}/notification-group/{groupId}"}]},{"type":"group","label":"Notifications","link":"/openapi/notifications","routeSlug":"/openapi/notifications","items":[{"label":"List notifications","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/notifications/listnotifications","routeSlug":"/openapi/notifications/listnotifications","metadata":{"seo":{"title":"List notifications","description":"Retrieve a paginated list of notifications for the account. Supports filtering by patient, notification group, type, status, and date range. Each notification tracks email and SMS delivery status independently."}},"httpPath":"/partner/v2/account/{accountId}/notification"},{"label":"Get notification by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/notifications/getnotification","routeSlug":"/openapi/notifications/getnotification","metadata":{"seo":{"title":"Get notification by ID","description":"Retrieve detailed information about a specific notification."}},"httpPath":"/partner/v2/account/{accountId}/notification/{notificationId}"}]},{"type":"group","label":"Orders","link":"/openapi/orders","routeSlug":"/openapi/orders","items":[{"label":"List orders","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/orders/listorders","routeSlug":"/openapi/orders/listorders","metadata":{"seo":{"title":"List orders","description":"Retrieve purchase orders for the location using cursor pagination. Optional filters: status, patient ID, appointment ID. Results are ordered by creation time; use sortDir for ascending or descending order."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/order"},{"label":"Get order by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/orders/getorder","routeSlug":"/openapi/orders/getorder","metadata":{"seo":{"title":"Get order by ID","description":"Retrieve a single purchase order for the location, including line items and subscriptions."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/order/{orderId}"}]},{"type":"group","label":"Patients","link":"/openapi/patients","routeSlug":"/openapi/patients","items":[{"label":"List patients","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/patients/listpatients","routeSlug":"/openapi/patients/listpatients","metadata":{"seo":{"title":"List patients","description":"Retrieve a paginated list of patients for the account. Supports filtering by name/email/active status and cursor-based pagination."}},"httpPath":"/partner/v2/account/{accountId}/patient"},{"label":"Create patient","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/patients/createpatient","routeSlug":"/openapi/patients/createpatient","metadata":{"seo":{"title":"Create patient","description":"Create a new patient for the account. The account must match the OAuth token context."}},"httpPath":"/partner/v2/account/{accountId}/patient"},{"label":"List patient category enrollments (account-wide)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/patients/listaccountpatientcategories","routeSlug":"/openapi/patients/listaccountpatientcategories","metadata":{"seo":{"title":"List patient category enrollments (account-wide)","description":"Retrieve patient-category enrollments across the account, filterable by category and current CRM status. Each row carries the patientId and assignedAt (when the patient entered the current status). Use /patient/{patientId} to hydrate the patient."}},"httpPath":"/partner/v2/account/{accountId}/patient-category"},{"label":"Get patient by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/patients/getpatient","routeSlug":"/openapi/patients/getpatient","metadata":{"seo":{"title":"Get patient by ID","description":"Retrieve patient information by patient ID. The patient must belong to the authorized account."}},"httpPath":"/partner/v2/account/{accountId}/patient/{patientId}"},{"label":"Update patient","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/patients/updatepatient","routeSlug":"/openapi/patients/updatepatient","metadata":{"seo":{"title":"Update patient","description":"Update patient information by patient ID. Only provided fields will be updated. The patient must belong to the authorized account."}},"httpPath":"/partner/v2/account/{accountId}/patient/{patientId}"},{"label":"List patient category assignments","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/patients/listpatientcategories","routeSlug":"/openapi/patients/listpatientcategories","metadata":{"seo":{"title":"List patient category assignments","description":"Retrieve the patient's category assignments. By default returns all assignments; use the 'active' filter to narrow results."}},"httpPath":"/partner/v2/account/{accountId}/patient/{patientId}/category"},{"label":"List patient category transitions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/patients/listcategorytransitions","routeSlug":"/openapi/patients/listcategorytransitions","metadata":{"seo":{"title":"List patient category transitions","description":"Retrieve the category transition history for the patient sorted by transitionedAt."}},"httpPath":"/partner/v2/account/{accountId}/patient/{patientId}/category/transition"},{"label":"Get category transition by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/patients/getcategorytransition","routeSlug":"/openapi/patients/getcategorytransition","metadata":{"seo":{"title":"Get category transition by ID","description":"Retrieve detailed information about a specific category transition."}},"httpPath":"/partner/v2/account/{accountId}/patient/{patientId}/category/transition/{transitionId}"},{"label":"List patient external IDs","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/patients/listpatientexternalids","routeSlug":"/openapi/patients/listpatientexternalids","metadata":{"seo":{"title":"List patient external IDs","description":"Retrieve the foreign-system IDs (GoHighLevel contact/opportunity, MX Merchant customer) Lobbie maintains for the patient. Each row includes the Lobbie locationId it belongs to. Filter by system / idType / externalId; keyset-paginated."}},"httpPath":"/partner/v2/account/{accountId}/patient/{patientId}/external-id"},{"label":"List patient allergies","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/patients/listallergies","routeSlug":"/openapi/patients/listallergies","metadata":{"seo":{"title":"List patient allergies","description":"Retrieve all allergies for a patient including severity, reactions, and status."}},"httpPath":"/partner/v2/account/{accountId}/patient/{patientId}/health-profile/allergies"},{"label":"List patient medications","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/patients/listmedications","routeSlug":"/openapi/patients/listmedications","metadata":{"seo":{"title":"List patient medications","description":"Retrieve all medications for a patient including dosage instructions and status."}},"httpPath":"/partner/v2/account/{accountId}/patient/{patientId}/health-profile/medications"},{"label":"List patient problems/diagnoses","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/patients/listproblems","routeSlug":"/openapi/patients/listproblems","metadata":{"seo":{"title":"List patient problems/diagnoses","description":"Retrieve all problems (diagnoses) for a patient including ICD-10 codes and status."}},"httpPath":"/partner/v2/account/{accountId}/patient/{patientId}/health-profile/problems"},{"label":"List patient tags","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/patients/listtags","routeSlug":"/openapi/patients/listtags","metadata":{"seo":{"title":"List patient tags","description":"Retrieve the patient's active tags, ordered by display order. Cursor-based pagination."}},"httpPath":"/partner/v2/account/{accountId}/patient/{patientId}/tag"},{"label":"Create patient tag","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/patients/createtag","routeSlug":"/openapi/patients/createtag","metadata":{"seo":{"title":"Create patient tag","description":"Create a new tag on the patient. Color must be one of the allowed palette values; defaults to #C1E4FF if omitted."}},"httpPath":"/partner/v2/account/{accountId}/patient/{patientId}/tag"},{"label":"Delete patient tag","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/patients/deletetag","routeSlug":"/openapi/patients/deletetag","metadata":{"seo":{"title":"Delete patient tag","description":"Remove a tag from the patient. This is a soft delete; the tag stops appearing in listings."}},"httpPath":"/partner/v2/account/{accountId}/patient/{patientId}/tag/{tagId}"},{"label":"Get patient tag by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/patients/gettag","routeSlug":"/openapi/patients/gettag","metadata":{"seo":{"title":"Get patient tag by ID","description":"Retrieve a single tag belonging to the patient."}},"httpPath":"/partner/v2/account/{accountId}/patient/{patientId}/tag/{tagId}"}]},{"type":"group","label":"Payment Attempts","link":"/openapi/payment-attempts","routeSlug":"/openapi/payment-attempts","items":[{"label":"List payment attempts","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/payment-attempts/listpaymentattempts","routeSlug":"/openapi/payment-attempts/listpaymentattempts","metadata":{"seo":{"title":"List payment attempts","description":"Retrieve payment attempts for the location using cursor pagination. Optional filters: status, invoice ID, purchase order ID, patient ID, and createdOn bounds (startDate, endDate, ISO-8601 inclusive)."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/payment-attempt"},{"label":"Get payment attempt by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/payment-attempts/getpaymentattempt","routeSlug":"/openapi/payment-attempts/getpaymentattempt","metadata":{"seo":{"title":"Get payment attempt by ID","description":"Retrieve a single payment attempt for the location."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/payment-attempt/{paymentAttemptId}"}]},{"type":"group","label":"Payments","link":"/openapi/payments","routeSlug":"/openapi/payments","items":[{"label":"List payments","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/payments/listpayments","routeSlug":"/openapi/payments/listpayments","metadata":{"seo":{"title":"List payments","description":"Retrieve payments for the location using cursor pagination. Optional filters: posted-on date range (startDate, endDate on postedOn), invoice ID, purchase order ID, and patient ID."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/payment"},{"label":"Get payment by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/payments/getpayment","routeSlug":"/openapi/payments/getpayment","metadata":{"seo":{"title":"Get payment by ID","description":"Retrieve a single payment for the location."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/payment/{paymentId}"}]},{"type":"group","label":"Refunds","link":"/openapi/refunds","routeSlug":"/openapi/refunds","items":[{"label":"List refunds","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/refunds/listrefunds","routeSlug":"/openapi/refunds/listrefunds","metadata":{"seo":{"title":"List refunds","description":"Retrieve refunds for the location using cursor pagination. Optional filters: posted-on date range (startDate, endDate on postedOn), patient ID, payment ID, and invoice ID."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/refund"},{"label":"Get refund by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/refunds/getrefund","routeSlug":"/openapi/refunds/getrefund","metadata":{"seo":{"title":"Get refund by ID","description":"Retrieve a single refund for the location."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/refund/{refundId}"}]},{"type":"group","label":"Rooms","link":"/openapi/rooms","routeSlug":"/openapi/rooms","items":[{"label":"List rooms","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/rooms/listrooms","routeSlug":"/openapi/rooms/listrooms","metadata":{"seo":{"title":"List rooms","description":"Retrieve rooms for the location. Supports filtering by active status."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/room"},{"label":"Get room by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/rooms/getroom","routeSlug":"/openapi/rooms/getroom","metadata":{"seo":{"title":"Get room by ID","description":"Retrieve information about a specific room."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/room/{roomId}"}]},{"type":"group","label":"Schedulers","link":"/openapi/schedulers","routeSlug":"/openapi/schedulers","items":[{"label":"List schedulers","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/schedulers/listschedulers","routeSlug":"/openapi/schedulers/listschedulers","metadata":{"seo":{"title":"List schedulers","description":"Retrieve the account's schedulers (scheduler configs), optionally filtered by location and active status. Use the returned id to resolve a schedule for appointment creation. Weekly templates are omitted by default; pass includeTemplates=true to return them inline instead of fetching each scheduler individually."}},"httpPath":"/partner/v2/account/{accountId}/scheduler"},{"label":"Get scheduler by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/schedulers/getscheduler","routeSlug":"/openapi/schedulers/getscheduler","metadata":{"seo":{"title":"Get scheduler by ID","description":"Retrieve a scheduler (scheduler config) and its weekly template (days, hours, slot quantity, and the practitioner / appointment-type IDs bound to each day)."}},"httpPath":"/partner/v2/account/{accountId}/scheduler/{schedulerConfigId}"}]},{"type":"group","label":"Self-Scheduling","link":"/openapi/self-scheduling","routeSlug":"/openapi/self-scheduling","items":[{"label":"Get appointment availability","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/self-scheduling/getavailability","routeSlug":"/openapi/self-scheduling/getavailability","metadata":{"seo":{"title":"Get appointment availability","description":"Returns available appointment slots for a time range. Time range must not exceed 2 months (62 days)."}},"httpPath":"/partner/v2/account/{accountId}/self-scheduling/availability"},{"label":"List self-scheduling settings","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/self-scheduling/listsettings","routeSlug":"/openapi/self-scheduling/listsettings","metadata":{"seo":{"title":"List self-scheduling settings","description":"Retrieve the account's self-scheduling settings. Provide the optional publicUuid filter to resolve the setting behind a patient booking link (the UUID embedded in booking URLs) to its numeric id; the mapping can then be cached and used to call the availability endpoint."}},"httpPath":"/partner/v2/account/{accountId}/self-scheduling/setting"},{"label":"Get self-scheduling setting","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/self-scheduling/getsetting","routeSlug":"/openapi/self-scheduling/getsetting","metadata":{"seo":{"title":"Get self-scheduling setting","description":"Retrieve self-scheduling configuration with associated practitioners, locations, appointment types, and scheduler configs."}},"httpPath":"/partner/v2/account/{accountId}/self-scheduling/setting/{selfSchedulingSettingId}"}]},{"type":"group","label":"Self-Scheduling Attempt","link":"/openapi/self-scheduling-attempt","routeSlug":"/openapi/self-scheduling-attempt","items":[{"label":"Create self-scheduling attempt","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/self-scheduling-attempt/createattempt","routeSlug":"/openapi/self-scheduling-attempt/createattempt","metadata":{"seo":{"title":"Create self-scheduling attempt","description":"Initialize a new self-scheduling attempt. Validates that the setting is active and, if provided, that the identity proof matches the setting's verification requirements."}},"httpPath":"/partner/v2/account/{accountId}/self-scheduling/attempt"},{"label":"Get self-scheduling attempt","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/self-scheduling-attempt/getselfschedulingattempt","routeSlug":"/openapi/self-scheduling-attempt/getselfschedulingattempt","metadata":{"seo":{"title":"Get self-scheduling attempt","description":"Retrieve details of an existing self-scheduling attempt by ID. Returns attempt status including identity proof verification status, patient ID (if set), and appointment ID (if created). Returns 404 if attempt doesn't exist or doesn't belong to this account."}},"httpPath":"/partner/v2/account/{accountId}/self-scheduling/attempt/{attemptId}"},{"label":"Create appointment for self-scheduling attempt","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/self-scheduling-attempt/createappointment_1","routeSlug":"/openapi/self-scheduling-attempt/createappointment_1","metadata":{"seo":{"title":"Create appointment for self-scheduling attempt","description":"Creates an appointment for the specified self-scheduling attempt. Patient must be set on the attempt before creating an appointment. Scheduler config must belong to the self-scheduling setting."}},"httpPath":"/partner/v2/account/{accountId}/self-scheduling/attempt/{attemptId}/appointment"},{"label":"Attach a patient to a self-scheduling attempt","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/self-scheduling-attempt/attachpatienttoselfschedulingattempt","routeSlug":"/openapi/self-scheduling-attempt/attachpatienttoselfschedulingattempt","metadata":{"seo":{"title":"Attach a patient to a self-scheduling attempt","description":"Resolves or creates a patient from the provided demographics and attaches them to the self-scheduling attempt. If the attempt has a verified identity proof, patient resolution will use it for matching. Returns 200 if an existing patient was found, 201 if a new patient was created."}},"httpPath":"/partner/v2/account/{accountId}/self-scheduling/attempt/{attemptId}/patient"}]},{"type":"group","label":"Staff & Practitioners","link":"/openapi/staff-and-practitioners","routeSlug":"/openapi/staff-and-practitioners","items":[{"label":"List staff members","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/staff-and-practitioners/liststaff","routeSlug":"/openapi/staff-and-practitioners/liststaff","metadata":{"seo":{"title":"List staff members","description":"Retrieve a paginated list of staff members for the account. Supports filtering by location, status, and practitioner status."}},"httpPath":"/partner/v2/account/{accountId}/staff"},{"label":"Get staff member by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/staff-and-practitioners/getstaff","routeSlug":"/openapi/staff-and-practitioners/getstaff","metadata":{"seo":{"title":"Get staff member by ID","description":"Retrieve detailed information about a specific staff member."}},"httpPath":"/partner/v2/account/{accountId}/staff/{staffId}"}]},{"type":"group","label":"Subscriptions","link":"/openapi/subscriptions","routeSlug":"/openapi/subscriptions","items":[{"label":"List subscriptions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/subscriptions/listsubscriptions","routeSlug":"/openapi/subscriptions/listsubscriptions","metadata":{"seo":{"title":"List subscriptions","description":"Retrieve subscriptions for the location using cursor pagination. Optional filters: order ID, status, patient ID, item ID."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/subscription"},{"label":"Get subscription by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/subscriptions/getsubscription","routeSlug":"/openapi/subscriptions/getsubscription","metadata":{"seo":{"title":"Get subscription by ID","description":"Retrieve a single subscription for the location, including line items."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/subscription/{subscriptionId}"}]},{"type":"group","label":"System","link":"/openapi/system","routeSlug":"/openapi/system","items":[{"label":"Health check","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/system/health","routeSlug":"/openapi/system/health","metadata":{"seo":{"title":"Health check","description":"Verify connectivity to the Partner API"}},"httpPath":"/partner/v2/health"}]},{"type":"group","label":"Tasks","link":"/openapi/tasks","routeSlug":"/openapi/tasks","items":[{"label":"List tasks","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tasks/listtasks","routeSlug":"/openapi/tasks/listtasks","metadata":{"seo":{"title":"List tasks","description":"Retrieve tasks for the location with keyset pagination. Filter by status, type, assignee, related patient, due-date range, creation-date range, and system vs manual. Sorted by creation date."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/task"},{"label":"Get task by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tasks/gettask","routeSlug":"/openapi/tasks/gettask","metadata":{"seo":{"title":"Get task by ID","description":"Retrieve a single task for the location."}},"httpPath":"/partner/v2/account/{accountId}/location/{locationId}/task/{taskId}"}]},{"type":"group","label":"UTM","link":"/openapi/utm","routeSlug":"/openapi/utm","items":[{"label":"List UTM attribution records","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/utm/listutm","routeSlug":"/openapi/utm/listutm","metadata":{"seo":{"title":"List UTM attribution records","description":"Retrieve a keyset-paginated list of UTM attribution records for the account. Filter by appointmentId or selfSchedulingAttemptId to fetch a single record's attribution, or by capture-date range and funnel stage for bulk pulls. Returns an empty list (not 404) when nothing matches."}},"httpPath":"/partner/v2/account/{accountId}/utm"},{"label":"Set UTM on a self-scheduling attempt","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/utm/setutm","routeSlug":"/openapi/utm/setutm","metadata":{"seo":{"title":"Set UTM on a self-scheduling attempt","description":"Attach UTM attribution to a self-scheduling attempt (a separate action from creating the attempt). Provide the attempt id plus at least one UTM value; values are normalized and auto-created as account-scoped options. An attempt's UTM is captured once."}},"httpPath":"/partner/v2/account/{accountId}/utm"}]},{"type":"group","label":"Webhooks","link":"/openapi/webhooks","routeSlug":"/openapi/webhooks","items":[{"label":"List webhook endpoints","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/webhooks/listwebhookendpoints","routeSlug":"/openapi/webhooks/listwebhookendpoints","metadata":{"seo":{"title":"List webhook endpoints","description":"Retrieve all configured webhook endpoints."}},"httpPath":"/partner/v2/webhook"},{"label":"Create webhook endpoint","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/webhooks/createwebhookendpoint","routeSlug":"/openapi/webhooks/createwebhookendpoint","metadata":{"seo":{"title":"Create webhook endpoint","description":"Create a new webhook endpoint to receive event notifications. Specify the URL and the event types you want to subscribe to. A signing secret will be generated and returned - store it securely."}},"httpPath":"/partner/v2/webhook"},{"label":"List available event types","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/webhooks/listeventtypes","routeSlug":"/openapi/webhooks/listeventtypes","metadata":{"seo":{"title":"List available event types","description":"Retrieve the list of event types that can be subscribed to."}},"httpPath":"/partner/v2/webhook/event-types"},{"label":"Delete webhook endpoint","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/webhooks/deletewebhookendpoint","routeSlug":"/openapi/webhooks/deletewebhookendpoint","metadata":{"seo":{"title":"Delete webhook endpoint","description":"Permanently delete a webhook endpoint. Deleted endpoints stop receiving deliveries immediately and cannot be recovered — to temporarily pause deliveries without losing configuration, set active=false instead."}},"httpPath":"/partner/v2/webhook/{webhookId}"},{"label":"Get webhook endpoint by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/webhooks/getwebhookendpoint","routeSlug":"/openapi/webhooks/getwebhookendpoint","metadata":{"seo":{"title":"Get webhook endpoint by ID","description":"Retrieve detailed information about a webhook endpoint."}},"httpPath":"/partner/v2/webhook/{webhookId}"},{"label":"Update webhook endpoint","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/webhooks/updatewebhookendpoint","routeSlug":"/openapi/webhooks/updatewebhookendpoint","metadata":{"seo":{"title":"Update webhook endpoint","description":"Update a webhook endpoint's URL, event subscriptions, friendly name, or enabled status. Any field left null is left unchanged."}},"httpPath":"/partner/v2/webhook/{webhookId}"},{"label":"Send test event","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/webhooks/testwebhookendpoint","routeSlug":"/openapi/webhooks/testwebhookendpoint","metadata":{"seo":{"title":"Send test event","description":"Send a synchronous test event to the webhook endpoint to verify connectivity and signature handling. The request body names the account the test event is attributed to — webhook endpoints are integrator-scoped and serve every account the integrator is granted, so there is no implicit account to test under."}},"httpPath":"/partner/v2/webhook/{webhookId}/test"}]}]}