# Test mode

> Add sandbox=true to a map request and get made-up people in the real response shape. Test mode needs no plan, is never billed and counts against no limit.

- **HTML:** https://offendersearch.app/docs/map/test-mode
- **Base URL:** https://api.offendersearch.app
- **Authentication:** `X-API-Key` request header
- **Map API reference as markdown:** https://offendersearch.app/docs/map.md

## What test mode is

Test mode returns made-up people in the real response shape. Add sandbox=true to any map request. It needs no plan and is never charged.

- Every person is made up. Every name label starts with “Sample”.
- The response is in the real shape, with the same fields.
- It needs no plan. Any valid key works.
- It is never billed and counts against no limit.
- Every test-mode response carries `"sandbox": true`.

## Turn it on for a request

Add `sandbox=true` to the query of `GET /v1/map/viewport`, or `"sandbox": true` to the body of `POST /v1/map/area`.

GET /v1/map/viewport

```bash
curl -G https://api.offendersearch.app/v1/map/viewport \
  -H "X-API-Key: $OFFENDERSEARCH_KEY" \
  -d bbox=-83.2,39.8,-82.8,40.1 \
  -d zoom=10 \
  -d sandbox=true
```

## Where the sample people are

The sample people are around eight US cities: Columbus, Cleveland, Cincinnati, Chicago, New York, Los Angeles, Houston and Seattle. A view anywhere else comes back empty. The examples in these docs open on Columbus.

They do not change from day to day, so a view you built against yesterday looks the same today.

## Groups and records

Group ids and marker ids from a test-mode response open test-mode data. You do not add `sandbox=true` to the groups or records routes: the id already carries it.

- A test-mode record is in the same record shape as a real one, with a made-up name, address and offense.
- Its `billing` block says `"billed": false` with `"reason": "sandbox"`.
- Columbus has a pin that stands for several people at one address, and an approximate-area pin, so you can build the list view.

## Going live

1. Turn the Map API on. See [Turn it on](https://offendersearch.app/docs/map/turn-it-on.md).
2. Remove `sandbox=true` from your requests.
3. Nothing else changes. The routes, fields and ids are the same.

---

## Related

- Previous: [Access & keys](https://offendersearch.app/docs/map/access.md)
- Next: [The viewport request](https://offendersearch.app/docs/map/viewport.md)
- Index: [Map API reference](https://offendersearch.app/docs/map.md)
