API Reference

Once you’ve explored the basics, you may want to dive deeper and discover everything this API can do. That’s where the API Reference section comes in. It lists every available endpoint, grouped by resource, and explains how to use them — from required headers and parameters to expected responses and error codes. Whether you're building a lightweight scheduler or a full-featured client app, this section gives you everything you need to build with precision.

Here’s a quick overview of what you’ll find:

Each section is written clearly with developers in mind, so you can quickly find what you need, plug it in, and move forward. Let’s get started.





ShopOwner Resource

RequestShopKey EndPoint

The RequestShopKey endpoint is the first step in obtaining a ShopKey, which serves as a unique identifier for a shop within the system. This is a POST request that requires a valid RapidApiKey in the headers and a RecoveryEmail in the request body. The system verifies the API key and, upon success, generates a 6-digit temporary code, which is sent to the provided email address. This temporary code is valid for 5 minutes and is required to complete the ShopKey creation process. The endpoint returns a success response when the request is processed correctly. If required parameters are missing, a 400 Bad Request response is returned. Unauthorized API keys receive a 401 Unauthorized response. If an internal server error occurs, a 500 Internal Server Error response is sent, and an administrator is notified. This endpoint ensures that ShopKeys are only requested by authorized users and provides a secure mechanism for initiating the shop creation process.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Header that indicates the type of data being sent in an HTTP request or response. Yes application/json All data will be sent and received in JSON.
X-RapidAPI-Key Header String Key provided by Rapid API for tracking and security. Yes 12a34b56cdef8ghj9k0m1nop2q3rst4567uvwxy8901z23abc7 Store in a safe place.
RecoveryEmail Body String Email used to recover or manage your ShopKey. Yes you@example.com

GenerateShopKey EndPoint

The /GenerateShopKey endpoint issues a permanent ShopKey after a valid TempCode has been provided. This ShopKey will be linked to your RecoveryEmail and is required for all future API requests.

Clients must confirm agreement to the Terms and Conditions before proceeding. This is done by setting the AgreedToTerms field to true.

Once issued, the ShopKey cannot be retrieved if lost. However, a new key can be created using the same RecoveryEmail. It is your responsibility to protect this key and keep it secure. Any misuse, leakage, or unauthorized access to your key is your liability.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Header that indicates the type of data being sent in an HTTP request or response. Yes application/json All data will be sent and received in JSON.
X-RapidAPI-Key Header String Key provided by Rapid API for tracking and security. Yes 12a34b56cdef8ghj9k0m1nop2q3rst4567uvwxy8901z23abc7 Store in a safe place.
TempCode Body int Temporary access code previously issued to the user. Yes 734590
RecoveryEmail Body string Email address used to request the ShopKey. Yes you@example.com
AgreedToTerms Body bool Confirms agreement to the API Terms and Conditions. Yes true See Terms and Conditions

RequestShopKeyReplacement EndPoint

RequestShopKeyReplacement is used when you’ve lost your original ShopKey, or it got leaked. This endpoint initiates a verification process to ensure only authorized users can request replacements. A temporary code will be sent to your email, which you’ll need to confirm via the /ReplaceShopKey endpoint. This is the first step in recovering access. You must include your RecoveryEmail in the request body, and the X-RapidAPI-Key in the header for authentication. After a successful call, a response will indicate that the verification code has been sent to the provided email address.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Header that indicates the type of data being sent in an HTTP request or response. Yes application/json All data will be sent and received in JSON.
X-RapidAPI-Key Header String Key provided by Rapid API for tracking and security. Yes 12a34b56cdef8ghj9k0m1nop2q3rst4567uvwxy8901z23abc7 Store in a safe place.
X-Shop-Key Header String (GUID) Key provided by the API for tracking and security. Yes AB123CD4-567E-9012-F890-12GH3456I78J Store in a safe place.
RecoveryEmail Body string The recovery email you registered at sign-up. Yes you@example.com This is where your TempCode will be sent.

ReplaceShopKey EndPoint

ReplaceShopKey is the second step in recovering access to your account when your original ShopKey has been lost. After successfully requesting a TempCode via the /RequestShopKeyReplacement endpoint, this endpoint is used to verify that code and generate a new ShopKey. You must include your TempCode and RecoveryEmail in the request body, and both X-RapidAPI-Key and X-Shop-Key headers from your original credentials must be present. Upon successful verification, a new ShopKey will be returned. Your old key will be deactivated, and all future API requests should use the new key. Be sure to store this new ShopKey securely, as it cannot be retrieved if lost again.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Specifies the format of the request body. Yes application/json All data will be sent and received in JSON.
X-RapidAPI-Key Header String Key provided by Rapid API for tracking and security. Yes 12a34b56cdef8ghj9k0m1nop2q3rst4567uvwxy8901z23abc7 Store in a safe place.
TempCode Body int The temporary code sent to your RecoveryEmail. Yes 349278

RequestNewRAKMapping EndPoint

