Endpoints
Call these through the okoro proxy at https://okoro.ai/p/google-calendar
| Action | Method | Path | Min scope |
|---|---|---|---|
| List calendars | GET | read | |
| Read calendar | GET | read | |
| List events | GET | read | |
| Read event | GET | read | |
| List recurring event instances | GET | read | |
| Create event | POST | read | |
| Quick-add event | POST | read | |
| Update event | PATCH | update | |
| Replace event | PUT | update | |
| Delete event | DELETE | delete | |
| Query free/busy | POST | read |
Examples
Every request requires a short-lived operation token scoped to a single action.
1. Get an operation token
Exchange your service token for a short-lived operation token scoped to a single action.
TOKEN=$(curl -sX POST "https://okoro.ai/t/tokens" \
-H "Authorization: Bearer $OKORO_SERVICE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"provider": "google-calendar", "scope": "read", "intent": "describe what you are doing"}' \
| jq -r '.token')2. Call the API
Use the operation token as a Bearer token. The proxy forwards the request to Google Calendar and logs the action.
List calendars
curl -X GET "https://okoro.ai/p/google-calendar/v3/users/me/calendarList" \
-H "Authorization: Bearer $TOKEN"Read calendar
curl -X GET "https://okoro.ai/p/google-calendar/v3/calendars/{id}" \
-H "Authorization: Bearer $TOKEN"List events
curl -X GET "https://okoro.ai/p/google-calendar/v3/calendars/{id}/events" \
-H "Authorization: Bearer $TOKEN"Read event
curl -X GET "https://okoro.ai/p/google-calendar/v3/calendars/{id}/events/{id}" \
-H "Authorization: Bearer $TOKEN"List recurring event instances
curl -X GET "https://okoro.ai/p/google-calendar/v3/calendars/{id}/events/{id}/instances" \
-H "Authorization: Bearer $TOKEN"Create event
curl -X POST "https://okoro.ai/p/google-calendar/v3/calendars/{id}/events" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{}'Quick-add event
curl -X POST "https://okoro.ai/p/google-calendar/v3/calendars/{id}/events/quickAdd" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{}'Update event
curl -X PATCH "https://okoro.ai/p/google-calendar/v3/calendars/{id}/events/{id}" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{}'Replace event
curl -X PUT "https://okoro.ai/p/google-calendar/v3/calendars/{id}/events/{id}" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{}'Delete event
curl -X DELETE "https://okoro.ai/p/google-calendar/v3/calendars/{id}/events/{id}" \
-H "Authorization: Bearer $TOKEN"Query free/busy
curl -X POST "https://okoro.ai/p/google-calendar/v3/freeBusy" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{}'Scopes
Your service token must be configured with at least the required scope level.
readGET
POST/v3/calendars/*
/v3/calendars/*/events
/v3/calendars/*/events/*
/v3/calendars/*/events/*/instances
/v3/users/me/calendarList
/v3/freeBusywriteGET
POST/v3/calendars/*/events
/v3/calendars/*/events/*
/v3/calendars/*/events/quickAddupdateGET
POST
PUT
PATCH/v3/calendars/*/events
/v3/calendars/*/events/*
/v3/calendars/*/events/quickAdddeleteGET
POST
PUT
PATCH
DELETE/v3/calendars/*/events
/v3/calendars/*/events/*allGET
POST
PUT
PATCH
DELETE/v3/**Skill
A Claude Code skill for Google Calendar — token caching, scope enforcement, and audit logging built in.
gcal
View the skill, browse files, and get install instructions →