API Reference

REST API for regime classification signals, fragility scoring, and macroeconomic stress indicators across 6 regions.


Authentication

All endpoints except /health require authentication via API key.

Header

X-API-Key: rgm_your_api_key

Python example

import requests

API_KEY = "rgm_your_api_key"
BASE = "https://api.regimer.com"

headers = {"X-API-Key": API_KEY}

# Get current US regime
r = requests.get(f"{BASE}/regime/US", headers=headers)
data = r.json()

print(data["regime"])       # "C_TRANSITION"
print(data["corroboration"])   # 0.75
print(data["signals"]["credit_stress"])  # 1.20
print(data["fragility"]["nearest_regime"])  # "A_STAGFLATION"

API keys are issued during evaluation. Request access →


Base URL

https://api.regimer.com

All responses are JSON. Dates are ISO 8601. Monetary values are in the pool's native currency.


Regime Classification

GET/regime/{region}requires auth

Current regime classification for a region, including input signals, fragility analysis, and stress indicators across energy, labour, and trade channels.

Parameters

region: US | AU | DE | GB | JP | CA

{
  "regime": "C_TRANSITION",
  "corroboration": 0.75,
  "subtype": "C3",
  "region": "US",
  "signals": {
    "supply_chain_pressure": 0.50,
    "credit_stress": 1.20,
    "growth_momentum": 50.0,
    "yield_curve_spread": 0.40,
    "energy_stress_level": "ELEVATED",
    "labour_condition": "NORMAL",
    "trade_stress": "MODERATE"
  },
  "fragility": {
    "stability_score": 35,
    "nearest_regime": "A_STAGFLATION",
    "distance": 4.5,
    "binding_signals": ["signal_a", "signal_b"],
    "all_distances": {
      "B_COLLAPSE":    { "distance": 8.2, "binding": ["signal_c"] },
      "A_STAGFLATION": { "distance": 4.5, "binding": ["signal_a", "signal_b"] },
      "D_GOLDILOCKS":  { "distance": 6.1, "binding": ["signal_b", "signal_c"] }
    }
  },
  "divergence": {
    "active": false,
    "n_signals_stressed": 1,
    "market_calm": true,
    "historical_ppv": 0.275
  },
  "timestamp": "2026-01-15T08:00:00Z"
}
GET/regime/fragilityrequires auth

Regime fragility analysis for all regions. Stability scores, distances to regime boundaries, and binding signals that would trigger transitions.

{
  "regions": {
    "US": {
      "stability_score": 35,
      "nearest_adjacent_regime": "A_STAGFLATION",
      "nearest_distance": 4.5,
      "fragility_flag": false,
      "distances": {
        "B_COLLAPSE":    { "distance": 8.2, "binding_signals": ["..."] },
        "A_STAGFLATION": { "distance": 4.5, "binding_signals": ["..."] },
        "D_GOLDILOCKS":  { "distance": 6.1, "binding_signals": ["..."] }
      }
    },
    "AU": { "..." },
    "DE": { "..." },
    "GB": { "..." },
    "JP": { "..." },
    "CA": { "..." }
  },
  "timestamp": "2026-01-15T08:00:00Z"
}
GET/regionsrequires auth

Validation status for all regions including Sharpe ratio, p-value, and pool status.

{
  "regions": {
    "US": { "status": "POOL_VALIDATED", "sharpe": 1.367, "p_value": 0.0000 },
    "AU": { "status": "POOL_VALIDATED", "sharpe": 0.827, "p_value": 0.0159 },
    "DE": { "status": "POOL_VALIDATED", "sharpe": 1.025, "p_value": 0.0017 },
    "GB": { "status": "POOL_VALIDATED", "sharpe": 0.847, "p_value": 0.0000 },
    "CA": { "status": "POOL_VALIDATED", "sharpe": 1.198, "p_value": 0.0001 },
    "JP": { "status": "POOL_VALIDATED", "sharpe": 0.931, "p_value": 0.0001 }
  }
}
GET/regime/{region}/factorsrequires auth

