# Google Calendar Integration via LowCodeAPI

## Overview

Google Calendar API provides programmatic access to calendar events and settings. Create, read, update, and delete events, manage calendars, and sync scheduling data.

## Base Endpoint

```
https://api.lowcodeapi.com/googlecalendar/
```

## Authentication

LowCodeAPI handles authentication automatically using OAuth2.0 credentials.

**Auth Type**: OAuth2.0

## Common Endpoints

### Category: Events

#### List Events

**Method**: `GET` | **LowCodeAPI Path**: `/calendar/v3/calendars/calendarId/events`

**Full URL**:
```
https://api.lowcodeapi.com/googlecalendar/calendar/v3/calendars/calendarId/events?calendarId={calendarId}&api_token={api_token}
```

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `calendarId` | string | Yes | Calendar identifier (use 'primary' for main calendar) |
| `timeMin` | string | No | Start of event range (RFC 3339 timestamp) |
| `timeMax` | string | No | End of event range (RFC 3339 timestamp) |
| `q` | string | No | Free text search |
| `maxResults` | number | No | Maximum results to return |
| `api_token` | string | Yes | Your LowCodeAPI authentication token |

**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/googlecalendar/calendar/v3/calendars/calendarId/events?calendarId=primary&timeMin=2024-01-01T00:00:00Z&api_token=YOUR_API_TOKEN"
```

---

#### Create Event

**Method**: `POST` | **LowCodeAPI Path**: `/calendar/v3/calendars/calendarId/events`

**Full URL**:
```
https://api.lowcodeapi.com/googlecalendar/calendar/v3/calendars/calendarId/events?calendarId={calendarId}&api_token={api_token}
```

**Description**: Create a new event

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `calendarId` | string | Yes | Calendar identifier (use 'primary') |
| `api_token` | string | Yes | Your LowCodeAPI authentication token |

**Body Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `summary` | string | No | Event title |
| `start` | object | Yes | Event start time |
| `end` | object | Yes | Event end time |
| `description` | string | No | Event description |
| `location` | string | No | Event location |
| `attendees` | array | No | List of attendees |

**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/googlecalendar/calendar/v3/calendars/calendarId/events?calendarId=primary&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "summary": "Team Meeting",
    "start": {
      "dateTime": "2024-01-15T10:00:00Z"
    },
    "end": {
      "dateTime": "2024-01-15T11:00:00Z"
    },
    "description": "Weekly team sync",
    "location": "Conference Room A"
  }'
```

---

## Usage Examples

### Example 1: Calendar Event Management

```bash
# Step 1: List upcoming events
# Use 'primary' for your main calendar (no calendar ID needed)
curl -X GET "https://api.lowcodeapi.com/googlecalendar/calendar/v3/calendars/calendarId/events?calendarId=primary&timeMin=2024-01-01T00:00:00Z&maxResults=10&api_token=YOUR_API_TOKEN"

# Step 2: Create a new event
# No ID required - creates event and returns event ID
curl -X POST "https://api.lowcodeapi.com/googlecalendar/calendar/v3/calendars/calendarId/events?calendarId=primary&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "summary": "Important Meeting",
    "start": {"dateTime": "2024-12-25T14:00:00Z"},
    "end": {"dateTime": "2024-12-25T15:00:00Z"},
    "description": "Annual review meeting"
  }'

# Step 3: Get specific event details
# Replace EVENT_ID with the ID returned from Step 2
curl -X GET "https://api.lowcodeapi.com/googlecalendar/calendar/v3/calendars/calendarId/events/eventId?calendarId=primary&eventId=EVENT_ID&api_token=YOUR_API_TOKEN"
```

## Complete Endpoint Reference

- **Official Documentation**: [https://developers.google.com/calendar/api](https://developers.google.com/calendar/api)