Skip to content
getgeolens.com

Get Basemaps

GET
/settings/basemaps/
curl --request GET \
--url https://example.com/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
attribution
Any of:
string
enabled
required
Enabled

Whether the basemap is currently selectable.

boolean
id
required
Id

Unique basemap identifier.

string
is_preset
required
Is Preset

Whether this is a built-in preset.

boolean
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
Example generated
[
{
"attribution": "example",
"enabled": true,
"id": "example",
"is_preset": true,
"label": "example",
"url": "example"
}
]

Bad request — invalid query parameters or payload

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}

Unauthorized — missing or invalid credentials

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}

Forbidden — caller lacks access to this resource

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}

Not found

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}

Validation error

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}

Internal server error

ProblemDetail
object
detail
required
Detail
string
status
required
Status
integer
title
required
Title
string
type
Type
string
default: about:blank
Example
{
"type": "about:blank"
}