---
title: "Road"
method: GET
path: "/v1/teams/{team_id}/geo/route"
tags: ["geo"]
---

# Road

`GET /v1/teams/{team_id}/geo/route`

The road between two places — drawn, timed and measured, in one receipt.

`origin` and `destination` are each a `lat,lng` pair (what a pin on the
map already has) or an address (geocoded for this read, nothing
persisted). The answer is what the kit's `<MapRoute from to>` draws and
what the desk says: `polyline` for the ground, `duration_seconds` /
`duration_in_traffic_seconds` / `distance_meters` for the words, and
`arrival_at` — now plus the live drive — so "he's there at 4:52" is a
field rather than arithmetic every caller repeats.

`drive-time` stays the cheap two-number answer; this is the one to reach
for when the way there is going on a map.

## Path parameters

- `team_id` string, uuid, required

## Query parameters

- `origin` string, required
- `destination` string, required
- `provider` 'google' | 'simulation', nullable

## Headers

- `authorization` string, nullable
- `x-darwin-token` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422` — Validation Error

## Changes

> 33 revisions in range; 1 not diffed.

- **2026-09-13** `33afbf889154` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/stormy/apis/stormy-control-plane/changes/v1/teams/:team_id/geo/route/get.md)

---

[API](https://skmtc.dev/stormy/apis/stormy-control-plane.md) · [All operations](https://skmtc.dev/stormy/apis/stormy-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/stormy/apis/stormy-control-plane/revisions/52151384d62a?raw)
