Skip to main content
POST
Place Details

Overview

Resolves a placeId from Place Autocomplete to its coordinates via Google Place Details (field mask id,displayName,formattedAddress,location). Passing the interaction’s sessionToken closes the Google Autocomplete session, billing the whole typing interaction (N autocomplete calls + this one) as a single session — clients should always pass it when they have one.

Authentication

Same as autocomplete — any authenticated caller; shares the place-search rate-limit bucket (120 / 60 per 60s, user / anon).

Body Parameters

string
required
The Google placeId from an autocomplete prediction (raw, without the client-side google: namespace prefix).
string
The session token the autocomplete calls used. Optional but strongly recommended — omitting it bills the preceding autocomplete calls per-request instead of per-session.

Response

string
The canonical Google place id.
object
{ text } — the place’s display name (e.g. "Waterloo Station").
string
Formatted address string.
object
{ latitude, longitude }note the order: this is Google’s lat/lng object, not a Mapbox-style [lng, lat] pair. The planner client (fetchGooglePlaceDetails) owns the axis swap; this contract is locked in by packages/shared/__fixtures__/google-place-details-waterloo.json and its regression test.

Example

Errors

Same table as Place Autocomplete; a 502 here means the Google details call itself failed (upstream_status in the body — e.g. 404 for an unknown placeId surfaces as 502 with upstream_status: 404).