# Quick Start — BrandApp Playground

> Four steps from an empty Next.js project to a first authenticated SDK call.

- Canonical page: https://brandapp-playground.vercel.app/getting-started
- Markdown: https://brandapp-playground.vercel.app/getting-started.md
- SDK module: `@reopt-ai/brandapp-sdk`

## Steps

1. **Install** — `npm install @reopt-ai/brandapp-sdk`. The package is on the public npm
   registry; no auth token is required.
2. **Set environment variables** — `BRANDAPP_CLIENT_ID`, `BRANDAPP_CLIENT_SECRET`, and
   `BRANDAPP_ID` from the Reopt dashboard. `REOPT_BASE_URL` and `REOPT_ID_BASE_URL` are
   optional overrides.
3. **Initialize once** — call `createReoptSDK()` in a shared module and import that
   instance. Never construct it at module scope in a file that runs during `next build`,
   because deployment secrets are intentionally unavailable then.
4. **Make a first call** — `sdk.eav.entities.list()`, `sdk.ai.credits()`, or
   `sdk.files.list({ limit: 20 })`.

## Running without credentials

`REOPT_DEV_MODE=true` starts an in-memory Reopt API on port 4300 and points the SDK at
it. Every app-scoped demo works offline; state resets when the process restarts.

## Related

- [Connection](https://brandapp-playground.vercel.app/connection.md)
- [Dev Server](https://brandapp-playground.vercel.app/dev-server.md)
- [EAV Overview](https://brandapp-playground.vercel.app/eav.md)

---

Index of every document: https://brandapp-playground.vercel.app/llms.txt
Single-file copy: https://brandapp-playground.vercel.app/llms-full.txt
HTTP API description: https://brandapp-playground.vercel.app/openapi.json