RequestNewRAKMapping is used when you need to rotate your RapidAPI key or if you believe your current key has been leaked. This endpoint allows you to map a new RapidAPI key to your existing ShopKey and RecoveryEmail by verifying the old key. It is part of a two-step recovery process. If your old key is valid, the system will generate and send a temporary code to your recovery email. You will then use that code with the /MapNewRAK endpoint to complete the switch. This process ensures that only verified users can rotate keys or respond to a security breach. However, if your key is completely lost — meaning you no longer know what your original RapidAPI key was — this API cannot assist in recovery. For this reason, we recommend you store your RapidAPI key securely and consider regular key rotation as a security best practice.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Specifies the format of the request body. Yes application/json All data will be sent and received in JSON.
X-RapidAPI-Key Header String The new RapidAPI Key you want to map. Yes 87654321abcdefg9101112cjklm1234nopq5678543210abcdef Will be validated and assigned to the ShopKey. Please store in a safe place.
X-Shop-Key Header String (GUID) The existing ShopKey associated with the old RapidAPI Key. Yes 1234abcd-5678-efgh-9012-ijklmnopqrst Store in a safe place.
OldRAK Body string The old RapidAPI Key to be rotated or retired. Yes 12a34b56cdef8ghj9k0m1nop2q3rst4567uvwxy8901z23abc7
RecoveryEmail Body string The recovery email that was used during ShopKey registration. Yes you@example.com

MapNewRAK EndPoint

MapNewRAK allows you to finalize the transition from an old RapidAPI key to a new one. After requesting a new RapidAPI key mapping, the temporary code you received must be redeemed using this endpoint. Successfully mapping your key ensures that all existing ShopKey relationships remain intact with the new RapidAPI key. This operation is critical if a leak is suspected or if regular key rotation is needed for security. Without completing this mapping step, your API calls may fail. Always keep your ShopKey and RapidAPI key secret to avoid unauthorized use.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Header that indicates the type of data being sent in an HTTP request or response. Yes application/json All data will be sent and received in JSON format.
X-RapidAPI-Key Header String Your current RapidAPI Key. Yes 12a34b56cdef8ghj9k0m1nop2q3rst4567uvwxy8901z23abc7 Store securely. Never expose publicly.
X-Shop-Key Header String Your assigned ShopKey. Yes AB123CD4-567E-9012-F890-12GH3456I78J Store securely. Never expose publicly.
TempCode Body Integer The temporary code received from RequestNewRAKMapping. Yes 835217 Must match the temporary code sent during the mapping request.

Shop Resource

AddShop EndPoint

The AddShop endpoint is used to create a new shop in the system. This is typically the first step after generating a ShopKey. It stores key information about the shop, such as its name, address, contact details, and timezone. You must supply valid authentication headers, including both x-rapidapi-key and x-shop-key, for this request to be accepted. A shop can only be added once for a given API key pairing. After successful execution, the shop is officially registered and can be linked to stylists, schedules, and catalog services.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header string Header that indicates the type of data being sent in an HTTP request or response. Yes application/json All data will be sent and received in JSON.
X-RapidAPI-Key Header string Key provided by Rapid API for tracking and security. Yes 12a34b56cdef8ghj9k0m1nop2q3rst4567uvwxy8901z23abc7 Store in a safe place.
X-Shop-Key Header string (GUID) Key provided by the API for tracking and security. Yes AB123CD4-567E-9012-F890-12GH3456I78J Store in a safe place.
ShopName Body string The official name of the shop. Yes Stack Driven Cuts
ShopAddress Body string The street address of the shop. No 123 Peachtree St
ShopCity Body string The city where the shop is located. No Atlanta
ShopState Body string The state abbreviation (e.g., GA, NY, TX). No GA
ShopZip Body string The ZIP or postal code. No 30303
ShopPhone Body string The shop’s contact phone number. No 404-555-1212 xxx-xxx-xxxx
ShopEmail Body string The shop’s email address. No info@stackdriven.com
ShopContactName Body string Primary contact person for the shop. No John Doe
ShopTimeZone Body string The shop’s time zone. Yes Please pick one:
  • Atlantic Standard Time
  • Hawaiian Standard Time
  • Alaskan Standard Time
  • Pacific Standard Time
  • US Mountain Standard Time
  • Mountain Standard Time
  • Central Standard Time
  • Eastern Standard Time
Case Sensitive

GetShop EndPoint

The GetShop endpoint retrieves the profile of the currently authenticated shop. This includes metadata such as the shop name, contact information, location, and assigned time zone. Clients must supply a valid X-RapidAPI-Key and X-Shop-Key in the header. This endpoint is typically used after onboarding is complete and you want to display the shop details in a dashboard or profile page. The response will contain all shop information currently on file. If you wish to update this information, use the appropriate endpoint under the Shop Resource. The response will not include the ShopKey or RapidApiKey, as those are provided in the request headers and managed internally. This endpoint is useful for confirming that your credentials are working and that the shop has been successfully initialized in the system.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Header that indicates the type of data being sent in an HTTP request or response. Yes application/json All data will be sent and received in JSON.
X-RapidAPI-Key Header String Key provided by Rapid API for tracking and security. Yes 12a34b56cdef8ghj9k0m1nop2q3rst4567uvwxy8901z23abc7 Store in a safe place.
X-Shop-Key Header String Key provided by the API for tracking and security. Yes AB123CD4-567E-9012-F890-12GH3456I78J Store in a safe place.

UpdateShop EndPoint

UpdateShop is used to update details about an existing shop. This includes information like address, contact name, phone number, and timezone. This endpoint requires both a valid X-RapidAPI-Key and X-Shop-Key in the request headers to authenticate the request. If successful, the shop’s profile is updated and a success response is returned. Any attempt to modify a non-existent or unauthorized shop will result in an error. You may choose to update only the fields you need—just be sure to provide valid formatting for any field you include.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Header that indicates the type of data being sent in an HTTP request or response. Yes application/json All data will be sent and received in JSON.
X-RapidAPI-Key Header String Key provided by Rapid API for tracking and security. Yes 12a34b56cdef8ghj9k0m1nop2q3rst4567uvwxy8901z23abc7 Store in a safe place.
X-Shop-Key Header String Key provided by the API for tracking and security. Yes AB123CD4-567E-9012-F890-12GH3456I78J Store in a safe place.
ShopName Body string Updated name of the shop. Yes Fresh Fades Barbershop
ShopAddress Body string Street address of the shop. No 987 Taper Ave
ShopCity Body string City where the shop is located. No Charlotte
ShopState Body string Two-letter abbreviation for state. No NC
ShopZip Body string ZIP or postal code. No 28202
ShopPhone Body string Contact phone number. No 704-555-9898
ShopEmail Body string Email address of the shop. No hello@freshfades.com
ShopContactName Body string Primary contact person. No Marcus Trimble
ShopTimeZone Body int Updated Time zone. Yes Please pick one:
  • Atlantic Standard Time
  • Hawaiian Standard Time
  • Alaskan Standard Time
  • Pacific Standard Time
  • US Mountain Standard Time
  • Mountain Standard Time
  • Central Standard Time
  • Eastern Standard Time
Case Sensitive

DeleteShop EndPoint

DeleteShop allows you to permanently delete a shop from the system. This operation should be performed with extreme caution, as deleting a shop will remove all associated records and cannot be undone. The client must supply the correct RapidAPI Key and ShopKey in the request headers for authentication. This action is restricted to prevent unauthorized shop deletions. Be sure that the request is intentional, and protect your keys to avoid accidental or malicious deletions. Always ensure you have backups or necessary exports of your shop data before using this endpoint.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Indicates the data type being sent in the request body. Yes application/json Always use JSON format.
X-RapidAPI-Key Header String Your assigned RapidAPI Key for authentication. Yes 12a34b56cdef8ghj9k0m1nop2q3rst4567uvwxy8901z23abc7 Keep private.
X-Shop-Key Header String Your assigned ShopKey for authentication. Yes AB123CD4-567E-9012-F890-12GH3456I78J Keep private.

ShopSchedule Resource

AddShopSchedule EndPoint

AddShopSchedule allows you to define the business hours for your shop. This endpoint supports the full week, with fields for each day to define the opening and closing time. The format for times should follow the 24-hour "HH:mm" convention (e.g., "09:00", "17:30"). You can set days off by leaving the fields blank or using null. Providing accurate hours ensures clients can schedule appointments appropriately. This endpoint requires valid authentication via the X-RapidAPI-Key and X-Shop-Key headers. Be sure to include all fields, even if some days are closed. You may call this endpoint again to overwrite the current schedule. This information will be referenced when determining available appointment slots for stylists.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header string Header that indicates the type of data being sent in an HTTP request or response. Yes application/json All data will be sent and received in JSON.
X-RapidAPI-Key Header string Key provided by Rapid API for tracking and security. Yes 12a34b56cdef8ghj9k0m1nop2q3rst4567uvwxy8901z23abc7 Store in a safe place.
X-Shop-Key Header string (GUID) Key provided by the API for tracking and security. Yes AB123CD4-567E-9012-F890-12GH3456I78J Store in a safe place.
Sunday_Open Body String Opening time on Sunday. Yes 10:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Sunday_Close Body String Closing time on Sunday. Yes 16:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Monday_Open Body String Opening time on Monday. Yes 09:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Monday_Close Body String Closing time on Monday. Yes 17:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Tuesday_Open Body String Opening time on Tuesday. Yes 09:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Tuesday_Close Body String Closing time on Tuesday. Yes 17:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Wednesday_Open Body String Opening time on Wednesday. Yes 09:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Wednesday_Close Body String Closing time on Wednesday. Yes 17:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Thursday_Open Body String Opening time on Thursday. Yes 09:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Thursday_Close Body String Closing time on Thursday. Yes 17:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Friday_Open Body String Opening time on Friday. Yes 09:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Friday_Close Body String Closing time on Friday. Yes 17:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Saturday_Open Body String Opening time on Saturday. Yes 09:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Saturday_Close Body String Closing time on Saturday. Yes 17:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.

GetShopSchedule EndPoint

GetShopSchedule is a read-only endpoint that returns the current business hours for the authenticated shop. This includes open and close times for each day of the week, in 24-hour "HH:mm" format. This data is crucial for applications that calculate appointment availability or want to display a public-facing schedule to customers. If a shop is closed on a particular day, the corresponding open and close fields may return null or an empty string. You must include both the X-RapidAPI-Key and X-Shop-Key headers to authenticate the request. The response does not include timezone details—only the raw schedule data. Use the GetShop endpoint if you also need timezone information.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header string Header that indicates the type of data being sent in an HTTP request or response. Yes application/json All data will be sent and received in JSON.
X-RapidAPI-Key Header string Key provided by Rapid API for tracking and security. Yes 12a34b56cdef8ghj9k0m1nop2q3rst4567uvwxy8901z23abc7 Store in a safe place.
X-Shop-Key Header string (GUID) Key provided by the API for tracking and security. Yes AB123CD4-567E-9012-F890-12GH3456I78J Store in a safe place.

UpdateShopSchedule EndPoint

