---
title: "Get calendar by ID"
method: GET
path: "/v1/users/{user_id}/calendars/{id}"
tags: ["Calendars"]
---

# Get calendar by ID

`GET /v1/users/{user_id}/calendars/{id}`

## Request

- Base URL: `http://0.0.0.0:3000`
- URL: `http://0.0.0.0:3000/v1/users/{user_id}/calendars/{id}`
- Auth: none declared

Returns a single calendar by its ID. Accepts cal_xxx opaque ID format.

## Path parameters

- `user_id` string, uuid, required
- `id` string, required

## Response `200`

Default Response

- object
  - `success` boolean, required
  - `error` object
    - `code` string, required
    - `message` string, required
    - `details` unknown
  - `data` object, required
    - `id` string, required: Opaque calendar ID (cal_xxx format)
    - `integration_id` string, required: Opaque integration ID (int_xxx format)
    - `title` string, nullable: Calendar display name
    - `description` string, nullable: Calendar description
    - `active` boolean, required: Whether this calendar is being synced
    - `created_at` string, date-time, required: When the calendar was discovered
    - `updated_at` string, date-time, nullable: When the calendar was last modified

## Other responses

- `400`: Default Response
- `401`: Default Response
- `404`: Default Response
- `500`: Default Response

---

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