API Field Reference — Version 1.4.4 · September 2026
This reference documents the fields returned by the REST API, endpoint by endpoint, and the
columns of the Snowflake Marketplace free live sample (which mirrors the free teaser).
The machine-readable contract is the OpenAPI spec;
for the methodology behind any field, see the Methodology page.
Identifier convention: event_id follows TACO-{year}-{NNNN} (e.g. TACO-2025-0042).
No PII is included in any published distribution.
Foreign Policy — military threats, diplomatic ultimatums, alliance threats
domestic
Domestic Policy — executive orders, government shutdowns, personnel actions
rhetorical
Rhetorical — lawsuits, boycotts, social media retaliation
status (event lifecycle)
Value
Meaning
detected
AI flagged, awaiting human review
confirmed
Human confirmed as a PEPI event
monitoring
Threat made, watching for outcome
resolved
Outcome determined, composite score calculated
rejected
False positive — not a PEPI event; excluded from every published series
outcome_type
The outcome vocabulary, in increasing order of reversal. Reversal Magnitude is placed on a categorical scale keyed to this value for non-trade events, and measured quantitatively from the announced-vs-applied rate gap for trade events that stated an explicit rate.
Value
Meaning
full_implementation
Threat carried out as stated
partial_implementation
Implemented with material modifications
delayed
Deadline pushed back; still pending
partial_reversal
Substantial walk-back but not total
reframed
Reversal dressed up as a victory
full_reversal
Complete reversal
abandoned
Quietly dropped, never mentioned again
indeterminate
Non-trade event lapsed with no positive evidence. Not scored; excluded from the chicken-out rate.
pending
Default. No outcome yet — event still monitoring.
outcome_evidence_source
The provenance of a resolved outcome — published on every event, including the free teaser, because a self-reported reversal is not a court-verified one. Outcomes evidenced only by the president's own posts are discounted in scoring.
Value
Meaning
court
A matched federal court ruling
congress
A Congress.gov bill action
federal_register
An implementing or withdrawing Federal Register document
independent reporting
Independently corroborated reporting from grounded web research
self_reported
Only the president's own statements
none
Provisional outcome stamped at the end of the monitoring window with no evidence either way
statutory_authority (controlled vocabulary)
Token
Legal basis
IEEPA
International Emergency Economic Powers Act, 50 U.S.C. §§1701–1708
Section_301
Trade Act of 1974, §301 (unfair trade practices)
Section_232
Trade Expansion Act of 1962, §232 (national security)
Section_122
Trade Act of 1974, §122 (balance-of-payments)
Executive_Order
Generic EO without enumerated authority
USMCA
United States–Mexico–Canada Agreement
None
No enumerated authority (foreign-policy / rhetorical events)
threat_source
Where the threat was first observed: truth_social, executive_order, proclamation, memorandum, determination, ustr_notice, press_remarks. Free on every event — it says where the threat came from, not what it cost.
2. Event object
Returned by GET /api/v1/events (summary, Standard) and GET /api/v1/events/{event_id} (detail, Standard). The event objects in /api/v1/snapshot (free teaser) and /api/v1/snapshot/full (Standard) carry a subset of the same fields — identity, dates, status, score, summary — plus the two provenance markers and the live-pressure signals marked snapshot below; the free teaser carries none of the paid economic detail.
Field
Type
Null
Description
event_id
string
N
Stable identifier: TACO-YYYY-NNNN
domain
enum
N
Top-level domain (see §1)
sub_type
string
N
Finer category within the domain (e.g. tariff, sanction, military)
status
enum
N
Lifecycle status (see §1)
threat_date
timestamp
N
UTC timestamp the threat was made publicly
threat_summary
string
N
One-line human-readable summary, ≤280 chars
target_entities
string[]
N
Countries, organizations, or persons targeted
severity_score
integer
N
Initial severity of the threat as stated, 0–100
stated_deadline
date
Y
Named deadline. Null = the threat committed to no date
outcome_type
enum
Y
Final resolution (see §1; default pending)
composite_score
number
Y
PEPI score 0–100. Null until resolved.
days_past_deadline
integer
Y
Days the effective deadline has been exceeded for an unresolved event; drives live pressure
threat_source
enum
Y
Channel the threat was observed on (see §1)
statutory_authority
enum
Y
Legal authority invoked (see §1)
outcome_evidence_source
enum
Y
Outcome provenance (see §1) — published on every snapshot event, free tier included (snapshot)
live_pressure_score
number
Y
Provisional pressure accrued by an overdue, unresolved threat; folds into index.live_value (snapshot)
Detail-only fields (/events/{event_id}):
threat_text
string
N
Verbatim threat text
stated_consequence
string
Y
The consequence the threat named
outcome_date
timestamp
Y
UTC timestamp the outcome was determined; always on or after threat_date
outcome_description
string
Y
Human-readable account of how the event resolved
actual_consequence
string
Y
What actually happened, against stated_consequence
reversal_magnitude
number
Y
Reversal Magnitude dimension, 0–100
timeline_slippage_days
integer
Y
Days the action slipped past its stated deadline
rhetorical_dilution
number
Y
Rhetorical Dilution dimension. Null until a follow-up statement is matched to the event, in which case the dimension contributes nothing
scope_reduction_pct
number
Y
Share of the threatened scope exempted or removed in the final action
framing_shift
number
Y
Framing Shift dimension — whether a reversal was claimed as a win
repetition_count
integer
N
Near-duplicate restatements collapsed into this event (posting volume). The cross-time lineage that feeds the Repetition dimension — which resolved prior threat this one re-makes — is exposed as the re-threat lineage view in the Snowflake sample.
Classifier confidence that this is a PEPI event (0.0–1.0)
3. Index series
One row per calendar day. GET /api/v1/index/history (Standard) returns the composite and domain columns; the free snapshot's index_history and GET /api/v1/index/branch/{branch} (free) carry the branch-reaction columns and the S&P 500 context.
Field
Type
Null
Description
date
date
N
Calendar date (UTC)
composite_index
number
N
Recency-weighted composite PEPI score, 0–100
trade_index
number
Y
Trade domain sub-index
foreign_policy_index
number
Y
Foreign-policy sub-index
domestic_index
number
Y
Domestic policy sub-index
rhetorical_index
number
Y
Rhetorical sub-index. Like every sub-index, null only on dates before that domain has any scored events.
judicial_index
number
Y
Judicial reaction sub-index: a 0–100 saturating measure of relevant court filings, activity-weighted by court, plus court-evidenced resolutions over a trailing window. 0 = no judicial activity.
congressional_index
number
Y
Congressional reaction sub-index: the same construction over bill actions on legislation the tracked threats reference, plus congress-evidenced resolutions
active_events
integer
Y
Events with status in (confirmed, monitoring)
sp500_close
number
Y
S&P 500 close for the day (market context; carried forward over non-trading days; null before market-data coverage)
4. Tariff rates
GET /api/v1/tariff-rates (Standard) — latest applied rate per country
Field
Type
Description
country_code
string
ISO-2 country code; coverage spans the major U.S. trading partners
avg_applied_pct
number
Customs-value-weighted applied rate across the country's HS chapters
hs_chapter_count
integer
HS chapters with data in the latest snapshot
data_as_of
date
Period end of the USITC snapshot
GET /api/v1/tariff-rates/detail?country= (Standard) — per HS chapter
Field
Type
Description
country_code
string
ISO-2 country code
hs_code
string
HS-2 chapter (e.g. 03 = Fish & Seafood)
applied_rate_pct
number|null
Effective applied tariff rate as published by USITC — customs-collected duties relative to import value
snapshot_date
date
Period end date of the USITC snapshot
GET /api/v1/events/{event_id}/tariff-rates (Premium) — statutory vs. applied per event
Field
Type
Description
snapshot_date
date
Snapshot the applied rate was measured on
statutory_rate_pct
number
Announced / headline tariff rate
applied_rate_pct
number
Rate actually collected
statutory_applied_gap
number
Announced minus applied, in percentage points
gap_as_pct_of_announced
number
Share of the announced rate that was never collected
hs10_codes
string[]
Product codes in scope, where the event names them
country_codes
string[]
Countries the event targets
5. Economic indicators
GET /api/v1/economic-indicators (Standard). Time series from BLS and FRED; filter by series_id, source, and date range. Values are latest vintage — a revised observation replaces the earlier one (see data vintage & revisions).
Field
Type
Null
Description
series_id
string
N
The publishing agency's series code
source
string
N
bls or fred
series_name
string
Y
Human-readable series name
observation_date
date
N
Observation period date
value
number
Y
Observed value. Null = not yet released by source.
unit
string
Y
Units (e.g. index 1982-84=100, percent)
6. Price impact
GET /api/v1/events/{event_id}/price-impact (Premium). One row per observation date; the four-group BLS CPI proxy method for trade-domain events. Series are normalized to 1.0 at the threat date.
Field
Type
Null
Description
date
date
N
Date of this price observation
imported_affected_index
number
N
Price index proxy for tariff-affected imports
domestic_affected_index
number
Y
Domestic goods competing with tariffed imports
imported_trend_deviation_pp
number
N
Deviation from pre-tariff trend (pp). Core price impact signal.
domestic_trend_deviation_pp
number
Y
Domestic spillover deviation (pp)
retail_passthrough_pct
number
Y
Rolling estimate of how much of the applied tariff has reached retail prices (%)
7. Economic impact summary
GET /api/v1/events/{event_id}/economic-impact (Premium). The per-event summary of the tariff gap and its measured price consequences.
Field
Type
Description
event_id
string
Parent event
statutory_rate_announced
number
Announced headline rate %
applied_rate_final
number
Applied rate % from USITC
statutory_applied_gap
number
Announced minus applied (pp)
gap_as_pct_of_announced
number
Share of the announced rate never collected
price_impact_imported_pp
number
Latest measured deviation of affected import prices from trend (pp)
price_impact_domestic_pp
number
Latest measured domestic spillover (pp)
retail_passthrough_pct
number
Latest measured retail pass-through (%)
cpi_contribution_pp
number
Estimated contribution to all-items CPI (pp, expenditure-weighted)
consumer_burden_pct
number
Consumer share of the tariff cost (%)
firm_burden_pct
number
Share absorbed by firms (%)
low_price_quartile_impact
number
Price impact on the lower price quartile within affected categories (pp)
high_price_quartile_impact
number
Price impact on the upper price quartile (pp)
distributional_gap_pp
number
Lower minus upper quartile impact
is_regressive
bool
Whether lower-priced goods rose more
affected_product_count
integer
Product sample size behind the distributional figures
top_affected_sectors
string[]
Sectors with the largest measured import price impact
methodology
string
Citation for the pass-through methodology
8. Sector impact
GET /api/v1/events/{event_id}/sector-impact (Standard). Returns {event_id, sectors[]}; one entry per consumer-price sector (COICOP level 3) touched by the event's applied tariff rates.
GET /api/v1/events/{event_id}/market-impact (Premium). Daily market closes around threat/outcome dates. Market reaction is context — it is not an input to the behavioral score.
Field
Type
Null
Description
date
date
N
Market session date
days_from_threat
integer
N
Offset from the threat date
sp500_close
number
N
S&P 500 closing level
sp500_pct_change
number
N
Day-over-day % change
vix_close
number
Y
CBOE VIX closing value
xlp_close
number
Y
Consumer-staples sector ETF close (domestic-spillover proxy)
xli_close
number
Y
Industrials sector ETF close (firm-margin proxy)
xly_close
number
Y
Consumer-discretionary sector ETF close (import pass-through proxy)
eem_close
number
Y
Emerging-markets ETF close (origin-country incidence proxy)
cumulative_return_pct
number
N
S&P 500 cumulative % return since the threat date
GET /api/v1/events/{event_id}/sector-reaction (Premium) and GET /api/v1/sector-reactions (Standard) derive threat-day and threat→outcome moves per sector, each relative to the S&P 500, from the same series.
10. TACO trade analysis
GET /api/v1/events/{event_id}/taco-trade (Premium). The theoretical return of a long position entered on the threat day and exited at the outcome.
Field
Type
Description
event_id
string
Parent event
threat_date / outcome_date
date
Entry and exit dates (exit null while unresolved)
sp500_at_threat / sp500_at_low / sp500_at_outcome
number
S&P 500 at entry, at the trough, and at exit
low_date
date
Date of the trough between threat and outcome
taco_trade_entry_price / taco_trade_exit_price
number
Entry and exit prices
taco_trade_return_pct
number|null
Return over the hold
hold_days
integer|null
Days from threat to outcome
annualized_return_pct
number|null
Return annualized over the hold
11. Federal Register documents
GET /api/v1/events/{event_id}/federal-register (Standard). The Federal Register documents linked to an event — the one it was minted from, and the ones that implement or withdraw it.
Field
Type
Null
Description
document_number
string
N
FR document number (e.g. 2025-12345)
title
string
N
Document title
type
string
N
Federal Register document type (presidential document, notice, …)
How the document relates to the event: initial (the document the event was minted from), auto (a linked candidate not yet judged), or the resolver's verdict — implementing, reversing, modifying, unrelated
match_confidence
number
Y
Confidence the link is correct (0.0–1.0)
12. Event timeline
GET /api/v1/events/{event_id}/timeline (Standard). Chronological log, one entry per event state change: a threat entry at creation, an outcome entry at terminal resolution, and review entries for operator actions.
Field
Type
Null
Description
entry_date
timestamp
N
UTC timestamp of this entry (threat date or resolved outcome date)
entry_type
string
N
Lifecycle type — threat, outcome, review
description
string
N
Human-readable summary of the entry
source_url
string
Y
Citation URL for the threat/outcome, when available
severity_delta
integer
N
Signed change in severity this entry represents (negative for a reversal, positive for implementation, 0 otherwise)
13. Free endpoint shapes
/api/v1/index (Free)
Field
Type
Description
value
float
Current composite PEPI score (0–100)
trend_30d
float
30-day change in composite score
trend_90d
float
90-day change in composite score
active_events
int
Events currently in confirmed or monitoring status