UpdateShopSchedule allows an authenticated shop to update its weekly hours of operation. Each day of the week accepts an Open and Close time in 24-hour format ("HH:mm"). If the shop is closed on a given day, you can either omit that field or pass null. Times are stored in the shop's local timezone (as specified in the Shop record), and they must follow valid time formatting. For example, "09:00" represents 9:00 AM and "17:30" represents 5:30 PM. You must supply the X-RapidAPI-Key and X-Shop-Key in the headers. This endpoint replaces all 7 days at once, so be sure to send the full week's data in a single call.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header string Header that indicates the type of data being sent in an HTTP request or response. Yes application/json All data will be sent and received in JSON.
X-RapidAPI-Key Header string Key provided by Rapid API for tracking and security. Yes 12a34b56cdef8ghj9k0m1nop2q3rst4567uvwxy8901z23abc7 Store in a safe place.
X-Shop-Key Header string (GUID) Key provided by the API for tracking and security. Yes AB123CD4-567E-9012-F890-12GH3456I78J Store in a safe place.
Sunday_Open Body String Opening time on Sunday. Yes 10:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Sunday_Close Body String Closing time on Sunday. Yes 16:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Monday_Open Body String Opening time on Monday. Yes 09:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Monday_Close Body String Closing time on Monday. Yes 17:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Tuesday_Open Body String Opening time on Tuesday. Yes 09:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Tuesday_Close Body String Closing time on Tuesday. Yes 17:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Wednesday_Open Body String Opening time on Wednesday. Yes 09:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Wednesday_Close Body String Closing time on Wednesday. Yes 17:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Thursday_Open Body String Opening time on Thursday. Yes 09:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Thursday_Close Body String Closing time on Thursday. Yes 17:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Friday_Open Body String Opening time on Friday. Yes 09:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Friday_Close Body String Closing time on Friday. Yes 17:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Saturday_Open Body String Opening time on Saturday. Yes 09:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.
Saturday_Close Body String Closing time on Saturday. Yes 17:00 or "NA" Use 24-hour format. "NA" means the shop is closed on this day.

DeleteShopSchedule EndPoint

DeleteShopSchedule removes the weekly hours of operation for a specific shop. This endpoint is useful for cases where a shop needs to temporarily close or reset their operating schedule entirely. Once deleted, the shop will have no active hours defined, and clients will not be able to book appointments until a new schedule is added using the AddShopSchedule or UpdateShopSchedule endpoint. This action is irreversible, so make sure to back up or confirm the deletion with your system if necessary. Like all endpoints, this call requires the correct X-RapidAPI-Key and X-Shop-Key headers to validate the request.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header string Header that indicates the type of data being sent in an HTTP request or response. Yes application/json All data will be sent and received in JSON.
X-RapidAPI-Key Header string Key provided by Rapid API for tracking and security. Yes 12a34b56cdef8ghj9k0m1nop2q3rst4567uvwxy8901z23abc7 Store in a safe place.
X-Shop-Key Header string (GUID) Key provided by the API for tracking and security. Yes AB123CD4-567E-9012-F890-12GH3456I78J Store in a safe place.

BlockShopDay EndPoint

BlockShopDay is used to block off an entire day on the shop’s schedule. This means no appointments will be accepted or processed for the specified date, regardless of the normal working hours. It's commonly used for holidays, maintenance days, or other one-off closures. Blocking a day takes precedence over the regular weekly schedule. Use this endpoint to ensure the system accurately reflects the shop's availability and prevents clients from scheduling during unavailable dates. Make sure to pass a valid DateToBlock in the body, and authenticate using the correct X-RapidAPI-Key and X-Shop-Key headers.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header string Header that indicates the type of data being sent in an HTTP request or response. Yes application/json All data will be sent and received in JSON.
X-RapidAPI-Key Header string Key provided by Rapid API for tracking and security. Yes 12a34b56cdef8ghj9k0m1nop2q3rst4567uvwxy8901z23abc7 Store in a safe place.
X-Shop-Key Header string (GUID) Key provided by the API for tracking and security. Yes AB123CD4-567E-9012-F890-12GH3456I78J Store in a safe place.
BlockDate Body String The date to block in MM/DD/YYYY format. Yes 12/25/2025 Must be a valid future date.

UnblockShopDay EndPoint

UnblockShopDay is used to remove a previously blocked day from the shop’s schedule. Once a date is unblocked, the system will resume using the shop’s regular schedule to determine appointment availability for that date. This is useful if a shop reopens on a day that was mistakenly or prematurely blocked (e.g., reopening after initially planning to close for a holiday). The request requires authentication headers and a valid date string in MM/DD/YYYY format. Be sure to only call this on dates that were previously blocked using the BlockShopDay endpoint.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header string Header that indicates the type of data being sent in an HTTP request or response. Yes application/json All data will be sent and received in JSON.
X-RapidAPI-Key Header string Key provided by Rapid API for tracking and security. Yes 12a34b56cdef8ghj9k0m1nop2q3rst4567uvwxy8901z23abc7 Store in a safe place.
X-Shop-Key Header string (GUID) Key provided by the API for tracking and security. Yes AB123CD4-567E-9012-F890-12GH3456I78J Store in a safe place.
BlockDate Body String The previously blocked date to unblock in MM/DD/YYYY format. Yes 12/31/2025 Must match a previously blocked date.

GetBlockedShopDaysByDateRange EndPoint

GetBlockedShopDaysByDateRange allows you to retrieve all blocked shop days within a specified date range. This is helpful when building admin dashboards or calendar views that need to reflect blackout periods where appointments cannot be scheduled. The response will contain a list of dates that were previously blocked using the BlockShopDay endpoint. You must specify both a start and end date, and the range must not exceed 90 days. All requests must be authenticated using your valid X-RapidAPI-Key and X-Shop-Key headers.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header string Header that indicates the type of data being sent in an HTTP request or response. Yes application/json All data will be sent and received in JSON.
X-RapidAPI-Key Header string Key provided by Rapid API for tracking and security. Yes 12a34b56cdef8ghj9k0m1nop2q3rst4567uvwxy8901z23abc7 Store in a safe place.
X-Shop-Key Header string (GUID) Key provided by the API for tracking and security. Yes AB123CD4-567E-9012-F890-12GH3456I78J Store in a safe place.
FromDate Body string The beginning of the date range in MM/DD/YYYY format. Yes 01/01/2025
ToDate Body string The end of the date range in MM/DD/YYYY format. Yes 03/01/2025

