> ## Documentation Index
> Fetch the complete documentation index at: https://docs.r28.ai/charter/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Charter works for any HTTP API, including the user's own. The packs are examples of the result, not the limit: an API with no pack is declared the same way, following https://raw.githubusercontent.com/r28ai/charter/main/docs/.mintlify/skills/declaring-charter-tools/SKILL.md.
> Charter is for agents that act in customers' accounts: every call is checked field by field before it's sent, the app says whose account each call is for, and the same declarations list what each tool can reach. https://docs.r28.ai/charter/llms.txt says what it is and lists every page.

# calendars_update

> Update a calendar's settings. Only the provided fields are changed. Pass null or an empty string to clear the website or a social handle.

POST`https://public-api.luma.com/v1/calendars/update`

```python luma_calendars_update.py theme={null}
import asyncio

from charter.packs import luma

result = asyncio.run(luma.calendars_update.ainvoke({"calendarId": ...}))
```

## Body

| Field | Type | Description |
| - | - | - |
| `calendarId` \* | `string` | Calendar ID, this usually starts with cal-. |
| `name` | `string` | Name of the calendar. |
| `launchStatus` | [LaunchStatus](https://docs.r28.ai/charter/charter/packs/luma/calendars/objects.md#launchstatus) | Calendar status: launched means Active; coming-soon shows a placeholder page; archived stops new follows and visitor event submissions. |
| `slug` | `string` | URL slug for the calendar page (e.g. 'my-community' → lu.ma/my-community). |
| `description` | `string` | Short description of the calendar. |
| `avatarUrl` | `string` | Specify an image that has been uploaded to the Luma CDN. |
| `tintColor` | `string` | Tint color for the calendar in hex format (e.g. '#E3CBEF'). |
| `website` | `string` | Website URL. `https://` is added if missing. |
| `instagramHandle` | `string` | Instagram handle or profile URL (e.g. 'luma' or '[https://instagram.com/luma](https://instagram.com/luma)'). |
| `twitterHandle` | `string` | X (Twitter) handle or profile URL (e.g. '@luma' or '[https://x.com/luma](https://x.com/luma)'). |
| `youtubeHandle` | `string` | YouTube handle or channel URL (e.g. '@luma' or '[https://youtube.com/@luma](https://youtube.com/@luma)'). |
| `tiktokHandle` | `string` | TikTok handle or profile URL (e.g. '@luma' or '[https://tiktok.com/@luma](https://tiktok.com/@luma)'). |
| `linkedinHandle` | `string` | LinkedIn company or profile URL (e.g. '[https://linkedin.com/company/luma](https://linkedin.com/company/luma)'). |
| `location` | [LocationGoogle](https://docs.r28.ai/charter/charter/packs/luma/calendars/objects.md#locationgoogle) \| [LocationLookup](https://docs.r28.ai/charter/charter/packs/luma/calendars/objects.md#locationlookup) | City the calendar is based in. Use `&#123; type: 'lookup', query &#125;` to search Google Maps for a city, or `&#123; type: 'google', place_id &#125;` with a city's Google Places ID. The calendar's timezone and coordinate come from the city. Pass `null` to clear it. |
| `eventDefaults` | [EventDefaults](https://docs.r28.ai/charter/charter/packs/luma/calendars/objects.md#eventdefaults) | Settings new events on this calendar start with. Only the provided fields change, and existing events aren't affected. `visibility: 'members-only'` requires a membership tier on the calendar. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.