Changelog | Rijwind docs
Changelog
We follow semantic versioning at the API level — paths are stamped (/v1,
later /v2). v1 will keep working for at least 12 months after a v2
announcement.
Material breaking changes are announced by email at least 30 days in advance. Everything else (additive endpoints, new optional parameters, extra response fields) ships continuously.
Unreleased
Breaking — wire format
- All JSON response fields now use camelCase keys instead of
snake_case (
statusMessage,expiresAt,sourcesToTargets,fromIndex/toIndex,minLat/minLon/maxLat/maxLon,beginShapeIndex/endShapeIndex). URL query parameters stay snake_case to match the convention used by Stripe, GitHub, and most major APIs. Update any client that parses these fields by name — generated SDKs (incl.@rijwind/sdk) pick this up automatically on the nextnpm install.
Breaking — URL scheme
- Endpoints now use product namespaces with the version inside each
path —
/search/geocode/v1/{forward,autocomplete,reverse},/directions/v1,/directions-matrix/v1,/isochrone/v1,/tiles/v1/token— instead of a single shared/v1/...prefix. The old uniform paths have been retired. Update any hard-coded URLs;@rijwind/sdkpicks the new paths up automatically.
Added
POST /map-matching/v1— map matching. Snap a noisy GPS trace to the road network and get back a clean, route-shaped result. Trace capped at 100 points (or pass anencodedPolylinefor longer ones). 1 unit per call.POST /optimized-route/v1— route optimization. Find the optimal visiting order over a set of waypoints (a travelling-salesman solve); the first and last locations stay fixed. Capped at 20 locations, billedNunits per call.GET /styles/v1/{style}/static/{position}/{size}— static map images. Render a map to a PNG, WebP, or JPEG from a single URL — center + zoom, a bounding box, orauto-fit, plus size, style, markers, paths, and circles — and drop it straight into an<img>tag. 1 unit per image, 2 for@2x. See Static maps.
v1.0 — 14 May 2026
The launch release. Seven endpoints across three surfaces.
Added
GET /tiles/v1/token— short-lived signed URLs for the vector basemap, for use with MapLibre GL JS over the PMTiles protocol.GET /search/geocode/v1/forward— forward geocoding (address → coordinates).GET /search/geocode/v1/autocomplete— type-ahead variant, billed at 0.1 unit per call.GET /search/geocode/v1/reverse— reverse geocoding (coordinates → place).POST /directions/v1— turn-by-turn directions for car, bike, or pedestrian.POST /directions-matrix/v1— travel-time matrix, capped atM × N ≤ 2500pairs.POST /isochrone/v1— reachable-area polygons, capped atL × C ≤ 4.GET /openapi.json— full OpenAPI 3.1 spec at runtime, no auth, no quota cost.
Authentication
- Bearer tokens via the
Authorizationheader (rw_live_…for production,rw_test_…for sandbox). - Per-project allowed-origins whitelist with subdomain wildcards
(
https://*.example.com).
Quota & billing
- Per-user 30-day quota cycle with hard and soft cap modes; on a paid plan the cycle is anchored on your current billing anniversary, on the free plan it is anchored on your email-verification date. The exact next-reset moment is shown on the dashboard.
- Sub-unit costs supported (autocomplete = 0.1 unit) via integer-scaled Redis counters.
- EUR billing with mandate-based recurring payments via a regulated EU payment provider.
- Dashboard playground for live testing against your own keys.
Compliance
- All processing on EU-resident infrastructure.
- 30-day request log retention.
- Data Processing Agreement available click-through at /legal/dpa.
- Privacy and Terms at /legal/privacy and /legal/terms.
Last modified on