# Routebase sandbox

Synthetic dataset for trying the API without an account and without anyone's
real data: 300 recurring locations sampled onto the real road network (OSRM),
a fictional depot, frequencies from weekly to every 4 weeks. Deterministic;
regenerated by `api/scripts/make_sandbox.py`.

## Try it now: no signup

The public demo key `rb_demo_sandbox` works on the sync endpoints
(`/day-plans`, `/detour-candidates`, `/insertions`), capped and rate-limited.

Solve one fleet day (35 stops, 5 vehicles, ~5 s):

    curl -X POST https://api.routebase.nl/v1/day-plans \
      -H "Authorization: Bearer rb_demo_sandbox" \
      -H "Content-Type: application/json" \
      -d @sandbox-day.json

## The full recurring problem

`sandbox.json` is a complete `POST /v1/recurring-plans` body: 1,416 task
instances over 4 weeks (300 locations x frequency), locations with the depot
as the last row, vehicles and effort included. It queues a background job, so
it needs a regular API key:

    curl -X POST https://api.routebase.nl/v1/recurring-plans \
      -H "Authorization: Bearer rb_<your key>" \
      -H "Content-Type: application/json" \
      -d @sandbox.json
    # -> {"job_id": ..., "poll": "/v1/jobs/<id>"}

Files:

- `sandbox-day.json`: one day, sync, works with the demo key
- `sandbox.json`: the quarter-scale recurring problem (4 weeks)
