TomTom · Capability
TomTom Routing API — Routing
TomTom Routing API — Routing. 2 operations. Lead operation: Calculate Route. Self-contained Naftiko capability covering one Tomtom business surface.
What You Can Do
GET
Calculateroute
— Calculate Route
/v1/routing/{versionnumber}/calculateroute/{locations}/{contenttype}
POST
Calculateroutepost
— Calculate Route (POST)
/v1/routing/{versionnumber}/calculateroute/{locations}/{contenttype}
MCP Tools
calculate-route
Calculate Route
read-only
idempotent
calculate-route-post
Calculate Route (POST)
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: TomTom Routing API — Routing
description: 'TomTom Routing API — Routing. 2 operations. Lead operation: Calculate Route. Self-contained Naftiko capability
covering one Tomtom business surface.'
tags:
- Tomtom
- Routing
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
TOMTOM_API_KEY: TOMTOM_API_KEY
capability:
consumes:
- type: http
namespace: routing-routing
baseUri: https://api.tomtom.com
description: TomTom Routing API — Routing business capability. Self-contained, no shared references.
resources:
- name: routing-versionNumber-calculateRoute-locations-contentType
path: /routing/{versionNumber}/calculateRoute/{locations}/{contentType}
operations:
- name: calculateroute
method: GET
description: Calculate Route
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: versionNumber
in: path
type: integer
description: Service version number
required: true
- name: locations
in: path
type: string
description: Colon-separated list of coordinates (lat,lon:lat,lon)
required: true
- name: contentType
in: path
type: string
required: true
- name: routeType
in: query
type: string
description: Optimization type for route calculation
- name: traffic
in: query
type: boolean
description: Use real-time traffic data
- name: avoid
in: query
type: string
description: Comma-separated list of things to avoid (tollRoads, motorways, ferries, etc.)
- name: travelMode
in: query
type: string
- name: departAt
in: query
type: string
description: Departure time for historical traffic
- name: arriveAt
in: query
type: string
description: Desired arrival time
- name: maxAlternatives
in: query
type: integer
description: Number of alternative routes to return
- name: instructionsType
in: query
type: string
- name: language
in: query
type: string
description: Language tag for instructions (e.g., en-US)
- name: vehicleMaxSpeed
in: query
type: integer
description: Maximum speed of the vehicle (km/h)
- name: vehicleWeight
in: query
type: integer
description: Vehicle weight (kg)
- name: vehicleAxleWeight
in: query
type: integer
description: Weight per axle (kg)
- name: vehicleLength
in: query
type: number
description: Vehicle length (meters)
- name: vehicleWidth
in: query
type: number
description: Vehicle width (meters)
- name: vehicleHeight
in: query
type: number
description: Vehicle height (meters)
- name: vehicleCommercial
in: query
type: boolean
description: Whether vehicle is used for commercial purposes
- name: vehicleLoadType
in: query
type: string
description: Types of cargo carried
- name: computeTravelTimeFor
in: query
type: string
- name: sectionType
in: query
type: string
- name: report
in: query
type: string
- name: callback
in: query
type: string
description: Callback function name for JSONP
- name: calculateroutepost
method: POST
description: Calculate Route (POST)
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: versionNumber
in: path
type: integer
required: true
- name: locations
in: path
type: string
required: true
- name: contentType
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
authentication:
type: apikey
key: key
value: '{{env.TOMTOM_API_KEY}}'
placement: query
exposes:
- type: rest
namespace: routing-routing-rest
port: 8080
description: REST adapter for TomTom Routing API — Routing. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/routing/{versionnumber}/calculateroute/{locations}/{contenttype}
name: routing-versionnumber-calculateroute-locations-contenttype
description: REST surface for routing-versionNumber-calculateRoute-locations-contentType.
operations:
- method: GET
name: calculateroute
description: Calculate Route
call: routing-routing.calculateroute
with:
versionNumber: rest.versionNumber
locations: rest.locations
contentType: rest.contentType
routeType: rest.routeType
traffic: rest.traffic
avoid: rest.avoid
travelMode: rest.travelMode
departAt: rest.departAt
arriveAt: rest.arriveAt
maxAlternatives: rest.maxAlternatives
instructionsType: rest.instructionsType
language: rest.language
vehicleMaxSpeed: rest.vehicleMaxSpeed
vehicleWeight: rest.vehicleWeight
vehicleAxleWeight: rest.vehicleAxleWeight
vehicleLength: rest.vehicleLength
vehicleWidth: rest.vehicleWidth
vehicleHeight: rest.vehicleHeight
vehicleCommercial: rest.vehicleCommercial
vehicleLoadType: rest.vehicleLoadType
computeTravelTimeFor: rest.computeTravelTimeFor
sectionType: rest.sectionType
report: rest.report
callback: rest.callback
outputParameters:
- type: object
mapping: $.
- method: POST
name: calculateroutepost
description: Calculate Route (POST)
call: routing-routing.calculateroutepost
with:
versionNumber: rest.versionNumber
locations: rest.locations
contentType: rest.contentType
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: routing-routing-mcp
port: 9090
transport: http
description: MCP adapter for TomTom Routing API — Routing. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: calculate-route
description: Calculate Route
hints:
readOnly: true
destructive: false
idempotent: true
call: routing-routing.calculateroute
with:
versionNumber: tools.versionNumber
locations: tools.locations
contentType: tools.contentType
routeType: tools.routeType
traffic: tools.traffic
avoid: tools.avoid
travelMode: tools.travelMode
departAt: tools.departAt
arriveAt: tools.arriveAt
maxAlternatives: tools.maxAlternatives
instructionsType: tools.instructionsType
language: tools.language
vehicleMaxSpeed: tools.vehicleMaxSpeed
vehicleWeight: tools.vehicleWeight
vehicleAxleWeight: tools.vehicleAxleWeight
vehicleLength: tools.vehicleLength
vehicleWidth: tools.vehicleWidth
vehicleHeight: tools.vehicleHeight
vehicleCommercial: tools.vehicleCommercial
vehicleLoadType: tools.vehicleLoadType
computeTravelTimeFor: tools.computeTravelTimeFor
sectionType: tools.sectionType
report: tools.report
callback: tools.callback
outputParameters:
- type: object
mapping: $.
- name: calculate-route-post
description: Calculate Route (POST)
hints:
readOnly: false
destructive: false
idempotent: false
call: routing-routing.calculateroutepost
with:
versionNumber: tools.versionNumber
locations: tools.locations
contentType: tools.contentType
body: tools.body
outputParameters:
- type: object
mapping: $.