Stylist Resource

AddStylist EndPoint

AddStylist allows shop owners to register a new stylist under their shop. Each stylist is identified by a unique screen name, which serves as their public-facing handle in the system. Adding a stylist enables them to be assigned appointments and associated with available time slots in the catalog. A stylist must be marked as active to appear in scheduling tools. This endpoint requires valid API keys passed in the headers and accepts basic information about the stylist in the body.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Specifies that the request body is in JSON format. Yes application/json
X-RapidAPI-Key Header String Your RapidAPI key for authentication. Yes your-rapidapi-key-here
X-Shop-Key Header String Your Shop Key associated with the stylist. Yes your-shop-key-here
StylistScreenName Body string The display name or handle of the stylist. Yes FadeMasterMike Must be unique per shop
StylistEmail Body string Email of the stylist. Yes ash@example.com Must be unique per shop
StylistPhone Body string Phone of the stylist. Yes 555-123-4567 US only
StylistImgSrc Body string Location of stylist image or avatar No https://cdn.mybarbershop.com/images/ash.png
StylistInstagram Body string Instagram username of the stylist. No @FadeMasterMike
StylistTwitterx Body string Twitter (X) username of the stylist. No @FadeMasterMike
StylistFacebook Body string Facebook (Meta) username of the stylist. No ash.FadeMasterMike
StylistTikTok Body string TikTok username of the stylist. No @FadeMasterMike

GetStylist EndPoint

GetStylist retrieves a list of stylists associated with the authenticated shop. This endpoint is useful for displaying active team members, assigning appointments, or managing stylist availability. Only stylists tied to the shop making the request will be returned. Each stylist includes their screen name and active status, which can be used to determine visibility and scheduling behavior. The request must be authenticated using your valid RapidAPI and ShopKey headers.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Specifies that the response will be in JSON format. Yes application/json
X-RapidAPI-Key Header String Your RapidAPI key for authentication. Yes your-rapidapi-key-here
X-Shop-Key Header String Your Shop Key to identify which shop's stylists to return. Yes your-shop-key-here
StylistScreenName Body string The display name or handle of the stylist. Yes FadeMasterMike

UpdateStylist EndPoint

UpdateStylist allows a shop owner to update an existing stylist's details, such as their screen name or active status. This is useful when stylists change their display name or temporarily leave the shop. The stylist must already exist in the database and must be associated with the authenticated shop. This endpoint is secured with both the RapidAPI Key and the Shop Key to prevent unauthorized updates. Be sure to provide all required fields in the request body for a successful update.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Specifies that the request body is in JSON format. Yes application/json
X-RapidAPI-Key Header String Your RapidAPI key for authentication. Yes your-rapidapi-key-here
X-Shop-Key Header String Your Shop Key associated with the stylist. Yes your-shop-key-here
StylistScreenName Body string The display name or handle of the stylist. Yes FadeMasterMike Must be unique per shop
StylistEmail Body string Email of the stylist. Yes ash@example.com Must be unique per shop
StylistPhone Body string Phone of the stylist. Yes 555-123-4567 US only
StylistImgSrc Body string Location of stylist image or avatar No https://cdn.mybarbershop.com/images/ash.png
StylistInstagram Body string Instagram username of the stylist. No @FadeMasterMike
StylistTwitterx Body string Twitter (X) username of the stylist. No @FadeMasterMike
StylistFacebook Body string Facebook (Meta) username of the stylist. No ash.FadeMasterMike
StylistTikTok Body string TikTok username of the stylist. No @FadeMasterMike

DeleteStylist EndPoint

DeleteStylist allows a shop owner to remove a stylist from their shop's system. This is typically used when a stylist permanently leaves the business and should no longer appear in scheduling interfaces or be assigned to new appointments. The stylist must be associated with the authenticated shop, and the request must include valid API credentials. This operation is permanent and cannot be undone, so proceed with caution. If you simply want to deactivate a stylist temporarily, consider using the UpdateStylist endpoint with IsActive = false instead.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Specifies that the body is JSON formatted. Yes application/json
X-RapidAPI-Key Header String API key issued by RapidAPI. Yes your-rapidapi-key-here
X-Shop-Key Header String Shop-level access key. Yes your-shop-key-here
StylistScreenName Body string The screen name of the stylist to delete. Yes @MasterFadeMike

GetAllStylistsByShop EndPoint

GetAllStylistsByShop retrieves a list of all stylists associated with the authenticated shop. This includes both active and inactive stylists, unless filtered otherwise. Each stylist entry contains their unique ID, screen name, active status, and contact details. This endpoint is helpful for admin dashboards, staff directories, or any feature that requires displaying or managing shop personnel. Make sure you pass valid API credentials in the headers to authorize access. The response is returned as a JSON array of stylist objects.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Specifies that the body is JSON formatted. Yes application/json
X-RapidAPI-Key Header String API key issued by RapidAPI. Yes your-rapidapi-key-here
X-Shop-Key Header String Shop-level access key. Yes your-shop-key-here

GetAvailabilityOutlookByDay EndPoint