Three-zone factor breakdown for a region's current regime. Shows directional factors (signals voting for/against the regime), independent macro context, contextual indicators, and corroboration segment counts.

Parameters

region: US | AU | DE | GB | JP | CA

{
  "region": "US",
  "regime": "C_TRANSITION",
  "regime_display": "Transition",
  "regime_description": "Mixed signals — the economy is between regimes with no clear directional pressure.",
  "corroboration": 0.58,
  "corroboration_segments_total": 6,
  "corroboration_segments_filled": 3,
  "directional_factors": [
    {
      "id": "credit_stress_z",
      "display_name": "Credit Stress",
      "value": 0.95,
      "direction": "supports",
      "threshold_distance": 0.075,
      "explanation": "Composite of high-yield credit spreads and volatility indices."
    }
  ],
  "independent_factors": [
    {
      "id": "cpi_yoy",
      "display_name": "Inflation (CPI)",
      "value": 2.8,
      "explanation": "Consumer price inflation year-over-year.",
      "historical_z": null
    }
  ],
  "contextual_indicators": [
    {
      "id": "housing_stress",
      "display_name": "Housing Stress",
      "level": "low",
      "value": 22.5,
      "explanation": "Composite of price, affordability, debt service, credit flow, loan quality, sentiment."
    }
  ],
  "shadow_alignment": {
    "aligned_count": 5,
    "total_count": 8,
    "divergence_active": false
  },
  "as_of": "2026-04-12T06:00:00+00:00"
}
GET/regime/{region}/topologyrequires auth

Radial regime topology — polar coordinates showing the state's position relative to four active regimes. C_TRANSITION sits at the origin; active regimes at fixed angular positions. Includes historical trajectory and per-signal time series.

Parameters

region: US | AU | DE | GB | JP | CA, trail: number of months (default 12, max 120)

{
  "region": "GB",
  "current_position": {
    "date": "2026-04-12",
    "radius": 0.920,
    "angle": 92.7,
    "regime": "C_TRANSITION",
    "pulls": {
      "A_INFLATIONARY": 0.920,
      "A_STAGFLATION": 0.700,
      "D_GOLDILOCKS": 0.656,
      "B_COLLAPSE": 0.000
    }
  },
  "regime_anchors": {
    "D_GOLDILOCKS": 0,
    "A_INFLATIONARY": 90,
    "A_STAGFLATION": 180,
    "B_COLLAPSE": 270
  },
  "trajectory": [
    {"date": "2025-05-31", "radius": 0.45, "angle": 12.3, "regime": "D_GOLDILOCKS", "pulls": {"D_GOLDILOCKS": 0.45, "A_INFLATIONARY": 0.30, "A_STAGFLATION": 0.15, "B_COLLAPSE": 0.00}}
  ],
  "trajectory_months_requested": 12,
  "trajectory_months_available": 12,
  "signal_history": {
    "credit_stress_z": [["2025-05-31", 0.12]],
    "cpi_yoy": [["2025-05-31", 2.10]],
    "cli": [["2025-05-31", 101.20]],
    "yield_spread": [["2025-05-31", 0.80]]
  },
  "as_of": "2026-04-12T06:00:00+00:00"
}
GET/regime/history/{region}requires auth

Regime classification history for a region.

Parameters

region: US | AU | DE | GB | JP | CA

{
  "region": "US",
  "entries": 349,
  "history": [
    { "date": "2026-04-01", "regime": "C_TRANSITION", "corroboration": 0.82 },
    { "date": "2026-03-31", "regime": "C_TRANSITION", "corroboration": 0.81 },
    ...
  ]
}

Stress Signals

GET/energy/{region}requires auth

Energy stress composite. Multiple z-scores across oil, gas, and energy inflation channels. Polarity adjusted for commodity exporters (e.g. falling gas prices are stress for gas exporters).

Parameters

