---
title: "Trigger Backfill Ttab"
method: POST
path: "/v1/cron/backfill-ttab"
tags: ["cron", "cron"]
---

# Trigger Backfill Ttab

`POST /v1/cron/backfill-ttab`

## Request

- Base URL: `https://api.etymolt.com`
- URL: `https://api.etymolt.com/v1/cron/backfill-ttab`
- Auth: none declared

P0-SOTA: bulk TTABYR backfill in a DETACHED subprocess.

The class-relatedness matrix + AUC 0.6315 opposition model both read
from ttab_proceedings/ttab_parties/ttab_properties.  Those tables
are populated ONLY by this bulk script — the daily cron
(cron_ttab_v3_delta.py) writes to a different schema
(ttab_decisions).  So without this endpoint firing on a schedule,
the moat data drifts monotonically.

Wall-clock: ~4-8h (6 zips × ~74MB each, streamed parse to sqlite).
Detached subprocess so the HTTP call returns immediately.

Query params:
  max_files       — cap chunks (1 = smoke; default all 6)
  download_only   — pull zips, don't ingest
  ingest_only     — use cached zips already on /data/uspto_bulk/

## Query parameters

- `max_files` integer, nullable
- `download_only` boolean
- `ingest_only` boolean

## 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)
