> ## 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.

# events_hosts_add

> Add a host to an event. This works for both managers and check-in staff — use the access_level parameter to control permissions.

POST`https://public-api.luma.com/v1/events/hosts/add`

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

from charter.packs import luma

result = asyncio.run(luma.events_hosts_add.ainvoke({"eventId": ..., "email": ...}))
```

## Body

| Field | Type | Description |
| - | - | - |
| `eventId` \* | `string` | Event ID, this usually starts with evt- |
| `email` \* | `string` | Email of the person to make a host. |
| `accessLevel` | [AccessLevel](https://docs.r28.ai/charter/charter/packs/luma/events/objects.md#accesslevel) | Defaults to manager. |
| `isVisible` | `boolean` | Whether the host is shown on the event page. Defaults to true, except for `check-in` hosts, which are never shown — passing `true` with `check-in` is an error. |
| `name` | `string` | Name of the host you are adding. If they already have a Luma profile, this will be ignored. |


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