---
name: Google Calendar
version: 1.0.0
description: "Google Calendar API access for AI agents. Create, read, update, and delete calendar events. Supports free/busy queries, recurring events, and multi-calendar management."
homepage: https://google-calendar-beyazl7hsq-uc.a.run.app
metadata: {"seren":{"category":"integration","publisher_slug":"google-calendar","api_base":"https://api.serendb.com"}}
---

# Google Calendar

Google Calendar API access for AI agents. Create, read, update, and delete calendar events. Supports free/busy queries, recurring events, and multi-calendar management.

## API Endpoints

### GET `/health`

Health check endpoint

**Example:**

```bash
curl -X GET https://api.serendb.com/publishers/google-calendar/health \
  -H "Authorization: Bearer $SEREN_API_KEY"
```

### GET `/calendars`

List calendars the user has access to

**Example:**

```bash
curl -X GET https://api.serendb.com/publishers/google-calendar/calendars \
  -H "Authorization: Bearer $SEREN_API_KEY"
```

### GET `/calendars/{calendar_id}`

Get a specific calendar

**Example:**

```bash
curl -X GET https://api.serendb.com/publishers/google-calendar/calendars/{calendar_id} \
  -H "Authorization: Bearer $SEREN_API_KEY"
```

### GET `/events`

List events with optional time range and search

**Example:**

```bash
curl -X GET https://api.serendb.com/publishers/google-calendar/events \
  -H "Authorization: Bearer $SEREN_API_KEY"
```

### GET `/events/{event_id}`

Get a specific event by ID

**Example:**

```bash
curl -X GET https://api.serendb.com/publishers/google-calendar/events/{event_id} \
  -H "Authorization: Bearer $SEREN_API_KEY"
```

### POST `/events`

Create a new calendar event

**Example:**

```bash
curl -X POST https://api.serendb.com/publishers/google-calendar/events \
  -H "Authorization: Bearer $SEREN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### PUT `/events/{event_id}`

Update an existing event (full update)

**Example:**

```bash
curl -X PUT https://api.serendb.com/publishers/google-calendar/events/{event_id} \
  -H "Authorization: Bearer $SEREN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### PATCH `/events/{event_id}`

Patch an existing event (partial update)

**Example:**

```bash
curl -X PATCH https://api.serendb.com/publishers/google-calendar/events/{event_id} \
  -H "Authorization: Bearer $SEREN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### DELETE `/events/{event_id}`

Delete an event

**Example:**

```bash
curl -X DELETE https://api.serendb.com/publishers/google-calendar/events/{event_id} \
  -H "Authorization: Bearer $SEREN_API_KEY"
```

### POST `/events/{event_id}/move`

Move event to another calendar

**Example:**

```bash
curl -X POST https://api.serendb.com/publishers/google-calendar/events/{event_id}/move \
  -H "Authorization: Bearer $SEREN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### POST `/quickAdd`

Create event from natural language text

**Example:**

```bash
curl -X POST https://api.serendb.com/publishers/google-calendar/quickAdd \
  -H "Authorization: Bearer $SEREN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### POST `/freebusy`

Query free/busy information for calendars

**Example:**

```bash
curl -X POST https://api.serendb.com/publishers/google-calendar/freebusy \
  -H "Authorization: Bearer $SEREN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### GET `/colors`

Get available calendar and event colors

**Example:**

```bash
curl -X GET https://api.serendb.com/publishers/google-calendar/colors \
  -H "Authorization: Bearer $SEREN_API_KEY"
```

### GET `/events/{event_id}/instances`

List instances of a recurring event

**Example:**

```bash
curl -X GET https://api.serendb.com/publishers/google-calendar/events/{event_id}/instances \
  -H "Authorization: Bearer $SEREN_API_KEY"
```

## MCP Tools

This API publisher also supports MCP (Model Context Protocol) access. Each API endpoint is available as an MCP tool.

### Available Tools

- `get_health`: Health check endpoint
- `get_calendars`: List calendars the user has access to
- `get_calendars_by_calendar_id`: Get a specific calendar
- `get_events`: List events with optional time range and search
- `get_events_by_event_id`: Get a specific event by ID
- `post_events`: Create a new calendar event
- `put_events_by_event_id`: Update an existing event (full update)
- `patch_events_by_event_id`: Patch an existing event (partial update)
- `delete_events_by_event_id`: Delete an event
- `post_events_by_event_id_move`: Move event to another calendar
- `post_quickAdd`: Create event from natural language text
- `post_freebusy`: Query free/busy information for calendars
- `get_colors`: Get available calendar and event colors
- `get_events_by_event_id_instances`: List instances of a recurring event

### Introspection

```bash
# List tools
curl https://api.serendb.com/publishers/google-calendar/_mcp/tools \
  -H "Authorization: Bearer $SEREN_API_KEY"

# Call a tool
curl -X POST https://api.serendb.com/publishers/google-calendar/_mcp/tools/{tool_name} \
  -H "Authorization: Bearer $SEREN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"body": {"key": "value"}}'
```

## Pricing

**Pricing Model:** per_request

- Price per request: $0.00015000

**Minimum charge:** $0.00010000

---

## Need Help?

- Seren Docs: https://docs.serendb.com
- Publisher: Google Calendar API access for AI agents. Create, read, update, and delete calendar events. Supports free/busy queries, recurring events, and multi-calendar management.
