---
title: "Report whether a city is active, collecting, planned, or unsupported"
method: GET
path: "/api/v1/coverage-status/{city}"
---

# Report whether a city is active, collecting, planned, or unsupported

`GET /api/v1/coverage-status/{city}`

## Request

- Base URL: `https://streetproof.com`
- URL: `https://streetproof.com/api/v1/coverage-status/{city}`
- Auth: none required

## Path parameters

- `city` string, required

## Response `200`

Known city coverage state

- object
  - `requested_city` string
  - `status` 'active' | 'collecting' | 'planned' | 'ambiguous'
  - `data_available` boolean
  - `message` string
  - `city` object
  - `coverage` object, nullable
    - `tier` 'unlaunched' | 'seed' | 'building' | 'dense' | 'null', nullable
    - `calculation_status` 'not_required' | 'pending' | 'current' | 'failed' | 'stale': Snapshot lifecycle state. It is separate from the coverage-depth tier.
    - `coverage_basis` 'fallback_thresholds' | 'eligible_cell_ratio'
    - `eligible_cell_manifest_id` string, uuid, nullable
    - `denominator_status` 'not_calculated' | 'draft' | 'reviewed' | 'stale'
    - `metrics` object
      - `observed_cells_90d` integer
      - `observed_eligible_cells_90d` integer, nullable
      - `eligible_coverage_cells` integer, nullable
      - `cell_coverage_ratio_90d` number, nullable
      - `independent_scout_observers_180d` integer
      - `independent_scout_observations_180d` integer
      - `independent_scout_days_180d` integer
    - `dense_gate` object
      - `eligible` boolean
      - `available` boolean
      - `pass_streak_days` integer
      - `required_stability_days` 7
      - `requirements` object[]
      - `missing_requirements` string[]
  - `demand` object, nullable
  - `available_cities` object[]
  - `methodology_url` string, uri
  - `data_as_of` string, date-time: Server-authoritative timestamp.
  - `metric_snapshot` MetricSnapshot
    - `snapshot_id` string, uuid, nullable, required
    - `scope` 'live_ledger', required
    - `data_as_of` string, date-time, required
    - `calculated_at` string, date-time, required
    - `snapshot_type` 'live_ledger', required
    - `metric_scope` 'multi_scope_snapshot', required: This receipt contains metrics from multiple explicitly named scopes; inspect scopes and scope_definitions before using a field.
    - `includes_synthetic` true, required: At least one field in this multi-scope receipt can include labeled synthetic demonstration data. Production-only fields remain identified by their scope.
    - `methodology_version` 'public-metrics-v3', required
    - `scopes` string[], required
    - `scope_definitions` object, required
      - `production_non_synthetic` 'Accepted public physical citations and related counts with synthetic records excluded.', required
      - `public_including_synthetic` 'All public observations, including clearly labeled synthetic demonstration records.', required
      - `ledger_all_rows` 'All ledger rows, including provisional, redacted, rejected, and non-public records.', required
  - `coverage_snapshot` CoverageSnapshot
    - `snapshot_id` string, uuid, nullable, required
    - `scope` 'coverage_snapshot', required
    - `data_as_of` string, date-time, nullable, required
    - `calculated_at` string, date-time, nullable, required
    - `snapshot_type` 'coverage_snapshot', required
    - `metric_scope` 'production_non_synthetic', required
    - `includes_synthetic` false, required
    - `methodology_version` string, nullable, required
    - `evaluated_city_count` integer, required
    - `city_catalog_count` integer, required
    - `cities_with_evidence` integer, required
    - `coverage_tiers` object, required
      - `seed` integer, required
      - `building` integer, required
      - `dense` integer, required
      - `pending_calculation` integer, required
  - `evidence_claim_boundary` EvidenceClaimBoundary
    - `schema` 'com.streetproof.evidence_claim_boundary.v1', required
    - `contract_version` string, required
    - `positive_result` object, required
      - `summary` string, required
      - `presence_kinds` object, required
        - `location_presence` string, required
        - `mobile_presence` string, required
        - `brand_mention` string, required
    - `no_result` object, required
      - `meaning` string, required
      - `limitation` string, required
    - `what_this_proves` string[], required
    - `what_this_does_not_prove` string[], required
  - `coverage_confidence` CoverageConfidence: Versioned per-city dataset maturity. Coverage never changes the evidence standard for an individual citation. A missing record never proves a business is not operating.
    - `level` 'none' | 'low' | 'medium' | 'high'
    - `tier` 'unlaunched' | 'seed' | 'building' | 'dense' | 'null', nullable
    - `freshness` 'current' | 'aging' | 'stale' | 'null', nullable: Null when the city is unlaunched because freshness does not apply.
    - `observed_cells` integer
    - `methodology_version` string
    - `calculated_at` string, date-time, nullable
    - `limitations` string
    - `note` string
  - `coverage_context` CoverageContext: Versioned city dataset maturity and freshness. It does not change individual-citation evidence requirements, and a missing record never proves absence.
    - `tier` 'unlaunched' | 'seed' | 'building' | 'dense' | 'null', nullable
    - `label` string
    - `freshness` 'current' | 'aging' | 'stale' | 'null', nullable: Null when the city is unlaunched because freshness does not apply.
    - `confidence` 'none' | 'low' | 'medium' | 'high'
    - `tier_since` string, date, nullable
    - `calculated_at` string, date-time, nullable
    - `methodology_version` string
    - `limitations` string
    - `metrics` object

## Other responses

- `404`: Resource not found (or entity opted out).
- `409`: The city name is ambiguous. Use a canonical city slug or GeoNames ID.

---

[API](https://skmtc.dev/streetproof/apis/streetproof-physical-brand-index-api.md) · [All operations](https://skmtc.dev/streetproof/apis/streetproof-physical-brand-index-api/llms.txt) · [OpenAPI document](https://skmtc.dev/streetproof/apis/streetproof-physical-brand-index-api/revisions/81072718cfa2?raw)
