3.0 KiB
3.0 KiB
Acuity Scheduling Routing Reference
App name: acuity-scheduling
Base URL proxied: acuityscheduling.com
API Path Pattern
/acuity-scheduling/api/v1/{resource}
The gateway automatically prepends /api/v1 when proxying to Acuity.
Common Endpoints
Get Account Info
GET /acuity-scheduling/api/v1/me
List Appointments
GET /acuity-scheduling/api/v1/appointments?max=100&minDate=2026-02-01
Get Appointment
GET /acuity-scheduling/api/v1/appointments/{id}
Create Appointment
POST /acuity-scheduling/api/v1/appointments
Content-Type: application/json
{
"datetime": "2026-02-15T09:00",
"appointmentTypeID": 123,
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com"
}
Update Appointment
PUT /acuity-scheduling/api/v1/appointments/{id}
Content-Type: application/json
{
"firstName": "Jane",
"lastName": "Smith"
}
Cancel Appointment
PUT /acuity-scheduling/api/v1/appointments/{id}/cancel
Reschedule Appointment
PUT /acuity-scheduling/api/v1/appointments/{id}/reschedule
Content-Type: application/json
{
"datetime": "2026-02-20T10:00"
}
List Calendars
GET /acuity-scheduling/api/v1/calendars
List Appointment Types
GET /acuity-scheduling/api/v1/appointment-types
Get Available Dates
GET /acuity-scheduling/api/v1/availability/dates?month=2026-02&appointmentTypeID=123
Get Available Times
GET /acuity-scheduling/api/v1/availability/times?date=2026-02-04&appointmentTypeID=123
List Clients
GET /acuity-scheduling/api/v1/clients?search=John
Create Client
POST /acuity-scheduling/api/v1/clients
Content-Type: application/json
{
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com"
}
List Blocks
GET /acuity-scheduling/api/v1/blocks?calendarID=1234
Create Block
POST /acuity-scheduling/api/v1/blocks
Content-Type: application/json
{
"start": "2026-02-15T12:00",
"end": "2026-02-15T13:00",
"calendarID": 1234
}
Delete Block
DELETE /acuity-scheduling/api/v1/blocks/{id}
List Forms
GET /acuity-scheduling/api/v1/forms
List Labels
GET /acuity-scheduling/api/v1/labels
Notes
- Datetime values must be parseable by PHP's
strtotime()function - Timezones use IANA format (e.g., "America/New_York")
- Use
maxparameter to limit results (default: 100) - Use
minDateandmaxDatefor date-range filtering - Client update/delete only works for clients with existing appointments
- Rescheduling requires the new datetime to be an available time slot