# API Playground

:::tip[Playground vs Sandbox]
**Playground** (this page) — a form with a dropdown of all {siteMeta.endpoints} endpoints, for a quick HTTP request without writing code.
**[Sandbox](/en/sandbox/)** — a TypeScript editor with `AstrowayClient`, for code. Output is `console.log` plus a shareable URL.
:::

A ready-to-send request with example parameters — just click **Send**. The API key is entered once and stored in your browser's `localStorage` (it never leaves your browser except to hit the AstroWay API itself).

<Playground lang="en" client:only="react" />

## How it works

- Endpoint dropdown — all {siteMeta.endpoints} endpoints from the [OpenAPI spec](/v1/openapi.json), grouped by tag
- On selection — the `example` from the spec is populated (or a hard-coded default for `/chart`, `/synastry`, `/transits`)
- The API key is saved in localStorage. Clear the field to remove it from storage.
- The request goes straight from your browser to `https://api.astroway.info/v1` — no proxy, the response is shown as-is.
- Public endpoints (`/v1/public/*`) work without a key — **Send** will succeed with an empty field.

## Sandbox keys

For testing use keys with the `aw_test_` prefix — they don't consume credits. Create one in the [dashboard → API Keys](/dashboard/keys), click "Create key" → mode "Test".

## Limits

CORS allows requests from `api.astroway.info` (here) and from `localhost`. Other origins will be blocked by the browser preflight — that's fine for serverless integrations (CORS doesn't apply there).