GetAvailabilityOutlookByDay provides a detailed availability map for a given date. It returns a stylist's availability status for each timeslot throughout the day. It will check to see if the timeslot is available, and if the timeslot is eligible to be awarded a start time. This is useful for building client-facing booking pages or internal scheduling tools. See the Availability section of the Appointment Lifecycle page to get a better understanding about how availability works.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Indicates that the request body is JSON. Yes application/json
X-RapidAPI-Key Header String Client's RapidAPI key for authentication. Yes your-rapidapi-key-here
X-Shop-Key Header String Unique Shop key used for authentication. Yes your-shop-key-here
StylistScreenName Body String Screen name of the stylist Yes @FadeMasterMike
RequestedDate Body String (Date) Date to search for availability times Yes 05/03/2024 MM/DD/YYYY
Gap Body int The amount of time (in minutes) needed for a particular style. The API will try to suggest available timeslots based on stylist's current availability. Yes 60

BlockTime EndPoint

The BlockTime endpoint allows the client to proactively block out specific 30-minute timeslots in their schedule. This can be used to indicate personal breaks, lunch, or unexpected availability changes. It accepts a list of time blocks, but only for one stylist per request. All timeslots must occur on the same day. If multiple days are desired, that will mean multiple requests. The array in the request body cannot have more than 48 individual items. If a conflict is found such as a previously scheduled appointment or overlapping block, the system will reject that individual block - while rewarding the others. The client would need to resolve those conflicts (maybe canceling appointments) and retry those failed blocks if they desire to. In the response, you will see an Id for each block. Store it in a safe place in case you need to unblock.

Field Name Field Placement Type Description Required Example Remarks
X-RapidAPI-Key Header string The API key provided by RapidAPI Yes your-shop-key-here
X-Shop-Key Header string The Shop Key issued to the client Yes your-shop-key-hear
BlockTimeListRequest Body array List of block objects containing the stylist and each desired time to block Yes See Below Max items allowed is 48
StylistScreenName Body (array item) string The screen name of the stylist Yes @FadeMasterMike Cannot have multiple stylist names on different array items. New name means new request.
StartDateTime Body (array item) datetime The start time of the 30-minute block Yes 2025-06-01T12:00:00 All times must be on the same day. New day means new request.
OptionalReason Body (array item) String Optional reason for blocking this time. No Lunch Max 255 chars. Optional.

UnblockTime EndPoint

The UnblockTime endpoint allows a stylist to unblock a timeslot that was previously blocked. You can use the Id saved from when your original block request, or you can use the GetUnblockedTimeslotsByDate endpoint to search for blocked timeslots.

Field Name Field Placement Type Description Required Example Remarks
X-RapidAPI-Key Header string The API key provided by RapidAPI Yes your-shop-key-here
X-Shop-Key Header string The Shop Key issued to the client Yes your-shop-key-hear
BlockId Body int The Id representing the blocked timeslot and stylist Yes 5678

GetBlockedTimeslotsByDate EndPoint

The GetBlockedTimeslotsByDate endpoint allows clients to retrieve a list of currently active blocked timeslots for a specific stylist within a date range. This can be used to audit schedule conflicts, see recent manual block entries, or build a visual calendar of availability by excluding blocked times.

Field Name Field Placement Type Description Required Example Remarks
X-RapidAPI-Key Header string The API key provided by RapidAPI Yes abc123-key
X-Shop-Key Header string The Shop Key issued to the client Yes def456-shop Must be a valid GUID
StylistScreenName Body string The screen name of the stylist Yes @FadeMasterMike Must exist in the system
StartDateTime Body datetime The starting date and time to search from Yes 2025-06-01T09:00:00 Must be before EndDateTime
EndDateTime Body datetime The ending date and time to search through Yes 2025-06-01T18:00:00 Must be after StartDateTime

Catalog Resource

AddCatalogItem EndPoint

AddCatalogItem allows a shop to create a new service item in their catalog. This catalog is typically used to display available services to clients when they are booking appointments. Each item in the catalog has a name, price, duration in minutes, and a description. Adding a catalog item is required before a service can be attached to an appointment. You can include services such as “Men’s Haircut”, “Beard Trim”, “Shampoo and Style”, etc. The duration should reflect the actual time a stylist would need to complete the service. Authentication is required using both RapidAPI and Shop keys.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Indicates that the request body is JSON. Yes application/json
X-RapidAPI-Key Header String Your personal RapidAPI subscription key. Yes your-rapidapi-key-here
X-Shop-Key Header String Your unique shop identifier. Yes your-shop-key-here
StyleNumber Body string The Id number of the style you must provide Yes 101 This number will be created and maintained by you (the client). This number should be unique for each product. No quotation marks.
ItemName Body string The name of the service to be added. Yes Men's Haircut Should be unique per shop.
Price Body decimal The price charged for the service. Yes 25.00 Do not include currency symbols. No quotation marks.
TimeLength Body int The estimated time in minutes to complete the service. Yes 30 No quotation marks.
Description Body string Additional notes or description of the service. No Includes shampoo and warm towel finish.

GetCatalogItem EndPoint

GetCatalogItem retrieves the details of a specific service item that exists in a shop's catalog. This endpoint is useful when you need to fetch information such as the name, price, duration, and description of a service based on its unique identifier. This can be used for display purposes, editing, or validation before scheduling an appointment. To use this endpoint, you must include the correct authentication headers and provide the CatalogItemID in the request body. If the item exists and belongs to the authenticated shop, the details will be returned. This is a read-only endpoint and does not modify any data.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Indicates the format of the request body. Yes application/json
X-RapidAPI-Key Header String Your RapidAPI subscription key. Yes your-rapidapi-key-here
X-Shop-Key Header String API key associated with your shop. Yes your-shop-key-here
CatalogItemID Body int The unique identifier for the catalog item you want to retrieve. Yes 101 Must belong to the calling shop.

