---
title: "Tm Index Coverage"
method: GET
path: "/v1/cron/tm-index-coverage"
tags: ["cron", "cron"]
---

# Tm Index Coverage

`GET /v1/cron/tm-index-coverage`

## Request

- Base URL: `https://api.etymolt.com`
- URL: `https://api.etymolt.com/v1/cron/tm-index-coverage`
- Auth: none declared

WO-2 — Live coverage snapshot of the TM index.

No cache: each call reads COUNT(*) directly from tm_index.db.
Consumed by the diligence audit ("US partial (544,871 rows) /
EU mirror_not_loaded"). Once a backfill completes, the very next
call reflects the new counts.

Example:
  curl -s https://api.etymolt.com/v1/cron/tm-index-coverage         -H "Authorization: Bearer $ETL_CRON_TOKEN" | python3 -m json.tool

Response shape:
  {
    "US": {"rows": 544871, "state": "partial", "state_detail": "partial (544,871 rows)",
           "full_threshold": 8000000, "last_ingest_at": "...", ...},
    "EU": {"rows": 0, "state": "mirror_not_loaded", "state_detail": "mirror_not_loaded",
           "full_threshold": 500000, "last_ingest_at": null, ...},
    "diligence_grade": false
  }

## Headers

- `authorization` string, nullable
- `X-Etymolt-Key` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names.md) · [All operations](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names/llms.txt) · [OpenAPI document](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names/revisions/7228ffa1efa7?raw)
