REST /api/v1/map-config 6 endpoints
GET /api/v1/map-config/api/v1/map-config

List all map configuration profiles

Public

Response Example

{
  "data": [
    {
      "config_id": "mapconf_prod",
      "provider": "mapbox",
      "style_url": "mapbox://styles/mapbox/dark-v11",
      "default_center_lat": 59.9139,
      "default_center_lng": 10.7522,
      "default_zoom": 11,
      "cluster_radius_px": 50,
      "is_active": true
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 1
  }
}
GET /api/v1/map-config/api/v1/map-config/:config_id

Get a specific map configuration

Public

Response Example

{
  "config_id": "mapconf_prod",
  "provider": "mapbox",
  "style_url": "mapbox://styles/mapbox/dark-v11",
  "default_center_lat": 59.9139,
  "default_center_lng": 10.7522,
  "default_zoom": 11,
  "cluster_radius_px": 50,
  "marker_icon_url": "https://cdn.example.org/map/mentor-pin.svg",
  "is_active": true,
  "created_at": "2026-01-01T00:00:00Z"
}
POST /api/v1/map-config/api/v1/map-config

Create a new map configuration profile

Public

Request Example

{
  "provider": "mapbox",
  "style_url": "mapbox://styles/mapbox/streets-v12",
  "default_center_lat": 59.9139,
  "default_center_lng": 10.7522,
  "default_zoom": 12,
  "cluster_radius_px": 60,
  "marker_icon_url": "https://cdn.example.org/map/mentor-pin-v2.svg"
}

Response Example

{
  "config_id": "mapconf_v2",
  "provider": "mapbox",
  "style_url": "mapbox://styles/mapbox/streets-v12",
  "default_center_lat": 59.9139,
  "default_center_lng": 10.7522,
  "default_zoom": 12,
  "cluster_radius_px": 60,
  "marker_icon_url": "https://cdn.example.org/map/mentor-pin-v2.svg",
  "is_active": false,
  "created_at": "2026-03-26T09:45:00Z"
}
PUT /api/v1/map-config/api/v1/map-config/:config_id

Update a map configuration profile

Public

Request Example

{
  "default_zoom": 13,
  "cluster_radius_px": 45,
  "is_active": true
}

Response Example

{
  "config_id": "mapconf_prod",
  "provider": "mapbox",
  "default_zoom": 13,
  "cluster_radius_px": 45,
  "is_active": true,
  "updated_at": "2026-03-26T09:50:00Z"
}
DELETE /api/v1/map-config/api/v1/map-config/:config_id

Delete a map configuration profile

Public

Response Example

{
  "config_id": "mapconf_v2",
  "deleted": true,
  "deleted_at": "2026-03-26T09:55:00Z"
}
POST /api/v1/map-config/api/v1/map-config/:config_id/markers

Batch-add or update mentor marker layer data for a map session

Public

Request Example

{
  "markers": [
    {
      "mentor_id": "mentor_7f3a2b",
      "lat": 59.9139,
      "lng": 10.7522,
      "availability": "available",
      "cluster_key": "oslo-central"
    },
    {
      "mentor_id": "mentor_4c91de",
      "lat": 59.9272,
      "lng": 10.7112,
      "availability": "busy",
      "cluster_key": "oslo-west"
    }
  ]
}

Response Example

{
  "config_id": "mapconf_prod",
  "markers_loaded": 2,
  "clusters_formed": 1,
  "viewport": {
    "sw_lat": 59.89,
    "sw_lng": 10.68,
    "ne_lat": 59.95,
    "ne_lng": 10.8
  }
}

Additional Metadata

{
  "contract_summary": {
    "total_contracts": 410,
    "total_endpoints": 2416,
    "api_styles_used": [
      "rest"
    ]
  },
  "generated_at": "2026-03-26T06:55:53.316Z"
}