{"name":"MacroLens IPTM — Industrial Policy & Trade Monitor","description":"Typed register of geoeconomic government actions (export controls, tariffs, sanctions, FDI screens, subsidies, industrial policy). See docs/IPTM_CHARTER.md for the data model + source whitelist criteria.","version":1,"surface_html":"https://localhost:3010/actions","endpoints":[{"path":"/api/iptm/actions","method":"GET","returns":"JSON","description":"Full action register with attached RBI (Register Breadth Index) + quant-severity scores. Newest first.","query_params":{"type":"comma-separated; ANY-of match. e.g. export-control,tariff,sanction,fdi-screen,subsidy,industrial-policy","issuer":"comma-separated 2-letter country/agency code; ANY-of. e.g. US,EU,UK","country":"single code; matches issuer OR target_countries. e.g. CN","material":"single material slug; matches target_materials. e.g. lithium,gallium","minSeverity":"integer 1-5; filters severity ≥ N"},"examples":["https://localhost:3010/api/iptm/actions","https://localhost:3010/api/iptm/actions?type=tariff,sanction","https://localhost:3010/api/iptm/actions?country=CN&minSeverity=4","https://localhost:3010/api/iptm/actions?material=lithium"]},{"path":"/api/iptm/actions/{id}","method":"GET","returns":"JSON","description":"Per-action full relational-layer view — the same data visible on /actions/{id}, in JSON form. Includes: bilateral-trade-weighted target ranking, downstream sectors via adjacency, downstream countries via sector concentration, ETF cross-impact, and causal links (responds_to outbound + responded_by inbound). 404 if id not found.","examples":["https://localhost:3010/api/iptm/actions/2022-10-07-us-bis-advanced-ai-chip-controls-china","https://localhost:3010/api/iptm/actions/2025-04-04-china-mofcom-heavy-rare-earths-export-licensing"]},{"path":"/api/iptm/exposure/countries","method":"GET","returns":"JSON","description":"Country regime-exposure ranking — severity × 5y recency-decay summed across issuer + target roles. Same data as the /actions/exposure HTML page.","examples":["https://localhost:3010/api/iptm/exposure/countries"]},{"path":"/api/iptm/exposure/sectors","method":"GET","returns":"JSON","description":"Sector regime-exposure ranking — severity × 5y recency-decay summed over actions referencing each target_sectors slug. Same data as /actions/sectors.","examples":["https://localhost:3010/api/iptm/exposure/sectors"]},{"path":"/api/iptm/exposure/materials","method":"GET","returns":"JSON","description":"Material regime-exposure ranking — severity × 5y recency-decay summed over actions referencing each target_materials slug. Same data as /actions/materials.","examples":["https://localhost:3010/api/iptm/exposure/materials"]},{"path":"/api/iptm/feed.xml","method":"GET","returns":"Atom 1.0 XML","description":"RSS-reader-compatible feed of newly-filed actions. Auto-discovered via <link rel=\"alternate\"> in the site head.","examples":["https://localhost:3010/api/iptm/feed.xml"]}],"related_docs":["https://localhost:3010/about","docs/IPTM_CHARTER.md (private repo)","docs/iptm/SOURCE_AUDIT.md (private repo)","docs/iptm/THEME_AUDIT.md (private repo)"],"notes":{"auth":"No auth required; rate limits enforced by upstream Caddy + Cloudflare.","caching":"Routes are dynamic (force-dynamic); cache responses client-side per your needs.","schema_stability":"Schema is stable for the documented fields. New fields may appear additively. Breaking changes will bump the version field above."}}