---
title: "Alle bekannten Städte auflisten"
method: GET
path: "/api/v1/cities"
tags: ["cities"]
---

# Alle bekannten Städte auflisten

`GET /api/v1/cities`

Listet die Einträge des Stadt-Registers: 84 deutsche Großstädte über 100.000 Einwohner, davon 28 Kern-Städte mit voller Quellen-Abdeckung. Jeder Eintrag trägt den Slug, den du als {slug}-Pfadparameter in allen weiteren Endpunkten verwendest.

## Response `200`

Stadt-Liste

- object
  - `data` object[], required
  - `meta` Meta, required
    - `correlation_id` string, nullable
    - `source_status` 'ok' | 'no_data' | 'disabled' | 'not_ingested' | 'not_covered' — Ehrlicher Quellen-Status der Antwort. "ok" (Daten vorhanden), "no_data" (Quelle erreichbar/abgedeckt, aber gerade keine Daten), "disabled" (Quelle per Toggle aus), "not_ingested" (kein Snapshot), "not_covered" (Stadt ist für diesen teilabgedeckten Endpunkt strukturell nicht abgedeckt; data=null, siehe covered_cities). Klar unterscheidbar vom 404 (Stadt unbekannt).
    - `cache_status` string, nullable — Cache-Herkunft (hit/miss/stale), sofern die Route cacht.
    - `covered_cities` string[] — Nur bei source_status="not_covered": die Stadt-Slugs, die dieser teilabgedeckte Endpunkt tatsächlich bedient (z. B. flood, webcams, traffic, road-events).
    - `pagination` object — Bei paginierbaren Datenart-Listen (charging, energy, events, transit, OSM-Feature-Endpunkte): der EHRLICH ausgewiesene Ausschnitt (keine stille Kappung). KANAL-ABHÄNGIGER Default für gleiche URL: direktes REST liefert die volle Liste (limit=null, returned==total, truncated=false); GPT-Actions (erkannt am OpenAI-Header) bekommen ein serverseitig gebundenes Default-Limit; MCP-Aufrufe sind gebunden, weil der MCP-Client selbst ein Default-Limit setzt. Kanalunabhängige Overrides: limit=all (oder ?all=1) erzwingt die volle Liste, limit + offset blättern gezielt. meta.pagination ist bei ALLEN Kanälen gesetzt.
      - `total` integer — Gesamtzahl der Einträge (voller Bestand).
      - `returned` integer — Zahl der auf dieser Seite ausgelieferten Einträge.
      - `limit` integer, nullable — Angewandtes Seiten-Limit; null bei Vollausgabe (REST-Default oder limit=all).
      - `offset` integer — Start-Offset der Seite.
      - `truncated` boolean — true, wenn hinter dieser Seite noch Einträge liegen (offset + returned < total); bei Vollausgabe false.

---

[API](https://skmtc.net/infranode/apis/infranode-api.md) · [All operations](https://skmtc.net/infranode/apis/infranode-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/infranode/infranode-api/versions/8fee8b095f31/schema)
