---
title: WatchFor API sandbox (no auth)
description: A live, read-only, no-authentication sandbox that returns sample data in the exact shapes of the production API — try the API before creating a key.
canonical: https://watchfor.io/docs/api/sandbox
---

# WatchFor API sandbox (no auth)

A live, read-only, no-authentication sandbox that returns sample data in the exact shapes of the production API — try the API before creating a key.

The sandbox lets you (or an AI agent) exercise the real response shapes
of `/api/v1` before signing up or creating a key. It is read-only, needs
no `Authorization` header, and never touches tenant data — every payload
is static sample data marked `"sandbox": true`.

```
https://watchfor.io/api/v1/sandbox
```

The same surface is mirrored at `/sandbox` and `/api/sandbox`.

## Resources

| Path | Returns |
| --- | --- |
| `GET /api/v1/sandbox` | Welcome object with pointers to the sample resources |
| `GET /api/v1/sandbox/summary` | An [organization summary](/docs/api/summary) |
| `GET /api/v1/sandbox/monitors` | A [monitor list](/docs/api/monitors) (slim items); `/monitors/{anything}` returns one sample monitor |
| `GET /api/v1/sandbox/incidents` | An [incident list](/docs/api/incidents) with the `rule` object; `/incidents/{anything}` returns one sample incident |
| `GET /api/v1/sandbox/locations` | A short [location list](/docs/api/locations) |
| `GET /api/v1/sandbox/monitor-types` | A two-entry excerpt of the [monitor type catalog](/docs/api/monitor-types) — the full, live catalog is public at `GET /api/v1/meta/monitor-types` |
| `GET /api/v1/sandbox/reports` | A complete [report](/docs/api/reports) document (advanced depth) |

```bash
curl https://watchfor.io/api/v1/sandbox/summary
```

```json
{
  "object": "summary",
  "sandbox": true,
  "monitors": { "total": 3, "up": 2, "down": 1, "degraded": 0, "paused": 0, "unknown": 0, "health_score": 67 },
  "incidents": { "firing": 1, "firing_critical": 1, "firing_warning": 0, "acknowledged": 0, "started_24h": 1 },
  "open_maintenance_windows": 0
}
```

Unknown sandbox paths return the standard error envelope
(`404 not_found`) with `"sandbox": true`.

## Limits and differences

- Responses are cached for a few minutes and rate-limited per IP
  (a fixed anti-abuse ceiling, with the usual `X-RateLimit-*` headers and
  `429` + `Retry-After` when exceeded).
- Only `GET` is served. To try writes, use a real organization with a
  `read` key for exploration and a `write` key when you are ready — the
  free plan needs no credit card.
- Sample ids are fixed placeholders (`00000000-0000-4000-8000-…`); the
  sample location ids are short labels rather than the UUIDs the live
  `GET /v1/locations` returns.

## Other keyless surfaces

- [`GET /api/v1/openapi.json`](https://watchfor.io/openapi.json) — the spec
- [`GET /api/v1/meta/monitor-types`](https://watchfor.io/api/v1/meta/monitor-types) — the live catalog
- [MCP server](/docs/api/mcp) discovery (`initialize`, `tools/list`,
  `resources/*`, `prompts/*`) and the whole
  [documentation MCP server](/docs/api/mcp#documentation-mcp-server)
- The [A2A Agent Card](/docs/api/a2a)
- [`/agents.md`](https://watchfor.io/agents.md) and
  [`/llms.txt`](https://watchfor.io/llms.txt)

---

Canonical page: https://watchfor.io/docs/api/sandbox · All docs: https://watchfor.io/docs · Site guide: https://watchfor.io/llms.txt
