Create Map Endpoint
const url = 'https://example.com/maps/';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"basemap_config":{"background_color":"example","basemap_position":"bottom","boundary_visibility":"full","building_visibility":true,"label_mode":"full","land_water_tone":"default","opacity":1,"projection":"mercator","relief_contrast":"soft","road_visibility":"full","sublayer_overrides":{"additionalProperty":{"casing_color":"example","casing_width":1,"max_zoom":1,"min_zoom":1,"opacity":1,"stroke_color":"example","stroke_width":1}}},"description":"Buildings, parks, and transit routes in Manhattan","name":"NYC Infrastructure","notes":"example","terrain_config":{"enabled":false,"exaggeration":1,"source_dataset_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}}'};
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 '{ "basemap_config": { "background_color": "example", "basemap_position": "bottom", "boundary_visibility": "full", "building_visibility": true, "label_mode": "full", "land_water_tone": "default", "opacity": 1, "projection": "mercator", "relief_contrast": "soft", "road_visibility": "full", "sublayer_overrides": { "additionalProperty": { "casing_color": "example", "casing_width": 1, "max_zoom": 1, "min_zoom": 1, "opacity": 1, "stroke_color": "example", "stroke_width": 1 } } }, "description": "Buildings, parks, and transit routes in Manhattan", "name": "NYC Infrastructure", "notes": "example", "terrain_config": { "enabled": false, "exaggeration": 1, "source_dataset_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" } }'Create a new map.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”object
object
Whether the basemap renders below (‘bottom’, default) or above (‘top’) data layers.
Administrative boundary sublayer visibility where supported.
Whether supported building/3D building basemap layers are shown.
Basemap label prominence.
Land and water color treatment where supported.
Master basemap opacity 0.0-1.0
Map projection. ‘mercator’ (default) or experimental ‘globe’.
Road and transit sublayer visibility where supported.
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
Map display name
Example
NYC InfrastructureResponses
Section titled “ Responses ”Successful Response
object
object
Whether the basemap renders below (‘bottom’, default) or above (‘top’) data layers.
Administrative boundary sublayer visibility where supported.
Whether supported building/3D building basemap layers are shown.
Basemap label prominence.
Land and water color treatment where supported.
Master basemap opacity 0.0-1.0
Map projection. ‘mercator’ (default) or experimental ‘globe’.
Road and transit sublayer visibility where supported.
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": { "basemap_position": "bottom", "boundary_visibility": "full", "building_visibility": true, "label_mode": "full", "land_water_tone": "default", "opacity": 1, "projection": "mercator", "relief_contrast": "soft", "road_visibility": "full" }, "layers": [ { "layer_type": "vector_geolens", "show_in_legend": true } ], "terrain_config": { "enabled": false, "exaggeration": 1 }, "visibility": "private"}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"}