API overview

These are the app endpoints intended for another client, such as an iPhone build. Read endpoints can be opened directly. Write endpoints are listed with the expected request style.

Base URL https://www.21dle.co.uk
Example profile Bath-Bornmouth
Profiles found 5

Available profiles

Read APIs

GET /api/profiles JSON

List every profile with file availability, settings, and linked accommodation summaries.

GET /api/profiles/<profile> JSON

Get one profile's metadata, including linked accommodation summaries.

GET /api/profiles/<profile>/route JSON

Get route points as [{lat, lon}, ...].

GET /profiles/<profile>/files/route.gpx GPX

Download the raw GPX route file for import into another app.

GET /api/profiles/<profile>/day_ends JSON

Get day-end data, accommodation links, routing metadata, and POI diversions.

GET /api/profiles/<profile>/export/kml KML

Download a KML export for Google Earth-style import.

GET /api/profiles/<profile>/export/day-summary.xlsx XLSX

Download the day summary workbook.

GET /api/pois/status JSON

Get POI job status and per-profile POI availability.

Write APIs

POST /api/profiles

Create a profile.

Body: JSON: {"name": "profile_name", "start_date": "YYYY-MM-DD"}

https://www.21dle.co.uk/api/profiles
POST /api/profiles/<profile>/gpx

Upload a GPX file and rebuild route-derived data.

Body: multipart/form-data with gpx_file plus optional max_distance_km, max_ascent_m, split_mode, poi_kinds

https://www.21dle.co.uk/api/profiles/Bath-Bornmouth/gpx
POST /api/profiles/<profile>/day_ends/move

Move a day-end marker along the route.

Body: JSON body used by the map UI.

https://www.21dle.co.uk/api/profiles/Bath-Bornmouth/day_ends/move
POST /api/profiles/<profile>/day_ends/assign_accommodation

Link accommodation to a day end.

Body: JSON body used by the map UI.

https://www.21dle.co.uk/api/profiles/Bath-Bornmouth/day_ends/assign_accommodation
POST /api/profiles/<profile>/day_ends/assign_poi_diversion

Attach a POI diversion to a day.

Body: JSON body used by the map UI.

https://www.21dle.co.uk/api/profiles/Bath-Bornmouth/day_ends/assign_poi_diversion
POST /api/profiles/<profile>/day_ends/remove_poi_diversion

Remove a linked POI diversion.

Body: JSON body used by the map UI.

https://www.21dle.co.uk/api/profiles/Bath-Bornmouth/day_ends/remove_poi_diversion
POST /api/profiles/<profile>/day_ends/route

Calculate route-to-accommodation routing for a day end.

Body: JSON body used by the map UI.

https://www.21dle.co.uk/api/profiles/Bath-Bornmouth/day_ends/route
POST /api/pois/start

Start a POI download job.

Body: JSON: {"profile": "profile_name", "kinds": ["accommodation", "water"]}

https://www.21dle.co.uk/api/pois/start
POST /api/pois/stop

Stop the active POI job.

Body: JSON or empty body.

https://www.21dle.co.uk/api/pois/stop

Related pages

GET /profiles

Profile manager page.

GET /pois/status

POI status page.

GET /profiles/<profile>/map

Main map UI.

GET /profiles/<profile>/map-standalone

Standalone GPX map UI.

GET /profiles/<profile>/corridor-tiles

Corridor tile cache page.

GET /profiles/<profile>/store

Profile-specific store data page.