Create Map Endpoint
const url = 'https://example.com/maps/';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"name":"NYC Infrastructure","description":"Buildings, parks, and transit routes in Manhattan","notes":"example","terrain_config":{"enabled":false,"source_dataset_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","exaggeration":1},"basemap_config":{"label_mode":"full","road_visibility":"full","boundary_visibility":"full","building_visibility":true,"land_water_tone":"default","relief_contrast":"soft","opacity":1,"background_color":"example","sublayer_overrides":{"additionalProperty":{"stroke_color":"example","stroke_width":1,"casing_color":"example","casing_width":1,"min_zoom":1,"max_zoom":1,"opacity":1}},"basemap_position":"bottom","projection":"mercator"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/maps/ \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "NYC Infrastructure", "description": "Buildings, parks, and transit routes in Manhattan", "notes": "example", "terrain_config": { "enabled": false, "source_dataset_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "exaggeration": 1 }, "basemap_config": { "label_mode": "full", "road_visibility": "full", "boundary_visibility": "full", "building_visibility": true, "land_water_tone": "default", "relief_contrast": "soft", "opacity": 1, "background_color": "example", "sublayer_overrides": { "additionalProperty": { "stroke_color": "example", "stroke_width": 1, "casing_color": "example", "casing_width": 1, "min_zoom": 1, "max_zoom": 1, "opacity": 1 } }, "basemap_position": "bottom", "projection": "mercator" } }'Create a new map.
Authorizations
Section titled “ Authorizations ”Request Bodyrequired
Section titled “ Request Bodyrequired ”object
Map display name
Example
NYC Infrastructureobject
Basemap label prominence.
Road and transit sublayer visibility where supported.
Administrative boundary sublayer visibility where supported.
Whether supported building/3D building basemap layers are shown.
Land and water color treatment where supported.
Master basemap opacity 0.0-1.0
object
Per-sublayer style override for a single basemap sublayer.
All fields are nullable — a None value means “use the basemap default”.
Only #RRGGBB hex strings are accepted for color fields; None means
the basemap default color is preserved. Numeric ranges are clamped at
validation time (Pydantic ge/le constraints).
The key set of BasemapConfig.sublayer_overrides is treated as opaque
(forward-compatible with future sublayer IDs).
Security: extra=“forbid” locks the scope guardrail: unknown style axes such as dash patterns, line caps, halo blur, and text-font are rejected at validation time.
object
Whether the basemap renders below (‘bottom’, default) or above (‘top’) data layers.
Map projection. ‘mercator’ (default) or experimental ‘globe’.
Responses
Section titled “ Responses ”Successful Response
object
object
Basemap label prominence.
Road and transit sublayer visibility where supported.
Administrative boundary sublayer visibility where supported.
Whether supported building/3D building basemap layers are shown.
Land and water color treatment where supported.
Master basemap opacity 0.0-1.0
object
Per-sublayer style override for a single basemap sublayer.
All fields are nullable — a None value means “use the basemap default”.
Only #RRGGBB hex strings are accepted for color fields; None means
the basemap default color is preserved. Numeric ranges are clamped at
validation time (Pydantic ge/le constraints).
The key set of BasemapConfig.sublayer_overrides is treated as opaque
(forward-compatible with future sublayer IDs).
Security: extra=“forbid” locks the scope guardrail: unknown style axes such as dash patterns, line caps, halo blur, and text-font are rejected at validation time.
object
Whether the basemap renders below (‘bottom’, default) or above (‘top’) data layers.
Map projection. ‘mercator’ (default) or experimental ‘globe’.
Who may read a map. A response names restricted only to a client
that sends X-GeoLens-Map-Visibility: restricted; any other client
reads a restricted map as private.
object
object
object
object
Per-layer popup configuration: enable/disable + custom title template
- ordered visible-fields allowlist. Persisted as JSONB on map_layers.
object
object
Unique group identifier.
Group name.
Example
{ "basemap_config": { "label_mode": "full", "road_visibility": "full", "boundary_visibility": "full", "building_visibility": true, "land_water_tone": "default", "relief_contrast": "soft", "opacity": 1, "basemap_position": "bottom", "projection": "mercator" }, "terrain_config": { "enabled": false, "exaggeration": 1 }, "visibility": "private", "layers": [ { "layer_type": "vector_geolens", "show_in_legend": true } ]}Bad request — invalid payload
Unauthorized — missing or invalid credentials
Forbidden — caller lacks write access
Not found
Conflict — resource state prevents the operation
Validation error
Too many requests — retry after the advertised interval
Headers
Section titled “ Headers ”Seconds until the request may be retried
Internal server error
Service unavailable — the database could not serve the request