Skip to main content
Use these steps to confirm your API key, SDK install, and network access before building an integration.
All examples below call the real Luma API. Use a test calendar and non-production data when possible.

Prerequisites

Smoke test

Create smoke.ts:
import { Luma } from "@alhwyn/luma";

const luma = new Luma(process.env.LUMA_API_KEY!);

const user = await luma.users.get();
console.log("Authenticated as:", user.email);

const { data: events } = await luma.events.list({ pagination_limit: 3 });
console.log(
  "Recent events:",
  events.map((e) => e.name ?? e.api_id),
);
This exercises luma.users.get() and luma.events.list() — see Users and Events. If the script fails with AuthenticationError, double-check the key and that your organization has API access.

Read guests on a real event

Once the smoke test passes, try read-only calls on an event you own. Use an event ID from the smoke test output or your Luma dashboard:
import { Luma } from "@alhwyn/luma";

const luma = new Luma(process.env.LUMA_API_KEY!);

const eventId = "evt-abc123";

const event = await luma.events.get(eventId);
console.log(event.name);

const { data: guests } = await luma.events.guests.list(eventId, {
  pagination_limit: 5,
});
console.log(`${guests.length} guests loaded`);
events.guests.add and events.create write data. Test writes on a dedicated test event, not a live production event.

Troubleshooting

ErrorLikely cause
AuthenticationError (401)Invalid or missing LUMA_API_KEY
ValidationError (400)Wrong parameter shape — check the method docs for that resource
RateLimitError (429)Too many requests — back off and retry
Missing LUMA_API_KEYExport the variable or add it to .env in your project root

Next steps

  • Client — initialize the Luma client
  • Events — list, create, and manage guests
  • Webhooks — receive real-time updates