{"yield_curve":{"path":"/ma/yield_curve","method":"POST","kind":"compute","tier":"basic","description":"Yield-curve level, spreads (2s10s/3m10s/3m2s/10s30s), shape label, and — with a prior curve — per-tenor shift and steepener change. Caller supplies the curve.","parameters":{"curve":{"type":"object","description":"{tenors: ['3M','2Y','5Y','10Y','30Y'], yields: [0.045, ...], as_of?} — yields in decimals"},"prior":{"type":"object","description":"optional prior curve (same shape) for shift/steepener"}},"required":["curve"],"output_example":{"level_pct":4.35,"spreads":{"2s10s_pp":-0.42,"3m10s_pp":-1.1},"shape":"inverted"},"latency_class":"fast"},"breakeven_inflation":{"path":"/ma/breakeven_inflation","method":"POST","kind":"compute","tier":"basic","description":"Breakeven inflation (nominal minus real yield) per tenor, 5y5y forward from 5y/10y BEI, real yields, and an expectations label. Caller supplies nominal/real yield pairs.","parameters":{"pairs":{"type":"object","description":"{tenors: ['5Y','10Y'], nominal_yields: [...], real_yields: [...]} — yields in decimals"}},"required":["pairs"],"output_example":{"bei_pct":{"5Y":2.1,"10Y":2.3},"5y5y_fwd_pct":2.5,"label":"anchored"},"latency_class":"fast"},"growth":{"path":"/ma/growth","method":"POST","kind":"compute","tier":"basic","description":"Growth rates from a series: YoY, period-over-period, annualized (SAAR), trailing-average YoY, and a window trend. Caller supplies the series.","parameters":{"series":{"type":"object","description":"{values: [...], periodicity: monthly|quarterly|annual, dates?, as_of?}"},"assumptions":{"type":"object","description":"{round_dp?, trend_window?}"}},"required":["series"],"output_example":{"yoy_pct":2.8,"period_change_pct":0.7,"annualized_pct":2.9,"trend_annualized_pct":2.4},"latency_class":"fast"},"inflation_decomp":{"path":"/ma/inflation_decomp","method":"POST","kind":"compute","tier":"basic","description":"Headline/core CPI decomposition: headline-core gap, MoM annualized, 3m/6m/12m annualized, base effect, and per-component contributions. Caller supplies the monthly series.","parameters":{"data":{"type":"object","description":"{headline: {values:[monthly CPI]}, core: {values:[]}, components?: {energy:{values:[]}, food:{values:[]}}}"}},"required":["data"],"output_example":{"headline_yoy_pct":3.1,"core_yoy_pct":3.3,"headline_core_gap_pp":-0.2,"mom_annualized_pct":2.1},"latency_class":"fast"},"fx":{"path":"/ma/fx","method":"POST","kind":"compute","tier":"basic","description":"FX math from caller-supplied inputs: % change vs a prior spot, annualized carry (rate differential), and a real-FX proxy (spot x CPI ratio) with its % change.","parameters":{"inputs":{"type":"object","description":"{pair?, spot, prior?, rate_a?, rate_b?, cpi_a?, cpi_b?, cpi_a_prior?, cpi_b_prior?} — rates in decimals"}},"required":["inputs"],"output_example":{"spot":1.09,"pct_change":0.6,"carry_pct":-1.5,"real_fx":1.18},"latency_class":"fast"},"macro_stats":{"path":"/ma/macro_stats","method":"POST","kind":"compute","tier":"basic","description":"Generic deterministic stats on a series: pct change, YoY, window z-score + percentile rank, max drawdown, CAGR. Caller supplies the series.","parameters":{"series":{"type":"object","description":"{values: [...], periodicity: monthly|quarterly|annual|daily}"},"assumptions":{"type":"object","description":"{window?, round_dp?}"}},"required":["series"],"output_example":{"pct_change":0.3,"yoy_pct":3.2,"window":{"z_score":1.4,"percentile_rank_pct":92.0},"max_drawdown_pct":-8.4},"latency_class":"fast"},"rates_math":{"path":"/ma/rates_math","method":"POST","kind":"compute","tier":"basic","description":"Rates math from two yields/tenors: implied forward rate, zero-coupon modified duration, and DV01 for $100 face. Yields in decimals, tenors in years.","parameters":{"inputs":{"type":"object","description":"{yield_1, yield_2, tenor_1, tenor_2} — tenor_2 > tenor_1"}},"required":["inputs"],"output_example":{"forward_rate_pct":4.9,"modified_duration":9.6,"dv01":0.065},"latency_class":"fast"},"real_commodity":{"path":"/ma/real_commodity","method":"POST","kind":"compute","tier":"basic","description":"Real (deflated) commodity price: price/cpi, real return vs a prior observation, and % off an all-time real peak. Caller supplies price + CPI.","parameters":{"inputs":{"type":"object","description":"{price, cpi, prior_price?, prior_cpi?, peak_real?}"}},"required":["inputs"],"output_example":{"real_price":30.1,"real_return_pct":1.8,"off_real_peak_pct":-12.4},"latency_class":"fast"},"validate":{"path":"/ma/validate","method":"POST","kind":"validate","tier":"basic","description":"Validate an input document against the canonical schema (series/curve/pairs/fx/commodity/rates) — correct the request before paying for compute.","parameters":{"document":{"type":"object"},"kind":{"type":"string","enum":["series","curve","pairs","fx","commodity","rates"]}},"required":["document","kind"],"output_example":{"status":"ok","kind":"curve","valid":true},"latency_class":"fast"},"knowledge":{"path":"/ma/knowledge","method":"POST","kind":"helper","tier":"basic","description":"Retrieve the service's methodology corpus (determinism contract, macro framework, release-calendar workflows, source registry).","parameters":{"query":{"type":"string"},"limit":{"type":"integer"}},"required":["query"],"output_example":{"query":"yield curve","count":1,"chunks":[{"chunk_id":"methodology-core:macro-framework","text":"..."}]},"latency_class":"fast"},"sources":{"path":"/ma/sources","method":"POST","kind":"helper","tier":"basic","description":"List the service's recommended (keyless) data sources and their reliability ratings, for the caller to acquire its own data.","parameters":{},"required":[],"output_example":{"sources":[{"name":"fred","kind":"macro","reliability":"high"}]},"latency_class":"fast"},"ma_ask":{"path":"/ma/ask","method":"POST","kind":"assembly","tier":"exclusive","description":"One-call structured macro analysis. DeepSeek orchestrates the deterministic compute operations (supplying its own data) and returns a structured brief (bottom line, rates, inflation, growth, cross-asset, risks).","parameters":{"question":{"type":"string","description":"Ask the macro analyst anything."},"messages":{"type":"array","description":"optional conversation context"}},"required":["question"],"output_example":{"question":"Where are UST 2s10s heading?","report":{"markdown":"## bottom line\n..."},"tools_used":["ma_yield_curve"],"turns_taken":2},"latency_class":"slow"}}