# List Events — Luma

> List events managed by the connected Luma calendar. Use this to find event IDs for Get Event, Get Guests, Add Guests, or Send Invites. This only returns events managed by the calendar, not external events merely listed on it. See the…

- Key: `luma-list-events`
- Type: Action (Read-only)
- Version: 0.0.2
- App: Luma (`luma`) — https://pipedream.com/apps/luma.md
- This page (HTML): https://pipedream.com/apps/luma/actions/list-events
- Hints: read-only · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/luma/actions/list-events/list-events.mjs

## Description

List events managed by the connected Luma calendar. Use this to find event IDs for **Get Event**, **Get Guests**, **Add Guests**, or **Send Invites**. This only returns events managed by the calendar, not external events merely listed on it. [See the documentation](https://docs.luma.com/reference/get_v1-calendar-list-events)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `after` | `string` | No | Return events starting after this ISO 8601 datetime, for example 2026-05-01T00:00:00Z. |
| `before` | `string` | No | Return events starting before this ISO 8601 datetime, for example 2026-06-01T00:00:00Z. |
| `paginationCursor` | `string` | No | The next_cursor value from a previous Luma list response. |
| `paginationLimit` | `integer` | No | The number of items to request. Luma enforces a server-side maximum. |
| `platforms` | `string[]` | No | Event platforms to include. Defaults to luma; pass both luma and external to include external events. |
| `status` | `string` | No | Calendar submission status to include. Luma defaults to approved. |
| `sortColumn` | `string` | No | The column to sort by. Luma currently supports start_at. |
| `sortDirection` | `string` | No | The order to return records in. |
| `fetchAll` | `boolean` | No | When enabled, keep following next_cursor until there are no more pages or Max Pages is reached. |
| `maxPages` | `integer` | No | The maximum number of pages to retrieve when fetching all pages. |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "luma",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
  name: "luma-list-events",
  arguments: {
    after: "After",
    before: "Before",
  },
})
```

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "luma-list-events",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    luma: { authProvisionId: "apn_xxxxxxx" },
    after: "After",
    before: "Before",
  },
})

console.log(result)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "luma-list-events",
    "configured_props": {
      "luma": { "authProvisionId": "apn_xxxxxxx" },
      "after": "After",
      "before": "Before"
    }
  }'
```

---

- App: https://pipedream.com/apps/luma.md · All apps: https://pipedream.com/apps
