Outlook Calendar API
Manage Outlook calendars and events through the Calendar Unified API.
Base Path
/calendar
Endpoints
Calendars
GET /calendar/calendars
List all calendars.
Request:
curl http://localhost:3007/calendar/calendars \
-H "X-API-KEY: your-internal-key" \
-H "X-Tenant-Id: my-tenant"
GET /calendar/calendars/:calendarId
Get calendar details.
Events
GET /calendar/calendars/:calendarId/events
List calendar events.
POST /calendar/calendars/:calendarId/events
Create an event.
Request:
curl -X POST http://localhost:3007/calendar/calendars/cal-123/events \
-H "Content-Type: application/json" \
-H "X-API-KEY: your-internal-key" \
-H "X-Tenant-Id: my-tenant" \
-d '{
"title": "Team Meeting",
"description": "Weekly sync meeting",
"startDateTime": "2024-01-15T10:00:00Z",
"endDateTime": "2024-01-15T11:00:00Z",
"timezone": "America/New_York",
"location": "Conference Room A"
}'
GET /calendar/calendars/:calendarId/events/:eventId
Get event details.
PUT /calendar/calendars/:calendarId/events/:eventId
Update an event.
DELETE /calendar/calendars/:calendarId/events/:eventId
Delete an event.
Free/Busy
POST /calendar/free-busy
Check free/busy status for attendees.
Request:
curl -X POST http://localhost:3007/calendar/free-busy \
-H "Content-Type: application/json" \
-H "X-API-KEY: your-internal-key" \
-H "X-Tenant-Id: my-tenant" \
-d '{
"startDateTime": "2024-01-15T00:00:00Z",
"endDateTime": "2024-01-15T23:59:59Z",
"attendees": ["john@example.com", "jane@example.com"]
}'
Data Models
Calendar
{
"id": "cal-123",
"name": "Work Calendar",
"description": "Work calendar",
"color": "#0078D4",
"timezone": "America/New_York",
"read_only": false
}
Event
{
"id": "evt-123",
"title": "Team Meeting",
"description": "Weekly sync meeting",
"start_datetime": "2024-01-15T10:00:00Z",
"end_datetime": "2024-01-15T11:00:00Z",
"timezone": "America/New_York",
"location": "Conference Room A",
"all_day": false,
"attendees": [
{
"email": "john@example.com",
"name": "John Doe",
"status": "accepted"
}
]
}