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.
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 | 12a34b56 |
Store in a safe place. |
| RecoveryEmail | Body | String | Email used to recover or manage your ShopKey. | Yes | you@example.com |
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 | 12a34b56 |
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 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 | 12a34b56 |
Store in a safe place. |
| X-Shop-Key | Header | String (GUID) | Key provided by the API for tracking and security. | Yes | AB123CD4- |
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 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 | 12a34b56 |
Store in a safe place. |
| TempCode | Body | int | The temporary code sent to your RecoveryEmail. | Yes | 349278 |
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 | 87654321 |
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 | 12a34b56 |
|
| RecoveryEmail | Body | string | The recovery email that was used during ShopKey registration. | Yes | you@example.com |
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 | 12a34b56 |
Store securely. Never expose publicly. |
| X-Shop-Key | Header | String | Your assigned ShopKey. | Yes | AB123CD4- |
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. |
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 | 12a34b56 |
Store in a safe place. |
| X-Shop-Key | Header | string (GUID) | Key provided by the API for tracking and security. | Yes | AB123CD4- |
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:
|
Case Sensitive |
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 | 12a34b56 |
Store in a safe place. |
| X-Shop-Key | Header | String | Key provided by the API for tracking and security. | Yes | AB123CD4- |
Store in a safe place. |
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 | 12a34b56 |
Store in a safe place. |
| X-Shop-Key | Header | String | Key provided by the API for tracking and security. | Yes | AB123CD4- |
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:
|
Case Sensitive |
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 | 12a34b56 |
Keep private. |
| X-Shop-Key | Header | String | Your assigned ShopKey for authentication. | Yes | AB123CD4- |
Keep private. |
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 | 12a34b56 |
Store in a safe place. |
| X-Shop-Key | Header | string (GUID) | Key provided by the API for tracking and security. | Yes | AB123CD4- |
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 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 | 12a34b56 |
Store in a safe place. |
| X-Shop-Key | Header | string (GUID) | Key provided by the API for tracking and security. | Yes | AB123CD4- |
Store in a safe place. |
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 | 12a34b56 |
Store in a safe place. |
| X-Shop-Key | Header | string (GUID) | Key provided by the API for tracking and security. | Yes | AB123CD4- |
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 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 | 12a34b56 |
Store in a safe place. |
| X-Shop-Key | Header | string (GUID) | Key provided by the API for tracking and security. | Yes | AB123CD4- |
Store in a safe place. |
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 | 12a34b56 |
Store in a safe place. |
| X-Shop-Key | Header | string (GUID) | Key provided by the API for tracking and security. | Yes | AB123CD4- |
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 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 | 12a34b56 |
Store in a safe place. |
| X-Shop-Key | Header | string (GUID) | Key provided by the API for tracking and security. | Yes | AB123CD4- |
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 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 | 12a34b56 |
Store in a safe place. |
| X-Shop-Key | Header | string (GUID) | Key provided by the API for tracking and security. | Yes | AB123CD4- |
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 |
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 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 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 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 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 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 |
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. |
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 |
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 |
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 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 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 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 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 |
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 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 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 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 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 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 |
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 |
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. |
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 |