# Zenoti APIs Documentation > Documentation for Zenoti APIs ## Guides - [Overview](https://docs.zenoti.com/docs/overview.md): Customize, build, integrate and elevate your brand with Zenoti APIs! - [Getting Started](https://docs.zenoti.com/docs/create-the-backend-app-and-generate-a-new-api-key.md): This page introduces you to Zenoti APIs and how you can leverage APIs for your business - [Onboarding](https://docs.zenoti.com/docs/onboarding.md): Learn how to create your backend app in Zenoti. - [Create the backend app and generate a new API key](https://docs.zenoti.com/docs/create-the-backend-app-and-generate-a-new-api-key-1.md) - [Update the existing API key](https://docs.zenoti.com/docs/update-the-existing-api-key.md) - [Authentication](https://docs.zenoti.com/docs/authentication.md): This topic describes how an API authenticates the identity of your app users and the authentication types supported by Zenoti. - [Authorization](https://docs.zenoti.com/docs/zenoti-api-groups-1.md) - [Pagination](https://docs.zenoti.com/docs/pagination.md) - [Response and error codes](https://docs.zenoti.com/docs/response-and-error-codes.md) - [Map custom sources to your app](https://docs.zenoti.com/docs/api-for-custom-sources.md): Map and identify where your API calls are originating from. - [Rate limits](https://docs.zenoti.com/docs/api-rate-limits-1.md) - [Support](https://docs.zenoti.com/docs/support.md) - [Overview](https://docs.zenoti.com/docs/overview-1.md) - [Structure of event responses](https://docs.zenoti.com/docs/webhooks-event-response-structure.md) - [Webhook Failure Handling](https://docs.zenoti.com/docs/webhook-failure-handling.md) - [Service Booking](https://docs.zenoti.com/docs/service-booking-apis.md) - [Step 1: Create a booking](https://docs.zenoti.com/docs/step-1-create-a-booking.md) - [Step 2 : Reserve a slot for the booking](https://docs.zenoti.com/docs/step-2-reserve-a-slot-for-the-booking.md) - [Step 3 : Confirm the booking](https://docs.zenoti.com/docs/step-3-confirm-the-booking.md) - [Step 4 : Collect payment for the invoice](https://docs.zenoti.com/docs/step-4-collect-payment-for-the-invoice.md) - [Product Sale](https://docs.zenoti.com/docs/product-sale-apis.md) - [Step 1 : Choose a product](https://docs.zenoti.com/docs/step-1-choose-a-product.md) - [Step 2 : Generate an invoice](https://docs.zenoti.com/docs/step-2-generate-an-invoice.md) - [Step 3 : Collect payment for the invoice](https://docs.zenoti.com/docs/step-3-collect-payment-for-the-invoice.md) - [Membership Sale](https://docs.zenoti.com/docs/membership-sale-apis.md) - [Step 1 : Select a membership](https://docs.zenoti.com/docs/step-1-select-a-membership.md) - [Step 2 : Generate an invoice](https://docs.zenoti.com/docs/step-2-generate-an-invoice-1.md) - [Step 3 : Collect payment for the invoice](https://docs.zenoti.com/docs/step-3-collect-payment-for-the-invoice-1.md) - [Step 4 : Close the invoice and send a confirmation email to the guest](https://docs.zenoti.com/docs/step-4-close-the-invoice-and-send-a-confirmation-email-to-the-guest.md) - [Gift Card Sale](https://docs.zenoti.com/docs/gift-card-sale-apis.md) - [Step 1 : Select a gift card template](https://docs.zenoti.com/docs/step-1-select-a-gift-card-template.md) - [Step 2 : Generate an invoice](https://docs.zenoti.com/docs/step-2-generate-an-invoice-2.md) - [Step 3 : Add payment for the invoice](https://docs.zenoti.com/docs/step-3-add-payment-for-the-invoice.md) - [Step 4 : Send the gift card sale email to the guest](https://docs.zenoti.com/docs/step-4-send-the-gift-card-sale-email-to-the-guest.md) - [Opportunity](https://docs.zenoti.com/docs/opportunity-apis.md) ## API Reference - [Generate an access token](https://docs.zenoti.com/reference/generate-an-access-token.md): **Purpose**: The purpose of this API is to generate a new access token for the authentication of the user. Businesses can use this token to access Zenoti APIs. **Note**: The access token is valid only for 24 hours, post which you must generate a new token by invoking the Refresh an access token API. - [Refresh an access token](https://docs.zenoti.com/reference/refresh-an-access-token.md): **Purpose**: Use this API to refresh an expired access token. Since an access token is valid for 24 hours, you must use this API to generate a new access token. ###Things to remember: * A newly generated refresh token is valid for 90 days (3 months). It will expire after this period. * A refresh token can only be used once. **Caution**: Invoking this API will deactivate the existing access tokens and generate a new access token. So use the Refresh an access token API only when an access token is about to expire or has already expired. **Note**: Remove the hash (#) at the end, when using this API. - [Revoke an existing access token](https://docs.zenoti.com/reference/revoke-an-existing-access-token.md): **Purpose**: At any point of time, if you want to delete the existing access tokens, you can use this API to do so. This will immediately revoke all the existing access tokens and users cannot access the Zenoti APIs. - [Center APIs](https://docs.zenoti.com/reference/centers.md) - [List all centers](https://docs.zenoti.com/reference/list-all-centers.md): This API retrieves a list of all centers of an organization. - [Retrieve list of centers close to the base center](https://docs.zenoti.com/reference/fetch-list-of-centers-based-on-parameters.md): This API retrieves a list of centers based on the base center's ID and coordinates (latitude and longitude). - [Retrieve a center](https://docs.zenoti.com/reference/retrieve-a-center.md): This API helps you to retrieve the details of a center. You must specify the unique identifier of the center as `center_id`. - [Retrieve Services for the Requested Center](https://docs.zenoti.com/reference/retrieve-campaignintro-pricing-along-with-services.md): This API fetches services from the requested center. Based on certain query parameters like campaign_id and campaign_code, you can get additional information such as campaign-based discounted price information of the services. - [Deactivate or disable a center](https://docs.zenoti.com/reference/deactivate-or-disable-a-center.md): This API will deactivate a center in an organization. - [List all categories](https://docs.zenoti.com/reference/list-all-categories.md): This API helps you to retrieve the list of categories that are active in a center. You must specify the unique identifier of the location (center) in the API request as `center_id`. - [Retrieve a category](https://docs.zenoti.com/reference/retrieve-a-category.md): This API helps you to retrieve the details of a category. You must specify the unique identifier of the location (center) as `center_id` and the unique identifier of the category as `category_id` in the API request. The API then retrieves the details of the category. - [List all rooms of a center](https://docs.zenoti.com/reference/list-all-rooms-of-a-center.md): This API helps you to retrieve all the rooms that are active in the center. You must specify the unique identifier of the center as `center_id` in the API request. You can also leverage the pagination feature by passing `page` and `size` query parameters if you have a large number of records to be displayed. By default, `page` is set as 1 and `size` is set as 10. `size` cannot be more than 100: which means that the maximum records per page cannot be more than 100. - [Retrieve a room of a center](https://docs.zenoti.com/reference/retrieve-a-room-of-a-center.md): This API helps you to retrieve the details of a specific room at the required center. You must specify in the API request the unique identifier of the location (center) as `center_id` and the unique identifier of the room as `room_id`. The API then retrieves the details of the room. - [List all employees of a center](https://docs.zenoti.com/reference/list-all-employees-of-a-center.md): This API helps you to retrieve all the employees that are active in the center on the specified date. You must specify the unique identifier of the center as `center_id` in the API request. You can also leverage the pagination feature by passing `page` and `size` query parameters if you have a large number of records to be displayed. By default, `page` is set as 1 and `size` is set as 10. `size` cannot be more than 100: which means that the maximum records per page cannot be more than 100. - [List all therapists of a center](https://docs.zenoti.com/reference/list-all-therapists-of-a-center.md): This API helps you to retrieve all the therapists that are active in the center on the specified date. You must specify the unique identifier of the center as `center_id` in the API request. - [List all blockout times of a center](https://docs.zenoti.com/reference/list-all-blockout-times-of-a-center.md): Retrives the list of Blockout times created between the start date and end date of the center whose ID is passed as {center_id} and block out times of all the rooms or employees who had a block out time created in the appointment book for that center. - [Center attendance for a date](https://docs.zenoti.com/reference/center-attendance-for-a-date.md): This API retrieves the attendance of all the employees at a center on the specified date. You must specify the unique identifier of the center as `CenterId` and the required date as `Date` in the API request. - [Retrieve the schedules of employees of a center](https://docs.zenoti.com/reference/retrieve-the-schedules-of-employees-of-a-center.md): This API helps you to retrieve the schedules of employees of the specified center. You must provide the unique identifier of the center as `center_id`. You must also specify the appropriate `start_date` and `end_date` values for which you want to view the schedules of employees. **Note**: To run this request, you must enable the **Schedule** role permission. This allows the user to access the employee's schedule. Navigate to the organization-level, **Security Roles** > `employee role` > **Permissions** > **Employee Manager** > **Other Settings** > **Schedule**. - [Retrieve therapist pricing and price scaling for a service of a center](https://docs.zenoti.com/reference/retrieve-therapist-pricing-and-price-scaling-for-a-service-at-a-center.md): This API allows you to retrieve the details of all the therapists who can perform a particular service at a center. We can also filter on the basis of whether the catalog for the therapist is enabled or not. - [List all services of a center](https://docs.zenoti.com/reference/list-all-services-of-a-center.md): This API helps you to retrieve all the services that are active in a center. You must specify the appropriate details for the `center_id` paramter in the API request. You can also use the `expand` parameter in the API request to specify details for the `additional_info`, `catalog_info`, `category_id`, `variants_info`, `add_ons_info`, and `image_paths` parameters. The `category_id` parameter enables you to filter services according to their respective category or sub-category. In addition, you can leverage the pagination feature by passing `page` and `size` query parameters if you have a large number of records. By default, `page` is set as 1 and `size` is set as 10. Size cannot be more than 100: which means that the maximum records per page cannot be more than 100. - [Retrieve a service offered in a center](https://docs.zenoti.com/reference/retrieve-a-service-of-a-center.md): This API helps you to retrieve the details of a specific service at the required center.You must specify in the API request the unique identifier of the location (center) as `center_id` and the unique identifier of the service as `service_id`. The API then retrieves the details of the service.You can also use the `expand` parameter in the API request to specify details for the `additional_info`, `catalog_info`, `variants_info`, `add_ons_info`, `tags`, and `image_paths` parameters. - [List all packages of a center](https://docs.zenoti.com/reference/list-all-packages-of-a-center.md): This API helps you to retrieve all the packages that are active in the center. You must specify the unique identifier of the center as `center_id` in the API request.You can also leverage the pagination feature by passing `page` and `size` query parameters if you have a large number of records to be displayed. By default, `page` is set as 1 and `size` is set as 10. size cannot be more than 100: which means that the maximum records per page cannot be more than 100. - [List all products of a center](https://docs.zenoti.com/reference/list-all-products-of-a-center.md): This API helps you to retrieve all the products that are active in the center on the specified date. You must specify the unique identifier of the center as `center_id` in the API request. API helps you to retrieve all the employees that are active in the center on the specified date. You must specify the unique identifier of the center as `center_id` in the API request. You can also leverage the pagination feature by passing `page` and `size` query parameters if you have a large number of records to be displayed. By default, `page` is set as 1 and `size` is set as 10. `size` cannot be more than 100: which means that the maximum records per page cannot be more than 100. - [List all memberships in a center](https://docs.zenoti.com/reference/list-all-memberships-in-a-center.md): Supply unique identifier of the center as `center_id` and this API will retrieve the list of memberships associated with that center if the membership falls within the active sale period. - [Retrieve the details of all the members of a center](https://docs.zenoti.com/reference/retrieve-the-details-of-all-the-members-of-a-center.md): This API helps you to retrieve the list of memebers in the specified center. You must specify the unique identifier of the center as `center_id` in the API request. You can also leverage the pagination feature by passing `page` and `size` query parameters if you have a large number of records to be displayed. By default, `page` is set as 1 and `size` is set as 10. `size` cannot be more than 100: which means that the maximum records per page cannot be more than 100. - [Add V1 online guest creation](https://docs.zenoti.com/reference/add-v1-online-guest-creation.md): This API creates new online guests from custom webstores to support “Checkout as guest” flows. This is a dummy guest and is not retrievable on Zenoti POS. - [Create a guest](https://docs.zenoti.com/reference/create-a-guest.md): This API helps you to create a guest. To create a new guest, you must fill the available details of the guest along with the mandatory fields that are set in the organization guest settings and then supply that guest object. In return, you will receive the guest object along with the unique identifier of the guest. Refer to the examples to know the minimum and maximum details required to create a guest. - [Create new guests using referral codes](https://docs.zenoti.com/reference/create-new-guests-using-referral-codes.md): This API creates new guests using correct referral codes. - [Add a credit/debit card for a guest](https://docs.zenoti.com/reference/add-a-creditdebit-card-for-a-guest-service-booking-and-billing.md) - [Retrieve guest details](https://docs.zenoti.com/reference/retrieve-guest-details.md): This API helps you to retrieve the details of a guest who has previously been created. You must specify the unique identifier of the guest as `guest_id` in the API request.This API also allows guests to view the details of another guest, provided they have a relationship defined in Zenoti. Also, only a host guest token can view another guest's details. - [Retrieve the saved credit/debit cards of a guest](https://docs.zenoti.com/reference/retrieve-the-saved-creditdebit-cards-of-a-guest.md) - [Search for a guest](https://docs.zenoti.com/reference/search-for-a-guest.md): This API helps you to search for a guest in the specified center or in the whole organization based on the Zenoti org level setting "Search Guest Across Centers". - [List all appointments of a guest](https://docs.zenoti.com/reference/list-all-appointments-of-a-guest.md): Provide unique identifier of the guest as `guest_id` and this api will retrieve the appointment history of the respective guest. This API also allows guests to view the appointment details of other guests, provided they have a relationship defined in Zenoti. Also, only a host guest token can view another guest's appointment details. - [List all products purchased by a guest](https://docs.zenoti.com/reference/list-all-products-purchased-by-a-guest.md): Provide unique identifier of the guest as `guest_id` and this API will retrieve the products purchased by the guest. - [List all gift cards of a guest](https://docs.zenoti.com/reference/list-all-gift-cards-of-a-guest.md): Provide unique identifier of the guest as `guest_id` and this api will retrieve the gift cards history of the respective guest. - [List all prepaid cards of a guest](https://docs.zenoti.com/reference/list-all-prepaid-cards-of-a-guest.md): Provide unique identifier of the guest as `guest_id` and this api will retrieve the prepaid cards history of the respective guest. - [List all coupons of a guest](https://docs.zenoti.com/reference/list-all-coupons-of-a-guest.md): Provide unique identifier of the guest as `guest_id` and this api will retrieve the coupon history of the respective guest. you can also use pagination by passing page and size query parameters if guest has huge number of records. By default page is set to 1 and size is set to 10. Size cannot be more than 100 which means maximum records per page cannot be more than 100. - [List the Series Packages of a Guest](https://docs.zenoti.com/reference/list-the-series-packages-of-a-guest.md): This API lists the details of the Series packages that a particular guest has bought or redeemed from a specific center. You need to provide details for the following parameters: `guest_id`, `center_id`, `show redeemable`, `page_num`, and `page_size`. This API does not provide information on the Day packages that the guest has bought or redeemed at a center. - [List all relationships belonging to a guest](https://docs.zenoti.com/reference/list-all-relationships-belonging-to-a-guest.md): This API retrieves all the relationships of a guest. For example, spouse, friend, etc. This allows you to view a list of all the family members of the guest. - [List all guests of a center](https://docs.zenoti.com/reference/list-all-guests-of-a-center.md): This API helps you to retrieve all guests of the specified center. You must specify the unique identifier of the center as `center_id` in the API request. You can also list the guests who are updated recently by passing the last_updated parameter. You can also leverage the pagination feature by passing `page` and `size` query parameters if you have a large number of records to be displayed. By default, `page` is set as 1 and `size` is set as 10. `size` cannot be more than 100: which means that the maximum records per page cannot be more than 100. - [Verify the payable loyalty points of a guest](https://docs.zenoti.com/reference/verify-the-payable-loyalty-points-of-a-guest.md): Use this API to check how many loyalty points and the loyalty amount (in $) that a guest can redeem while paying for an invoice. You must specify appropriate details for the `InvoiceId` parameter. Optionally, you can provide the required values for the `lp_program_id` and `redeem_across_programs` parameters. - [Retrieve the loyalty points history of a guest](https://docs.zenoti.com/reference/retrieve-the-loyalty-points-history-of-a-guest.md): This API helps you to retrieve the loyalty points history of the specified guest. You must specify the unique identifier of the guest as `guest_id` in the API request. You can also leverage the pagination feature by passing `page_num` and `num_records` query parameters if you have a large number of records to be displayed. By default, `page_num` is set as 1 and `num_records` is set as 10. `num_records` cannot be more than 100: which means that the maximum records per page cannot be more than 100. - [Retrieve the merge history of guest records](https://docs.zenoti.com/reference/retrieve-the-merge-history-of-guest-records.md): Use this API to fetch the merge history of guest records. This API also retrieves the history of guest records that have been merged across different centers. You must specify appropriate details for the `start_date` and `end_date` parameters in the API request. Optionally, you can specify necessary details for the `center_id`, `page`, and `size` parameters in the API request. - [Retrieve loyalty points of a guest (Earned/Redeemed)](https://docs.zenoti.com/reference/retrieve-loyalty-points-of-a-guest-earnedredeemed.md): **Purpose**: Use this API to retrieve the details of loyalty points that are either earned or redeemed by the guest. To retrieve the loyalty points of a guest - earned, you must pass one of the following parameters: > invoice_id > program_id > manual_guest_points_id > associated_guest_points_id **Note**: You can pass multiple associated_guest_points_id parameters as comma-separated values. To retrieve the loyalty points of a guest - redeemed, you must pass the following parameter: > invoice_id (mandatory) - [Change/Cancel Auto-renewal of Guest Membership](https://docs.zenoti.com/reference/changecancel-auto-renewal-of-guest-membership.md): This API allows you to change or cancel the membership renewal of a guest. - [Update details of a guest](https://docs.zenoti.com/reference/update-a-guest.md): Use this API to update the details of a guest. To update the details of a guest, modify the **expanded** guest object and supply it to this API. In return, you will receive the modified guest object. Note: You must send all the fields obtained from the Retrieve guest details API, even if you want to change the details of only one field. This API also allows guests to update another guest details provided they have a relationship defined in Zenoti. Also, only a host guest token can make changes to another guest. - [Update billing address from the guest profile](https://docs.zenoti.com/reference/update-billing-address-from-the-guest-profile.md): **Purpose**: Use this API to update the billing address of the guest from the guest profile while saving a new card. You must provide a unique identifier for the `guest_id` and the `account_id`. - [Delete a guest's saved credit/debit card](https://docs.zenoti.com/reference/delete-a-guests-saved-creditdebit-card.md): If you have previously added credit/debit cards for the specified guest, this API helps you to delete the saved cards/active payment accounts of the guest. You must specify the appropriate details for the `guest_id`, `account_id`, and `center_id` parameters in the API request. - [Delete relationship between guests](https://docs.zenoti.com/reference/delete-relationship-between-guests.md): The purpose of this API is to delete the relationship between two guests. For example the relationship could be Family, Friends, Spouse. Generally, when a group booking is made, the front-desk staff selects relationship between the host and the guest. This is for easy identification as well as payment collection. There may be cases when the guests do not want any relationship to be added. In such cases, you can use this API to delete the relationship. - [Merge guests](https://docs.zenoti.com/reference/merge-guests.md): This API helps you merge other guest details into the target guest. - [Retrieve loyalty points of a guest](https://docs.zenoti.com/reference/retrieve-loyalty-points-of-a-guest.md): Use this API to retrieve the details of loyalty points of a guest. - [Registering Guest for Loyalty Points Tier](https://docs.zenoti.com/reference/registering-guest-for-loyalty-points-tier.md): This API registers a specified guest to a loyalty points program based on their eligibility for a tier. It can also assign the guest to the highest tier upon request. - [Activate guest email](https://docs.zenoti.com/reference/activate-guest-email.md): This API activates a guest's email address by marking it as valid in the system. - [Check Aveda Birthday Gift Availability](https://docs.zenoti.com/reference/check-aveda-birthday-gift-availability.md): This API checks if a guest is eligible for an Aveda birthday gift. It validates whether the guest is an Aveda member and if a birthday gift offer code can be claimed. - [Claim Aveda Birthday Gift](https://docs.zenoti.com/reference/claim-aveda-birthday-gift.md): This API claims an Aveda birthday gift for a specific guest using a valid offer code. It processes the gift through Aveda integration and updates the guest’s records. - [Create a guest note](https://docs.zenoti.com/reference/create-a-guest-note.md): This API helps you to create a note for the guest. You must specify the unique identifier of the guest as <> in the API request. - [Retrieve a guest note](https://docs.zenoti.com/reference/retrieve-a-guest-note.md): This API helps you to retrieve the details of the specified guest note. You must specify the unique identifier of the guest as `guest_id` and the note as `note_id` in the API request. - [Retrieve the list of notes for a guest](https://docs.zenoti.com/reference/retrieve-the-list-of-notes-for-a-guest.md): This API will help you to retrieve the notes created for the specified guest. You must specify the unique identifier of the guest as `guest_id` in the API request. You can also leverage the pagination feature by passing `page` and `size` query parameters if you have a large number of records to be displayed. By default, `page` is set as 1 and `size` is set as 10. `size` cannot be more than 100: which means that the maximum records per page cannot be more than 100. - [Update a guest note](https://docs.zenoti.com/reference/update-a-guest-note.md): This API helps you to update the details of the specified guest note. You must specify the unique identifier of the guest as `guest_id` and the note as `note_id` in the API request. **Important** >You can change the notes and `note_type` elements by using this API. >You can change the alert of a note by modifying the `note_type` as generic = 2. >You cannot update `note_type` for a private guest note. - [Delete a guest note](https://docs.zenoti.com/reference/delete-a-guest-note.md): This API helps you to delete the specified guest note. You must specify the unique identifier of the guest as `guest_id` and the note as `note_id` in the API request. - [Create a guest form](https://docs.zenoti.com/reference/create-a-guest-form.md): This API helps you to create a guest form for the specified guest.You must specify the unique identifier of the guest as `guest_id` in the API request. - [Retrieve a guest form](https://docs.zenoti.com/reference/retrieve-a-guest-form.md): This API helps you to retrieve the specified guest's form data.You must specify the unique identifier of the guest as `guest_id` and the form's `version_no` in the API request.Note: Retrieving uploaded files, signatures and annoations are not supported. - [Update a guest form](https://docs.zenoti.com/reference/update-a-guest-form.md): This API helps you to update the details of a V2 guest form for the specified guest. You must specify the unique identifier of the guest as `guest_id` in the API request.Note: Retrieving uploaded files, signatures and annoations are not supported. - [List all memberships of a guest](https://docs.zenoti.com/reference/list-all-memberships-of-a-guest.md): This API helps you to retrieve the membership history of the respective guest. You must specify the unique identifier of the guest as `guest_id` in the request. If you want to breakdown the list of memberships by their status, you must pass the expand parameter `is_active`. If you are using **api_key** to retrieve the data, it is **mandatory** to specify the `center_id` details in the request. - [Guest Membership Change Log](https://docs.zenoti.com/reference/guest-membership-change-log.md): This API helps you to retrieve the changes to the Guest's Membership, in the specified window. - [Fetch the pending membership collection amount of a guest](https://docs.zenoti.com/reference/fetch-the-pending-membership-collection-amount-of-a-guest.md): This API helps you to fetch the pending membership collection amount that a guest needs to pay. This membership collection amount gets accumulated after a guest’s membership has been frozen on multiple occasions. Guests must pay that membership fee amount to reactivate their membership. You must specify appropriate details for the `guest_id` and `membership_id` parameters in the API request. - [Cancel the membership of a guest](https://docs.zenoti.com/reference/cancel-the-membership-of-a-guest.md): This API helps you to cancel the membership of a guest. You must specify appropriate details for the `guest_id` and `membership_id` parameters in the API request. Optionally, you can specify the necessary details for the `cancellation_date` and `termination_date` parameters in the API request body. - [Freeze the membership of a guest](https://docs.zenoti.com/reference/freeze-the-membership-of-a-guest.md): This API helps you to freeze the membership of a guest. You must specify appropriate details for the `guest_id` and `membership_id` parameters in the API request. Optionally, you can specify the necessary details for the `start_date`, `end_date`, `fee`, `type`, and `changed_unfreeze_date` parameters in the API request body. - [Unfreeze the membership of a guest](https://docs.zenoti.com/reference/unfreeze-the-membership-of-a-guest.md): This API helps you to reactivate the membership of a guest. You must specify appropriate details for the `guest_id` and `membership_id` parameters in the API request. - [Create Membership Notifications in Bulk](https://docs.zenoti.com/reference/create-membership-notifications-in-bulk.md): This API validates all request items first and processes only the valid ones. - [Reset the password of a guest](https://docs.zenoti.com/reference/reset-the-password-of-a-guest.md): This API helps you to reset a guest's password. When you invoke this API, a temporary code is generated that does not actually replace a guest's existing password. The temporary code acts as a one-time password (OTP), by using which guests can validate their update password request. This API also takes care of scenarios where there might be multiple accounts found with the same username. In that case, the guest's first_name is provided so that the appropriate account can be identified and the reset password email can then be sent to that user. This API returns either a success parameter that specifies that the password-reset process was successful or an error object if there is any error. - [Update the password of a guest using the old password](https://docs.zenoti.com/reference/update-the-password-of-a-guest-using-the-old-password.md): This API help you to update a guest's password by using the old password. To invoke this API, you must specify a unique identifier of the guest in the request as `guest_id`. You must then specify in the request body the `old_password` and `new_password` details of the guest. After the `old_password` value has been successfully validated, the guest's password is updated to the `new_password` value. This API either returns a success parameter that indicates that the password-updation process was successful or returns an error object if there is any error. - [Update the password of a guest using OTP](https://docs.zenoti.com/reference/update-the-password-of-a-guest-using-otp.md): This API helps you to update a guest's password by using the one-time password (OTP) that was sent to the guest's registered email ID after resetting the password. To invoke this API, you must specify a unique identifier of the guest in the request as `guest_id`. You must also provide in the request body the `verification_code` and `verification_id` details that the guest received after resetting the password. After the `verification_code` and `verification_id` details have been successfully validated, the guest's password is updated to the `new_password` value. This API either returns a success parameter that indicates that the password-updation process was successful or returns an error object if there is any error. - [Add employee with catalog information](https://docs.zenoti.com/reference/add-employee-with-catalog-information.md): This API helps you to create an employee profile, along with catalog information in a center. **Note**: For information on how to update the details of a previously-created employee profile, click here. You must specify necessary details for the mandatory and optional object parameters in the API request body. If you assign a particular role to the specified employee, this API creates an employee profile with the provided role ID. Otherwise, this API assigns a default role to the newly-created employee. For more information on security roles, refer to the Retrieve the list of security roles in a center API. - [Retrieve employee details with payroll information](https://docs.zenoti.com/reference/retrieve-employee-details-with-payroll-information.md): The purpose of this API is to retrieve employee details with payroll information. - [Update employee of the center with given catalog details](https://docs.zenoti.com/reference/update-employee-of-the-center-with-given-catalog-details.md): This API updates the existing employee profile with additional parameters for taking catalog information. If the catalog details are provided then the same will be updated and other values are set to default. If the sub-object catalog details are not passed in the request body, the default values will be set for catalog details ('ShowInCatalog' are set to false and ‘DisplayName' and 'Description’ would be set to empty).. **Note**: For information on how to create an employee profile in a center, click here. You must specify necessary details for the `employee_id` URI parameter in the API request. If you assign a new role ID to the employee, this API will update the employee's profile with the specified role ID and remove the existing role IDs. For more information on security roles, refer to the Retrieve the list of security roles in a center API. Optionally, you can specify updated information for any of the request body parameters. - [Check-in an employee](https://docs.zenoti.com/reference/check-in-an-employee.md): This API helps you to check-in an employee. You must specify the unique identifier of the employee as `employee_id` in the API request. - [Check-out an employee](https://docs.zenoti.com/reference/check-out-an-employee.md): This API helps you to check-out an employee. You must specify the unique identifier of the employee as `employee_id` in the API request. - [Update the schedule of an employee](https://docs.zenoti.com/reference/update-the-schedule-of-an-employee.md): This API helps you to add, edit, or delete the schedule of the specified employee for any one particular day at a time. You cannot use this API to simultaneously update the employee's schedule for multiple days. You must provide appropriate data for the `employee_id` parameter. Note: Before using this API, you must first call the `GET Retrieve the schedules of employees of a center` API. After you retrieve the `schedule_id` for the required employee, you can then use that unique `schedule_id` to update the employee's schedule for a specific day. - [Retrieve the attendance of an employee](https://docs.zenoti.com/reference/retrieve-the-attendance-of-an-employee.md): This API requires a date range and the employee id of the employee whose attendance is intended. it returns an object list indicating attendance in the sate range, below is the details of the object - [Create custom field images](https://docs.zenoti.com/reference/create-an-api-for-creating-custom-field-images.md): This API is created to upload employee custom field images to S3 bucket - [Get custom fields details](https://docs.zenoti.com/reference/get-custom-fields-details.md): This API is created to get employee profile custom fields. - [Delete Employee Medical Licenses](https://docs.zenoti.com/reference/delete-employee-medical-licenses.md): This API is designed to delete medical license details associated with an employee. It handles various types of medical licenses including License Numbers and DEA Numbers. - [Fetch Employees with Form Review or Supervisor Access](https://docs.zenoti.com/reference/fetch-employees-with-form-review-or-supervisor-access.md): This API retrieves a list of employees who have the necessary permissions to review a form or act as a supervisor - [Create a blockout time for an employee](https://docs.zenoti.com/reference/create-a-blockout-time-for-an-employee.md): This API helps you to create a blockout time for the specified employee. You must specify the unique identifier of the employee as `employee_id` in the API request. - [Create a recurring employee blockout time](https://docs.zenoti.com/reference/create-a-recurring-employee-blockout-time.md): **Description** Recurring blockout time blocks the specified time for repetive days. To create a recurring blockout time supply the `blockouttime` request object to this api and api will create the blockout time for specific therapist. To create a recurring block out time supply the recurring blockout time object. Request and respones of both recurring and non recurring block out times are given in examples. **Returns** Returns the newly created blockout times in the list of `BlockOutTime` objects in both recurring and non-recurring scenarios or returns an error object if any error is occured. - [Retrieve the blockout time of an employee](https://docs.zenoti.com/reference/retrieve-the-blockout-time-of-an-employee.md): Use this API to retrieve the blockout time of the specified employee. - [Retrieve all blockout times of an employee](https://docs.zenoti.com/reference/retrieve-all-blockout-times-of-an-employee.md): Use this API to retrieve all blockout times of the specified employee. - [List all blockout times of a center](https://docs.zenoti.com/reference/list-all-blockout-times-of-a-center-1.md): Retrives the list of Blockout times created between the start date and end date of the center whose ID is passed as {center_id} and block out times of all the rooms or employees who had a block out time created in the appointment book for that center. - [List all blockout times types](https://docs.zenoti.com/reference/list-all-blockout-times-types.md): When providers are unavailable due to any reason such as lunch, training, or break, you can use Block Out Time Types to show their unavailability on the Appointment Book. you can also use pagination by passing page and size query parameters if you have huge number of records by default page is set to 1 and size is set to 10. size cannot be more than 100 which means maximum records per page cannot be more than 100. - [Update the blockout time of an employee](https://docs.zenoti.com/reference/update-the-blockout-time-of-an-employee.md): Use this API to update the blockout time of the specified employee. - [Remove the blockout time of an employee](https://docs.zenoti.com/reference/remove-the-blockout-time-of-an-employee.md): Permanently deletes a blockout time whose unique identifier is supplied as {block_out_time_id} and the unique id of the therapist as {employee_id}. It cannot be undone. - [Add the security role for an employee](https://docs.zenoti.com/reference/add-the-security-role-for-an-employee.md): The purpose of this API is to add a security role for an employee through the **Roles** tab of the **Manage Employees** page. - [Retrieve security roles of an employee](https://docs.zenoti.com/reference/retrieve-security-roles-of-an-employee.md): The purpose of this API is to list all the security roles of an employee at all levels of the organization. - [Delete the role of an employee](https://docs.zenoti.com/reference/delete-the-role-of-an-employee.md) - [Create the blockout time of a room](https://docs.zenoti.com/reference/create-the-blockout-time-of-a-room.md): Use this API to create the blockout time of the specified room. - [Create a recurring room blockout time](https://docs.zenoti.com/reference/create-a-recurring-room-blockout-time.md): Recurring blockout time block the time of the room every day repeatedly. To block a time for the room on the appointment book you can actually create a block out time for that room on the Appointment book whose ID is passed as {{room_id}}.Supply the `BlockOutTimeRequest` object as a body and call this api to create a blockout time. send rec_end_date or occurences, but not both while creating a recurring block out time - [Retrieve the block out time of a room](https://docs.zenoti.com/reference/retrieve-the-block-out-time-of-a-room.md): Use this API to retrieve the blockout time of the specified room. - [Retrieve all blockout times of a room](https://docs.zenoti.com/reference/retrieve-all-blockout-times-of-a-room.md): Use this API to retrieve all blockout times of the specified room. You must specify center_id, start_date and end_date. **Note**: The duration between the start_date and the end_date must be less than 10 days. - [Update the blockout time of a room](https://docs.zenoti.com/reference/update-the-blockout-time-of-a-room.md): Use this API to update the blockout time of the specified room. - [Remove a room blockout time](https://docs.zenoti.com/reference/remove-a-room-blockout-time.md): Permanently deletes a blockout time whose unique identifier is supplied as {block_out_time_id} and the unique id of the therapist as {employee_id}. It cannot be undone. - [Service Booking APIs](https://docs.zenoti.com/reference/api-end-points-3.md) - [Create a service booking](https://docs.zenoti.com/reference/create-a-service-booking-copy.md): This API helps you to create a service booking request for an appointment. To create a group service booking, you must specify in the API request body the required `guest_id` and appointment-related `item` details. After you add appointment details for multiple guests, this API automatically creates a group booking. For more information on these parameters and how to create a group booking, refer to the **Request Body Details** table and the **Body** section respectively.If you have a preference for a specific therapist for the service, you can specify the required therapist ID in the API request body. If you have a preference for a specific gender of therapist for the service, you can specify the required gender option in the API request body.After you use this API to create a service booking, a unique 32-digit `booking_id` is generated. You can then use this `booking_id` to retrieve available slots for the service booking, reserve a slot for the service booking, and then confirm the service booking to complete the appointment-booking process.This API also allows guests to create service bookings for other guests, provided there is a relationship defined in Zenoti, and the booking can only be done by the host. The host_id parameter in the request object can also select the host for group bookings. This API now supports Zenoti growth features. - [Implement single therapist bookings for V1](https://docs.zenoti.com/reference/implement-single-therapist-bookings-for-v1.md): This API ensures that when consider_single_therapist_slot is set to true, all booked services are assigned to the same therapist. - [Retrieve available slots for a service booking](https://docs.zenoti.com/reference/retrieve-available-slots-for-a-service-booking.md): This API helps you to retrieve available slots for the specified service booking (`booking_id`) on a given day. If no slots are available on that day, the API returns the next available slot on any other future day of the current week. You can also use this API to retrieve available slots for the required group service booking (`booking_id`). You can choose a specific therapist or a therapist based on a certain gender while creating a service booking; after which, a unique 32-digit `booking_id` is generated. You must then specify the generated `booking_id` as an input parameter in the API request body to retrieve available slots for the service booking. - [Reserve a slot for a service booking](https://docs.zenoti.com/reference/reserve-a-slot-for-a-service-booking.md): This API helps you to reserve a slot for the specified service booking (`booking_id`).You can also use this API to reserve a slot for the required group service booking (`booking_id`).You can choose a specific therapist or a therapist based on a certain gender while creating a service booking; after which, a unique 32-digit `booking_id` is generated.You must then specify the generated `booking_id` in the API request. You can also provide appropriate details for the `slot_time` parameter in the API request body to reserve a slot for the service booking.After you have reserved a slot for the service booking, you can then proceed to confirm the service booking.This API also allows guests to reserve appointments for family members. Provided, there is a relationship defined in Zenoti and an appointment reservation can only be done by the host. Note: Invoice id is not generated in this step by default, It is generated only when you confirm a reservation with confirm a service booking API call. you can generate an temporary invoice in reserve slot API by using the create_invoice flag in the request body. - [Confirm a service booking](https://docs.zenoti.com/reference/confirm-a-service-booking.md): This API helps you to confirm the required reserved service booking (`booking_id`). You can also use this API to confirm the required group service booking (`booking_id`). You must specify in the API request body the appropriate appointment `group_name` details. You can choose a specific therapist or a therapist based on a certain gender while creating a service booking; after which, a unique 32-digit `booking_id` is generated. After you have reserved the service booking, you must then specify the generated `booking_id` as an input parameter to use this API to confirm the service booking before the reservation time of the slot expires. If the service booking is confirmed, you will receive the details of the service booking in the generated response. This API also allows you to confirm service bookings for family members. Provided, there ia a relationship defined in Zenoti between the host and the family members. - [Reschedule a service booking](https://docs.zenoti.com/reference/reschedule-a-service-booking.md): Use this API to reschedule a service booking. To reschedule a booking, follow these steps: **STEP 1 :** Invoke the Create a service booking API along with `invoice_id` and `invoice_item_id` that you received while confirming the previous booking. **STEP 2 :** Now, use the newly-generated `booking_id` to retrieve slots from this API and choose a suitable `slot_time`. **STEP 3 :** Reserve the slot for the newly-created service booking by using this API. **STEP 4 :** Confirm the service booking by using this API. This process will reschedule the existing appointment to the new time slot. - [Create bookings of service bundles and day packages](https://docs.zenoti.com/reference/create-bookings-of-service-bundles-and-day-packages.md): This API creates bookings of service bundles and day packages and also supports couple bookings. - [Create a gift card sale invoice after using a gift card template](https://docs.zenoti.com/reference/create-a-gift-card-sale-invoice-after-using-a-gift-card-template.md): You must specify appropriate details for the request body parameters, and this API generates an invoice by booking the gift cards and returns a unique invoice ID as the response. - [List all occasions](https://docs.zenoti.com/reference/list-all-occasions.md): This API will retrieve the list of occasions defined in your organization. - [Verify the balance of a gift card](https://docs.zenoti.com/reference/verify-the-balance-of-a-gift-card.md): This API helps you to verify the balance of a guest's Zenoti gift card. If the guest's gift card contains sufficient balance, you can redeem the gift card to collect payment for an invoice. You must specify appropriate data for the `giftcard_number` parameter. - [Create a gift card template with custom amount](https://docs.zenoti.com/reference/create-a-gift-card-template-with-custom-amount.md): Supply the request body and this API will generate a custom gift card template with specified amount. - [Create a gift card template with services or day packages](https://docs.zenoti.com/reference/create-a-gift-card-template-with-services-or-day-packages.md): Supply the request body and this API will generate a custom gift card template with specified combination of services and day packages. **Note**: Remove the hash (#) symbol when using this endpoint. - [List all templates](https://docs.zenoti.com/reference/list-all-templates.md): This API helps you to retrieve the list of gift card templates associated with the required center. You must specify the unique identifier of the center as `center_id` in the API request. - [Get Center Predefined Gift Card Templates](https://docs.zenoti.com/reference/get-center-predefined-gift-card-templates.md): This API retrieves the list of different types of predefined gift card templates for a given center. - [Create an opportunity](https://docs.zenoti.com/reference/create-an-opportunity.md): Supply the opportunity object in the request body and this API will create an opportunity with given details.
**Note**: 'type' parameter is required to use Sales Stage Rules.
**Steps to create/edit Sales Stage Rules** - Opportunities-> Sales Stage Rules. - [MetaData of the opportunities](https://docs.zenoti.com/reference/metadata-of-the-opportunities.md): Gives MetaData of the Opportunities which can be needed while creating an opportunity. Different sections under metadata are : 1. Priorities. 2. Dispositions. 3. Stages. 4. Sources. 5. Types - [Retrieve an opportunity](https://docs.zenoti.com/reference/retrieve-an-opportunity.md): Supply the unique identifier of the opportunity as `opportunity_id` and this API will retrieve the details of it. - [List all opportunities](https://docs.zenoti.com/reference/list-all-opportunities.md): Supply the unique identifier of the center and the fields on which you want to filter the opportunities and this API will return the list of opportunities in that center. - [Edit an opportunity](https://docs.zenoti.com/reference/edit-an-opportunity.md): Supply the unique identifier of the opportunity as `opportunity_id` and send the original request body with intended changes for the API to update particular opportunity. - [Add notes to an opportunity](https://docs.zenoti.com/reference/add-notes-to-an-opportunity.md): Supply the unique id od the opportunity as `opportunity_id` and request body to this API and this API will add notes to that opportunity. - [List the notes of an opportunity](https://docs.zenoti.com/reference/list-the-notes-of-an-opportunity.md): Supply the unique identifier of the opportunity as `opportunity_id` and this API will retrieve the notes of the opportunity. - [Insert Guests' Feedback into Zenoti](https://docs.zenoti.com/reference/insert-guests-feedback-into-zenoti.md): This API inserts a guest's feedback (which has been collected by using a third-party software) on a specific appointment into Zenoti. For example, an organization uses a third-party software to collect guests' feedback on their appointments. You can then use this API to insert the collected guest feedback from that third-party software into Zenoti. You must specify appropriate data for the `appointment_group_id` parameter. - [Retrieve the list of appointments of a center](https://docs.zenoti.com/reference/retrieve-the-list-of-appointments-of-a-center.md): This API retrieves the list of all appointments of the specified center between the start date and end date. You must provide appropriate details for the `center_id`, `start_date`, and `end_date` parameters. Optionally, you can also specify the details for the `include_no_show_cancel` and `therapist_id` parameters to filter the results. The difference between the `start_date` and `end_date` cannot be more than seven days. The response also includes block-out times. - [Retrieve the list of forms associated with an appointment](https://docs.zenoti.com/reference/retrieve-the-list-of-forms-associated-with-an-appointment.md): This API helps you to fetch the list of forms that are available for the specified appointment. You must specify appropriate details for the `appointment_id` parameter in the API request. - [Retrieve the data of an appointment form](https://docs.zenoti.com/reference/retrieve-the-data-of-an-appointment-form.md): This API helps you to retrieve the data for tag forms associated to the specified appointment. You must provide an appropriate identifier in the API request for the `appointment_id` parameter. You also need to specify the required details for three other parameters in the API request. Refer to the **Request Parameters** table for more information. - [Retrieve the details of an appointment](https://docs.zenoti.com/reference/retrieve-the-details-of-an-appointment.md): This API retrieves the details of the specified appointment. You must specify appropriate data for the `appointment_id` parameter. - [Mark an appointment as No-Show](https://docs.zenoti.com/reference/mark-an-appointment-as-no-show.md): This API helps you to mark an appointment as No-Show, if guests do not show up for their scheduled appointment. You must provide appropriate data for the `appointment_group_id` parameter. - [Mark the status of an appointment as checked-in](https://docs.zenoti.com/reference/mark-the-status-of-an-appointment-as-checked-in.md): This API helps you to mark the status of an appointment as **checked-in**. By doing so, you can provide your guests the option to self check-in for their scheduled appointments from your CMA and custom Webstore. You must specify appropriate data for the `appointment_group_id` parameter. - [Undo the status of a checked-in appointment](https://docs.zenoti.com/reference/undo-the-status-of-a-checked-in-appointment.md): This API helps you to undo the status of a **checked-in** appointment. By doing so, you can provide your guests the option to undo the status of their self checked-in appointments from your CMA and custom Webstore. You must specify appropriate data for the `appointment_group_id` parameter. - [Update Appointment Progress: Start, Open, or Complete](https://docs.zenoti.com/reference/update-appointment-progress-start-open-or-complete.md): This API marks the progress of an appointment as start, open, or complete. - [Retrieve the list of reasons](https://docs.zenoti.com/reference/retrieve-the-list-of-reasons.md): This API retrieves the list of specific reasons that a center's front-desk executives can select from when they cancel a membership, cancel an appointment, or mark a guest as a turnaway. - [Retrieve the list of all countries](https://docs.zenoti.com/reference/retrieve-the-list-of-all-countries.md): This API retrieves the list of all countries. - [Retrieve the list of all states of a country](https://docs.zenoti.com/reference/retrieve-the-list-of-all-states-of-a-country.md): This API retrieves the list of all states of the specified country. You must specify appropriate details for the `country_id` parameter in the API request. - [Retrieve the list of security roles in a center](https://docs.zenoti.com/reference/retrieve-the-list-of-security-roles-in-a-center.md): This API helps you to fetch the list of security roles in a center. You must specify appropriate details for the `type` parameter in the API request. - [Retrieve list of all security profiles](https://docs.zenoti.com/reference/retrieve-list-of-all-security-profiles.md): The purpose of this API is to get a list of all the security profiles associated under the organization and under the center. - [List all blockout times types](https://docs.zenoti.com/reference/list-all-blockout-times-types-1.md): **Description** When providers are unavailable due to any reason such as lunch, training, or break, you can use Block Out Time Types to show their unavailability on the Appointment Book. you can also use pagination by passing page and size query parameters if you have huge number of records by default page is set to 1 and size is set to 10. size cannot be more than 100 which means maximum records per page cannot be more than 100. **Returns** Returns a object containing the list of block out time types which are specified for the organization. Returns an error if failed to retrieve block out time types. - [Get pay cycle settings of multiple centers](https://docs.zenoti.com/reference/get-pay-cycle-settings-of-multiple-centers.md): The purpose of the API is to fetch pay period settings for a list of centers in a given duration. - [Retrieve the organization settings](https://docs.zenoti.com/reference/retrieve-the-organization-settings.md): This API will be used to fetch the organization settings of a business on Zenoti. - [Retrieve the collections report of a center](https://docs.zenoti.com/reference/retrieve-the-collections-report-of-a-center.md): **NOTE** : This API is deprecated. Requesting not to use this API for any new integrations as the data cannot be reconciled to new collection report available in the UI. This API retrieves the list of collections of the specified center during the selected date range.You must specify appropriate details for the `center_id`, `start_date`, and `end_date` parameters in the API request.**Note** : The date range that you specify cannot be more than seven days. - [Retrieve the sales report of a center](https://docs.zenoti.com/reference/retrieve-the-sales-report-of-a-center.md): **NOTE** : This API is deprecated. Requesting not to use this API for any new integrations as the data cannot be reconciled to new sales accrual/sales cash reports available in the UI. This API retrieves the list of sales of the specified center during the selected date range.You must specify appropriate details for the `center_id`, `start_date`, and `end_date` parameters in the API request.**Note** : The date range that you specify cannot be more than seven days. - [Email notifications report API](https://docs.zenoti.com/reference/email-notifications-report-api.md): Purpose: The purpose of this API is to fetch a list of email notification details associated with a center. - [Text Notifications Report API](https://docs.zenoti.com/reference/text-notifications-report-api.md): Purpose: The purpose of this API is to fetch a list of text notification details associated with a center. - [Fetch the class details of an organization - Class report API](https://docs.zenoti.com/reference/report-to-fetch-the-class-details-of-an-organization.md): **Purpose**: Use this API to fetch the class details of an organization. You must specify `center_ids` and `employee_ids` along with other params as mentioned in the BODY PARAMS section. - [Fetch Employee audit report](https://docs.zenoti.com/reference/fetch-employee-audit-report.md): This API gives the audit report of the activities of employees based on the filter. - [Generate sales accrual report](https://docs.zenoti.com/reference/sales-accrual-report.md): The purpose of this API is to get the sales made by a center (on any particular day or over a time period) if the business follows accrual-based accounting. - [Fetch collections report](https://docs.zenoti.com/reference/fetch-collections-report.md): This API gets the collections details in the organization during a selected date range. - [Get Membership Tries Report](https://docs.zenoti.com/reference/get-membership-tries-report.md): This API retrieves a flat-file report of membership recurring invoice collection tries with detailed try status, payment information, and decline details. Supports filtering by centers, date ranges, invoice statuses, try statuses, recurring statuses, payment types, days pending buckets, and grouping columns. Results are paginated. - [Retrieve the list of all vendors for an organization](https://docs.zenoti.com/reference/retrieve-the-list-of-all-vendors-for-an-organization.md): This API retrieves the list of all vendors for an organization. You can specify appropriate details for the `page` and `size` parameters in the API request to use the pagination feature in the output. - [Retrieve the list of all products associated to a vendor](https://docs.zenoti.com/reference/retrieve-the-list-of-all-products-associated-to-a-vendor.md): This API retrieves the list of all products associated to a vendor. You must specify appropriate details for the `vendor_id` parameter in the API request. Optionally, you can provide necessary details for the `page` and `size` parameters to use the pagination feature in the output. - [Retrieve the stock quantities of products](https://docs.zenoti.com/reference/retrieve-the-stock-quantities-of-products.md): This API fetches the stock quantities of all products in the specified center. You must specify appropriate details for the `center_id` and `inventory_date` parameters. Optionally, you can provide the necessary details for the `search_string` and `product_type` parameters. - [Retrieve the consumption details of products for a center](https://docs.zenoti.com/reference/retrieve-the-consumption-details-of-products-for-a-center.md): This API retrieves the consumption details of all products for the specified center. You must specify appropriate details for the `center_id`, `start_date`, and `end_date` parameters. Optionally, you can provide the necessary details for the `report_type` and `product_code` parameters. - [Retrieve the list of purchase orders for a center](https://docs.zenoti.com/reference/retrieve-the-list-of-purchase-orders-for-a-center.md): This API retrieves the list of purchase orders for the specified center during the specified time period. You must specify appropriate details for the `center_id`,`start_date`, and `end_date` parameters. Optionally, you can provide details for the `show_delivery_details`,`date_criteria`, and `status` parameters. - [Retrieve the list of transfer orders for a center](https://docs.zenoti.com/reference/retrieve-the-list-of-transfer-orders-for-a-center.md): This API retrieves the list of transfer orders for the specified center during the specified time period. You must specify appropriate details for the `center_id`,`start_date`, and `end_date` parameters. Optionally, you can provide details for the `show_delivery_details`,`date_criteria`, and `status` parameters. - [Retrieve the details of a purchase order](https://docs.zenoti.com/reference/retrieve-the-details-of-a-purchase-order.md): This API retrieves the details of the specified purchase order. You must specify appropriate details for the `order_id` parameter in the API request. - [Retrieve the details of a transfer order](https://docs.zenoti.com/reference/retrieve-the-details-of-a-transfer-order.md): This API retrieves the details of the specified transfer order. You must specify appropriate details for the `order_id` parameter in the API request. - [Associate Products with Centers in Bulk](https://docs.zenoti.com/reference/associate-products-with-centers-in-bulk.md): This API enables bulk association of multiple products to centers in a single request, streamlining product-center mapping at scale. - [Retrieve a list of users](https://docs.zenoti.com/reference/retrieve-a-list-of-users.md): This API retrieves a list of users that match specific rule criteria. - [Retrieve Class Registrations](https://docs.zenoti.com/reference/retrieve-class-registrations.md): This API helps you to retrieve a list of registrations for the class sessions. You must provide the appropriate details in the API request for the `class_id`, `session_id` and `center_id` parameters. Optionally, you can also specify the required expand parameters in the API request. Refer to the **Request Parameters** table for more information. - [Guest registration for the classes](https://docs.zenoti.com/reference/create-guest-registration.md): **Purpose**: Use this API to register a guest for a class. You must specify `class_id` as path params and mention the following in the body params - Check the body params section for more details. - [Register a guest on Gympass](https://docs.zenoti.com/reference/register-a-guest-on-gympass.md): **Purpose**: The purpose of this API is to register your guests on external providers like Gympass. You must provide the unique identifier of the external service provider in provider_id. The API will then register the guest on Gympass. - [Cancel a guest's registration to a class](https://docs.zenoti.com/reference/cancel-a-guests-registration-to-a-class.md): **Purpose**: The purpose of this API is to cancel the registration of a user to a class. You must provide a unique identifier for the `class_id` as well as for the `registration_id`. The API then cancels the registration of a user to the class. - [Cancel a guest's registration to a workshop](https://docs.zenoti.com/reference/cancel-a-guests-registration-to-a-workshop.md): **Purpose**: The purpose of this API is to cancel the guest's registration for a workshop. You must provide a unique identifier for the workshop_id and the registration_id. The API call then cancels the workshop registration of a guest. - [Check-in registered guests to classes](https://docs.zenoti.com/reference/check-in-registered-guests-to-classes.md): Use this API to check-in registered guests to the classes. You must specify class_id and registration_id to check-in the guest to the class. - [Undo the check-in of a guest to a class](https://docs.zenoti.com/reference/undo-the-check-in-of-a-guest-to-a-class.md): Use this API to undo the guest's check-in to your class. You can only undo the check-in of guests who are already checked in. You must specify the `class_id` and the `registration_id` of the guest for whom you want to undo the check-in. - [Check-in registered guests to workshops](https://docs.zenoti.com/reference/check-in-registered-guests-to-workshops.md): Use this API to check-in registered guests to your workshops. You must specify the workshop_id and the registration_id to check-in the guests. - [Undo check-in of a guest to a workshop](https://docs.zenoti.com/reference/undo-check-in-of-a-guest-to-a-workshop.md): Use this API to undo the check-in of guests to a workshop. You must specify workshop_id and the registration_id of the guest for this API to work. - [Fetch a list of booked users of a Workshop event](https://docs.zenoti.com/reference/fetch-a-list-of-booked-users-of-a-workshop-event.md): **Purpose**: Use this API to fetch a list of all the booked users of a particular workshop event. You must specify `workshop_id` with `center_id` and `session_id` as query params. - [Register a guest to a workshop](https://docs.zenoti.com/reference/register-a-guest-to-a-workshop.md): **Purpose**: Use this API to register a guest to a workshop. You must specify `workshop_id`, along with the body params `track_id`, `guest_id`, and `center_id`. - [Fetch user registrations for classes/workshops](https://docs.zenoti.com/reference/fetch-user-registrations-for-classesworkshops.md): **Purpose**: Use this API to fetch the user registrations to the classes or workshops. You must specify the `guest_id` and the parameters mentioned in PATH PARAMS section. - [Enroll or register a guest for a class session by an Admin](https://docs.zenoti.com/reference/enroll-or-register-a-guest-for-a-class-session-by-an-admin.md): This API helps you to enroll or register a guest for a class session by an Admin. You must provide the appropriate details in the API request for the `SessionId`, `GuestId`, and `BookingSrc` parameters. Optionally, you can also specify the required details in the API request for various other parameters to filter the search results in the API response. Refer to the **Request Body Parameters** table for more information. - [Retrieve the class session registrations of a guest](https://docs.zenoti.com/reference/retrieve-the-class-session-registrations-of-a-guest.md): This API helps you to retrieve the list of class sessions for which the specified guest has registered. You must provide the appropriate details in the API request for the `user_id` parameter. Optionally, you can also specify the required details in the API request for several other parameters to filter the search results in the API response. Refer to the **Request Parameters** table for more information. - [Cancel the registration of a class session](https://docs.zenoti.com/reference/cancel-the-registration-of-a-class-session.md): This API helps you to cancel the registration of a class session booking. You must provide a unique identifier of the registration as `registration_id` in the API request. The API then cancels the registration of the specified class session and returns the appropriate cancellation status. - [Create an invoice for the sale of a membership](https://docs.zenoti.com/reference/create-an-invoice-for-the-sale-of-a-membership.md): This API helps you to create an invoice for the sale of a membership. You must specify appropriate details for the parameters in the API request body. For more information, refer to the **Request Body Parameters** table. - [Create an invoice for the sale of a series package](https://docs.zenoti.com/reference/create-an-invoice-for-the-sale-of-a-series-package.md): This API helps you to create an invoice for the sale of a series package. You must specify appropriate details for the parameters in the API request body. For more information, refer to the **Request Body Parameters** table. - [Book a class session](https://docs.zenoti.com/reference/book-a-class-session.md): This API helps you to create a booking for the specified class session for a signed-in guest. You must provide a unique identifier of the session as `session_id` in the API request. The API then returns the `RegistrationId` and `RegistrationStatusId` details of the booking. - [Close a series package sale invoice](https://docs.zenoti.com/reference/close-a-series-package-sale-invoice.md): This API helps you to close the invoice of a series package sale. You must specify appropriate details for the `invoice_id` parameter in the API request. For more information, refer to the Request Parameters table. - [Collect payment for a class booking by using the guest's saved credit/debit card](https://docs.zenoti.com/reference/collect-payment-for-a-class-booking-by-using-the-guests-saved-creditdebit-card.md): This API helps you to collect payment for the class booking by using the guest's saved credit/debit card. You must specify appropriate details for the parameters in the API request body. For more information, refer to the **Request Body Parameters** table. - [Close a membership sale invoice](https://docs.zenoti.com/reference/close-a-membership-sale-invoice.md): This API helps you to close the invoice of a membership sale. You must specify appropriate details for the `invoice_id` parameter in the API request. For more information, refer to the **Request Parameters** table. - [Retrieve the list of payment methods](https://docs.zenoti.com/reference/retrieve-the-list-of-payment-methods.md): This API helps you to retrieve the list of payment methods that have been configured at the specified center. You must specify appropriate details for the parameters in the API request. For more information, refer to the **Request Parameters** table. - [Retrieve the saved credit/debit cards of a guest](https://docs.zenoti.com/reference/retrieve-the-saved-creditdebit-cards-of-a-guest-1.md): This API helps you to retrieve the saved credit/debit cards of a guest at the specified center. You must specify appropriate details for the parameters in the API request. For more information, refer to the **Request Parameters** table. - [Retrieve the schedules of classes in multiple centers](https://docs.zenoti.com/reference/retrieve-the-schedules-of-classes-in-multiple-centers.md): This API helps you to retrieve the list of active schedules of classes sessions in multiple centers. You must provide the appropriate details in the API request for the `center_id` parameters. Optionally, you can also specify the required details in the API request for several other parameters to filter the search results in the API response. Refer to the **Request Parameters** table for more information. - [Retrieve the session registrations of a center](https://docs.zenoti.com/reference/retrieve-the-session-registrations-of-a-center.md): This API helps you to retrieve the list of class session registrations in the specified center. You must provide the appropriate details in the API request for the `session_id` parameter. Optionally, you can also specify the required details in the API request for the `StatusString` parameter to filter the search results by registration status in the API response. Refer to the **Request Parameters** table for more information. - [Retrieve the memberships associated with classes](https://docs.zenoti.com/reference/retrieve-the-memberships-associated-with-classes.md): This API helps you to retrieve the memberships that have a benefit associated with the specified class. You must provide the appropriate details in the API request for the `search_type` and `item_ids` parameters. Optionally, you can also specify the required details in the API request for several other parameters to filter the search results in the API response. Refer to the **Request Parameters** table for more information. - [Retrieve the packages associated with classes](https://docs.zenoti.com/reference/retrieve-the-packages-associated-with-classes.md): This API helps you to retrieve the packages that have a benefit associated with the specified class. You must provide the appropriate details in the API request for the `search_type` and `item_ids` parameters. Optionally, you can also specify the required details in the API request for several other parameters to filter the search results in the API response. Refer to the **Request Parameters** table for more information. - [Cancel the payment transaction of a class booking](https://docs.zenoti.com/reference/cancel-the-payment-transaction-of-a-class-booking.md): This API helps you to cancel the payment transaction flow of your class booking. You must specify appropriate data for the `invoice_id` parameter in the API request. - [Collect payment for a class booking by using a new credit/debit card](https://docs.zenoti.com/reference/collect-payment-for-a-class-booking-by-using-a-new-creditdebit-card.md): This API helps you to save the new credit/debit card details of the guest and then collect payment for the class booking. You must specify appropriate details for the parameters in the API request body. For more information, refer to the **Request Body Parameters** table. - [Retrieve the session registrations of a guest](https://docs.zenoti.com/reference/retrieve-the-session-registrations-of-a-guest.md): This API helps you to retrieve the list of class sessions for which the specified guest has registered. You must provide the appropriate details in the API request for the user_id parameter. Optionally, you can also specify the required details in the API request for several other parameters to filter the search results in the API response. Refer to the **Request Parameters** table for more information. - [Cancel a booking registration](https://docs.zenoti.com/reference/cancel-a-booking-registration.md): This API helps you to cancel the registration of a class session booking. You must provide a unique identifier of the registration as `session_id` in the API request. The API then cancels the booking of the specified class session registration and returns the appropriate cancellation status. - [Add Guest Pass user](https://docs.zenoti.com/reference/add-a-guest-pass-user.md): **Purpose**: Use this API to add a new Guest Pass user. You must specify `user_id` and the body parameters as mentioned in the BODY PARAMS section. - [Retrieve a list of all the Guest Pass users](https://docs.zenoti.com/reference/retrieve-a-list-of-all-the-guest-pass-users.md): **Purpose**: Use this API to list all the users of the Guest Pass membership program. You must specify `guest_id` to fetch the list of the guest pass users. - [Redeem a guest's Guest Pass membership](https://docs.zenoti.com/reference/redeem-a-guests-guest-pass.md): **Purpose**: Use this API to redeem the benefits of the guest's Guest Pass membership. You must specify the `guest_id` and `guestpass_id`, and `invoice_id` to redeem the benefits. - [Retrieve a list of all the guest passes sent from or received by a user](https://docs.zenoti.com/reference/retrieve-a-list-of-all-the-guest-passes-sent-from-or-received-by-a-user.md): The purpose of this API is to retrieve a list of all the guest passes sent from or received by a user. This includes Used, Received, and Available guest passes. You must specify the unique identifier of the guest who is sharing the guest pass `guest_id`, the item id for which the user wants to transfer to/receive from (default value would be null) `instrument_id`, the item type (default would be 1. 1: Membership) `instrument_type`, guest pass credit type (default would be 1. 1: Classes, 2: Visits, 0: Both) `credit_type`, type of user list the user requested (default would be 0. 0: Both, 1: Receiver, 2:Sender) `list_type`, and the expand parameter (expand[0]=available, expand[1]=received, expand[2]=used) `expand`. - [Generate Shopify Multipass URL](https://docs.zenoti.com/reference/generate-shopify-multipass-url.md): The **Generate Shopify Multipass URL** API generates a Shopify Multipass token and returns the response object with multipass_url. This URL is used for redirecting the guests after a successful Shopify authentication. - [Create an invoice for the sale of a gift card](https://docs.zenoti.com/reference/create-an-invoice-for-the-sale-of-a-gift-card.md): This API helps you to create an invoice for the sale of a gift card without having to first create or select a gift card template. If you have your own Webstore, e-commerce store, or Consumer Mobile App (CMA), this API helps you to record the sale of a physical or online gift card (with a custom gift code or gift card number) in your Zenoti application. - [Apply a media campaign offer code on an invoice](https://docs.zenoti.com/reference/apply-a-media-campaign-offer-code-on-an-invoice.md): This API helps you to apply a media campaign offer code on an invoice. By doing so, you can provide your guests the option to avail promotional discounts on their invoice when they purchase any services or products from your Customer Mobile Application (CMA) or custom Webstore. For more information on how to configure a media campaign, refer to this Help article. You must specify appropriate data for the `invoice_id` parameter. - [Redeem the loyalty points of a guest](https://docs.zenoti.com/reference/redeem-the-loyalty-points-of-a-guest.md): Use this API to redeem a guest’s applicable loyalty points while taking payment for an invoice. You must specify appropriate details for the `InvoiceId` parameter in the API request. Optionally, you can provide the required value for the `expand` parameter. In addition, you can specify the necessary details for the body parameters. - [Send a gift card email to a guest](https://docs.zenoti.com/reference/send-a-gift-card-email-to-a-guest.md): If the invoice is closed and had complete payment invoke this api to Send giftcard mail to the guest. - [Retrieve invoice details](https://docs.zenoti.com/reference/retrieve-invoice-details.md): Use this API to retrieve the details of an invoice. This API supports multiple expand parameters to retrieve more relevant information related to invoice like InvoiceItems, Appointments, Transactions, gst_parameters, and dues_and_fees - [Retrieve invoice details including GST sequence details](https://docs.zenoti.com/reference/retrieve-invoice-details-1.md): This API fetches invoice details including GST sequence details. This invoice details API supports "expand" query parameter. The user has to pass "gst_parameters" to the "expand" query parameter. - [Cancel a service booking](https://docs.zenoti.com/reference/cancel-a-service-booking.md): Use this API to cancel a service booking. You must specify the `invoice_id` parameter, and this API will cancel all the appointments and purchases associated with the invoice. This API also allows guests to cancel service bookings of family members. Provided, there is a relationship defined in Zenoti and only the host can cancel the service booking of family members. - [Send an email to a guest](https://docs.zenoti.com/reference/send-an-email-to-a-guest.md): If the invoice is closed and has complete payment, invoke this api to e-mail to the guest. - [Mark an appointment as confirm or undo confirm](https://docs.zenoti.com/reference/mark-an-appointment-as-confirm-or-undo-confirm.md): This API confirms a visit or is used to undo a confirmed visit. - [Fetch Day Packages Information](https://docs.zenoti.com/reference/fetch-day-packages-information.md): This API endpoint retrieves appointment-level service details for a day package invoice item, including service info, therapist, room, and equipment for each booked appointment. - [Create a group invoice](https://docs.zenoti.com/reference/create-a-group-invoice.md): This API helps you to create a group invoice. To create a group invoice, you must specify in the API request body the required `group_name` and `invoice_ids` details. After you add the required details, this API automatically creates a group invoice. - [Send a group invoice email](https://docs.zenoti.com/reference/send-a-group-invoice-email.md): This API helps you to send a group invoice email to a guest. To send a group invoice email, you must specify the appropriate details for the `group_invoice_id` parameter in the API request. In the API request body, you must specify the required `guest_details` and `email_type` details. After you provide the necessary details, this API sends a group invoice email. - [Get group invoice details](https://docs.zenoti.com/reference/get-group-invoice-details.md): This API provides details of group invoices. - [Create an invoice for memberships](https://docs.zenoti.com/reference/create-an-invoice-for-memberships.md): Supply the request body and this api will generate an invoice by booking the memberships aand returns the invoice id as the response. - [Add a membership to an invoice](https://docs.zenoti.com/reference/add-a-membership-to-an-invoice.md): Supply the url parameter `invoice_id`, request body and this api will update the requested invoice by booking the memberships aand returns the invoice id as the response. - [Delete a membership from an invoice](https://docs.zenoti.com/reference/delete-a-membership-from-an-invoice.md): Provide a unique identifier of the invoice as invoice_id and invoice_item_id of the membership you want to delete from the invoice and this API will delete that item from the invoice. **Note**: Comments are either mandatory or optional based on your configuration. If the comments are optional, then pass "comments" as an empty string ("") in the body of the API. Ensure to remove the hash (#) at the end when using this API. - [Create an invoice for products](https://docs.zenoti.com/reference/create-an-invoice-for-products.md): Use this API to generate an invoice after booking the required products. - [Add a product to an invoice](https://docs.zenoti.com/reference/add-a-product-to-an-invoice.md): Use this API to add a product to an invoice. - [Delete a product from an invoice](https://docs.zenoti.com/reference/delete-a-product-from-an-invoice.md): Use this API to delete a product from an invoice. Provide unique identifiers of the invoice as `invoice_id` and `invoice_item_id` of the product you want to delete from the invoice and this API will delete that from the invoice. **Note**: Comments are either mandatory or optional based on your configuration. If the comments are optional, then pass "comments" as an empty string ("") in the body of the API. - [Ability to redeem Series Regular Package in API](https://docs.zenoti.com/reference/ability-to-redeem-series-regular-package-in-api.md): This API allows you to redeem the regular Series Packages present in an invoice. You must specify the unique identifier of the of the invoice as `invoice_id` in the API request - [Ability to Sell Series Regular Packages in API](https://docs.zenoti.com/reference/ability-to-sell-series-regular-packages-in-api.md): This API allows you to save the list of regular packages or offer packages which are available for sale at a center. You must specify the unique identifier for `guest_id`, `center_id`, `notes`, and `packages` in the API request - [Collect invoice payment by using a guest's saved credit/debit card](https://docs.zenoti.com/reference/collect-invoice-payment-by-using-a-guests-saved-creditdebit-card.md) - [Collect invoice payment by redeeming a guest's gift card](https://docs.zenoti.com/reference/collect-invoice-payment-by-redeeming-a-guests-gift-card.md): This API helps you to collect payment for the amount of an invoice by redeeming the balance of a guest’s gift card. You must first verify the balance of a guest’s gift card. If the gift card contains sufficient balance, you can then call this API to collect payment for the specified invoice. This gift card redemption for an invoice enables you to display the relevant details in your Zenoti UI, and map it to the respective fields in Reports and Analytics. You must specify appropriate data for the `invoice_id` parameter. - [Collect invoice payment by using a guest's unsaved credit/debit card](https://docs.zenoti.com/reference/collect-invoice-payment-by-using-a-guests-unsaved-creditdebit-card.md) - [Collect tip amount by using a guest's credit/debit card](https://docs.zenoti.com/reference/collect-tip-amount-by-using-a-guests-creditdebit-card.md): This API helps you to charge a tip amount for the specified invoice from a guest's saved credit/debit card. You can add the tip while taking payment for the invoice amount. You can also charge only the tip amount for an invoice, after the invoice payment has been completed. For example, if the amount of an invoice is $100 and the tip amount is $15, you can charge a total of $115 from the guest's card at one go. Alternatively, you can first complete the invoice payment of $100 and then add the $15 tip amount. After you have taken payment for the invoice amount and tip amount, you can close the invoice. You must provide appropriate data for the `invoice_id` parameter. - [Close an invoice](https://docs.zenoti.com/reference/close-an-invoice.md): This API closes the specified invoice. You can only close an invoice after the total invoice amount has been paid in full (which means that the balance amount of the invoice is zero). You must provide appropriate data for the `invoice_id` parameter. - [Fetch wait times of available stylists for a selected service](https://docs.zenoti.com/reference/fetch-wait-times-of-available-stylists-for-a-selected-service.md): **Purpose**: The purpose of this API is to retrieve the wait times of available stylists for a selected service in a center. - [Fetch wait times of a center (with center_ids or geolocation)](https://docs.zenoti.com/reference/fetch-wait-times-of-a-center.md): **Purpose**: The purpose of this API is to retrieve wait times for a list of centers or for centers in an area as per the Geolocation. - [Add a guest or group of guests to the Queue](https://docs.zenoti.com/reference/add-a-guest-or-group-of-guests-to-the-queue.md): **Purpose**: The purpose of this API is to add a guest or a group of guests to the queue for a given center. - [Retrieve the list of all appointments in queue](https://docs.zenoti.com/reference/retrieve-the-list-of-all-appointments-in-queue-for-a-center.md): **Purpose**: Use this API to list all the appointments in your queue. You must specify `center_id` to list all the appointments in a queue for a center. Optionally, you can also add `guest_id` to show all the appointments in queue for a guest of a center. Example: GET: http://{apiurl}/v1/queue?CenterId={center_id}&GuestId={guest_id} - [Webhook Events](https://docs.zenoti.com/reference/webhook-events.md) - [Invoice Closed](https://docs.zenoti.com/reference/invoice-closed-event.md) - [Guest Events](https://docs.zenoti.com/reference/guest.md) - [Guest Created](https://docs.zenoti.com/reference/guest-created.md) - [Guest Updated](https://docs.zenoti.com/reference/guest-updated.md) - [Guest Deleted](https://docs.zenoti.com/reference/guest-deleted.md) - [Guest communication opted in](https://docs.zenoti.com/reference/guest-communication-opted-in.md): When a guest opts in to receive communications (transactional or marketing) via SMS, Email, or WhatsApp, a Guest.OptedIn event will be triggered. This webhook delivers a payload containing the guest's updated communication preferences. - [Guest communication opted out](https://docs.zenoti.com/reference/guest-communication-opted-out.md): When a guest opts out of receiving communications (transactional or marketing) via SMS, Email, or WhatsApp, a Guest.OptedOut event will be triggered. This webhook delivers a payload containing the guest's updated communication preferences. - [Classes Schedule Events](https://docs.zenoti.com/reference/classes-schedule.md) - [Schedule Created](https://docs.zenoti.com/reference/schedule-created.md) - [Schedule Updated](https://docs.zenoti.com/reference/schedule-updated.md) - [Schedule Cancelled](https://docs.zenoti.com/reference/schedule-cancelled.md) - [Schedule Deleted](https://docs.zenoti.com/reference/schedule-deleted.md) - [Classes Booking Events](https://docs.zenoti.com/reference/classes-booking-events.md) - [Booking Created](https://docs.zenoti.com/reference/booking-created.md) - [Booking Deleted](https://docs.zenoti.com/reference/booking-deleted.md) - [Booking Cancelled](https://docs.zenoti.com/reference/booking-cancelled.md) - [Booking No Show](https://docs.zenoti.com/reference/booking-no-show.md) - [Booking Approved](https://docs.zenoti.com/reference/booking-approved.md) - [Booking Rejected](https://docs.zenoti.com/reference/booking-rejected.md) - [Guest Membership Events](https://docs.zenoti.com/reference/guest-membership-events.md) - [Guest Membership Created](https://docs.zenoti.com/reference/guest-membership-created.md) - [Guest Membership Freeze](https://docs.zenoti.com/reference/guest-membership-freeze.md) - [Guest Membership Unfreeze](https://docs.zenoti.com/reference/guest-membership-unfreeze.md) - [Guest Membership Cancelled](https://docs.zenoti.com/reference/guest-membership-cancelled.md) - [Guest Membership Reinstate](https://docs.zenoti.com/reference/guest-membership-reinstate.md) - [GuestPass Redemption](https://docs.zenoti.com/reference/guestpass-redemption.md): If a GuestPass is redeemed during registration either on Zenoti Web or through API, Guestpass.redeemed event is triggered. - [Appointment Events](https://docs.zenoti.com/reference/appointment-events.md) - [Appointment Started](https://docs.zenoti.com/reference/appointment-started.md) - [Appointment Completed](https://docs.zenoti.com/reference/appointment-completed.md) - [Appointment Feedback Event](https://docs.zenoti.com/reference/appointment-feedback-event.md) - [Feedback Started (Feedback V2)](https://docs.zenoti.com/reference/feedback-started-feedback-v2.md) - [Feedback Started (Feedback V1)](https://docs.zenoti.com/reference/feedback-started-feedback-v1.md) - [Appointment Group Events](https://docs.zenoti.com/reference/appointment-group-events.md) - [Appointment Group Created](https://docs.zenoti.com/reference/appointment-group-created.md) - [Appointment Group Status](https://docs.zenoti.com/reference/appointment-group-status.md) - [Employee Events](https://docs.zenoti.com/reference/employee-events.md) - [Employee Deleted](https://docs.zenoti.com/reference/employee-deleted.md) - [Employee Created](https://docs.zenoti.com/reference/employee-created.md) - [Employee Updated](https://docs.zenoti.com/reference/employee-updated.md) - [Guest Package Events](https://docs.zenoti.com/reference/guest-package-events.md) - [Guest Package Creation](https://docs.zenoti.com/reference/guest-package-creation.md) - [Guest Package Redemption](https://docs.zenoti.com/reference/guest-package-redemption.md) - [Guest Package Redemption Reversal](https://docs.zenoti.com/reference/guest-package-redemption-reversal.md) - [Guest Package Status Update](https://docs.zenoti.com/reference/guest-package-status-update.md) - [Guest Package Validity Update](https://docs.zenoti.com/reference/guest-package-validity-update.md) - [Validate NPI details of a prescriber](https://docs.zenoti.com/reference/validate-npi-details-of-a-prescriber.md): This API will validate the NPI number of prescribers before initiating onboarding to ePrescribe. - [Retrieve compliance statistics](https://docs.zenoti.com/reference/retrieve-compliance-statistics.md): This API retrieves all compliance statistics of an organization. - [Get guest consent for ZenScribe](https://docs.zenoti.com/reference/get-the-guest-consent-for-zenscribe.md): This API fetches guest consent. - [Add guest consent for ZenScribe](https://docs.zenoti.com/reference/add-the-guest-consent-for-zenscribe.md): This API adds the guest consent for owner ID. - [Get Guest Form Details](https://docs.zenoti.com/reference/get-guest-form-details.md): This API retrieves guest form details for a given guest. - [Update Guest EMR Data](https://docs.zenoti.com/reference/update-guest-emr-data.md): This API adds or updates multiple EMR data sections for a guest in a single API call. Supports allergies, medications, medical histories, social history, and vitals — each section is optional and processed independently in parallel, with per-section error reporting. - [Retrieve open invoices](https://docs.zenoti.com/reference/retrieve-open-invoices.md): This API searches invoices by invoice number or guest user ID, or retrieves all open invoices for a given date. - [Lock Invoice](https://docs.zenoti.com/reference/lock-invoice.md): This API locks an invoice to prevent any further edits or modifications after the invoice receipt has been printed or emailed. Once an invoice is locked, invoice items or details cannot be modified. - [Update Group Invoice Properties](https://docs.zenoti.com/reference/update-group-invoice-properties.md): This API updates specific properties of a group invoice — either its name or notes — using the group invoice ID. It accepts a property type (0 for name, 1 for notes) and a new value, and optionally an employee ID to record who made the change when the request is made using an API key. - [Delete Membership Advanced Booking Rule](https://docs.zenoti.com/reference/delete-membership-advanced-booking-rule.md): This API soft-deletes a single membership advance booking rule by its rule_id, setting Void = 1 in tblMembershipAdvancedBookingRules. Triggered by the delete icon on each row in the "Previously Added Rules" table on the Advance Booking Windows admin settings page. - [Create Membership Advanced Booking Rules](https://docs.zenoti.com/reference/create-membership-advanced-booking-rules.md): This API Creates one or more membership advance booking rules for the organization. Each rule maps a membership to a specific class or amenity with a configured number of days in advance that the member can book. When multiple item_ids are supplied, one DB row is created per item_id in a single request. - [Get all Membership Advanced Booking Rules](https://docs.zenoti.com/reference/get-all-membership-advanced-booking-rules.md): This API returns the full list of membership-based advance booking rules configured for the organization. Used by the "Advance Booking Windows" admin settings page to populate the "Previously Added Rules" table. ## Changelog - [API Change Log - 16 June 2026](https://docs.zenoti.com/changelog/api-change-log-16-june-2026.md) - [API Change Log - 21 April 2026](https://docs.zenoti.com/changelog/api-change-log-21-april-2026.md) - [API Change Log - 31 March 2026](https://docs.zenoti.com/changelog/api-change-log-31-march-2026.md) - [API Change Log - 17 March 2026 - DRAFT](https://docs.zenoti.com/changelog/api-change-log-17-march-2026-draft.md) - [API Change Log - 03 Mar 2026](https://docs.zenoti.com/changelog/api-change-log-03-mar-2026.md)