# Get started

> Set up authentication, make your first API call, and understand the token lifecycle — in about 15 minutes.

Everything you need to go from zero to a working integration.

- [**Authentication**](authentication) — The full OAuth 2.0 + PKCE flow: discovery, optional client registration, the authorize redirect, magic-link login, code exchange, bearer tokens, refresh rotation, scopes, and error handling.
- [**Your first call**](your-first-call) — A step-by-step walkthrough that ends with a successful `list_businesses` response.
- [**Quickstart**](quickstart) — A one-page cheat sheet: get a token, call a tool, refresh, handle rate limits.

## Before you begin

You need two things before writing any code:

1. **A Caramel account.** Sign up at [caramelme.com](https://caramelme.com). The free Starter tier is enough to authenticate and call the read-only tools.
2. **An OAuth client ID.** Most clients (Claude, Lovable, Cursor, or any app using a `localhost` redirect URI) self-register automatically — no setup needed. If your app uses a hosted redirect URI (for example `https://yourapp.com/oauth/callback`), email `aymen@reactmotion.com` with your app name, redirect URIs, and requested scopes.
