canonical: https://jentic.com/apis/cronofy.com/cronofy

# Cronofy Calendar API

Jentic publishes the only available OpenAPI specification for Cronofy Calendar API, keeping it validated and agent-ready. The Cronofy Calendar API is a calendar aggregation service that gives unified access to Google, Apple, Exchange, and Outlook calendars. Across 8 endpoints it lists calendars, reads and writes events, queries free/busy and availability, and opens push notification channels.

## For AI agents

Read and write calendar events, list calendars, and query free/busy and availability across Google, Apple, Exchange, and Outlook through one API. Authenticates with an OAuth2 access token or a bearer token.

## Scope

Does not send email, host video meetings, or provide a public booking page. Use for calendar aggregation, event management, and availability only.

## Capabilities

- List a user's connected calendars across providers
- Read events and write, update, or delete events on a calendar
- Query free/busy information for scheduling decisions
- Query real-time availability for a set of participants
- Open a push notification channel for calendar changes

## Use cases

### Agent-Driven Meeting Scheduling

An AI agent connected through Jentic can find and book a meeting time without a human juggling calendars. It queries availability across the participants, picks a slot that works, and creates the event on the organiser's calendar, working the same way whether the underlying calendar is Google, Outlook, Exchange, or Apple.

Example prompt: Query availability for three participants next week, choose a common free slot, and create the meeting on the organiser's calendar

### Free/Busy Aware Automation

Workflows that act on a person's schedule need to know when they are busy. The Cronofy Calendar API returns free/busy information across a user's connected calendars, so an automation can hold off on proposing times that clash and only surface genuinely open windows.

Example prompt: Read a user's free/busy information for the next three days and return the open time windows

### Calendar Change Notifications

Systems that mirror or react to calendar changes should not poll constantly. By opening a push notification channel, an integration is told when events change, letting an agent refresh its view of a calendar only when something has actually moved.

Example prompt: Create a push notification channel so the agent is alerted whenever events on the linked calendar change

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/v1/calendars` | List a user's connected calendars |
| GET | `/v1/events` | Read events across connected calendars |
| POST | `/v1/calendars/{calendar_id}/events` | Create or update an event on a calendar |
| GET | `/v1/free_busy` | Get free/busy information |
| POST | `/v1/availability` | Query availability across participants |

## Key resources

- **Calendars** — List the calendars connected to a user's account
- **Events** — Read, create, update, and delete events on a calendar
- **Availability** — Query free/busy information and real-time availability across participants
- **Channels** — Create push notification channels for calendar changes

## Why Jentic

- **Setup:** Wiring Cronofy by hand means running the OAuth2 authorization code flow, managing token refresh, and picking the right regional data-centre endpoint. Through Jentic you install once, import Cronofy from the API Directory, store your OAuth2 credentials once, and your agent calls the calendar and scheduling operations.
- **Permission scoping:** Event operations address a calendar by its ID in the URL path, so a rule can bound your agent to a specific calendar and to specific operations, while the OAuth2 scopes such as read_events limit it further. You might allow reading events and availability but block event deletion.
- **Credential handling:** Your Cronofy OAuth2 tokens and client secret are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'find a time when everyone is free', and Jentic returns the matching Cronofy operation with its input schema so the agent calls it with the right participants and calendar.

## Related APIs

- **Nylas** — Unified calendar, email, and contacts API across Google and Microsoft accounts
- **Google Calendar** — Direct access to Google Calendar events, calendars, and free/busy
- **Calendly** — Booking pages and scheduling links for external guests
- **Acuity Scheduling** — Appointment booking with intake forms and client management

## FAQ

### Why is there no official OpenAPI spec for Cronofy Calendar API?

Cronofy publishes developer documentation but not a machine-readable OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call the API via structured tooling. It is validated against the live API and kept up to date. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### What authentication does the Cronofy Calendar API use?

Per its OpenAPI spec, user-facing endpoints use an OAuth2 authorization code access token, while application-level endpoints such as availability accept a bearer token obtained via OAuth2 or the application's client secret. Through Jentic these credentials are stored once by your own self-hosted instance and injected when the agent calls, so they never appear in the agent's prompt or logs.

### Is there a Cronofy MCP server?

You don't need an MCP server to give your agent the Cronofy Calendar API. Jentic connects it directly from the API Directory: import it, store your OAuth2 credentials once, and your agent calls the calendar and scheduling operations. Operations are discovered on demand, so nothing extra loads into the agent's context.

### Can I restrict what my agent is allowed to do with the Cronofy Calendar API?

Yes. Event operations address a calendar by its ID in the URL path, so a rule can bound the agent to a specific calendar as well as to specific operations, and the OAuth2 scopes such as read_events or create_event limit access further. You might allow reading events and querying availability while blocking event deletion, with every call logged.

### Which calendar providers does the Cronofy Calendar API support?

According to its specification the API aggregates Google, Apple, Exchange, and Outlook calendars behind one interface, so your agent uses the same operations regardless of which provider a user has connected.

### What are the rate limits for the Cronofy Calendar API?

The OpenAPI spec does not specify rate limits. Check the Cronofy documentation at https://docs.cronofy.com for current limits and regional data-centre endpoints before running high-volume scheduling jobs.

### How do I find a free meeting slot through Jentic?

Search Jentic by intent, for example 'find a time when everyone is free', and Jentic returns the availability operation with its input schema. Your agent supplies the participants and reads back the open slots. To run it on your own infrastructure, install Jentic One from its GitHub repo.
