API Change Log - 17 March 2026 - DRAFT
12 days ago by Nikhitha George
Inventory
- API Endpoint: {api_url}/v1/products/{product_id}
- Scenario: This API updates an existing product's general tab information and ancillary operations (tags, barcodes, MRPs, variants, related items).
- API method: PATCH
- Earlier behavior: New API. No earlier behavior.
- New behavior: The PATCH endpoint supports partial updates where only fields present in the request are validated and updated, the product ID is taken from the URL path parameter, and if only ancillary fields are provided, the General tab stored procedure call is skipped, allowing retry of failed ancillary operations without resubmitting General tab data.
Reports – Core V2
- API Endpoint: {api_url} /v1/reports/collections/flat_file
- Scenario: This API retrieves the collections details in the organization during selected date range.
- API method: POST
- Earlier behavior: The API returned collections data with payment, tax, tip, surcharge, guest, and center details without redeemed tax fields.
- New behavior: The API additionally returns tax_on_surcharge, total_tax_including_surcharge, tax_redeemed_by_loyalty_points, and tax_redeemed_by_gift_card in the response.
Reports – Core V2
- API Endpoint: {api_url} /v1/reports/sales/tax/flat_file
- Scenario: This API retrieves the Sales cash report data.
- API method: POST
- Earlier behavior: The response returned sales and totals without any redeemed tax fields for loyalty points or gift cards.
- New behavior: The response now includes tax_redeemed_by_loyalty_points and tax_redeemed_by_gift_card in sales[] and total.
Reports – Core V2
- API Endpoint: This API retrieves the sales made by the current center (on any particular day or over a time period) if your business follows accrual-based accounting.
- Scenario: {api_url} /v1/reports/sales/accrual_basis/flat_file
- API method: POST
- Earlier behavior: The response returned invoice-level accrual sales details without tax_redeemed_by_loyalty_points and tax_redeemed_by_gift_card fields.
- New behavior: The response now includes tax_redeemed_by_loyalty_points and tax_redeemed_by_gift_card in each invoice row and totals.
Fitness - Core
- API Endpoint: {api_url}/v1/classes/sessions
- Scenario: This API returns session and class of a guest registration
- API method: GET
- Earlier behavior: The sessions response returned guest registration details without any waitlist priority notification information.
- New behavior: The sessions response now includes WaitlistPriorityNotificationResponse under each session when the priority notification setting is enabled.
Fitness - Core
- API Endpoint: {api_url}/v1/classes/{class_id}/registrations
- Scenario: This API returns all users booked for a session of a class.
- API method: GET
- Earlier behavior: The response returned status_count and registrations without reserved_slots or waitlist_queue_status details.
- New behavior: When the priority notification setting is enabled, status_count includes reserved_slots, and each registration includes waitlist_queue_status.
Fitness - Memberships
- API Endpoint: {api_url}/v1/guests/{GuestId}/memberships/{UserMembershipId}/cancel
- Scenario: This API handles cancellation date, termination date, grace period, buy-out fee generation and collection, recurring/annual fee deferred collections, refund processing, and cancellation rule overrides.
- API method: PUT
- Earlier behavior: Membership cancellation processed dates, fees, collections, and refunds without any source-based allow or restrict checks.
- New behavior: Membership cancellation now enforces allowed sources Core Web, mPOS, and No Source, restricting CMA and Webstore.
Fitness - Memberships
- API Endpoint: {api_url}/v1/guests/{GuestId}/memberships/{UserMembershipId}/cancellation_charges?invoice_id={invoice_id}&cancellation_date={cancellation_date}&expand[0]=buyout_fee_details
- Scenario: This API retrieves the membership cancellation charges of a guest.
- API method: GET
- Earlier behavior: The API returned cancellation charges using invoice_id and cancellation_date, without any buyout_fee_details object.
- New behavior: Passing expand[0]=buyout_fee_details adds a buyout_fee_details object, alongside the existing cancellation charges response.
Reports – Core V2
- API Endpoint: {api_url} /v1/reports/accounting_summary
- Scenario: This API retrieves the details for accounting summary report.
- API method: POST
- Earlier behavior: The response excluded surcharge fees, so no surcharge_fees or total_surcharge_fees fields appeared.
- New behavior: The response includes surcharge_fees and total_surcharge_fees, with transaction_date, surcharge_amount, and tax_on_surcharge values.
Loyalty
- API Endpoint: {api_url}/v1/guests/aveda/membership/search
- Scenario: This API will search for members in the Aveda loyalty program by name at a specific center. Results are returned with masked PII (membership ID and email) to protect sensitive data.
- API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: GET /v1/guests/aveda/membership/search returns center-scoped, paginated results with masked membership ID and email.
Fitness - Memberships
- API Endpoint: {api_url}/v1/guests/{guest_id}/memberships/{user_membership_id}/member_price
- Scenario: This API updates the member price for a selected membership for a guest.
- API method: PUT
- Earlier behavior: New API. No earlier behavior.
- New behavior: PUT /v1/guests/{guest_id}/memberships/{user_membership_id}/member_price updates the primary member price, returning APIV2ErrorModel on failures.
Zenoti Mobile
- API Endpoint: {api_url}/v1/organizations/setting
- Scenario: This API fetches the requested organization setting value
- API method: POST
- Earlier behavior: New API. No earlier behavior.
- New behavior: POST /v1/organizations/setting returns requested setting values per section/name with type_name conversion and per-item errors.
Reports – Core V2
- API Endpoint: {api_url} /v1/reports/sales/cash_basis/flat_file
- Scenario: This API retrieves the sales of cash-based accounting (sales is based on the payment received) to view the sales made by the current center on any particular day or over a time period
- API method: POST
- Earlier behavior: level_of_detail supported only 1 (Item) and 2 (ItemForEachPayment), so item/business/category filters stayed required.
- New behavior: level_of_detail now supports 3 (By Transaction), so item_types, business_units, category_ids, sub_categories, and sold_by_ids are not required, and date_type works.
Booking Wizard
- API Endpoint: {api_url} /v1/memberships/{membership_user_id}/services/{service_id}/equivalent_services
- Scenario: This API retrieves equivalent services that can be redeemed using membership credits for a given service at a specific center.
- API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: GET /v1/memberships/{membership_user_id}/services/{service_id}/equivalent_services returns equivalent_services, with required center_id and optional balance_quantity filtering.
Fitness - Memberships
- API Endpoint: {api_url}/v1/memberships/bulk_notifications
- Scenario: This API retriggers existing membership notifications or create new notifications for membership actions.
- API method: PUT
- Earlier behavior: New API. No earlier behavior.
- New behavior: PUT /v1/memberships/bulk_notifications processes many items, reinserts by reference_id or creates by notification_type/action_type, returning processed_count and per-item failure_reason.
Fitness – Memberships, Reports - Core
- API Endpoint: {api_url}/v1/reports/billing_collections_deposits_summary/flat_file
- Scenario: This API retrieves a comprehensive financial report to analyze billing, collections, and deposits data during a defined time period.
- API method: POST
- Earlier behavior: New API. No earlier behavior.
- New behavior: POST /v1/reports/billing_collections_deposits_summary/flat_file returns selected sections via expand_grid, plus grouped summaries and validations.
Fitness – Integrations
- API Endpoint: {api_url} : v1/guests/search
- Scenario: This API searches the Guest provided with filters
- API method: GET
- Earlier behavior: GET /v1/guests/search supported existing guest filters, but not user_membership_id filtering.
- New behavior: GET /v1/guests/search supports user_membership_id, and it must be used only with center_id.
Fitness - Integrations
- API Endpoint: {api_url} : v1/guests/search
- Scenario: This API searches the Guest provided with filters.
- API method: GET
- Earlier behavior: GET /v1/guests/search supported standard guest filters without user_membership_id support.
- New behavior: GET /v1/guests/search supports user_membership_id, and it cannot be combined with other filters except center_id.
Fitness - Core
- API Endpoint:
- Scenario:
- API method:
- Earlier behavior:
- New behavior:
Fitness - Integrations
- API Endpoint:
- Scenario:
- API method:
- Earlier behavior:
- New behavior:
Fitness - Core
- API Endpoint: {api_url}/v1/centers/{center_id}/visits_history
- Scenario: This API retrieves center check-in visits history.
- API method: GET
- Earlier behavior: Each visits_history item returned a single membership object for that specific visit check-in.
- New behavior: Each visits_history item also returns guest_memberships[] listing active/actionable memberships when DisplayAllGuestMembershipsInVisitsPage is ON.
Treatment Hub
- API Endpoint: {api_url}/v1/appointments/{appointment_id}/treatment_charts_data/{treatment_charts_data_id}
- Scenario: This API updates treatment chart data for a specific appointment and treatment_charts_data record.
- API method: PUT
- Earlier behavior: PUT endpoint accepted the old request body structure for updating service chart data.
- New behavior: PUT endpoint accepts the revised request body structure to support updated service widget data handling.
Treatment Hub
- API Endpoint: {api_url}/v1/appointments/{appointment_id}/treatment_charts_data
- Scenario: This Api retrieves treatment chart data for a given appointment, optionally filtered by treatment_chart_id.
- API method: GET
- Earlier behavior: GET endpoint returned treatment chart data using the old response model structure.
- New behavior: GET endpoint returns treatment chart data using the updated response model supporting enhanced service widget data.
Treatment Hub
- API Endpoint: {api_url}/v1/guests/{guest_id}/treatment_charts_history
-Scenario: This API retrieves historical treatment chart data for a guest across multiple appointments, optionally filtered by service and/or component. - API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: GET /v1/guests/{guest_id}/treatment_charts_history returns filtered historical treatment chart data with validation for guest, service, component, and top parameters.
Admin, Inventory
- API Endpoint: {{api_url}}/v1/lockdown
-Scenario: This API updates the Org/Center level Lockdown setting. - API method: PUT
- Earlier behavior: New API. No earlier behavior.
- New behavior: PUT /v1/lockdown updates lockdown for organization or center using internal API key only, with strict validations.
Fitness - Core
- API Endpoint: {api_url}/v1/guests/{guest_id}
-Scenario: This API will be used to get the get the guest details for a guest. - API method: GET
- Earlier behavior: The response returned guest details without gantner_uuid, gympass_id, fit_reserve_id, or bilt_user_id fields.
- New behavior: The response now includes gantner_uuid, gympass_id, fit_reserve_id, and bilt_user_id in the guest details.
Medical Record
- API Endpoint: {api_url}/v1/emr/guests/{guest_id}/audit
-Scenario: This API retrieves the audit logs for a guest for the provided entity type. - API method: GET
- Earlier behavior: API had no functionality to filter through audit response by entity name or date range.
- New behavior: Optional filter for EMR audit response by entity name or date range.
Treatment Hub
- API Endpoint: {api_url}/v1/appointments/{appointment_id}/treatment_charts_data
-Scenario: This API saves treatment chart data for an appointment, creating a new treatment_charts_data record from submitted component data. - API method: POST
- Earlier behavior: Request body accepted the older chart payload structure, without the newer component identifiers and revised fields.
- New behavior: Request body now uses the updated chart payload format, aligning with componentId and componentDataId validation rules.
Memberships
- API Endpoint: {api_url}/v1/organizations/settings/membership_cancel_templates/{template_id}
-Scenario: This API deletes the organization level membership cancellation template. - API method: DELETE
- Earlier behavior: New API. No earlier behavior.
- New behavior: DELETE endpoint allows authorized employees to delete a specific membership cancellation template with validations.
Employee
- API Endpoint: {api_url}/v1/biometric/encryption_details
-Scenario: This API returns the encryption/decryption key details for client-side biometric data used by the biometric app. - API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: GET /v1/biometric/encryption_details returns biometric encryption details only for authorized biometric app employee tokens.
Memberships
- API Endpoint: {api_url}/v1/organizations/settings/membership_cancel_templates/{template_id}/buyout_rules/{rule_id}"
-Scenario: This API updates the organization level membership cancellation template buyout fee rules. - API method: PUT
- Earlier behavior: Buyout fee rules could not be updated through an org settings API endpoint.
- New behavior: PUT /v1/organizations/settings/membership_cancel_templates/{template_id}/buyout_rules/{rule_id} updates the specified rule, returning validation errors for template, overlap, and lock mismatches.
Memberships
- API Endpoint: {api_url}/v1/organizations/settings/membership_cancel_templates/{template_id}/buyout_rules/{rule_id}
-Scenario: This API deletes the organization level membership cancellation template buyout fee rules. - API method: DELETE
- Earlier behavior: New API. No earlier behavior.
- New behavior: DELETE /v1/organizations/settings/membership_cancel_templates/{template_id}/buyout_rules/{rule_id} removes the rule, restricting access to authorized employees only.
Memberships
- API Endpoint: {api_url}/v1/organizations/settings/membership_cancel_templates/{template_id}/buyout_rules
-Scenario: This API retrieves the organization level membership cancellation template buyout fee rules. - API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: GET /v1/organizations/settings/membership_cancel_templates/{template_id}/buyout_rules returns configured rules with validation for template ID and employee access.
Memberships
- API Endpoint: {api_url}/v1/organizations/settings/membership_cancel_templates/{template_id}/buyout_rules
-Scenario: This API creates the organization level membership cancellation template buyout fee rule. - API method: POST
- Earlier behavior: New API. No earlier behavior
- New behavior: POST /v1/organizations/settings/membership_cancel_templates/{template_id}/buyout_rules creates a rule, validating org access, template_id, lock type, and overlap periods.
Memberships
- API Endpoint: {api_url}/v1/organizations/settings/membership_cancel_templates/{template_id}
-Scenario: This API updates an existing organization level membership cancellation template. - API method: PUT
- Earlier behavior: New API. No earlier behavior
- New behavior: PUT /v1/organizations/settings/membership_cancel_templates/{template_id} updates template details with validations for name, code, template_id, and org access.
Memberships
- API Endpoint: {api_url}/v1/organizations/settings/membership_cancel_templates
-Scenario: This API creates the organization level membership cancellation template. - API method: POST
- Earlier behavior: New API. No earlier behavior.
- New behavior: POST /v1/organizations/settings/membership_cancel_templates allows authorized employees to create templates with validations for required name and code fields.
Memberships
- API Endpoint: {api_url}/v1/organizations/settings/membership_cancel_templates/{template_id}
-Scenario: This API retrieves the organization level membership cancellation templates. - API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: GET /v1/organizations/settings/membership_cancel_templates/{template_id} returns template details with validations for employee access and template_id.
Memberships
- API Endpoint: {api_url}/v1/organizations/settings/membership_cancel_templates
-Scenario: This API retrieves the organization level membership cancellation templates. - API method: GET
- Earlier behavior: New API. No earlier behavior.
- New behavior: GET /v1/organizations/settings/membership_cancel_templates returns all templates, restricted to authorized organization employees.