region: US | AU | DE | GB | JP | CA

{
  "region": "US",
  "energy_stress_level": "ELEVATED",
  "oil_equity_divergence": false,
  "exporter_adjusted": false,
  "n_signals": 5,
  "timestamp": "2026-01-15T08:00:00Z"
}
GET/labour/{region}requires auth

Labour market stress composite. Regional unemployment dynamics, wage pressure, and capacity indicators where available.

Parameters

region: US | AU | DE | GB | JP | CA

{
  "region": "US",
  "labour_condition": "NORMAL",
  "unemployment_trend": "stable",
  "n_signals": 4,
  "timestamp": "2026-01-15T08:00:00Z"
}
GET/trade/{region}requires auth

Trade stress composite. Import cost dynamics and trade balance deterioration indicators.

Parameters

region: US | AU | DE | GB | JP | CA

{
  "region": "US",
  "trade_stress": "MODERATE",
  "import_cost_trend": "rising",
  "n_signals": 2,
  "timestamp": "2026-01-15T08:00:00Z"
}
GET/divergence/{region}requires auth

Economic-market divergence assessment. Active when multiple economic signals show stress while credit markets remain calm. Historical PPV: 27.5% (5.3x lift over base rate). Attention signal — not an allocation trigger.

Parameters

region: US | AU | DE | GB | JP | CA

{
  "active": true,
  "n_signals_stressed": 2,
  "min_required": 2,
  "stressed_signals": ["...", "..."],
  "market_calm": true,
  "historical_ppv": 0.275,
  "historical_false_positive_rate": 0.725,
  "historical_lead_months": 7.7,
  "caveat": "Attention signal — not an allocation trigger. ...",
  "timestamp": "2026-01-15T08:00:00Z"
}
GET/acctrequires auth

Proprietary private credit stress composite. Captures stress in private credit markets before it surfaces in public market indicators.

{
  "acct_score": 45.0,
  "acct_level": "BUILDING_STRESS"
}
GET/yield-curve/{region}requires auth

Yield curve spread, level classification, and velocity for a region.

Parameters

region: US | AU | DE | GB | JP | CA

{
  "region": "US",
  "spread": 0.50,
  "level": "NORMAL",
  "change_5d": -0.03,
  "change_20d": -0.10
}

System

GET/health

System health check. No authentication required.

{
  "status": "ok",
  "acct_age_s": 3600,
  "regime_age_s": 3600,
  "server_time": "2026-04-02T08:00:00Z"
}
GET/validationrequires auth

Walk-forward validation results: permutation test outcomes per region.

{
  "walk_forward": {
    "method": "permutation_test",
    "n_permutations": 30000,
    "results": {
      "US": { "z_score": 7.06, "p_value": 0.0000, "sharpe": 1.367 },
      "AU": { "z_score": 2.53, "p_value": 0.0159, "sharpe": 0.827 },
      "DE": { "z_score": 3.39, "p_value": 0.0017, "sharpe": 1.025 },
      "GB": { "z_score": 7.23, "p_value": 0.0000, "sharpe": 0.847 },
      "CA": { "z_score": 4.61, "p_value": 0.0001, "sharpe": 1.198 },
      "JP": { "z_score": 4.48, "p_value": 0.0001, "sharpe": 0.931 }
    }
  }
}
GET/audit-chainrequires auth

Audit chain integrity + parameter lock verification. Cryptographic proof that classifications were recorded before outcomes were known, and that parameters were locked before prospective validation began.

{
  "classification_chain": {
    "entries": 7,
    "intact": true,
    "latest_date": "2026-04-02",
    "latest_regime": "C_TRANSITION",
    "latest_hash": "749946768b275d0e..."
  },
  "parameter_lock": {
    "locked_date": "2026-03-28",
    "parent_regime_params": {
      "file": "config/regime_params.json",
      "last_modified_commit": "a093f5e",
      "last_modified_date": "2026-03-24"
    },
    "days_since_lock": 5,
    "verification": "Clone the repository and run: git log ..."
  },
  "prospective_validation": {
    "commenced": "2026-03-28",
    "entries_recorded": 7,
    "first_checkpoint": "2027-03",
    "failure_criteria": "See /prospective-criteria"
  }
}
GET/prospective-criteriarequires auth

