Update Map Endpoint
const url = 'https://example.com/api/maps/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = { method: 'PUT', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"name":"example","description":"example","notes":"example","center_lng":1,"center_lat":1,"zoom":1,"bearing":1,"pitch":1,"basemap_style":"example","show_basemap_labels":true,"basemap_config":{"label_mode":"full","road_visibility":"full","boundary_visibility":"full","building_visibility":true,"land_water_tone":"default","relief_contrast":"soft","opacity":1,"sublayer_overrides":{"additionalProperty":{"stroke_color":"example","stroke_width":1,"casing_color":"example","casing_width":1,"min_zoom":1,"max_zoom":1,"opacity":1}}},"terrain_config":{"enabled":false,"source_dataset_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","exaggeration":1},"visibility":"private","layers":[{"dataset_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","sort_order":0,"visible":true,"opacity":1,"paint":{},"layout":{},"display_name":"example","filter":["example"],"label_config":{},"popup_config":{"enabled":true,"expression":"example","visible_fields":["example"]},"style_config":{},"layer_type":"example","show_in_legend":true}],"widgets":["example"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://example.com/api/maps/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "example", "description": "example", "notes": "example", "center_lng": 1, "center_lat": 1, "zoom": 1, "bearing": 1, "pitch": 1, "basemap_style": "example", "show_basemap_labels": true, "basemap_config": { "label_mode": "full", "road_visibility": "full", "boundary_visibility": "full", "building_visibility": true, "land_water_tone": "default", "relief_contrast": "soft", "opacity": 1, "sublayer_overrides": { "additionalProperty": { "stroke_color": "example", "stroke_width": 1, "casing_color": "example", "casing_width": 1, "min_zoom": 1, "max_zoom": 1, "opacity": 1 } } }, "terrain_config": { "enabled": false, "source_dataset_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "exaggeration": 1 }, "visibility": "private", "layers": [ { "dataset_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "sort_order": 0, "visible": true, "opacity": 1, "paint": {}, "layout": {}, "display_name": "example", "filter": [ "example" ], "label_config": {}, "popup_config": { "enabled": true, "expression": "example", "visible_fields": [ "example" ] }, "style_config": {}, "layer_type": "example", "show_in_legend": true } ], "widgets": [ "example" ] }'Update a map’s metadata and/or replace its layers.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Request Body required
Section titled “Request Body required ”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) — see CONTEXT.md D-01.
Security: extra=“forbid” locks the D-14 scope guardrail: unknown style axes such as dash patterns, line caps, halo blur, and text-font are rejected at validation time (T-1059A-03).
object
object
Draw order (lower draws first)
Layer opacity 0.0-1.0
Per-layer popup configuration: enable/disable + custom title template
- ordered visible-fields allowlist. Persisted as JSONB on map_layers.
object
Whether to include in the map legend
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) — see CONTEXT.md D-01.
Security: extra=“forbid” locks the D-14 scope guardrail: unknown style axes such as dash patterns, line caps, halo blur, and text-font are rejected at validation time (T-1059A-03).
object
object
object
object
object
Per-layer popup configuration: enable/disable + custom title template
- ordered visible-fields allowlist. Persisted as JSONB on map_layers.
object
Example
{ "basemap_config": { "label_mode": "full", "road_visibility": "full", "boundary_visibility": "full", "building_visibility": true, "land_water_tone": "default", "relief_contrast": "soft", "opacity": 1 }, "terrain_config": { "enabled": false, "exaggeration": 1 }, "visibility": "private", "layers": [ { "layer_type": "vector_geolens", "show_in_legend": true } ]}Bad request — invalid payload
object
Example
{ "type": "about:blank"}Unauthorized — missing or invalid credentials
object
Example
{ "type": "about:blank"}Forbidden — caller lacks write access
object
Example
{ "type": "about:blank"}Not found
object
Example
{ "type": "about:blank"}Conflict — resource state prevents the operation
object
Example
{ "type": "about:blank"}Validation error
object
Example
{ "type": "about:blank"}Internal server error
object
Example
{ "type": "about:blank"}