@getinvite/sdk
v0.1.7
Published
Friendly SDK for the Invite platform
Readme
@getinvite/sdk
A friendly, lightweight SDK for the Invite platform. Pre-configured to talk to api.getinvite.ai — no setup required.
Installation
npm install @getinvite/sdk
# or
pnpm add @getinvite/sdkAuth
The SDK supports two authentication modes:
- Session cookie (default) — call
sendOtp/verifyOtpto log in; subsequent requests use the auth cookie. - API key — for server-to-server callers. Pass an authorized key as
X-API-Key. Currently supported onlistAttendeesandgetAttendeeProfile.
import { configureInviteSdk } from "@getinvite/sdk";
// Configure once at startup — applied to all API-key-aware calls
configureInviteSdk({ apiKey: process.env.INVITE_API_KEY });You can also pass apiKey per call (overrides the global config):
await listAttendees("my-event-slug", 1, 50, { apiKey: "..." });OTP login
import { sendOtp, verifyOtp, getSession } from "@getinvite/sdk";
// Send a login code to an email (works for new and existing accounts)
await sendOtp("[email protected]");
// Verify the code — sets a session cookie on success
const { data, error } = await verifyOtp("[email protected]", "123456");
// Get the currently logged-in user
const { data: session } = await getSession();Events
import { getEvent, getSessions } from "@getinvite/sdk";
const { data: event } = await getEvent("my-event-slug");
const { data: sessions } = await getSessions("my-event-slug");Attendees
import {
getMyAttendeeForEvent,
listAttendees,
getAttendeeProfile,
} from "@getinvite/sdk";
// Get your own attendee record for an event
const { data: me } = await getMyAttendeeForEvent("my-event-slug");
// List public attendees for an event (paginated). Auth: session cookie OR API key.
const { data: attendees } = await listAttendees("my-event-slug", 1, 50);
// Get an attendee's full profile — details + form field responses (by user ID, attendee ID, or username).
// Auth: session cookie OR API key. With an API key, the attendee's email is always returned.
const profile = await getAttendeeProfile(
"my-event-slug",
"user-id-or-username",
);
// Filter by registration time. `registeredAtOperator` is one of
// `lt` | `gt` | `lte` | `gte` (defaults to `gte` when `registeredAt` is set).
const { data: recent } = await listAttendees("my-event-slug", 1, 50, {
registeredAt: "2026-01-01T00:00:00Z",
registeredAtOperator: "gte",
});
// Per-call API key override:
await listAttendees("my-event-slug", 1, 50, { apiKey: "..." });
await getAttendeeProfile("my-event-slug", "user-id-or-username", {
apiKey: "...",
});Error handling
All functions return { data, error } — errors are never thrown.
const { data, error } = await getEvent("my-event-slug");
if (error) {
console.error(error.detail); // typed error response
} else {
console.log(data.name);
}