Fresh start - excluded large ROM JSON files
This commit is contained in:
118
skills/api-gateway/references/zoho-calendar.md
Normal file
118
skills/api-gateway/references/zoho-calendar.md
Normal file
@@ -0,0 +1,118 @@
|
||||
# Zoho Calendar Routing Reference
|
||||
|
||||
**App name:** `zoho-calendar`
|
||||
**Base URL proxied:** `calendar.zoho.com`
|
||||
|
||||
## API Path Pattern
|
||||
|
||||
```
|
||||
/zoho-calendar/api/v1/{resource}
|
||||
```
|
||||
|
||||
## Common Endpoints
|
||||
|
||||
### Calendars
|
||||
|
||||
```bash
|
||||
# List calendars
|
||||
GET /zoho-calendar/api/v1/calendars
|
||||
|
||||
# Get calendar details
|
||||
GET /zoho-calendar/api/v1/calendars/{calendar_uid}
|
||||
|
||||
# Create calendar
|
||||
POST /zoho-calendar/api/v1/calendars?calendarData={json}
|
||||
|
||||
# Delete calendar
|
||||
DELETE /zoho-calendar/api/v1/calendars/{calendar_uid}
|
||||
```
|
||||
|
||||
### Events
|
||||
|
||||
```bash
|
||||
# List events (range required, max 31 days)
|
||||
GET /zoho-calendar/api/v1/calendars/{calendar_uid}/events?range={"start":"yyyyMMdd","end":"yyyyMMdd"}
|
||||
|
||||
# Get event details
|
||||
GET /zoho-calendar/api/v1/calendars/{calendar_uid}/events/{event_uid}
|
||||
|
||||
# Create event
|
||||
POST /zoho-calendar/api/v1/calendars/{calendar_uid}/events?eventdata={json}
|
||||
|
||||
# Update event (etag required in eventdata)
|
||||
PUT /zoho-calendar/api/v1/calendars/{calendar_uid}/events/{event_uid}?eventdata={json}
|
||||
|
||||
# Delete event (etag required as HEADER)
|
||||
DELETE /zoho-calendar/api/v1/calendars/{calendar_uid}/events/{event_uid}
|
||||
Header: etag: {etag_value}
|
||||
```
|
||||
|
||||
## Event Data Format
|
||||
|
||||
### Create/Update Event
|
||||
|
||||
```json
|
||||
{
|
||||
"title": "Meeting Title",
|
||||
"dateandtime": {
|
||||
"timezone": "America/Los_Angeles",
|
||||
"start": "yyyyMMdd'T'HHmmss'Z'",
|
||||
"end": "yyyyMMdd'T'HHmmss'Z'"
|
||||
},
|
||||
"description": "Event description",
|
||||
"location": "Meeting room",
|
||||
"isallday": false,
|
||||
"attendees": [
|
||||
{
|
||||
"email": "user@example.com",
|
||||
"permission": 1,
|
||||
"attendance": 1
|
||||
}
|
||||
],
|
||||
"reminders": [
|
||||
{
|
||||
"action": "popup",
|
||||
"minutes": 30
|
||||
}
|
||||
],
|
||||
"rrule": "FREQ=DAILY;COUNT=5"
|
||||
}
|
||||
```
|
||||
|
||||
### Update Event (etag required)
|
||||
|
||||
```json
|
||||
{
|
||||
"title": "Updated Title",
|
||||
"dateandtime": {...},
|
||||
"etag": 1770368451507
|
||||
}
|
||||
```
|
||||
|
||||
## Calendar Data Format
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "Calendar Name",
|
||||
"color": "#FF5733",
|
||||
"textcolor": "#FFFFFF",
|
||||
"description": "Calendar description"
|
||||
}
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- Event and calendar data is passed as JSON in query parameters (`eventdata`, `calendarData`)
|
||||
- Date/time format: `yyyyMMdd'T'HHmmss'Z'` (GMT) for timed events, `yyyyMMdd` for all-day
|
||||
- The `range` parameter for listing events cannot exceed 31 days
|
||||
- **IMPORTANT:** For delete operations, `etag` must be passed as an HTTP header, not a query parameter
|
||||
- The `etag` is required for update and delete operations - always get the latest etag before modifying
|
||||
- Permission levels for attendees: 0 (Guest), 1 (View), 2 (Invite), 3 (Edit)
|
||||
- Attendance: 0 (Non-participant), 1 (Required), 2 (Optional)
|
||||
- Reminder actions: `email`, `popup`, `notification`
|
||||
|
||||
## Resources
|
||||
|
||||
- [Zoho Calendar API Introduction](https://www.zoho.com/calendar/help/api/introduction.html)
|
||||
- [Zoho Calendar Events API](https://www.zoho.com/calendar/help/api/events-api.html)
|
||||
- [Zoho Calendar Calendars API](https://www.zoho.com/calendar/help/api/calendars-api.html)
|
||||
Reference in New Issue
Block a user