UpdateCatalogItem EndPoint

UpdateCatalogItem allows a shop to make changes to an existing service offering in its catalog. This endpoint is typically used when you want to rename a service, change the price, adjust the duration, or update the service description. To execute this request, the client must pass valid authentication headers and provide the updated details along with the CatalogItemID. Only items that belong to the requesting shop can be updated. If the item exists and validation passes, the update is applied and confirmed. This is a secured write operation and should be used carefully to avoid accidental overwrites.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Indicates the request body format. Yes application/json
X-RapidAPI-Key Header String Your RapidAPI subscription key. Yes your-rapidapi-key-here
X-Shop-Key Header String The unique shop key used for authentication. Yes your-shop-key-here
CatalogItemID Body int ID of the catalog item to be updated. Yes 101 This is just used for identification. This cannot be updated. If this number is obsolete (or retired), consider deleting and re-adding a new catalog item.
ItemName Body string Updated name of the service. Yes Deluxe Beard Trim
Price Body decimal New price of the service. No 20.00
TimeLength Body int Updated duration of the service in minutes. Yes 30
Description Body string New description of the catalog item. No Includes razor line-up and hot towel.

DeleteCatalogItem EndPoint

DeleteCatalogItem is used to permanently remove a catalog item from a shop’s list of available services. This is typically done when a service is no longer offered or was added by mistake. This operation requires authentication via both the RapidAPI key and the ShopKey, and the catalog item must belong to the authenticated shop. Once deleted, the service is no longer visible to clients and cannot be used in new appointment bookings. Be aware that deletion is irreversible—use this endpoint only when you are sure that the catalog item is no longer needed.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Indicates the request body format. Yes application/json
X-RapidAPI-Key Header String Your RapidAPI subscription key. Yes your-rapidapi-key-here
X-Shop-Key Header String The unique shop key used for authentication. Yes your-shop-key-here
CatalogItemID Body int The unique ID of the catalog item to delete. Yes 101 Must belong to the calling shop.

GetAllCatalogItems EndPoint

GetAllCatalogItems retrieves the full list of services offered by a particular shop. Each catalog item represents a service (e.g., haircut, beard trim, consultation) and includes details such as the description, duration, and price. This endpoint requires both the RapidAPI key and ShopKey for authentication. It is commonly used by client-facing applications to populate service selection menus, or by admin tools to display current offerings. This endpoint is read-only and does not alter the catalog.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Indicates the request body format. Yes application/json
X-RapidAPI-Key Header String Your RapidAPI subscription key. Yes your-rapidapi-key-here
X-Shop-Key Header String The unique shop key used for authentication. Yes your-shop-key-here

Appointment Resource

CreateOrderSesssion EndPoint

The CreateOrderSession endpoint is used to create a new order session. This session serves as a way to put many appointments in a group, like ordering for a group. Clients typically call this first to obtain an OrderNumber (with 30 minute expiration), which is then reused in subsequent appointment creation requests within one session (one sitting). Now, if you are just adding one appointment, and one only, you can skip this, and the system will automatically assign an Order Number just for that appointment (see Quick Start). If you require more than one appointment (example: parent with children), then it is recommended you use the same OrderNumber, but this is optional.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Indicates the request format. Yes application/json
X-RapidAPI-Key Header String Your RapidAPI subscription key. Yes your-rapidapi-key-here
X-Shop-Key Header String The shop key associated with the current session. Yes your-shop-key-here
ContactFirstName Body String First Name of customer this order will go under. Yes Bob
ContactLastName Body String First Name of customer this order will go under. Yes Jones
ContactPhoneNumber Body String Phone number of customer this order will go under. Yes 770-1111-2222
ContactEmail Body String Email of customer this order will go under. Yes bjones@mail.com

AddAppointment EndPoint

AddAppointment creates a new appointment in the system. The request must include details about the shop, stylist, time, description, and the desired time slot. This endpoint supports integrations between frontend schedulers and the API, enabling clients to book appointments programmatically. It ensures that time slot conflicts are avoided and will return errors if any slots are already taken or if required fields are missing. Once the appointment is created, it will appear in the system under the associated OrderSession. The client may optionally provide a ClientSideNotificationLink for webhook updates.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Indicates the request format. Yes application/json
X-RapidAPI-Key Header String Your RapidAPI subscription key. Yes your-rapidapi-key-here
X-Shop-Key Header String The shop key associated with the appointment. Yes your-shop-key-here
OrderSessionID Body int The ID for the current order session. Yes 12345678 Obtained from AddOrderSession endpoint.
StylistID Body int ID of the stylist providing the service. Yes 42
Description Body string Service description. Yes Haircut and Beard Trim
StartDateTime Body datetime Appointment start date/time in local shop time. Yes 2025-05-01T13:30 YYYY-MM-DDTHH:MM
TimeZone Body string Timezone for the appointment. Yes Eastern Standard Time Case sensitive
MinuteLength Body int Length of the appointment in minutes. Yes 30
StartTimeSlotID Body int ID of the starting time slot. Yes 220
EndTimeSlotID Body int ID of the ending time slot. Yes 226
ClientSideNotificationLink Body string Optional link for webhook notification. No https://client.com/receiver Optional

GetAppointment EndPoint

