---
title: "List the calendars of a room booking installation"
method: GET
path: "/api/apps/room_booking/{installation_id}/calendars"
tags: ["Apps - Room Booking"]
---

# List the calendars of a room booking installation

`GET /api/apps/room_booking/{installation_id}/calendars`

## Request

- Base URL: `https://trmnl.com`
- URL: `https://trmnl.com/api/apps/room_booking/{installation_id}/calendars`
- Auth: HTTP bearer

Every iCal calendar and every Google or Microsoft calendar selected for sync. A calendar id is "<kind>:<number>", kind being ical, google or microsoft, and is what the other calendar operations take.

## Response `200`

Success

- object
  - `data` RoomBookingCalendar[]
    - `id` string: "<kind>:<number>", the id every calendar operation takes
    - `kind` 'ical' | 'google' | 'microsoft'
    - `name` string
    - `timezone` string
    - `capacity` integer, nullable
    - `show_booking_qr` boolean
    - `show_company_logo` boolean
    - `feed_backed` boolean: Read-only feed: bookings are made in the source calendar, not here
    - `ics_url` string, nullable: iCal calendars only
    - `resource_kind` string, nullable: Google and Microsoft calendars only
    - `booking_mode` 'null' | 'reservable' | 'on_demand' | 'unavailable', nullable: Google and Microsoft calendars only
    - `last_synced_at` string, date_time, nullable
    - `last_sync_error` string, nullable
    - `bound_device_ids` integer[]: Devices showing this calendar
    - `url_display_url` string, nullable: Browser display URL, or null when no URL display is configured
    - `public_booking_token` string, nullable: Public booking token, when Booking with TRMNL is open
    - `public_booking_url` string, nullable

## Other responses

- `401`: Unauthorized
- `404`: Installation belongs to another user

---

[API](https://skmtc.dev/trmnl/apis/trmnl-api.md) · [All operations](https://skmtc.dev/trmnl/apis/trmnl-api/llms.txt) · [OpenAPI document](https://skmtc.dev/trmnl/apis/trmnl-api/revisions/66179e6d663b?raw)
