---
title: "Resolve Home City Text"
method: POST
path: "/places/resolve-home-city-text"
tags: ["places"]
---

# Resolve Home City Text

`POST /places/resolve-home-city-text`

## Request

- Base URL: `https://stardrift.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://stardrift.ai/places/resolve-home-city-text`
- Auth: none declared

Resolve free-typed home-city text into the same draft as a picked suggestion.

The fallback for when the picker's autocomplete has nothing to offer for
what the user typed — a Google miss, an unusual spelling, a failed request
— so the home-city step is never a dead end. Takes the top locality
prediction instead of asking the user to choose one.

## Request body

- ResolveHomeCityTextRequest
  - `query` string, required

## Response `200`

Successful Response

- HomeLocationDraft: A resolved-but-unconfirmed home location proposal: what the picker UI shows after the user selects an autocomplete suggestion. The client persists the user-confirmed subset as models.home_location.HomeLocation via PUT /user.
  - `place_id` string, required
  - `lat` number, required
  - `lng` number, required
  - `city` string, required
  - `region` string, nullable
  - `country` string, required
  - `country_code` string, nullable
  - `airports` ResolvedAirport[]
    - `iata` string, required
    - `name` string, required
    - `distance_km` number, required
    - `source` string, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-18** `7367652ab574`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/stardrift/apis/stardrift-api/changes/places/resolve-home-city-text/post.md)

---

[API](https://skmtc.dev/stardrift/apis/stardrift-api.md) - [All operations](https://skmtc.dev/stardrift/apis/stardrift-api/llms.txt) - [OpenAPI document](https://skmtc.dev/stardrift/apis/stardrift-api/revisions/be9ed1e6c38a?raw)
