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

> Update a guest’s status. Set `status` to `approved` ("Going"), `declined`, `pending_approval`, or `waitlist`. Use `should_refund` to refund a paid guest when moving them out of an approved state. Use `message` to include a personal note in the email we send the guest. To send a soft invite that guests can accept, use `/v1/events/guests/send-invites` instead.

POST`https://public-api.luma.com/v1/events/guests/update-status`

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

from charter.packs import luma

result = asyncio.run(luma.events_guests_update_status.ainvoke({"eventId": ..., "guestId": ..., "status": ...}))
```

## Body

| Field | Type | Description |
| - | - | - |
| `eventId` \* | `string` | Event ID, this usually starts with evt- |
| `guestId` \* | `string` | Guest identifier — the guest ID (gst-), a ticket key, a guest key (g-), or the user's email. |
| `status` \* | [Status](https://docs.r28.ai/charter/charter/packs/luma/events/objects.md#status) | The guest's new status. `approved` is "Going". |
| `shouldRefund` | `boolean` | If you are moving a guest who has paid to `declined`, `waitlist`, or `pending_approval`, should we refund their payment? Defaults to false. |
| `sendEmail` | `boolean` | Optional. Whether Luma should email the guest about the status change. Defaults to true. Set to false if your integration sends its own notifications. |
| `message` | `string` | Optional. Personal message included in the email we send the guest about the status change. Max of 200 characters. Can't be combined with `send_email: false`. max length 200 |


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