Acuity Scheduling uses a REST API.
Acuity Scheduling provides a RESTful API for developers to integrate with their platform.
The API allows developers to perform actions like creating appointments, checking availability, managing clients, etc. through standard HTTP methods.
API requests are made to endpoints like https://acuityscheduling.com/api/v1/appointments
using HTTP verbs like GET, POST, PUT, DELETE.
The API uses JSON for data exchange.
Here's a sample API request to create an appointment using Acuity's REST API:
POST https://acuityscheduling.com/api/v1/appointments { "datetime": "2016-12-03T14:00:00-0800", "appointmentTypeID": 1, "firstName": "Bob", "lastName": "McTest", "email": "[email protected]", "fields": [{ "id": 1, "value": "Party time!" }] }
Use server-side requests to make API calls, as client-side requests would expose API credentials.
Refer to the API documentation for details on available endpoints, request/response formats, and authentication.
Handle API errors and rate limits appropriately in your integration.
In summary, Acuity Scheduling provides a standard REST API that follows common REST principles, making it straightforward to integrate with for developers familiar with RESTful web services.
Yes, the official Acuity Scheduling API does have webhooks. Here are the key details about Acuity's webhook functionality:
Acuity offers both static webhooks that can be set up in the account settings, as well as dynamic webhooks that can be created via the API.
The webhook events you can subscribe to include:
In summary, Acuity provides a robust webhook system that allows you to receive real-time notifications for key scheduling events, with options for both static and dynamic webhook creation.
Based on the search results provided, here are the key points about the API Rate Limits for the Acuity Scheduling API:
The Acuity Scheduling API has the following rate limits:
If these limits are exceeded, the API will return a 429 Too Many Requests error with the following response:
{ "status_code": 429, "error": "too_many_requests", "message": "Rate limit reached. Limit 10req/s and 20 concurrent connections." }
In summary, the Acuity Scheduling API has fairly standard rate limiting in place to prevent abuse and ensure fair usage across clients. Developers should be aware of these limits and implement appropriate measures to work within them when integrating with the API.
Based on the search results provided, here are the key points regarding the most recent version of the Acuity Scheduling API:
The current version of the Acuity Scheduling API is v1.
The API endpoint URL is https://acuityscheduling.com/api/v1/.
The API uses HTTP Basic Auth for authentication, requiring a User ID and API Key.
The API allows for various operations such as creating appointments, browsing availability, and blocking off time.
Cross-origin requests are not supported directly. API requests must be made from a server where API credentials can be securely stored.
The API provides endpoints for managing appointments, clients, forms, calendars, and more.
There is a JavaScript SDK available for integrating with the Acuity Scheduling API.
Always use HTTPS for API requests to ensure secure communication.
Store API credentials securely on your server, not in client-side code.
Use the provided SDK or follow the API documentation closely when implementing integrations.
Be aware of rate limits and implement appropriate error handling in your code.
For multi-account integrations, consider using the OAuth2 authentication flow.
While the search results don't explicitly state when the v1 API was released or if there are plans for a newer version, the consistent reference to v1 across multiple sources suggests that it is the most current version available as of the search date.
To get a developer account for Acuity Scheduling and create an API integration, you'll need to follow these steps:
First, you need to have an active Acuity Scheduling account. If you don't already have one, sign up for an account on their website.
To create an API integration, you'll need to register as an OAuth2 client. This is recommended if you're developing an application where many different Acuity users need to authenticate. Here's how to do it:
Once registered, you'll receive the following credentials:
These credentials are essential for authenticating your requests to the Acuity API.
With your credentials in hand, you can now set up your integration:
Use the authorization URL to redirect users to Acuity for authentication:
https://acuityscheduling.com/oauth2/authorize?response_type=code&scope=api-v1&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI
After user authorization, you'll receive an authorization code
Exchange this code for an access token using a POST request to Acuity's token endpoint
Once you have the access token, you can start making API requests to Acuity. Set the Authorization
header to Bearer AN_ACCESS_TOKEN
in your requests.
Based on the Acuity Scheduling API documentation, here are the main data models you can interact with and what is possible for each:
The API allows you to manage most aspects of scheduling and client management in Acuity, including creating and modifying appointments, managing availability, working with clients, and more. The data models cover the core functionality of the scheduling system.