Download OpenAPI specification:Download
The service provides capabilities to interact with the user’s stored data inside of BEAUTY_OS Core in MongoDB. This is used throughout the website to retrieve information about the user and interact with the user’s settings.
Authenticates admin user with username and password.
The object containing admin authentication credentials.
| username required | string |
| password required | string |
{- "username": "string",
- "password": "string"
}{- "roles": [
- "SUPERADMIN"
], - "status": "ACTIVE",
- "accessToken": "string",
- "lastName": "string",
- "firstName": "string",
- "email": "string",
- "username": "string",
- "id": "string"
}Creates or updates update configuration for a given device type. Admin decides enabled/time/updateMode.
| deviceType required | string (DeviceType) Enum: "android" "ios" |
| enabled | boolean |
| time required | string |
| updateMode required | number Enum: 0 1 2 |
{- "deviceType": "android",
- "enabled": true,
- "time": "string",
- "updateMode": 0
}{- "id": "string",
- "deviceType": "android",
- "enabled": true,
- "time": "2019-08-24T14:15:22Z",
- "updateMode": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}Authenticates user to Okta account with username and password that user signed up to Okta.
The object containing authentication credentials.
| username required | string Username of the user should be email or phone number |
{- "username": "string"
}{- "id": "string"
}Registers a new user with the provided details and sends OTP.
The object containing registration details.
| username required | string Username of the user (email or phone number) |
| firstName required | string First name of the user |
| lastName required | string Last name of the user |
| roleOperations required | Array of strings (RoleOperation) Items Enum: "ARTIST" "SALON_OWNER" Role operations (ARTIST or SALON_OWNER) |
{- "username": "string",
- "firstName": "string",
- "lastName": "string",
- "roleOperations": [
- "ARTIST"
]
}{- "id": "string"
}Authenticates user with Firebase ID token (Google/Apple login).
The object containing Firebase ID token, userType, and optional salonId.
| salonId | string |
| userType required | string (UserType) Enum: "USER" "CLIENT" |
| idToken required | string |
{- "salonId": "string",
- "userType": "USER",
- "idToken": "string"
}{- "id": "string",
- "phone": "string",
- "email": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "CREATED",
- "accessToken": "string"
}Verifies login OTP.
The object containing OTP.
| id required | string User or client id |
| otp required | string OTP |
{- "id": "string",
- "otp": "string"
}{- "id": "string",
- "phone": "string",
- "email": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "CREATED",
- "accessToken": "string"
}Creates a new user.
Represents the user data that is being created.
| firstName required | string |
| lastName required | string |
| phone required | string |
| salonId required | string |
string | |
| socialMedia | string |
| profileImage | string |
| gender | string (Gender) Enum: "Male" "Female" "Non-binary" "Transgender" "Intersex" "opt-out" Possible values of Gender |
| pronouns | string |
| birthday | string <date-time> |
object (CreateAddressRequest) | |
| roles | Array of strings (UserRole) Items Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN" |
{- "firstName": "string",
- "lastName": "string",
- "phone": "string",
- "salonId": "string",
- "email": "string",
- "socialMedia": "string",
- "profileImage": "string",
- "gender": "Male",
- "pronouns": "string",
- "birthday": "2019-08-24T14:15:22Z",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "roles": [
- "PROFESSIONAL"
]
}{- "status": "CREATED",
- "roleOperations": [
- "ARTIST"
], - "roles": [
- "PROFESSIONAL"
], - "salons": [
- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
], - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "birthday": "2019-08-24T14:15:22Z",
- "rating": 0.1,
- "services": 0.1,
- "level": 0.1,
- "socialMedia": "string",
- "pronouns": "string",
- "gender": "Male",
- "isPushNotificationEnabled": true,
- "pushNotificationId": "string",
- "phone": "string",
- "email": "string",
- "profileImage": "string",
- "username": "string",
- "lastName": "string",
- "firstName": "string",
- "id": "string"
}Retrieves users by given filter.
| salonId required | string |
| skip | number <double> Default: 0 |
| top | number <double> Default: 10 |
| phone | string |
string | |
| status | string (UserStatus) Enum: "CREATED" "ONBOARDING" "ONBOARDING_COMPLETED" "ACTIVATED" "DEACTIVATED" "SUSPENDED" "DELETED" |
| userSalonStatus | string (UserSalonStatus) Enum: "active" "pending" "inactive" "declined" "deleted" |
| roles | Array of strings (UserRole) Items Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN" |
| gender | string (Gender) Enum: "Male" "Female" "Non-binary" "Transgender" "Intersex" "opt-out" Possible values of Gender |
| search | string |
| inactiveArtist | boolean |
| templateId | string |
{- "metadata": {
- "totalRecords": 0.1,
- "pageSize": 0.1,
- "page": 0.1
}, - "records": [
- {
- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "profileImage": "string",
- "socialMedia": "string",
- "level": 0.1,
- "services": 0.1,
- "rating": 0.1,
- "pushNotificationId": "string",
- "isPushNotificationEnabled": true,
- "stylistTipCommission": 0.1,
- "stylistCommission": 0.1,
- "stylistSingleSalonId": "string"
}
]
}Retrieves the current user's profile.
| user-id required | string The ID of the current user. |
{- "status": "CREATED",
- "roleOperations": [
- "ARTIST"
], - "roles": [
- "PROFESSIONAL"
], - "salons": [
- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
], - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "birthday": "2019-08-24T14:15:22Z",
- "rating": 0.1,
- "services": 0.1,
- "level": 0.1,
- "socialMedia": "string",
- "pronouns": "string",
- "gender": "Male",
- "isPushNotificationEnabled": true,
- "pushNotificationId": "string",
- "phone": "string",
- "email": "string",
- "profileImage": "string",
- "username": "string",
- "lastName": "string",
- "firstName": "string",
- "id": "string"
}Retrieves user's data by given ID.
| userId required | string |
| user-id required | string |
{- "status": "CREATED",
- "roleOperations": [
- "ARTIST"
], - "roles": [
- "PROFESSIONAL"
], - "salons": [
- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
], - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "birthday": "2019-08-24T14:15:22Z",
- "rating": 0.1,
- "services": 0.1,
- "level": 0.1,
- "socialMedia": "string",
- "pronouns": "string",
- "gender": "Male",
- "isPushNotificationEnabled": true,
- "pushNotificationId": "string",
- "phone": "string",
- "email": "string",
- "profileImage": "string",
- "username": "string",
- "lastName": "string",
- "firstName": "string",
- "id": "string"
}Updates a user's data by given ID.
| userId required | string The ID of the user to update. |
The updated user data.
| firstName required | string |
| lastName required | string |
| phone required | string |
string | |
| profileImage | string |
| gender | string (Gender) Enum: "Male" "Female" "Non-binary" "Transgender" "Intersex" "opt-out" Possible values of Gender |
| socialMedia | string |
| pronouns | string |
| birthday | string <date-time> |
object (CreateAddressRequest) | |
| roles | Array of strings (UserRole) Items Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN" |
{- "firstName": "string",
- "lastName": "string",
- "phone": "string",
- "email": "string",
- "profileImage": "string",
- "gender": "Male",
- "socialMedia": "string",
- "pronouns": "string",
- "birthday": "2019-08-24T14:15:22Z",
- "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "roles": [
- "PROFESSIONAL"
]
}{- "status": "CREATED",
- "roleOperations": [
- "ARTIST"
], - "roles": [
- "PROFESSIONAL"
], - "salons": [
- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
], - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "birthday": "2019-08-24T14:15:22Z",
- "rating": 0.1,
- "services": 0.1,
- "level": 0.1,
- "socialMedia": "string",
- "pronouns": "string",
- "gender": "Male",
- "isPushNotificationEnabled": true,
- "pushNotificationId": "string",
- "phone": "string",
- "email": "string",
- "profileImage": "string",
- "username": "string",
- "lastName": "string",
- "firstName": "string",
- "id": "string"
}Accepts a user invitation to a salon.
| user-id required | string |
| salonId required | string |
{- "salonId": "string"
}"string"Declines a user invitation to a salon.
| user-id required | string |
| salonId required | string |
{- "salonId": "string"
}"string"Update stylist comission
| userId required | string The ID of the user to update the stylist comission. |
The updated stylist comission data.
| stylistCommission required | number <double> |
| stylistTipCommission required | number <double> |
| salonId required | string |
{- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "salonId": "string"
}"string"Adds a role to a user for a specific salon
| userId required | string The ID of the user to add the role to. |
The request body containing salon ID and role to add.
| salonId required | string |
| role required | string (UserRole) Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN" Current role of the user |
{- "salonId": "string",
- "role": "PROFESSIONAL"
}{- "status": "CREATED",
- "roleOperations": [
- "ARTIST"
], - "roles": [
- "PROFESSIONAL"
], - "salons": [
- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
], - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "birthday": "2019-08-24T14:15:22Z",
- "rating": 0.1,
- "services": 0.1,
- "level": 0.1,
- "socialMedia": "string",
- "pronouns": "string",
- "gender": "Male",
- "isPushNotificationEnabled": true,
- "pushNotificationId": "string",
- "phone": "string",
- "email": "string",
- "profileImage": "string",
- "username": "string",
- "lastName": "string",
- "firstName": "string",
- "id": "string"
}Removes a role from a user for a specific salon
| userId required | string The ID of the user to remove the role from. |
The request body containing salon ID and role to remove.
| salonId required | string |
| role required | string (UserRole) Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN" Current role of the user |
{- "salonId": "string",
- "role": "PROFESSIONAL"
}{- "status": "CREATED",
- "roleOperations": [
- "ARTIST"
], - "roles": [
- "PROFESSIONAL"
], - "salons": [
- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
], - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "birthday": "2019-08-24T14:15:22Z",
- "rating": 0.1,
- "services": 0.1,
- "level": 0.1,
- "socialMedia": "string",
- "pronouns": "string",
- "gender": "Male",
- "isPushNotificationEnabled": true,
- "pushNotificationId": "string",
- "phone": "string",
- "email": "string",
- "profileImage": "string",
- "username": "string",
- "lastName": "string",
- "firstName": "string",
- "id": "string"
}Retrive salon contracts by user id
| userId required | string The ID of the user to retrive the salon contracts. |
| salonId | string The ID of the salon to retrive the salon contracts. |
[- {
- "contractPdfUrl": "string",
- "stylistTipCommission": 0.1,
- "stylistCommission": 0.1,
- "salonId": "string",
- "id": "string"
}
]Generates a pre-signed URL for uploading a user's profile image to S3.
| userId required | string The ID of the user |
The upload request containing filename and content type
| filename required | string |
| contentType required | string |
{- "filename": "string",
- "contentType": "string"
}{- "uploadUrl": "string",
- "imageUrl": "string"
}Updates only the profile image URL for a user.
| userId required | string The ID of the user |
Object containing the profileImage URL
| profileImage required | string |
{- "profileImage": "string"
}{- "status": "CREATED",
- "roleOperations": [
- "ARTIST"
], - "roles": [
- "PROFESSIONAL"
], - "salons": [
- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
], - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "birthday": "2019-08-24T14:15:22Z",
- "rating": 0.1,
- "services": 0.1,
- "level": 0.1,
- "socialMedia": "string",
- "pronouns": "string",
- "gender": "Male",
- "isPushNotificationEnabled": true,
- "pushNotificationId": "string",
- "phone": "string",
- "email": "string",
- "profileImage": "string",
- "username": "string",
- "lastName": "string",
- "firstName": "string",
- "id": "string"
}Retrieves user's data by given email.
| email required | string Represents the given email for an account holder. |
{- "status": "CREATED",
- "roleOperations": [
- "ARTIST"
], - "roles": [
- "PROFESSIONAL"
], - "salons": [
- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
], - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "birthday": "2019-08-24T14:15:22Z",
- "rating": 0.1,
- "services": 0.1,
- "level": 0.1,
- "socialMedia": "string",
- "pronouns": "string",
- "gender": "Male",
- "isPushNotificationEnabled": true,
- "pushNotificationId": "string",
- "phone": "string",
- "email": "string",
- "profileImage": "string",
- "username": "string",
- "lastName": "string",
- "firstName": "string",
- "id": "string"
}Retrieves user's data by given username.
| username required | string Represents the given username for an account holder. |
{- "status": "CREATED",
- "roleOperations": [
- "ARTIST"
], - "roles": [
- "PROFESSIONAL"
], - "salons": [
- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
], - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "birthday": "2019-08-24T14:15:22Z",
- "rating": 0.1,
- "services": 0.1,
- "level": 0.1,
- "socialMedia": "string",
- "pronouns": "string",
- "gender": "Male",
- "isPushNotificationEnabled": true,
- "pushNotificationId": "string",
- "phone": "string",
- "email": "string",
- "profileImage": "string",
- "username": "string",
- "lastName": "string",
- "firstName": "string",
- "id": "string"
}Retrieves user's data by given single salon ID.
| stylistSingleSalonId required | string Represents the given single salon ID for an account holder. |
{- "status": "CREATED",
- "roleOperations": [
- "ARTIST"
], - "roles": [
- "PROFESSIONAL"
], - "salons": [
- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
], - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "birthday": "2019-08-24T14:15:22Z",
- "rating": 0.1,
- "services": 0.1,
- "level": 0.1,
- "socialMedia": "string",
- "pronouns": "string",
- "gender": "Male",
- "isPushNotificationEnabled": true,
- "pushNotificationId": "string",
- "phone": "string",
- "email": "string",
- "profileImage": "string",
- "username": "string",
- "lastName": "string",
- "firstName": "string",
- "id": "string"
}Retrieves users' data by given array of single salon IDs.
| stylistSingleSalonIds required | Array of strings Represents the array of single salon IDs as query parameters. |
{- "users": [
- {
- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "profileImage": "string",
- "socialMedia": "string",
- "level": 0.1,
- "services": 0.1,
- "rating": 0.1,
- "pushNotificationId": "string",
- "isPushNotificationEnabled": true,
- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "timezone": "string",
- "stylistSingleSalonId": "string"
}
]
}Retrieves user's data by given ID.
| userId required | string Represents the given ID for an account holder. |
{- "status": "CREATED",
- "roleOperations": [
- "ARTIST"
], - "roles": [
- "PROFESSIONAL"
], - "salons": [
- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
], - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "birthday": "2019-08-24T14:15:22Z",
- "rating": 0.1,
- "services": 0.1,
- "level": 0.1,
- "socialMedia": "string",
- "pronouns": "string",
- "gender": "Male",
- "isPushNotificationEnabled": true,
- "pushNotificationId": "string",
- "phone": "string",
- "email": "string",
- "profileImage": "string",
- "username": "string",
- "lastName": "string",
- "firstName": "string",
- "id": "string"
}Add a salon to a user.
| userId required | string The ID of the user. |
| salonId required | string |
| isSingle required | boolean |
| name required | string |
| roles required | Array of strings (UserRole) Items Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN" |
| status required | string (UserSalonStatus) Enum: "active" "pending" "inactive" "declined" "deleted" |
{- "salonId": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active"
}{- "status": "CREATED",
- "roleOperations": [
- "ARTIST"
], - "roles": [
- "PROFESSIONAL"
], - "salons": [
- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
], - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "birthday": "2019-08-24T14:15:22Z",
- "rating": 0.1,
- "services": 0.1,
- "level": 0.1,
- "socialMedia": "string",
- "pronouns": "string",
- "gender": "Male",
- "isPushNotificationEnabled": true,
- "pushNotificationId": "string",
- "phone": "string",
- "email": "string",
- "profileImage": "string",
- "username": "string",
- "lastName": "string",
- "firstName": "string",
- "id": "string"
}Invite a user to a salon.
The request body.
| salonId required | string |
| isSingle required | boolean |
| name required | string |
| roles required | Array of strings (UserRole) Items Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN" |
| status required | string (UserSalonStatus) Enum: "active" "pending" "inactive" "declined" "deleted" |
| username required | string |
{- "salonId": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "username": "string"
}{- "status": "CREATED",
- "roleOperations": [
- "ARTIST"
], - "roles": [
- "PROFESSIONAL"
], - "salons": [
- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
], - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "birthday": "2019-08-24T14:15:22Z",
- "rating": 0.1,
- "services": 0.1,
- "level": 0.1,
- "socialMedia": "string",
- "pronouns": "string",
- "gender": "Male",
- "isPushNotificationEnabled": true,
- "pushNotificationId": "string",
- "phone": "string",
- "email": "string",
- "profileImage": "string",
- "username": "string",
- "lastName": "string",
- "firstName": "string",
- "id": "string"
}Update user salon by userId and salonId
| userId required | string The ID of the user. |
| salonId required | string The ID of the salon. |
| name | string |
| roles | Array of strings (UserRole) Items Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN" |
| status | string (UserSalonStatus) Enum: "active" "pending" "inactive" "declined" "deleted" |
| stylistCommission | number <double> |
| stylistTipCommission | number <double> |
{- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1
}{- "status": "CREATED",
- "roleOperations": [
- "ARTIST"
], - "roles": [
- "PROFESSIONAL"
], - "salons": [
- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
], - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "birthday": "2019-08-24T14:15:22Z",
- "rating": 0.1,
- "services": 0.1,
- "level": 0.1,
- "socialMedia": "string",
- "pronouns": "string",
- "gender": "Male",
- "isPushNotificationEnabled": true,
- "pushNotificationId": "string",
- "phone": "string",
- "email": "string",
- "profileImage": "string",
- "username": "string",
- "lastName": "string",
- "firstName": "string",
- "id": "string"
}Update all users salon user by salonId
| salonId required | string The ID of the salon. |
The request body.
| name | string |
| roles | Array of strings (UserRole) Items Enum: "PROFESSIONAL" "OWNER" "DESK" "SUPERADMIN" |
| status | string (UserSalonStatus) Enum: "active" "pending" "inactive" "declined" "deleted" |
| stylistCommission | number <double> |
| stylistTipCommission | number <double> |
{- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1
}"string"Returns all users who are owners of a specific salon.
| salonId required | string The ID of the salon. |
[- {
- "status": "CREATED",
- "roleOperations": [
- "ARTIST"
], - "roles": [
- "PROFESSIONAL"
], - "salons": [
- {
- "id": "string",
- "isSingle": true,
- "name": "string",
- "roles": [
- "PROFESSIONAL"
], - "status": "active",
- "stylistCommission": 0.1,
- "stylistTipCommission": 0.1,
- "visibleInOnlineBooking": true
}
], - "address": {
- "street": "string",
- "city": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "location": {
- "type": "string",
- "coordinates": [
- 0.1
]
}
}, - "birthday": "2019-08-24T14:15:22Z",
- "rating": 0.1,
- "services": 0.1,
- "level": 0.1,
- "socialMedia": "string",
- "pronouns": "string",
- "gender": "Male",
- "isPushNotificationEnabled": true,
- "pushNotificationId": "string",
- "phone": "string",
- "email": "string",
- "profileImage": "string",
- "username": "string",
- "lastName": "string",
- "firstName": "string",
- "id": "string"
}
]Retrieves availability information for a salon or stylist across a date range.
Case 1: Pass salonId to get all stylists for that salon with their availability Case 2: Pass stylistSingleSalonId to get all salons where that stylist works with their availability
Response Structure (same for both cases): { salons: [{ salonId: string, salonName: string, workingHours: WorkingHour[], // Salon's default hours timezone: string, stylists: [{ user: UserInfo, workingHours: WorkingHour[], // Stylist's hours at this salon availableSlots: [{ date: "2025-08-29", slots: [{ time: "9:00 AM", duration: 60, ... }] }] }] }] }
| templateIds required | Array of strings Array of template service IDs |
| startDate | string Start date of the range in YYYY-MM-DD format (defaults to today) |
| endDate | string End date of the range in YYYY-MM-DD format (defaults to startDate + 7 days) |
| salonId | string The ID of the salon (either salonId or stylistSingleSalonId is required) |
| stylistSingleSalonId | string The stylist's single salon ID (either salonId or stylistSingleSalonId is required) |
[- {
- "stylists": [
- {
- "availableSlots": [
- {
- "slots": [
- {
- "totalPrice": 0.1,
- "price": 0.1,
- "duration": 0.1,
- "time": "string"
}
], - "date": "string"
}
], - "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "user": {
- "id": "string",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "phone": "string",
- "profileImage": "string",
- "socialMedia": "string",
- "level": 0.1,
- "services": 0.1,
- "rating": 0.1,
- "pushNotificationId": "string",
- "isPushNotificationEnabled": true,
- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "timezone": "string",
- "stylistSingleSalonId": "string"
}
}
], - "timezone": "string",
- "workingHours": [
- {
- "day": "monday",
- "isWorking": true,
- "startTime": "string",
- "endTime": "string"
}
], - "salonName": "string",
- "salonId": "string"
}
]Get user information by stylistSingleSalonId
Retrieves basic user information (userId, firstName, lastName, email, phoneNumber) for a stylist identified by their single salon ID.
| stylistSingleSalonId required | string The stylist's single salon ID |
{- "phoneNumber": "string",
- "email": "string",
- "socialMedia": "string",
- "lastName": "string",
- "firstName": "string",
- "userId": "string"
}