---
title: "List Cities"
method: GET
path: "/admin/taxonomy-rollout/cities"
tags: ["admin-taxonomy-rollout"]
---

# List Cities

`GET /admin/taxonomy-rollout/cities`

Cities nf has written ledgers for, with which stages each one holds.

A city with only old per-run objects and no `canonical/` prefix is not
listed: it has no nf ledgers, and showing it with every stage missing would
read as a failed run rather than as a city the new pipeline has not touched.

ONE list of the whole root, not one per city. Listing each city's prefix
separately measured at 0.25 s × 155 cities = 39 s for this endpoint; the
root holds 2,518 objects and comes back in a second, so the filtering is
cheaper done here than in S3.

## Response `200`

Successful Response

- CitiesResponse
  - `cities` CityRow[], required
    - `slug` string, required
    - `stages_present` string[], required
    - `stage_count` integer, required
    - `updated_at` string, date-time, nullable, required

---

[API](https://skmtc.dev/stardrift/apis/fastapi.md) · [All operations](https://skmtc.dev/stardrift/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/stardrift/fastapi/revisions/00746572572a/schema)
