Changelog
Customer-facing changes to the Land Map Magic API. Newest entries first.
Compatibility
The public API is served under /v1. We prefer additive changes on v1: new endpoints, optional fields, and new optional parameters. Breaking changes are documented here and will either ship behind dual support or as a future /v2 with a deprecation window.
Breaking means removed or renamed fields, type changes, stricter validation, changed defaults, auth changes, or response/error shape changes that can break existing clients.
Releases
Parcels on the Data API
- Added
parcelsis now a supported layer on/v1/data/pointand/v1/data/aoi. Point lookups return the parcel at the coordinate; AOI queries return every parcel intersecting the polygon (capped at 1,000 parcels per query) with intersection acreage and percent coverage. Parcel features use the providerrobust_idas a stable id, include ownership/assessment attributes where available, and return full parcel geometry whenoptions.include_geometryis true. Billed as normal point/AOI requests — no separate parcel pricing on the Data API. - AddedBoth layer listing endpoints (
GET /v1/data/point/layers,GET /v1/data/aoi/layers) now list parcels. - FixedThe dedicated parcel search endpoints
/v1/parcels/boundsand/v1/parcels/query(point and owner searches) were returning provider errors due to an upstream API contract change. They now return parcel FeatureCollections with GeoJSON geometry again.
Data API: whole-feature geometry, corrected acreage, stable feature ids
- Fixed
/v1/data/aoinow honors the documentedoptions.include_geometry(snake_case) option. Previously only the camelCase spelling was recognized, so geometry silently came back null. Both spellings are accepted. - FixedPoint and AOI queries return complete feature geometry. Features that internally span multiple map tiles (e.g. larger CLU fields) are now dissolved server-side into one whole Polygon/MultiPolygon instead of a tile-clipped fragment.
- FixedAOI results return one row per real-world feature with correct acreage. Fields crossing tile boundaries previously appeared as multiple rows with overlapping-buffer acreage overstated by up to ~40%; CLU
feature_acresnow comes from the authoritative source acreage (calcacres) and intersection statistics are computed against the dissolved feature. - ChangedFeature ids for vector features are now the stable per-dataset feature id shared across tiles (the same id from point and AOI queries), replacing the internal tile-addressed fallback ids (z/x/y/index) that changed per tile. Ids remain stable until the underlying dataset is rebuilt; rebuilds will be announced here.
- ChangedUnsupported layer names are no longer silently ignored on
/v1/data/point. If no requested layer is supported the API returns 400 with aninvalid_layerslist; mixed requests succeed for valid layers and include top-levelwarningsandinvalid_layersfields. - Added
geometry_completeboolean on every feature returned with geometry: true when the geometry represents the entire real-world feature, false in the rare case a feature could not be fully reconstructed.
Changelog published
- AddedPublic API changelog at
/docs/changelog. Future customer-facing API changes will be recorded here.