Introduction

Aptura is a unified API that lets you connect to multiple scheduling and booking platforms through a single integration.

Instead of building and maintaining separate integrations for Mindbody, Boulevard, Square, and other booking systems, you integrate once with Aptura and instantly support all of them.

Quickstart

Get your first API call working in under 5 minutes.

1. Get your API key

Sign up at aptura.dev to get your API key. You'll receive a key that looks like apt_live_abc123...

2. Connect a provider

Use the dashboard to connect a booking platform. Each connection represents one business's account on a provider.

3. Fetch availability

curl https://api.aptura.dev/v1/availability \
  -H "Authorization: Bearer apt_live_abc123" \
  -H "X-Connection-Id: conn_xyz789" \
  -G \
  -d "serviceId=svc_haircut" \
  -d "startDate=2024-03-01" \
  -d "endDate=2024-03-07"

4. Book an appointment

curl -X POST https://api.aptura.dev/v1/appointments \
  -H "Authorization: Bearer apt_live_abc123" \
  -H "X-Connection-Id: conn_xyz789" \
  -H "Content-Type: application/json" \
  -d '{
    "serviceId": "svc_haircut",
    "staffId": "staff_jane",
    "startTime": "2024-03-15T10:00:00Z",
    "client": {
      "firstName": "Alex",
      "lastName": "Johnson",
      "email": "alex@example.com"
    }
  }'

Authentication

All API requests require authentication using your API key.

API Keys

Include your API key in the Authorization header:

Authorization: Bearer apt_live_abc123...

Keep your API keys secure

Never expose API keys in client-side code or public repositories.

Connection ID

Most endpoints also require a X-Connection-Id header:

X-Connection-Id: conn_xyz789

Test vs Live Mode

Key PrefixModeReal Bookings
apt_test_TestNo
apt_live_LiveYes

Get Availability

Retrieve available time slots for a service within a date range.

GET/v1/availability

Query Parameters

NameTypeDescription
serviceIdrequiredstringThe service to check availability for
startDaterequiredstringStart of date range (YYYY-MM-DD)
endDaterequiredstringEnd of date range (YYYY-MM-DD)
staffIdstringFilter by staff member

Response

{
  "provider": "mindbody",
  "serviceId": "svc_haircut",
  "slots": [
    {
      "startTime": "2024-03-15T10:00:00Z",
      "endTime": "2024-03-15T11:00:00Z",
      "staffId": "staff_jane",
      "staffName": "Jane Smith"
    }
  ]
}

Create Appointment

Book a new appointment.

POST/v1/appointments

Request Body

{
  "serviceId": "svc_haircut",
  "staffId": "staff_jane",
  "startTime": "2024-03-15T10:00:00Z",
  "client": {
    "firstName": "Alex",
    "lastName": "Johnson",
    "email": "alex@example.com",
    "phone": "+15551234567"
  },
  "notes": "First time client"
}

Response

{
  "id": "apt_123abc",
  "provider": "mindbody",
  "status": "confirmed",
  "service": {
    "id": "svc_haircut",
    "name": "Haircut",
    "durationMinutes": 60
  },
  "staff": {
    "id": "staff_jane",
    "name": "Jane Smith"
  },
  "startTime": "2024-03-15T10:00:00Z",
  "endTime": "2024-03-15T11:00:00Z"
}

Mindbody

Mindbody is one of the most popular booking systems for fitness studios, salons, and spas.

Authentication

Mindbody connections require:

  • apiKey - Your Mindbody API key
  • siteId - The business's Mindbody site ID

Note

Mindbody requires creating a client record before booking. Aptura handles this automatically when you create an appointment.

Boulevard

Boulevard is a modern booking platform popular with high-end salons and med spas.

Cart-Based Booking

Boulevard uses a cart-based booking flow internally. Aptura abstracts this complexity—you just call createAppointment and we handle the cart creation, reservation, and checkout.

Square

Square Appointments is integrated with Square's broader commerce platform.

Authentication

Square uses OAuth 2.0. You can either:

  • Use our hosted OAuth flow (recommended)
  • Provide an access token directly
Need help? Email us at support@aptura.dev