HTTP Endpoints
Shigola serves two tile APIs side by side: the native routes below, and an OGC API - Tiles surface documented separately.
The service root is the OGC landing page.
/returns JSON; the embedded viewer is at/viewer. An unknown path returns 404.
Native routes
GET /maps/:map/:z/:x/:y
Will return a vector tile from the provided :map at the provided :z, :x and :y values.
URL parameters
:map: The name of the map as defined in the Shigola config file.:z: The tile zoom.:x: The tile column.:y: The tile row.
The tile is cut in the map's default tile matrix set — the first entry of its
tile_matrix_sets, or WebMercatorQuad if the key
is omitted. These routes have nowhere to name a scheme; use the OGC tile route to request another one.
GET /maps/:map/:layer/:z/:x/:y
Will return a vector tile with a single :layer from the provided :map at the provided :z, :x
and :y values.
URL parameters
:map: The name of the map as defined in the Shigola config file.:layer: The name of the maps layer, as defined in the Shigola config file.:z: The tile zoom.:x: The tile column.:y: The tile row.
GET /capabilities
The /capabilities endpoint returns JSON with details about the running Shigola instance.
Example response
{
"version": "v0.6.1",
"maps": [{
"name": "bonn_osm",
"uri": "/maps/bonn_osm",
"layers": [{
"name": "building",
"uri": "/maps/bonn_osm/building",
"minZoom": 14,
"maxZoom": 20
},{
"name": "road",
"uri": "/maps/bonn_osm/road",
"minZoom": 10,
"maxZoom": 20
}]
}]
}
GET /capabilities/:map.json
Returns information about a map matching the TileJSON 2.1 specification.
For the OGC equivalent — TileJSON 3.0, per collection and per tiling scheme — request
/collections/{collectionId}/tiles/{tileMatrixSetId}?f=tilejson.
URL parameters
:map: The name of the map as defined in the Shigola config file.
Example response
{
"attribution": "Open Street Map",
"bounds": [-180, -85.0511, 180, 85.0511],
"center": [-76.275329586789, 39.153492567373, 8],
"format": "pbf",
"minzoom": 0,
"maxzoom": 20,
"name": "osm",
"description": null,
"scheme": "xyz",
"tilejson": "2.1.0",
"tiles": ["https://tegola-osm-demo.go-spatial.org/v1/maps/osm/{z}/{x}/{y}.pbf"],
"grids": [],
"data": [],
"version": "1.0.0",
"template": null,
"legend": null,
"vector_layers": [{
"version": 2,
"extent": 4096,
"id": "populated_places",
"name": "populated_places",
"geometry_type": "point",
"minzoom": 0,
"maxzoom": 20,
"tiles": ["https://tegola-osm-demo.go-spatial.org/v1/maps/osm/populated_places/{z}/{x}/{y}.pbf"]
}, {
"version": 2,
"extent": 4096,
"id": "country_lines",
"name": "country_lines",
"geometry_type": "line",
"minzoom": 0,
"maxzoom": 10,
"tiles": ["https://tegola-osm-demo.go-spatial.org/v1/maps/osm/country_lines/{z}/{x}/{y}.pbf"]
}]
}
GET /maps/:map/style.json
Returns an automatically generated Mapbox GL style for the map, used by the embedded viewer.
GET /metrics
Prometheus metrics, when a Prometheus observer is configured. Cache metrics are listed under Layered cache.
GET /viewer/
The embedded viewer. /viewer redirects to /viewer/ — the
viewer's assets are referenced relatively and only resolve from a URL ending in a slash.
Excluded from the build with -tags noViewer.
OGC API - Tiles routes
Full documentation on OGC API - Tiles.
| Path | Resource |
|---|---|
/ | Landing page |
/api | This service's OpenAPI 3.0 definition |
/conformance | The conformance classes implemented |
/collections | Every collection — one per map, plus one per layer |
/collections/{collectionId} | One collection |
/collections/{collectionId}/tiles | The collection's tilesets, one per scheme |
/collections/{collectionId}/tiles/{tileMatrixSetId} | Tileset metadata (?f=tilejson for TileJSON 3.0) |
/collections/{collectionId}/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol} | A vector tile |
/tileMatrixSets | The tiling schemes served |
/tileMatrixSets/{tileMatrixSetId} | One scheme's definition |
OGC tile paths are z/y/x, transposed from the native routes' z/x/y:
/maps/parks/3/5/2 z=3 x=5 y=2
/collections/parks/tiles/WebMercatorQuad/3/2/5 z=3 y=2 x=5 — the same tile