---
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`

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

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

---

[API](https://skmtc.dev/stardrift/apis/fastapi.md) · [All operations](https://skmtc.dev/stardrift/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/stardrift/apis/fastapi/revisions/1060a62bfafc?raw)
