Skip to main content
Calendar events are synced from Google / Outlook calendars. These endpoints are read-only, and only meetings with at least one completed recording are exposed.

List all calendar events

curl "https://api.relate.so/v1/calendar_events" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "data": [
    {
      "id": "DoASO0",
      "title": "Sample Meeting",
      "start_at": "2026-05-16T11:00:00.000+09:00",
      "end_at": "2026-05-16T12:00:00.000+09:00",
      "conference_link": "https://us02web.zoom.us/j/0000000000",
      "conference_type": "Zoom",
      "attendees": [
        { "email": "alice@example.com" },
        { "email": "bob@example.com" }
      ],
      "recordings": [
        {
          "id": "K3xQzR",
          "status": "done",
          "started_at": "2026-05-16T02:00:00.000Z",
          "ended_at": "2026-05-16T03:00:00.000Z",
          "audio_duration": null
        }
      ],
      "created_at": "2026-05-10T00:00:00.000Z",
      "updated_at": "2026-05-16T03:00:00.000Z"
    }
  ],
  "pagination": { "end_cursor": 25, "has_next_page": true, "total_count": 134 }
}
Results are sorted by meeting start time, latest first.
  • first (optional): Page size, default 25
  • after (optional): Offset. Pass the pagination.end_cursor from the previous response
  • updated_after (optional): Unix timestamp. Only meetings updated after this time
  • starts_after (optional): Unix timestamp. Only meetings starting at or after this time
  • starts_before (optional): Unix timestamp. Only meetings starting before this time
  • contact_id (optional): Contact hashid. Only meetings that include this contact as an attendee
  • organization_id (optional): Organization hashid. Only meetings that include a contact from this organization as an attendee

Retrieve a calendar event

curl "https://api.relate.so/v1/calendar_events/HASHID" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
The detail response includes summary info for attached recordings (the recordings array). Detailed fields such as summary / transcript are fetched separately via the Retrieve a recording API.