---
title: "Update Calendar Config"
method: PUT
path: "/api/user/calendar/config"
---

# Update Calendar Config

`PUT /api/user/calendar/config`

Replace all enabled calendars (delete existing, insert new).

The ``is_primary`` flag is auto-detected by querying Google's
calendarList for the current user, so the frontend does not need to
pass it through. The agent uses it to disambiguate when the LLM
omits ``calendar_id`` and the user has multiple enabled calendars.

## Request body

- CalendarConfigUpdate
  - `calendars` CalendarConfigEntry[], required
    - `calendar_id` string, required
    - `display_name` string, required
    - `disabled_tools` string[]
    - `access_role` string

## Response `200`

Successful Response

- CalendarConfigResponse
  - `calendars` CalendarConfigEntry[], required
    - `calendar_id` string, required
    - `display_name` string, required
    - `disabled_tools` string[]
    - `access_role` string

## Other responses

- `422` — Validation Error

## Changes

- **2026-03-31** `d096c2fda39b` — 2 info
  - added the new optional request property `calendars/items/access_role`
  - added the optional property `calendars/items/access_role` to the response with the `200` status
- **2026-03-30** `94e01de5bc0e` — 1 info
  - endpoint added
- **2026-03-20** `4c528359213d` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/mozilla-ai/apis/clawbolt/changes/api/user/calendar/config/put.md)

---

[API](https://skmtc.dev/mozilla-ai/apis/clawbolt.md) · [All operations](https://skmtc.dev/mozilla-ai/apis/clawbolt/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/mozilla-ai/clawbolt/revisions/579c110de1b8/schema)
