---
title: "Trigger Backfill Uspto Full"
method: POST
path: "/v1/cron/backfill-uspto-full"
tags: ["cron", "cron"]
---

# Trigger Backfill Uspto Full

`POST /v1/cron/backfill-uspto-full`

## Request

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

WO-2 — Kick off the full USPTO TRTYRAP corpus backfill in a DETACHED
subprocess.

The full backfile is ~14M rows across ~177 chunks. Expected wall-clock:
3–8 hours (network + disk-bound). We use the same start_new_session=True
detached-subprocess pattern as /v1/cron/run-pipeline so the HTTP request
returns immediately.

Query params (both optional):
  max_chunks   — cap chunks (smoke: 1 = ~1min, 5 = ~10min).
  max_records  — cap records per chunk (smoke slice verification only).

Example (smoke):
  curl -X POST "https://api.etymolt.com/v1/cron/backfill-uspto-full?max_chunks=1&max_records=100" -H "Authorization: Bearer $ETL_CRON_TOKEN"

Example (real):
  curl -X POST "https://api.etymolt.com/v1/cron/backfill-uspto-full"         -H "Authorization: Bearer $ETL_CRON_TOKEN"

Response:
  {"started_at": "...", "pid": 12345,
   "log_path": "/tmp/backfill_uspto_bulk_full.log",
   "note": "Detached. Poll /v1/cron/tm-index-coverage for progress."}

## Query parameters

- `max_chunks` integer, nullable
- `max_records` integer, nullable

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