Skip to content
getgeolens.com

Get Basemaps

GET
/settings/basemaps/
curl --request GET \
--url https://example.com/api/settings/basemaps/

Return the configured basemap list (public, no auth required).

Basemaps with {api_key} in the URL are filtered out when no key is configured. When a key IS set the placeholder is resolved server-side. The response uses BasemapPublicResponse which excludes api_key.

SEC-S10 (2026-05-20 audit): the resolved url field intentionally includes the substituted api_key value when configured. Client-side tile-provider keys (Mapbox, Stadia, MapTiler) are designed for browser exposure and the frontend MUST receive them to load tiles. Do NOT put a backend-only commercial-tier key in this field — rotate the key in the provider dashboard if it is misused. Rate-limited via _basemap_proxy_rate_limit to cap replay-cost from anonymous clients.

Successful Response

Media type application/json
Response Get Basemaps Settings Basemaps Get
Array<object>
BasemapPublicResponse

Public basemap response — excludes api_key.

object
id
required
Id

Unique basemap identifier.

string
label
required
Label

Display label.

string
url
required
Url

Tile URL or style JSON URL with API key already substituted (or omitted) for client use.

string
enabled
required
Enabled

Whether the basemap is currently selectable.

boolean
is_preset
required
Is Preset

Whether this is a built-in preset.

boolean
attribution
Any of:
string
Example generated
[
{
"id": "example",
"label": "example",
"url": "example",
"enabled": true,
"is_preset": true,
"attribution": "example"
}
]

Bad request — invalid query parameters or payload

Unauthorized — missing or invalid credentials

Forbidden — caller lacks access to this resource

Not found

Validation error

Internal server error