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.


Deprecated Fields

The following response fields are kept as aliases for backward compatibility. They will be removed on the dates below — please migrate to the canonical names before the sunset date.

DEPRECATEDconfidencesunset: 2026-12-01

Numeric field emitted on /regime, /regime/{region}, /regime/history/{region}, /signals, and /dashboard. Use corroboration instead — same value, canonical name.

Detection: affected endpoints return Sunset, Deprecation, and Link HTTP headers per RFC 8594.


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

Operational status for all regions. Values below are illustrative placeholders — the authenticated API returns live data.

{
  "regions": {
    "US": { "status": "OPERATIONAL", "portfolio_sharpe_backtest": 0.0 },
    "AU": { "status": "OPERATIONAL", "portfolio_sharpe_backtest": 0.0 },
    "DE": { "status": "OPERATIONAL", "portfolio_sharpe_backtest": 0.0 },
    "GB": { "status": "OPERATIONAL", "portfolio_sharpe_backtest": 0.0 },
    "CA": { "status": "OPERATIONAL", "portfolio_sharpe_backtest": 0.0 },
    "JP": { "status": "OPERATIONAL", "portfolio_sharpe_backtest": 0.0 }
  }
}
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% (2.2x 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

Current validation program status per region. Values below are illustrative placeholders — the authenticated API returns live data, including the status of the block-aware re-testing program.

{
  "validation": {
    "program": "block_aware_retest",
    "status": "in_progress",
    "results": {
      "US": { "status": "pending" },
      "AU": { "status": "pending" },
      "DE": { "status": "pending" },
      "GB": { "status": "pending" },
      "CA": { "status": "pending" },
      "JP": { "status": "pending" }
    }
  }
}
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 6 covered regions.

Enterprise: Unlimited. All 6 covered 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 →