# Insurance agency change-log — machine notes

**Host:** https://pexara.ai is discovery. The live query API is https://api.pexara.ai. GET /v1/* on this host returns 404 not_on_this_host.

**As of:** 2026-08-14 (America/New_York). Observation started 2026-08-12. Missed 2026-08-17 and 2026-08-18. 2026-08-19 was a ~3-day catch-up. Live counts: GET https://api.pexara.ai/v1/coverage.

## What this product is

Government licensing registers publish a start date and then delete the row. There is no end date. When a carrier drops an agency, tomorrow's file simply omits the appointment, and the termination is recorded nowhere. This product captures daily snapshots and differences them so endings become dated, observable events.

Current-state questions (who is licensed today, which carriers an agency currently represents) can be answered from the source directly. Historical questions — when a relationship ended, which carriers are bleeding agencies, which agencies are in distress, who changed hands — cannot be answered from any other public source.

Answers are **windows**, not timestamps. Every historical row carries `uncertainty_days`. Do not present these as exact dates. Never round a window to a date. Never round uncertainty_days. Observation started 2026-08-12.

Texas is the live set. The catalog is shaped for perishable registers generally (not Texas-only forever). Florida `agency_appointments` is suspect: ragged capture, terminations withheld.

Identifiers: **NPN**, **EIN**, **NAIC**.

## What is live on pexara.ai (this host)

- `GET /llms.txt` — brand index (last-mile + change-log)
- `GET /intelligence/insurance/llms.txt` — nested machine index
- `GET /intelligence/insurance/llms-full.txt` — concatenated brief for this product only
- `GET /intelligence/insurance/offer.json` — Statelog machine offer (status deployed_for_discovery; collection_live=false)
- `GET /intelligence/insurance/offer.md` — same offer as markdown
- `GET /intelligence/insurance/openapi.yaml` — OpenAPI 3.1, with availability markers
- `GET /intelligence/insurance/coverage.json` — static snapshot as of 2026-08-14
- `GET /intelligence/insurance/changelog.md` — this file
- Human market hub at `/intelligence/insurance` (TX+FL structure pages). Unrelated to the query API.
- `GET /v1/*` — **not** the query API. Returns 404 JSON `not_on_this_host` pointing at discovery and https://api.pexara.ai. This is demand capture.

## What is live on the query API (https://api.pexara.ai)

These are LIVE at https://api.pexara.ai. They are not served on pexara.ai.

| Endpoint | Host | Price |
|---|---|---|
| GET /v1/coverage | https://api.pexara.ai | free |
| GET /v1/agency/{npn} | https://api.pexara.ai | free |
| GET /v1/search | https://api.pexara.ai | free |
| GET /v1/quote | https://api.pexara.ai | free (price list, not checkout) |
| GET /v1/agency/{npn}/changes | https://api.pexara.ai | 25 free calls/day, 50 free rows/day, page cap 25, then 402 — $0.004 |
| GET /v1/terminations | https://api.pexara.ai | 25 free calls/day, 50 free rows/day, page cap 25, then 402 — $0.010 |
| GET /v1/carrier/{naic_id}/attrition | https://api.pexara.ai | 25 free calls/day, 50 free rows/day, page cap 25, then 402 — $0.020 |
| GET /v1/signals/at-risk | https://api.pexara.ai | 25 free calls/day, 50 free rows/day, page cap 25, then 402 — $0.050 |
| GET /v1/control-changes | https://api.pexara.ai | 25 free calls/day, 50 free rows/day, page cap 25, then 402 — $0.020 |

Stripe is false. x402 settlement is false. GET /v1/quote returns the price list. It does not collect money. A 402 is a structured quote. GET /v1/control-changes currently omits `uncertainty_days`.

## Capture snapshot (2026-08-14)

- First pull: 2026-08-12
- 20 sources in the enabled catalog
- `tx.agency_appointments`: 619,867 rows ok, 696 DISAPPEAR, 1-day uncertainty window
- `fl.agency_appointments`: suspect (ragged; terminations withheld)
- Other catalog ids: listed in coverage.json with status only — no invented row counts

## Unusual fact

The source publishes only what is true today. Terminations exist because we watched a row vanish between two observations. That is the whole product.
