What you’re building
The Confera Public API is designed for "read data" (website + schedule) and "write check-ins / registrations". The SDK is just a safe, typed-ish wrapper around those endpoints.
The golden rule: keys never go to the browser. Your app server calls Confera, then your browser calls your server.
Install
Environment variables
Put these in your server environment (Vercel/Render/Fly/EC2/etc). For local dev, use .env.local.
Server-only rule (non-negotiable)
- Do: call the SDK from your server (API routes, server actions, cron jobs).
- Don’t: call the SDK from React client components or any browser JS bundle.
If you need data in the browser, create a server endpoint in your app that returns safe JSON.
Next.js App Router walkthrough (recommended)
This pattern keeps secrets server-only and gives your UI a clean endpoint to call.
Create one key for “Website + schedule reads” and a separate key for “Kiosk check-ins”. That way, a leaked kiosk key can’t read registrations.
Node/Express walkthrough
Errors & retries
The SDK throws ConferaApiError on non-2xx responses. Handle it once in your server layer.
Production checklist
- Keys live only on the server (never in browser code).
- Use the smallest scopes you need.
- Use one key per integration.
- Rotate keys periodically.
- Log errors with status + code (helps support).
- Keep timeouts reasonable for kiosks (fast fail, retry).
- Expect keys to stop working when the conference is not live or the plan ends.