Table of Contents
Find the perfect meeting time with super easy online appointment scheduling software from Calendly, and say goodbye to phone and email tags. It's 100% free, super easy to use, and you'll love our customer service.
API Overview
Calendly is a scheduling software that simplifies the process of scheduling appointments, meetings, and events. It allows users to create personalized scheduling pages that can be shared with others, enabling them to book time with the user directly. Calendly integrates with various calendars, such as Google Calendar, Outlook, and iCloud, ensuring that appointments are automatically added to the user's existing schedule. It offers advanced features like automated reminders, custom notifications, and payment integrations, streamlining the scheduling workflow and enhancing productivity. Calendly's user-friendly interface and intuitive design make it accessible to individuals and teams of all sizes, helping them save time and effort while managing their appointments effectively.
Calendly API provides a comprehensive set of REST APIs that enable developers to integrate Calendly's scheduling functionality into their own applications. The API documentation is extensive and well-organized, providing clear instructions and code samples for various use cases. Developers can use the APIs to create and manage events, fetch availability, send invitations, and receive real-time updates on scheduling changes. Calendly API also supports webhooks, allowing developers to set up event-driven notifications that trigger actions in their own systems when specific events occur. Rate limits are implemented to ensure fair usage of the API and prevent excessive requests. By leveraging Calendly API, developers can extend the capabilities of their applications and offer seamless scheduling experiences to their users.
API Request Limits
Free
100 requests per minute
Pro
500 requests per minute
Teams
1000 requests per minute
Enterprise
2000 requests per minute
APIs
Method: GET
Description: Retrieve a list of calendars that belong to the authorized user..
Endpoint: calendars
Parameters: id, calendar_url, name, category, sync_token, team_fields
Method: POST
Description: Create a calendar..
Endpoint: calendars
Parameters: name, workspace_id, description, team_fields
Method: PUT
Description: Update a calendar..
Endpoint: calendars/{calendar_id}
Parameters: calendar_id, name, description, team_fields
Method: DELETE
Description: Delete a calendar..
Endpoint: calendars/{calendar_id}
Parameters: calendar_id
Method: GET
Description: Retrieve a list of event types for a calendar using its ID..
Endpoint: calendar_event_types
Parameters: calendar_id, sync_token
Method: POST
Description: Create an event type..
Endpoint: calendar_event_types
Parameters: calendar_id, team_id, name, color, location, duration, visibility, description, response_required, yes_no_maybe_question, min_attendees, max_attendees, invitees_approve_rejects, waitlist_enabled, workspace_id, team_fields
Method: PUT
Description: Update an event type..
Endpoint: calendar_event_types/{event_type_id}
Parameters: event_type_id, name, color, location, duration, visibility, description, response_required, yes_no_maybe_question, min_attendees, max_attendees, invitees_approve_rejects, waitlist_enabled, team_fields
Method: DELETE
Description: Delete an event type..
Endpoint: calendar_event_types/{event_type_id}
Parameters: event_type_id
Method: GET
Description: Retrieve a list of events associated with an event type using its ID..
Endpoint: events
Parameters: event_type_id, time_start, time_end, sync_token
Method: POST
Description: Create an event..
Endpoint: events
Parameters: event_type_id, time_start, time_end, location, invitees, team, notes, questions, send_reminder, reminder_minutes, buffer_minutes, workspace_id, team_fields
Method: PUT
Description: Update an event..
Endpoint: events/{event_id}
Parameters: event_id, time_start, time_end, location, invitees, notes, questions, send_reminder, reminder_minutes, buffer_minutes, team_fields
Method: DELETE
Description: Cancel or delete an event..
Endpoint: events/{event_id}
Parameters: event_id
Method: GET
Description: Retrieve a list of invitations sent for an event using its ID..
Endpoint: event_invitations
Parameters: event_id, recipient_email, status, time_sent, team_fields
Method: PUT
Description: Update the sent status and/or question answers for an event invitation..
Endpoint: event_invitations
Parameters: invitation_id, status, yes_no_maybe_answer, question_answers, team_fields
Method: DELETE
Description: Delete an event invitation..
Endpoint: event_invitations/{invitation_id}
Parameters: invitation_id
Method: GET
Description: Retrieve a list of questions associated with an event type using its ID..
Endpoint: questions
Parameters: event_type_id, sync_token
Method: POST
Description: Create a question associated with an event type..
Endpoint: questions
Parameters: event_type_id, question, response_type, required, options, workspace_id, team_fields
Method: PUT
Description: Update a question associated with an event type..
Endpoint: questions/{question_id}
Parameters: question_id, question, response_type, required, options, team_fields
Method: DELETE
Description: Delete a question associated with an event type..
Endpoint: questions/{question_id}
Parameters: question_id
Method: GET
Description: Retrieve a list of teams that the authorized user has access to..
Endpoint: teams
Parameters: expand, sync_token
Method: POST
Description: Create a team..
Endpoint: teams
Parameters: name, workspace_id
Method: DELETE
Description: Delete a team..
Endpoint: teams/{team_id}
Parameters: team_id
Method: GET
Description: Retrieve a team's details using its ID..
Endpoint: teams/{team_id}
Parameters: team_id
Method: POST
Description: Create a webhook..
Endpoint: webhooks
Parameters: url, event_types, workspace_id, team_id, team_fields
FAQ
Can I create an event without specifying a time?
Yes, you can create an event without a specific time by leaving the <code>start_time</code> and <code>end_time</code> fields empty.
Can I use Calendly to schedule recurring events?
Yes, you can create recurring events by setting the <code>recurrence</code> field in the event creation request.
How do I handle OAuth2 authentication with the API?
To authenticate with the API, you need to create a Calendly developer account and obtain an OAuth2 access token.
What are the rate limits for the Calendly API?
The rate limits for the Calendly API are documented in the developer documentation. You can find more information on rate limits here.
Can I use the sandbox account to test the API?
Yes, the sandbox account allows you to test the API without affecting your production data.