> ## Documentation Index
> Fetch the complete documentation index at: https://docs.metar.ws/llms.txt
> Use this file to discover all available pages before exploring further.

# Sandbox Mode

> A full-fidelity integration environment on the free plan, with a fixed demo channel instead of measured weather.

The free Sandbox plan is a complete integration environment, not a limited trial. Key issuance, connecting, subscribing, and message shapes all behave exactly like production. Only the data source is different.

## What's available

* `sandbox.demo`: a fixed demo channel you can subscribe to at any time.
* `metar.forecast.basic.<icao>`: real basic-tier model forecasts, available on Sandbox and up.

Measured weather stays out of reach: `metar.obs.*` and `metar.atis.*` both respond with a `permission_denied` error on a Sandbox key, since sandbox shows what a model expects, not what a station recorded.

## Sending a test alert

The **Send test alert** button on the Billing page in the portal publishes a fixed demo observation to your live connections.

```json theme={null}
{
    "type": "publication",
    "channel": "sandbox.demo",
    "data": {
          "station": "DEMO",
          "temp_c": "21.50",
          "report_time": "2026-07-12T16:34:15Z",
          "raw": "METAR DEMO 011200Z 24008KT CAVOK 21/12 Q1018 NOSIG",
          "dewp_c": "12",
          "wdir": 240,
          "wspd_kt": 8,
          "visib_m": 9999,
          "cavok": true,
          "altim_hpa": 1018
    }
}
```

The `data` object has the same shape as a live observation, so a parser built against sandbox data runs unchanged in production. `report_time` is stamped fresh on every alert, which is useful for testing deduplication logic.

<Note>
  Test alerts are rate-limited to one every 5 seconds, up to 200 per day.
</Note>

## Upgrading

Moving to Starter or Pro switches your existing keys to live data automatically. There is no need to reissue keys or change your reconnect logic; the next message you receive will simply come from the new plan's channels.

<Card title="Next: Channels Overview" icon="tower-broadcast" href="/channels/overview">
  See every channel namespace and how last-value replay works.
</Card>
