Introduction

The Aurad Salon Booking API provides a complete backend solution for appointment-based businesses in the beauty and wellness industry. Whether you're building a custom booking app, integrating with existing software, or automating workflows, our API has you covered.

What You Can Build

  • Custom booking apps for iOS, Android, or web
  • Booking widgets to embed on any website
  • Integration with existing salon management software
  • Calendar sync with Google Calendar, Outlook, etc.
  • Automated booking workflows and notifications

Industries

Hair salons, nail bars, lash studios, spas, barbershops, massage therapists, beauty clinics, tattoo studios, and any appointment-based business.

Base URL

https://aurad.beauty/api/v1

Authentication

All API requests require authentication using an API key. Include your key in the request header.

API Key Required

Pass your API key via the X-API-Key header with every request.

Example Request

curl -X GET "https://aurad.beauty/api/v1/services" \ -H "X-API-Key: your_api_key_here"

Error Responses

Code Message Description
401 MISSING_API_KEY No API key was provided
401 INVALID_API_KEY The API key is invalid or expired

Quick Start

Get up and running with the Aurad API in minutes.

Get Your API Key

Subscribe to a plan on RapidAPI to receive your unique API key.

Make Your First Request

Test the connection by fetching your business profile or services list.

Check Availability

Query available time slots for a specific date and service.

Create Bookings

Submit booking requests with client details and receive confirmation.

Example: List Services

curl -X GET "https://aurad.beauty/api/v1/services" \ -H "X-API-Key: your_api_key_here"
200 OK
{ "success": true, "data": [ { "id": "fa1240a6-a475-492e-abb2-3f22eb27d9c6", "name": "Classic Lash Set", "description": "Natural looking lash extensions", "price": 65.00, "currency": "GBP", "durationMinutes": 90, "isActive": true } ] }

Pricing

Choose the plan that fits your needs. All plans include full API access.

Basic

Free
100 requests/month

Perfect for testing

Business

$79/mo
25,000 requests/month

Multi-location support

Enterprise

$199/mo
100,000 requests/month

Large integrations

Business

Retrieve business profile information including name, contact details, and branding.

GET /business Get business profile

Returns the business profile including name, description, contact information, and branding settings.

Response

{ "success": true, "data": { "name": "Your Salon Name", "description": "Premium beauty services", "phone": "+44 123 456 7890", "address": "123 High Street, London", "currency": "GBP", "bookingSlug": "your-salon", "brandColor": "#8B5CF6" } }

Services

Manage and retrieve services offered by the business.

GET /services List all services

Returns all active services with pricing, duration, and payment configuration.

Response Fields

Field Type Description
id string Unique service identifier (UUID)
name string Service name
description string Service description
price number Service price
currency string Currency code (e.g., GBP, USD)
durationMinutes integer Service duration in minutes
isActive boolean Whether the service is active

Bundles

Service packages with discounted pricing.

GET /bundles List service bundles

Returns service packages/bundles with calculated discounted pricing.

Response

{ "success": true, "data": [ { "id": "bundle-uuid", "name": "Lash & Brow Package", "originalPrice": 110.00, "finalPrice": 95.00, "savings": 15.00, "savingsPercent": 14, "totalDurationMinutes": 120, "services": [...] } ] }

Staff

Team members available for appointments.

GET /staff List staff members

Returns all staff members available for bookings.

Response

{ "success": true, "data": [ { "id": "staff-uuid", "name": "Sarah", "email": "sarah@salon.com", "color": "#E91E63", "isActive": true } ] }

Availability

Check available time slots for booking.

GET /availability Get available slots

Returns available booking time slots for a specific date. Considers business hours, existing bookings, staff availability, and blocked dates.

Query Parameters

Parameter Type Description
daterequired string Date to check (YYYY-MM-DD)
service_idoptional string Filter by service for duration calculation
staff_idoptional string Filter by specific staff member

Example Request

GET /availability?date=2025-01-15&service_id=fa1240a6...

Response

{ "success": true, "data": { "date": "2025-01-15", "slots": [ { "startTime": "09:00", "endTime": "10:30" }, { "startTime": "11:00", "endTime": "12:30" }, { "startTime": "14:00", "endTime": "15:30" } ], "serviceDuration": 90 } }

Bookings

Create and manage appointment bookings.

GET /bookings List bookings

Returns bookings with optional filters for date range, status, and client.

Query Parameters

Parameter Type Description
dateoptional string Filter by specific date
start_dateoptional string Filter from date
end_dateoptional string Filter to date
statusoptional string pending, confirmed, completed, cancelled, no_show
client_emailoptional string Filter by client email
limitoptional integer Results per page (default: 50)
offsetoptional integer Pagination offset
POST /bookings Create booking

Creates a new appointment booking. Validates slot availability and sends confirmation email to client.

Request Body

Parameter Type Description
serviceIdoptional string Service UUID (required if no bundleId)
bundleIdoptional string Bundle UUID (required if no serviceId)
daterequired string Booking date (YYYY-MM-DD)
startTimerequired string Start time (HH:MM)
clientEmailrequired string Client email address
clientFirstNameoptional string Client first name
clientLastNameoptional string Client last name
clientPhoneoptional string Client phone number
staffIdoptional string Assign to specific staff
notesoptional string Booking notes

Example Request

{ "serviceId": "fa1240a6-a475-492e-abb2-3f22eb27d9c6", "date": "2025-01-20", "startTime": "14:00", "clientEmail": "jane@example.com", "clientFirstName": "Jane", "clientPhone": "+44 7700 900000" }
GET /bookings/{id} Get booking details

Returns full details for a specific booking.

PATCH /bookings/{id} Update booking status

Updates the status of a booking.

Request Body

{ "status": "confirmed" // confirmed, completed, cancelled, no_show }
DELETE /bookings/{id} Cancel booking

Cancels and removes a booking.

Clients

Access client database and contact information.

GET /clients List clients

Returns client database with contact information and booking history.

Query Parameters

Parameter Type Description
limitoptional integer Results per page (default: 50)
offsetoptional integer Pagination offset

Response

{ "success": true, "data": [ { "id": "client-uuid", "email": "jane@example.com", "firstName": "Jane", "lastName": "Doe", "phone": "+44 7700 900000", "totalBookings": 12, "lastBooking": "2025-01-10" } ], "pagination": { "limit": 50, "offset": 0 } }