bymundi API

Get a route

GET/v1/catalog/routes/{routeId}

Returns one route in full. A route is a day's walk through catalog places: stops in order, each a catalog place (punto) or activity (actividad) by placeId, with its own visit minutes (ownMinutes, null = the place's) and the LEG that arrives at it from the previous stop (mode: walking | transit | driving | bicycling, minutes, prose). intro and closing are the texts before and after. rules are how the planner uses it (structured: true lets it propose the route as a whole day). destinos and durationMin are derived when it is saved; a leg marked stale was measured for a different previous stop.

Permissions: catalog:read · Kind: read · Cost: 1 unit · MCP tool get_route

Path parameters

Field Type Required Description
routeId uuid yes

Query parameters

None.

Response 200

Field Type Required Description
object "route" yes
id uuid yes
title string yes
externalId string yes
intro object[] yes
stops object[] yes
stops[].placeId string yes
stops[].name string yes The place's name — or the stop's stored title when its place no longer resolves.
stops[].placeMinutes integer | null yes The place's own visit minutes; null when the place is gone.
stops[].ownMinutes integer | null yes This route's override for the stop; null = the place's.
stops[].leg object | null yes How you get here from the previous stop; null on the first stop, or when nothing is known.
stops[].leg.mode "walking" | "transit" | "driving" | "bicycling" | null yes
stops[].leg.minutes integer | null yes
stops[].leg.prose object[] yes
stops[].leg.source string yes Provenance: source (authored), routes (measured by Google), manual (typed).
stops[].leg.stale boolean yes true: measured for a different previous stop — the minutes no longer describe this leg.
closing object[] yes
rules object yes
rules.structured boolean yes
rules.base string yes
rules.tipo "dia_entero" | "medio_dia" | "excursion" | "tematica" | "con_experiencias" | "llegada" | null yes
rules.duracion "medio_dia" | "dia_entero" | "dia_entero_largo" | null yes
rules.ritmo "relajado" | "equilibrado" | "intenso" | null yes
rules.incompatibleDias "lunes" | "martes" | "miercoles" | "jueves" | "viernes" | "sabado" | "domingo"[] yes
rules.requiereReserva boolean yes
rules.notasUso string[] yes
destinos object[] yes Every destino the stops sit in (derived when the route is saved).
destinos[].id uuid yes
destinos[].name string yes
durationMin integer | null yes The route's computed length in minutes; null while never computed.
updatedAt string yes

Errors

Errors are problem details. Besides the refusals described above, any call like this one can return: