EndpointsRoutes

Get all user routes

Retrieves the authenticated user's routes (any visibility), newest first. Paginated via `limit` and `offset`; the total number of routes is returned in the `X-Total-Count` response header.

GET
/routes

Authorization

headerAuthorizationBearer <token>

Personal access token for non-browser clients. Mint at Settings → API Tokens. Carries one of two scopes: read (list/get Routes, export GPX, profile) or write (read plus metadata-only mutations on owned routes and on preferences). Blocked from /admin/* and from DELETE /users/me. Destructive operations require X-Routess-Confirm: true and return 428 PRECONDITION_REQUIRED otherwise. See ADR-0022 and ADR-0023.

Query Parameters

limit?number

Page size

Range1 <= value <= 200
Default100
offset?number

Number of routes to skip

Range0 <= value
Default0

Response Body

Routes retrieved successfully. X-Total-Count carries the total route count.

application/json
  1. response
[index: integer]?
curl -X GET 'https://api.routess.com/routes'
[  {    "id": 0,    "name": "string",    "description": "string",    "activity": "run",    "visibility": "private",    "tags": [      "string"    ],    "favourite": true,    "waypoints": [      {        "coord": [          -74.006,          40.7128        ],        "type": "routed",        "name": "string",        "timestamp": "string"      }    ],    "geometry": [      "string"    ],    "distance": 0,    "duration": 0,    "elevationGain": 0,    "startAddress": "string",    "endAddress": "string",    "placeCity": "string",    "placeRegion": "string",    "placeCountryCode": "string",    "routingPreferences": {      "surfacePreference": "mixed",      "avoidFerries": true,      "avoidHighways": true    },    "provenance": "valhalla",    "shareToken": "9f86d081884c7d659a2feaa0c55ad015",    "user": {      "id": 1,      "name": "Jane Doe",      "handle": "jane-doe",      "avatar": "https://example.com/avatar.jpg",      "idHash": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"    },    "createdAt": "string",    "updatedAt": "string"  }]