> ## Documentation Index
> Fetch the complete documentation index at: https://alhwyn.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Introduction to the unofficial @alhwyn/luma TypeScript SDK, a typed client covering users, calendars, events, guests, ticket types, and webhooks.

<Warning>
  This SDK is not affiliated with or maintained by Luma.
</Warning>

The `@alhwyn/luma` package is an unofficial TypeScript client for the [Luma public API](https://public-api.luma.com). It provides typed methods for users, calendars, events, guests, ticket types, and webhooks.

<Note>
  You need a [Luma Plus](https://luma.com) organization to use the API. See the [Luma getting started guide](https://docs.luma.com/reference/getting-started-with-your-api) for official setup.
</Note>

## How it works

```mermaid theme={null}
flowchart LR
  app[Your app] --> sdk["@alhwyn/luma"]
  sdk --> api["public-api.luma.com"]
  api --> luma[Luma]
```

You pass an API key to the `Luma` client. The SDK handles authentication and returns typed responses.

## Get started

<Steps>
  <Step title="Install the package">
    Install `@alhwyn/luma` from GitHub Packages:

    <CodeGroup>
      ```bash npm install theme={null}
      npm install @alhwyn/luma
      ```

      ```bash bun add theme={null}
      bun add @alhwyn/luma
      ```
    </CodeGroup>

    See [Install](/install) for GitHub Packages authentication.
  </Step>

  <Step title="Add your API key">
    Create a key at [Luma API keys](https://luma.com/calendar/manage/api-keys) and set `LUMA_API_KEY`. See [Authentication](/authentication).
  </Step>

  <Step title="Test your setup">
    Follow [Test your setup](/test-your-setup) with a short SDK script to confirm everything works.
  </Step>

  <Step title="Call SDK methods">
    Initialize the [Client](/client) and use the resource guides below.
  </Step>
</Steps>

## Documentation

<CardGroup cols={2}>
  <Card title="Test your setup" icon="flask" href="/test-your-setup">
    Smoke-test your API key with a short SDK script.
  </Card>

  <Card title="Client" icon="code" href="/client">
    Initialize the Luma client and shared types.
  </Card>

  <Card title="Users" icon="user" href="/users/get">
    Confirm authentication with `luma.users.get()`.
  </Card>

  <Card title="Events" icon="calendar" href="/events/list">
    List, create, and manage events, guests, and tickets.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/webhooks/create">
    Register endpoints and verify incoming events.
  </Card>
</CardGroup>

## Unofficial SDK vs official Luma docs

|         | This site                                            | [docs.luma.com](https://docs.luma.com) |
| ------- | ---------------------------------------------------- | -------------------------------------- |
| Purpose | TypeScript client for `@alhwyn/luma`                 | Official Luma API reference            |
| Auth    | `new Luma(apiKey)`                                   | `x-luma-api-key` header                |
| Testing | [Test your setup](/test-your-setup) with SDK scripts | Official playground                    |

Use this site to learn the unofficial SDK. Use [docs.luma.com](https://docs.luma.com) for official API field reference.

## Use with AI tools

Connect an AI assistant to this documentation site so it can search and cite SDK methods instead of guessing.

<Tabs>
  <Tab title="Cursor or VS Code">
    Open the contextual menu on any page and click **Connect to Cursor** or **Connect to VS Code**. Or add the hosted MCP server manually:

    ```json theme={null}
    {
      "mcpServers": {
        "unofficial-luma-sdk-docs": {
          "url": "https://unofficial-luma-sdk.mintlify.app/mcp"
        }
      }
    }
    ```
  </Tab>

  <Tab title="Skills CLI">
    Install the SDK skill for agent context:

    ```bash theme={null}
    npx skills add https://unofficial-luma-sdk.mintlify.app
    ```
  </Tab>

  <Tab title="MCP URL">
    Copy the hosted search MCP URL from the contextual menu, or use:

    ```text theme={null}
    https://unofficial-luma-sdk.mintlify.app/mcp
    ```

    Discovery endpoint: `https://unofficial-luma-sdk.mintlify.app/.well-known/mcp`

    See [Mintlify search MCP](https://mintlify.com/docs/ai/model-context-protocol) for supported clients.
  </Tab>
</Tabs>