GetAppointment retrieves detailed information for a single appointment based on its unique AppointmentNumber. This endpoint is typically used after an appointment has been scheduled, allowing clients to fetch full appointment metadata, including assigned stylist, time slots, status, and cancellation info. The request must include valid headers to identify the requesting shop and client. This endpoint is read-only and will not affect the status of the appointment. It is useful for rendering confirmations, displaying existing appointment records, or for administrative review.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Indicates the request format. Yes application/json
X-RapidAPI-Key Header String Your RapidAPI subscription key. Yes your-rapidapi-key-here
X-Shop-Key Header String The shop key associated with the appointment. Yes your-shop-key-here
AppointmentNumber Query int The appointment number to retrieve. Yes 100002

GetAllAppointmentsByOrderNumber EndPoint

GetAllAppointmentsByOrderNumber retrieves all appointments associated with a single ReceiptNumber. This is useful for clients that scheduled multiple appointments in a single booking session, such as a group or a parent booking for multiple children. Each appointment under the same receipt will be returned in a single call. This endpoint is read-only and requires authentication via both the X-RapidAPI-Key and X-Shop-Key headers. It is often used to confirm a batch booking or to reload a client’s session in a scheduling interface.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Indicates the format of the request body. Yes application/json
X-RapidAPI-Key Header String Your RapidAPI subscription key. Yes your-rapidapi-key-here
X-Shop-Key Header String The shop key associated with the appointment(s). Yes your-shop-key-here
ReceiptNumber Query int The receipt number that groups multiple appointments. Yes 222334

GetAllAppointmentsByDate EndPoint

GetAllAppointmentsByDate retrieves all appointments that fall within a date range. This is useful for clients that want to know what appointments are upcomming for a given day, or what appointments were completed last week. This endpoint is read-only and requires authentication via both the X-RapidAPI-Key and X-Shop-Key headers.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Indicates the request format. Yes application/json
X-RapidAPI-Key Header String Your RapidAPI subscription key. Yes your-rapidapi-key-here
X-Shop-Key Header String The shop key associated with the appointment. Yes your-shop-key-here
StartDate Body string (date) The min date of date range Yes 3/15/2025
EndDate Body string (date) The max date of date range Yes 3/15/2025 Notice how min and max are the same day. This is OK. This is saying "What appoints are coming today on 3/15/2025?"

GetAllAppointmentsByStylist EndPoint

GetAllAppointmentsByStylist retrieves all appointments associated with a stylist. This is useful for clients that want to know the productivity or upcoming schedule of a stylist. This endpoint is read-only and requires authentication via both the X-RapidAPI-Key and X-Shop-Key headers.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Indicates the request format. Yes application/json
X-RapidAPI-Key Header String Your RapidAPI subscription key. Yes your-rapidapi-key-here
X-Shop-Key Header String The shop key associated with the appointment. Yes your-shop-key-here
StylistScreenName Body string (date) Screen name of the stylist. Yes @FadeMasterMike

SubmitOrderSession EndPoint

The SubmitOrderSession endpoint finalizes an order session by attaching the client’s contact information to a specific OrderNumber. This marks the end of the session and updates all related appointments to a status of Requested. Once submitted, no additional appointments can be added to the session. This endpoint must be called after creating the session using CreateOrderSession and adding one or more appointments with AddAppointment. After submission, the client can use ConfirmAppointment to confirm individual appointments. Confirmation is not required, but webhook reminders will not work unless the appointment is confirmed. The client can cancel an appointment using CancelAppointment at any time unless the appointment already finished.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Indicates the request format. Yes application/json
X-RapidAPI-Key Header String Your RapidAPI subscription key. Yes your-rapidapi-key-here
X-Shop-Key Header String The shop key associated with the appointment session. Yes your-shop-key-here
OrderNumber Body int The unique number for the session you wish to submit. Yes 1234567890 Must match a valid open session for the authenticated shop.
ContactFirstName Body String Client's first name. Yes Jane
ContactLastName Body String Client's last name. Yes Doe
ContactPhoneNumber Body String Client's phone number. Yes 555-123-4567
ContactEmail Body String Client's email address. Yes jane.doe@example.com

ConfirmAppointment EndPoint

The ConfirmAppointment endpoint allows the client to confirm an appointment once the stylist has accepted it. This step finalizes the booking and updates the appointment status accordingly in the system. Both the RapidAPI key and the ShopKey must be valid for the confirmation to succeed. The client must provide the appointment number they wish to confirm.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Indicates the request format. Yes application/json
X-RapidAPI-Key Header String Your RapidAPI subscription key. Yes your-rapidapi-key-here
X-Shop-Key Header String The shop key associated with the appointment. Yes your-shop-key-here
AppointmentNumber Body int AppointmentNumber to confirm. Yes 12345 Appointment must be in 'Requested' status for this to work.

CancelAppointment EndPoint

The CancelAppointment endpoint allows the client to cancel an appointment at anytime - unless the appointment is already finished. The system does not 'delete' appointments. You can still access details using other endpoints like GetAppointment. Both the RapidAPI key and the ShopKey must be valid for the confirmation to succeed. The client must provide the appointment number they wish to confirm.

Field Name Field Placement Type Description Required Example Remarks
Content-Type Header String Indicates the request format. Yes application/json
X-RapidAPI-Key Header String Your RapidAPI subscription key. Yes your-rapidapi-key-here
X-Shop-Key Header String The shop key associated with the appointment. Yes your-shop-key-here
AppointmentNumber Body int AppointmentNumber to cancel. Yes 12345 Appointment cannot be in 'Finished' status for this to work. Cannot already be 'Canceled' either.
CanceledBy Body int Enter 1 for Customer, 2 for Stylist, or 3 for Shop Yes 1 Cancelation can come from any different sources.
CancelReason Body String Enter optional reason for cancelation. No Appointment conflict. max with: 400 char