Pre-committed failure criteria. Published before any prospective results were evaluated. Defines thresholds for Sharpe degradation, directional accuracy, divergence false positives, and single-episode underperformance.

{
  "parent_regime_criteria": {
    "sharpe_degradation": {
      "trigger": "Sharpe < 0.8 over rolling 24 months",
      "action": "Formal review with published findings"
    },
    "direction_accuracy": {
      "trigger": "< 60% correct direction over 12 months",
      "action": "Formal review"
    }
  },
  "divergence_criteria": {
    "consecutive_false_positives": {
      "trigger": "3+ FPs across different regions in 24 months",
      "action": "Threshold review"
    }
  },
  "review_schedule": {
    "first_checkpoint": "2027-03",
    "publication": "Quarterly, including failures"
  }
}

Housing stress

GET/housing/{region}requires auth

Housing Stress Composite (HSC) for a region. Six signal categories weighted to the region's mortgage market structure. Measures how monetary policy is transmitting to housing stress.

Parameters

region: US, AU, DE, GB, JP, CA

{
  "region": "AU",
  "hsc_static": 53.1,
  "level": "moderate",
  "components": {
    "price_momentum": 41.2,
    "affordability": 96.2,
    "balance_sheet": 77.5,
    "credit_flow": 54.4,
    "loan_quality": 58.9,
    "market_sentiment": 0.0
  },
  "weights_applied": {
    "price_momentum": 0.15,
    "affordability": 0.12,
    "balance_sheet": 0.35,
    "credit_flow": 0.15,
    "loan_quality": 0.12,
    "market_sentiment": 0.24
  },
  "observation_mode": true,
  "observation_end_date": "2026-10-07"
}

Destination analysis

GET/regime/destination/{region}requires auth

Conditional destination analysis. Given current signal conditions, where did historically similar episodes resolve? Backtested across 2,308 months of regime history.

Parameters

region: US, AU, DE, GB, JP, CA

{
  "region": "GB",
  "current_regime": "Transition",
  "cohort_size": 42,
  "destination_probabilities": {
    "Expansion": 0.38,
    "Transition": 0.21,
    "Stagflation": 0.29,
    "Contraction": 0.12
  },
  "median_duration_months": 8
}
GET/regime/survival/{region}requires auth

Regime duration survival curves. How long does the current regime typically persist? Kaplan-Meier estimates with right-censoring.

Parameters

region: US, AU, DE, GB, JP, CA

{
  "region": "US",
  "current_regime": "Transition",
  "milestones": {
    "p25_months": 4,
    "p50_months": 11,
    "p75_months": 24
  },
  "episodes": 38,
  "right_censored": 1
}

Rate Limits

Evaluation tier: 100 requests per minute. Delayed US data (1-month lag).

Professional tier: 1,000 requests per minute. Real-time, all validated regions.

Enterprise: Unlimited. All 6 validated regions. Webhook notifications on regime transitions.


Errors

401Missing or invalid API key
403Valid key but insufficient permissions for this endpoint/tier
404Region not found (invalid region code)
429Rate limit exceeded
{
  "detail": "Authentication required. Provide X-API-Key header."
}

Supported Regions

CodeRegionStatusNotes
USUnited StatesValidatedDaily classifier, full signal coverage
AUAustraliaValidatedCommodity exporter adjustments
DEGermanyValidatedEurozone credit dynamics, EU gas exposure
GBUnited KingdomValidatedGilt-free baskets, LDI-aware
CACanadaValidatedOil exporter, energy-adjusted baskets
JPJapanValidatedZIRP structural limitation disclosed

Request API evaluation access →