{"openapi":"3.1.0","info":{"title":"FX Macrodata API","description":"Official-source macroeconomic indicators, release calendars, central-bank policy rates, FX reference rates, COT positioning and commodities across 22 currencies. USD data is available without an API key; other currencies and datasets need an `X-API-Key` header.","version":"1.0.0"},"paths":{"/v1/health":{"get":{"tags":["health"],"summary":"Ping the API","description":"Returns a simple OK status to verify the API is running.","operationId":"ping_v1_health_get","responses":{"200":{"description":"Health-check response confirming API availability.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceStatusResponse"},"example":{"status":"ok","service":"fxmacrodata-api"}}}}}}},"/v1/ping":{"get":{"tags":["health"],"summary":"Ping the API","description":"Returns a simple OK status to verify the API is running.","operationId":"ping_v1_ping_get","responses":{"200":{"description":"Health-check response confirming API availability.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceStatusResponse"},"example":{"status":"ok","service":"fxmacrodata-api"}}}}}}},"/v1/forex/{base}/{quote}":{"get":{"tags":["fx_markets"],"summary":"Get FX spot rates","description":"Fetches daily FX spot rates between two currencies using official central-bank reference rates.\n\n**Path Parameters:**\n- `base`: Base currency code (e.g., AUD, USD).\n- `quote`: Quote currency code (e.g., USD, EUR).\n\n**Query Parameters:**\n- `start_date`: Optional. Start date YYYY-MM-DD. Defaults to 365 days ago.\n- `end_date`: Optional. End date YYYY-MM-DD. Defaults to today.\n\n- `indicators`: Optional. Comma-separated list of technical indicators to compute from the spot-rate series and include in the response. Pass `all` to include every supported indicator. Supported values: `adx_14`, `atr_14`, `bollinger_bands`, `cci_20`, `donchian_20`, `ema_12`, `ema_20`, `ema_200`, `ema_26`, `ema_50`, `macd`, `macd_histogram`, `macd_signal`, `rsi_14`, `sma_20`, `sma_200`, `sma_50`, `stochastic_14_3`, `williams_r_14`, `all`.\n\n**Daily reference OHLC:**\n- On qualifying dates, `data[]` also includes `open`, `high`, `low`, and `close` built from timestamped eligible reference observations. These are `reference_observation_ohlc` bars, not executable-market candles. Rows without at least four observations omit the OHLC fields.\n\n**FX source and derivation metadata:**\n- FX values are official reference rates collected by FXMacroData. USD-quoted pairs are the base series; inverse and cross pairs are derived from those legs when the publisher does not provide the requested pair directly.\n- Responses include `pair_metadata` and row-level `data[].source` with `direct_available`, `inverse_available`, `is_derived`, `derived_from_inverse`, `derived_from_cross`, `derived_from_source_legs`, `derivation_method`, `anchor_currency`, `source_pair`, `source_legs`, and `pair_consistency_check`.\n- Upstream FX source priority is BIS XRU daily USD exchange rates where available, then official national-bank daily sources, explicitly labelled EUR/CAD-derived daily crosses, official USD pegs, BIS monthly averages expanded to business days, IMF IFS monthly rates, and World Bank annual rates. Lower-frequency expansions are labelled with `source_frequency` and `derivation_method`; they are not presented as true daily fixings.\n- `data[].observation_datetime` is the UTC midnight timestamp for the FX reference date. It is an observation-date marker, not a publication timestamp.\n- XAU/USD and USD/XAU use the stored gold series: the National Bank of Ukraine official accounting price of gold divided by the NBU official UAH/USD rate for the same official rate date (Narodowy Bank Polski gold only for dates the NBU did not supply). Source: National Bank of Ukraine (https://bank.gov.ua/en/open-data). No publication clock or LBMA auction price is asserted. Weekday-label coverage is included.","operationId":"forex_v1_forex__base___quote__get","parameters":[{"name":"base","in":"path","required":true,"schema":{"type":"string","description":"Base currency code","examples":["AUD"],"title":"Base","enum":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"example":"AUD"},"description":"Required path parameter. Base currency code Allowed values: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD."},{"name":"quote","in":"path","required":true,"schema":{"type":"string","description":"Quote currency code","examples":["USD"],"title":"Quote","enum":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"example":"AUD"},"description":"Required path parameter. Quote currency code Allowed values: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD."},{"name":"start_date","in":"query","required":false,"schema":{"type":"string","description":"Start date YYYY-MM-DD","examples":["2026-01-01"],"title":"Start Date"},"description":"Optional query parameter. Start date YYYY-MM-DD"},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","description":"End date YYYY-MM-DD","examples":["2026-03-01"],"title":"End Date"},"description":"Optional query parameter. End date YYYY-MM-DD"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum rows to return. Defaults to 20. Maximum 100.","examples":[20],"default":20,"title":"Limit"},"description":"Optional query parameter. Maximum rows to return. Defaults to 20. Maximum 100."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of rows to skip after most-recent-first ordering.","examples":[0],"default":0,"title":"Offset"},"description":"Optional query parameter. Number of rows to skip after most-recent-first ordering."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"description":"One-based page number. When supplied, it takes precedence over offset.","examples":[1],"title":"Page"},"description":"Optional query parameter. One-based page number. When supplied, it takes precedence over offset."},{"name":"indicators","in":"query","required":false,"schema":{"type":"string","description":"Comma-separated technical indicators to compute (e.g. sma_20,rsi_14,macd,bollinger_bands). Use 'all' to request every supported indicator.","examples":["sma_20,rsi_14,macd"],"title":"Indicators"},"description":"Optional query parameter. Comma-separated technical indicators to compute (e.g. sma_20,rsi_14,macd,bollinger_bands). Use 'all' to request every supported indicator."},{"name":"dataset_version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Pin the content version returned by the first page; changed history returns 409.","title":"Dataset Version"},"description":"Optional query parameter. Pin the content version returned by the first page; changed history returns 409."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Daily FX spot-rate series with optional computed technical indicators.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForexResponse"},"example":{"base":"USD","quote":"JPY","source":"Official central-bank reference rates","provenance":{"publisher":"Official central-bank reference rates","storage":"FXMacroData","timestamp_field":"date","value_field":"val"},"pair_metadata":{"direct_available":true,"inverse_available":false,"derived_from_inverse":false,"derived_from_cross":false,"derived_from_source_legs":false,"is_derived":false,"derivation_method":"direct_original_pair","source_pair":"USD/JPY","source_legs":[{"pair":"USD/JPY","source_provider":"BIS XRU","source_name":"BIS XRU daily USD exchange rates","source_url":"https://stats.bis.org/api/v2/data/dataflow/BIS/WS_XRU/1.0","source_frequency":"daily"}],"pair_consistency_check":"passed"},"data_quality":{"source_name":"Official central-bank reference rates","source_type":"official","is_derived":false,"datetime_field":"observation_datetime","datetime_precision":"date","source_legs":[{"pair":"USD/JPY","source_provider":"BIS XRU","source_frequency":"daily"}]},"start_date":"2026-06-17","end_date":"2026-06-18","data":[{"date":"2026-06-18","val":161.1288,"observation_datetime":1781740800,"observation_datetime_iso":"2026-06-18T00:00:00Z","observation_datetime_precision":"date","source":{"source_pair":"USD/JPY","source_legs":[{"pair":"USD/JPY","source_provider":"BIS XRU","source_frequency":"daily"}],"is_derived":false,"derivation_method":"direct_original_pair","pair_consistency_check":"passed"}},{"date":"2026-06-17","val":161.1288,"observation_datetime":1781654400,"observation_datetime_iso":"2026-06-17T00:00:00Z","observation_datetime_precision":"date","source":{"source_pair":"USD/JPY","source_legs":[{"pair":"USD/JPY","source_provider":"BIS XRU","source_frequency":"daily"}],"is_derived":false,"derivation_method":"direct_original_pair","pair_consistency_check":"passed"}}],"indicators":{"sma_20":0.6519,"rsi_14":58.42,"macd":{"macd":0.0012,"signal":0.0009,"histogram":0.0003}}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-parameter-availability":{"base":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"quote":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"indicators":["adx_14","atr_14","bollinger_bands","cci_20","donchian_20","ema_12","ema_20","ema_200","ema_26","ema_50","macd","macd_histogram","macd_signal","rsi_14","sma_20","sma_200","sma_50","stochastic_14_3","williams_r_14","all"]}}},"/v1/fx/reference-rates/{base}/{quote}":{"get":{"tags":["fx_markets"],"summary":"Get timestamped official FX reference rates","operationId":"reference_rates_v1_fx_reference_rates__base___quote__get","parameters":[{"name":"base","in":"path","required":true,"schema":{"type":"string","description":"Base currency code","examples":["EUR"],"title":"Base"},"description":"Required path parameter. Base currency code"},{"name":"quote","in":"path","required":true,"schema":{"type":"string","description":"Quote currency code","examples":["USD"],"title":"Quote"},"description":"Required path parameter. Quote currency code"},{"name":"date","in":"query","required":false,"schema":{"type":"string","description":"Single reference date YYYY-MM-DD. Overrides start_date/end_date.","examples":["2026-07-10"],"title":"Date"},"description":"Optional query parameter. Single reference date YYYY-MM-DD. Overrides start_date/end_date."},{"name":"start_date","in":"query","required":false,"schema":{"type":"string","description":"Start reference date YYYY-MM-DD.","examples":["2026-07-10"],"title":"Start Date"},"description":"Optional query parameter. Start reference date YYYY-MM-DD."},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","description":"End reference date YYYY-MM-DD.","examples":["2026-07-10"],"title":"End Date"},"description":"Optional query parameter. End reference date YYYY-MM-DD."},{"name":"source","in":"query","required":false,"schema":{"type":"string","description":"Optional source id filter, for example ecb_eurofxref_daily.","title":"Source"},"description":"Optional query parameter. Optional source id filter, for example ecb_eurofxref_daily."},{"name":"timestamp_type","in":"query","required":false,"schema":{"type":"string","description":"Optional timestamp type filter, for example fixing or published.","title":"Timestamp Type"},"description":"Optional query parameter. Optional timestamp type filter, for example fixing or published."},{"name":"native_only","in":"query","required":false,"schema":{"type":"boolean","description":"Return only rows published directly for the requested pair, excluding inverse and cross-derived rows.","default":false,"title":"Native Only"},"description":"Optional query parameter. Return only rows published directly for the requested pair, excluding inverse and cross-derived rows."},{"name":"include_source_legs","in":"query","required":false,"schema":{"type":"boolean","description":"Include derivation source legs when a rate is inverted or crossed.","default":true,"title":"Include Source Legs"},"description":"Optional query parameter. Include derivation source legs when a rate is inverted or crossed."},{"name":"order","in":"query","required":false,"schema":{"enum":["timestamp_asc","timestamp_desc","date_asc","date_desc"],"type":"string","description":"Result ordering.","default":"timestamp_asc","title":"Order"},"description":"Optional query parameter. Result ordering."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum rows to return. Maximum 100.","default":100,"title":"Limit"},"description":"Optional query parameter. Maximum rows to return. Maximum 100."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of rows to skip.","default":0,"title":"Offset"},"description":"Optional query parameter. Number of rows to skip."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"description":"One-based page number.","title":"Page"},"description":"Optional query parameter. One-based page number."},{"name":"dataset_version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Pin first-page content version; changed history returns 409.","title":"Dataset Version"},"description":"Optional query parameter. Pin first-page content version; changed history returns 409."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FxReferenceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fx/intraday-reference-rates/{base}/{quote}":{"get":{"tags":["fx_markets"],"summary":"Get subscriber intraday FX reference rates","description":"Return subscriber-only timestamped intraday FX reference rates.","operationId":"intraday_reference_rates_v1_fx_intraday_reference_rates__base___quote__get","parameters":[{"name":"base","in":"path","required":true,"schema":{"type":"string","description":"Base currency code","examples":["EUR"],"title":"Base"},"description":"Required path parameter. Base currency code"},{"name":"quote","in":"path","required":true,"schema":{"type":"string","description":"Quote currency code","examples":["USD"],"title":"Quote"},"description":"Required path parameter. Quote currency code"},{"name":"start_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Inclusive RFC 3339 timestamp. Defaults to 24 hours before end_time.","examples":["2026-07-13T00:00:00Z"],"title":"Start Time"},"description":"Optional query parameter. Inclusive RFC 3339 timestamp. Defaults to 24 hours before end_time."},{"name":"end_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Inclusive RFC 3339 source timestamp. Defaults to the current time.","examples":["2026-07-14T00:00:00Z"],"title":"End Time"},"description":"Optional query parameter. Inclusive RFC 3339 source timestamp. Defaults to the current time."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FxIntradayReferenceRatesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fx/session-rates/{base}/{quote}":{"get":{"tags":["fx_markets"],"summary":"Get official FX session-close reference rates","operationId":"session_rates_v1_fx_session_rates__base___quote__get","parameters":[{"name":"base","in":"path","required":true,"schema":{"type":"string","description":"Base currency code","examples":["EUR"],"title":"Base"},"description":"Required path parameter. Base currency code"},{"name":"quote","in":"path","required":true,"schema":{"type":"string","description":"Quote currency code","examples":["USD"],"title":"Quote"},"description":"Required path parameter. Quote currency code"},{"name":"session","in":"query","required":true,"schema":{"type":"string","description":"Session name: sydney, tokyo, london, or new_york.","examples":["london"],"title":"Session"},"description":"Required query parameter. Session name: sydney, tokyo, london, or new_york."},{"name":"date","in":"query","required":false,"schema":{"type":"string","description":"Single reference date YYYY-MM-DD. Overrides start_date/end_date.","examples":["2026-07-10"],"title":"Date"},"description":"Optional query parameter. Single reference date YYYY-MM-DD. Overrides start_date/end_date."},{"name":"start_date","in":"query","required":false,"schema":{"type":"string","description":"Start reference date YYYY-MM-DD.","title":"Start Date"},"description":"Optional query parameter. Start reference date YYYY-MM-DD."},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","description":"End reference date YYYY-MM-DD.","title":"End Date"},"description":"Optional query parameter. End reference date YYYY-MM-DD."},{"name":"order","in":"query","required":false,"schema":{"enum":["timestamp_asc","timestamp_desc","date_asc","date_desc"],"type":"string","description":"Result ordering.","default":"date_asc","title":"Order"},"description":"Optional query parameter. Result ordering."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum rows to return. Maximum 100.","default":100,"title":"Limit"},"description":"Optional query parameter. Maximum rows to return. Maximum 100."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of rows to skip.","default":0,"title":"Offset"},"description":"Optional query parameter. Number of rows to skip."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"description":"One-based page number.","title":"Page"},"description":"Optional query parameter. One-based page number."},{"name":"dataset_version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Pin first-page content version; changed history returns 409.","title":"Dataset Version"},"description":"Optional query parameter. Pin first-page content version; changed history returns 409."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FxSessionRateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fx/sources":{"get":{"tags":["fx_markets"],"summary":"List public FX reference-rate sources","description":"Lists the official FX reference-rate sources and the pairs each one publishes. `native_pairs` documents what the authority publishes; only `served_pairs` are available from the public FX endpoints. Sources with `serves_public_data: false` (an empty `served_pairs`) are listed for provenance only and return no data. Use `/v1/fx/source-universe` for the requestable pair universe.","operationId":"fx_sources_v1_fx_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FxSourcesResponse"}}}}}}},"/v1/fx/source-universe":{"get":{"tags":["fx_markets"],"summary":"List public FX reference-rate pair universe","operationId":"fx_source_universe_v1_fx_source_universe_get","parameters":[{"name":"currency","in":"query","required":false,"schema":{"type":"string","description":"Optional currency filter, for example USD.","examples":["USD"],"title":"Currency"},"description":"Optional query parameter. Optional currency filter, for example USD."},{"name":"source","in":"query","required":false,"schema":{"type":"string","description":"Optional source id filter, for example ecb_eurofxref_daily.","title":"Source"},"description":"Optional query parameter. Optional source id filter, for example ecb_eurofxref_daily."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FxSourceUniverseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/research/panel":{"post":{"tags":["announcements"],"summary":"Build a panel of values known at each decision time","operationId":"research_panel_v1_research_panel_post","parameters":[{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchPanelRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchPanelResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/data_catalogue/{currency}":{"get":{"tags":["data_catalogue"],"summary":"Get Currently Available Macroeconomic Indicators","description":"Returns the currently available macroeconomic indicators for a specific currency.\n\n    Availability reflects the data currently served, so temporarily\n    unavailable series are excluded until data is available again. The\n    catalogue is refreshed on a regular schedule.\n\n    This endpoint also replaces the deprecated `/v1/capabilities` and\n    `/v1/coverage_matrix` endpoints. Coverage is included directly on each\n    catalogue entry. To also include the legacy top-level coverage list, call it\n    with `include_coverage=true`. To include capability metadata, call it with\n    `include_capabilities=true`.\n\n    Each entry includes:\n    * **name**: The full descriptive name of the metric.\n    * **unit**: The unit of measurement (e.g., %YoY, Billions of USD).\n    * **frequency**: How often the data is updated (Daily, Monthly, Quarterly).\n    * **source** / **source_url**: The publisher or source family for the series, when available.\n    * **source_series_id** / **source_series_name**: The upstream source identifier and exact source-series label, when available.\n    * **seasonal_adjustment**: Seasonal basis (`SA`, `NSA`, `UNKNOWN`, or `NOT_APPLICABLE`).\n    * **price_basis**: GDP/level price basis (`REAL`, `NOMINAL`, or `UNKNOWN`) when applicable.\n    * **aliases** / **related_indicators**: Optional flat discovery metadata for common alternative names and adjacent indicators.\n    * **standardization_note**: Optional note explaining sign, unit, scope, or cross-currency comparability choices.\n    * **has_official_forecast**: Whether the relevant central bank or statistics agency publishes a preliminary, flash, or advance estimate of this indicator before the main/final data release.\n    * **coverage**: Earliest/latest available dates, row count, recency status, and coverage quality for that indicator.","operationId":"get_data_catalogue_v1_data_catalogue__currency__get","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string","description":"The 3-letter currency code (e.g., USD, AUD, EUR, GBP, CHF)","examples":["USD"],"title":"Currency","enum":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"example":"AUD"},"description":"Required path parameter. The 3-letter currency code (e.g., USD, AUD, EUR, GBP, CHF) Allowed values: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD."},{"name":"include_capabilities","in":"query","required":false,"schema":{"type":"boolean","description":"Include currency-scoped endpoint/auth metadata that replaces the deprecated /v1/capabilities response.","default":false,"title":"Include Capabilities"},"description":"Optional query parameter. Include currency-scoped endpoint/auth metadata that replaces the deprecated /v1/capabilities response."},{"name":"include_coverage","in":"query","required":false,"schema":{"type":"boolean","description":"Also include the legacy currency-scoped coverage list that replaces the deprecated /v1/coverage_matrix response. Per-indicator coverage is included in catalogue entries by default.","default":false,"title":"Include Coverage"},"description":"Optional query parameter. Also include the legacy currency-scoped coverage list that replaces the deprecated /v1/coverage_matrix response. Per-indicator coverage is included in catalogue entries by default."},{"name":"indicator","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional indicator filter when include_coverage=true.","examples":["inflation"],"title":"Indicator","enum":["afe_dollar_index","average_hourly_earnings","average_hourly_earnings_mom","balance_on_goods","balance_on_services","bgcr","breakeven_inflation_rate","broad_dollar_index","broad_money","building_approvals","building_permits","business_confidence","capital_account_balance","cb_assets","commodity_price_energy","commodity_price_ex_energy","commodity_price_index","commodity_prices","consumer_confidence","core_inflation","core_inflation_median","core_inflation_mom","core_inflation_trim","core_pce","core_pce_mom","credit_growth","crude_oil_inventories","current_account_balance","dairy_exports","deposit_rates","durable_goods_orders","effr","eme_dollar_index","employment","exports","financial_account_balance","foreign_reserves","full_time_employment","fx_reserves","gdp","gdp_growth_q4_yoy","gold_reserves","gov_bond_10y","gov_bond_15y","gov_bond_1_5m","gov_bond_1m","gov_bond_1y","gov_bond_20y","gov_bond_25y","gov_bond_2m","gov_bond_2y","gov_bond_30y","gov_bond_3m","gov_bond_3y","gov_bond_40y","gov_bond_4m","gov_bond_4y","gov_bond_5y","gov_bond_6m","gov_bond_6y","gov_bond_7y","gov_bond_8y","gov_bond_9y","government_debt","house_price_index","house_prices","household_credit","household_spending","housing_starts","import_prices","imports","industrial_production","inflation","inflation_linked_bond","inflation_mom","initial_jobless_claims","international_assets","international_liabilities","job_openings","m1","m2","m3","nairu","natural_gas_storage","net_foreign_asset_position","non_farm_payrolls","non_farm_payrolls_change","obfr","part_time_employment","participation_rate","pce","pce_mom","policy_rate","policy_rate_midpoint","policy_rate_mlf","policy_rate_mro","policy_rate_target_lower","ppi","primary_income_balance","productivity","real_yield_20y","real_yield_30y","real_yield_5y","real_yield_7y","retail_sales","retail_sales_control_group","retail_sales_ex_autos","retail_sales_ex_autos_and_gas","risk_free_rate","secondary_income_balance","sight_deposits","snb_balance_sheet","sofr_average_180d","sofr_average_30d","sofr_average_90d","sofr_index","terms_of_trade","tgcr","trade_balance","trade_weighted_index","trimmed_mean_inflation","unemployment","wage_price_index","wages"],"example":"afe_dollar_index"},"description":"Optional query parameter. Optional indicator filter when include_coverage=true. Allowed values: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, bgcr, breakeven_inflation_rate, broad_dollar_index, broad_money, building_approvals, building_permits, business_confidence, capital_account_balance, cb_assets, commodity_price_energy, commodity_price_ex_energy, commodity_price_index, commodity_prices, consumer_confidence, core_inflation, core_inflation_median, core_inflation_mom, core_inflation_trim, core_pce, core_pce_mom, credit_growth, crude_oil_inventories, current_account_balance, dairy_exports, deposit_rates, durable_goods_orders, effr, eme_dollar_index, employment, exports, financial_account_balance, foreign_reserves, full_time_employment, fx_reserves, gdp, gdp_growth_q4_yoy, gold_reserves, gov_bond_10y, gov_bond_15y, gov_bond_1_5m, gov_bond_1m, gov_bond_1y, gov_bond_20y, gov_bond_25y, gov_bond_2m, gov_bond_2y, gov_bond_30y, gov_bond_3m, gov_bond_3y, gov_bond_40y, gov_bond_4m, gov_bond_4y, gov_bond_5y, gov_bond_6m, gov_bond_6y, gov_bond_7y, gov_bond_8y, gov_bond_9y, government_debt, house_price_index, house_prices, household_credit, household_spending, housing_starts, import_prices, imports, industrial_production, inflation, inflation_linked_bond, inflation_mom, initial_jobless_claims, international_assets, international_liabilities, job_openings, m1, m2, m3, nairu, natural_gas_storage, net_foreign_asset_position, non_farm_payrolls, non_farm_payrolls_change, obfr, part_time_employment, participation_rate, pce, pce_mom, policy_rate, policy_rate_midpoint, policy_rate_mlf, policy_rate_mro, policy_rate_target_lower, ppi, primary_income_balance, productivity, real_yield_20y, real_yield_30y, real_yield_5y, real_yield_7y, retail_sales, retail_sales_control_group, retail_sales_ex_autos, retail_sales_ex_autos_and_gas, risk_free_rate, secondary_income_balance, sight_deposits, snb_balance_sheet, sofr_average_180d, sofr_average_30d, sofr_average_90d, sofr_index, terms_of_trade, tgcr, trade_balance, trade_weighted_index, trimmed_mean_inflation, unemployment, wage_price_index, wages."}],"responses":{"200":{"description":"Indicator metadata keyed by indicator slug, with optional capability and coverage metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataCatalogueResponse"},"example":{"gdp":{"name":"GDP","unit":"%QoQ","frequency":"Quarterly","has_official_forecast":true},"inflation":{"name":"Inflation (CPI)","unit":"%YoY","frequency":"Monthly","has_official_forecast":false},"unemployment":{"name":"Unemployment Rate","unit":"%","frequency":"Monthly","has_official_forecast":false},"policy_rate":{"name":"Policy Interest Rate","unit":"%","frequency":"Daily","has_official_forecast":false},"gov_bond_10y":{"name":"10-Year Government Bond Yield","unit":"%","frequency":"Daily","has_official_forecast":false}}}}},"404":{"description":"Currency not found.","content":{"application/json":{"example":{"detail":"Currency 'XYZ' not found."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-parameter-availability":{"currency":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"indicator":["afe_dollar_index","average_hourly_earnings","average_hourly_earnings_mom","balance_on_goods","balance_on_services","bgcr","breakeven_inflation_rate","broad_dollar_index","broad_money","building_approvals","building_permits","business_confidence","capital_account_balance","cb_assets","commodity_price_energy","commodity_price_ex_energy","commodity_price_index","commodity_prices","consumer_confidence","core_inflation","core_inflation_median","core_inflation_mom","core_inflation_trim","core_pce","core_pce_mom","credit_growth","crude_oil_inventories","current_account_balance","dairy_exports","deposit_rates","durable_goods_orders","effr","eme_dollar_index","employment","exports","financial_account_balance","foreign_reserves","full_time_employment","fx_reserves","gdp","gdp_growth_q4_yoy","gold_reserves","gov_bond_10y","gov_bond_15y","gov_bond_1_5m","gov_bond_1m","gov_bond_1y","gov_bond_20y","gov_bond_25y","gov_bond_2m","gov_bond_2y","gov_bond_30y","gov_bond_3m","gov_bond_3y","gov_bond_40y","gov_bond_4m","gov_bond_4y","gov_bond_5y","gov_bond_6m","gov_bond_6y","gov_bond_7y","gov_bond_8y","gov_bond_9y","government_debt","house_price_index","house_prices","household_credit","household_spending","housing_starts","import_prices","imports","industrial_production","inflation","inflation_linked_bond","inflation_mom","initial_jobless_claims","international_assets","international_liabilities","job_openings","m1","m2","m3","nairu","natural_gas_storage","net_foreign_asset_position","non_farm_payrolls","non_farm_payrolls_change","obfr","part_time_employment","participation_rate","pce","pce_mom","policy_rate","policy_rate_midpoint","policy_rate_mlf","policy_rate_mro","policy_rate_target_lower","ppi","primary_income_balance","productivity","real_yield_20y","real_yield_30y","real_yield_5y","real_yield_7y","retail_sales","retail_sales_control_group","retail_sales_ex_autos","retail_sales_ex_autos_and_gas","risk_free_rate","secondary_income_balance","sight_deposits","snb_balance_sheet","sofr_average_180d","sofr_average_30d","sofr_average_90d","sofr_index","terms_of_trade","tgcr","trade_balance","trade_weighted_index","trimmed_mean_inflation","unemployment","wage_price_index","wages"]}}},"/v1/calendar/{currency}":{"get":{"tags":["calendar"],"summary":"Get upcoming economic data release dates","description":"Returns upcoming economic data release dates for a given currency.\n\nAnnouncement rows keep the `release` slug mapping to `/v1/announcements/{currency}/{indicator}`, while other domains such as COT may also include additive fields like `domain`, `endpoint_family`, and `endpoint_path`. Each row also includes a deterministic `calendar_event_id` for joins across calendar exports.\n\n**Path Parameters:**\n- `currency`: The 3-letter currency code (e.g., USD).\n\n**Query Parameters:**\n- `indicator`: Optional. Filter to a specific indicator (e.g., gdp, inflation, unemployment, non_farm_payrolls).\n\n- `start_date`: Optional inclusive lower bound, YYYY-MM-DD.\n- `end_date`: Optional inclusive upper bound, YYYY-MM-DD.\n\nPast releases are retained for a bounded window. When `start_date` is given, `history_start_date` reports the oldest retained release and `history_truncated` is true if the requested window starts before it. Released values and their announcement times for older periods are available from `/v1/announcements/{currency}/{indicator}`.\n\n**Time not announced:** some official publishers announce a release date but not its time. Those rows are included with `time_announced: false` and `announcement_date` set to the publisher's local date; their `announcement_datetime` is 00:00 of that date in the publisher's timezone and is not a release time. Rows with an exact official time have `time_announced: true`. When the publisher later announces the time, the timed row replaces the date-only row.\n\n**Returns:** List of release rows sorted by announcement time ascending (nearest scheduled release first). Core fields remain `announcement_datetime` and `release`; additive routing metadata may also be present.","operationId":"get_release_calendar_v1_calendar__currency__get","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string","title":"Currency","enum":["AUD","BRL","CAD","CHF","CNH","CNY","COMM","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"example":"AUD"},"description":"Required path parameter. Allowed values: AUD, BRL, CAD, CHF, CNH, CNY, COMM, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD."},{"name":"indicator","in":"query","required":false,"schema":{"type":"string","description":"Filter by indicator name (e.g., gdp, inflation, unemployment)","examples":["inflation"],"title":"Indicator","enum":["afe_dollar_index","average_hourly_earnings","average_hourly_earnings_mom","balance_on_goods","balance_on_services","bgcr","breakeven_inflation_rate","broad_dollar_index","broad_money","building_approvals","building_permits","business_confidence","capital_account_balance","cb_assets","commodity_price_energy","commodity_price_ex_energy","commodity_price_index","commodity_prices","consumer_confidence","core_inflation","core_inflation_median","core_inflation_mom","core_inflation_trim","core_pce","core_pce_mom","credit_growth","crude_oil_inventories","current_account_balance","dairy_exports","deposit_rates","durable_goods_orders","effr","eme_dollar_index","employment","exports","financial_account_balance","foreign_reserves","full_time_employment","fx_reserves","gdp","gdp_growth_q4_yoy","gold_reserves","gov_bond_10y","gov_bond_15y","gov_bond_1_5m","gov_bond_1m","gov_bond_1y","gov_bond_20y","gov_bond_25y","gov_bond_2m","gov_bond_2y","gov_bond_30y","gov_bond_3m","gov_bond_3y","gov_bond_40y","gov_bond_4m","gov_bond_4y","gov_bond_5y","gov_bond_6m","gov_bond_6y","gov_bond_7y","gov_bond_8y","gov_bond_9y","government_debt","house_price_index","house_prices","household_credit","household_spending","housing_starts","import_prices","imports","industrial_production","inflation","inflation_linked_bond","inflation_mom","initial_jobless_claims","international_assets","international_liabilities","job_openings","m1","m2","m3","nairu","natural_gas_storage","net_foreign_asset_position","non_farm_payrolls","non_farm_payrolls_change","obfr","part_time_employment","participation_rate","pce","pce_mom","policy_rate","policy_rate_midpoint","policy_rate_mlf","policy_rate_mro","policy_rate_target_lower","ppi","primary_income_balance","productivity","real_yield_20y","real_yield_30y","real_yield_5y","real_yield_7y","retail_sales","retail_sales_control_group","retail_sales_ex_autos","retail_sales_ex_autos_and_gas","risk_free_rate","secondary_income_balance","sight_deposits","snb_balance_sheet","sofr_average_180d","sofr_average_30d","sofr_average_90d","sofr_index","terms_of_trade","tgcr","trade_balance","trade_weighted_index","trimmed_mean_inflation","unemployment","wage_price_index","wages"],"example":"afe_dollar_index"},"description":"Optional query parameter. Filter by indicator name (e.g., gdp, inflation, unemployment) Allowed values: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, bgcr, breakeven_inflation_rate, broad_dollar_index, broad_money, building_approvals, building_permits, business_confidence, capital_account_balance, cb_assets, commodity_price_energy, commodity_price_ex_energy, commodity_price_index, commodity_prices, consumer_confidence, core_inflation, core_inflation_median, core_inflation_mom, core_inflation_trim, core_pce, core_pce_mom, credit_growth, crude_oil_inventories, current_account_balance, dairy_exports, deposit_rates, durable_goods_orders, effr, eme_dollar_index, employment, exports, financial_account_balance, foreign_reserves, full_time_employment, fx_reserves, gdp, gdp_growth_q4_yoy, gold_reserves, gov_bond_10y, gov_bond_15y, gov_bond_1_5m, gov_bond_1m, gov_bond_1y, gov_bond_20y, gov_bond_25y, gov_bond_2m, gov_bond_2y, gov_bond_30y, gov_bond_3m, gov_bond_3y, gov_bond_40y, gov_bond_4m, gov_bond_4y, gov_bond_5y, gov_bond_6m, gov_bond_6y, gov_bond_7y, gov_bond_8y, gov_bond_9y, government_debt, house_price_index, house_prices, household_credit, household_spending, housing_starts, import_prices, imports, industrial_production, inflation, inflation_linked_bond, inflation_mom, initial_jobless_claims, international_assets, international_liabilities, job_openings, m1, m2, m3, nairu, natural_gas_storage, net_foreign_asset_position, non_farm_payrolls, non_farm_payrolls_change, obfr, part_time_employment, participation_rate, pce, pce_mom, policy_rate, policy_rate_midpoint, policy_rate_mlf, policy_rate_mro, policy_rate_target_lower, ppi, primary_income_balance, productivity, real_yield_20y, real_yield_30y, real_yield_5y, real_yield_7y, retail_sales, retail_sales_control_group, retail_sales_ex_autos, retail_sales_ex_autos_and_gas, risk_free_rate, secondary_income_balance, sight_deposits, snb_balance_sheet, sofr_average_180d, sofr_average_30d, sofr_average_90d, sofr_index, terms_of_trade, tgcr, trade_balance, trade_weighted_index, trimmed_mean_inflation, unemployment, wage_price_index, wages."},{"name":"start_date","in":"query","required":false,"schema":{"type":"string","description":"Optional inclusive lower bound in YYYY-MM-DD format.","examples":["2026-06-01"],"title":"Start Date"},"description":"Optional query parameter. Optional inclusive lower bound in YYYY-MM-DD format."},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","description":"Optional inclusive upper bound in YYYY-MM-DD format.","examples":["2026-06-30"],"title":"End Date"},"description":"Optional query parameter. Optional inclusive upper bound in YYYY-MM-DD format."},{"name":"timezone","in":"query","required":false,"schema":{"type":"string","description":"Optional IANA timezone for an additional converted timestamp field, for example America/Sao_Paulo.","examples":["America/Sao_Paulo"],"title":"Timezone"},"description":"Optional query parameter. Optional IANA timezone for an additional converted timestamp field, for example America/Sao_Paulo."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Upcoming release dates for the selected currency and optional indicator filter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarResponse"},"example":{"currency":"USD","timezone":"America/New_York","indicator":"inflation","data":[{"announcement_datetime":1773077400,"announcement_datetime_local":"2026-03-11T08:30:00-04:00","release":"inflation","calendar_event_id":"usd_inflation_1773077400"},{"announcement_datetime":1773682200,"announcement_datetime_local":"2026-03-18T08:30:00-04:00","release":"non_farm_payrolls","calendar_event_id":"usd_non_farm_payrolls_1773682200"}]}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-parameter-availability":{"currency":["AUD","BRL","CAD","CHF","CNH","CNY","COMM","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"indicator":["afe_dollar_index","average_hourly_earnings","average_hourly_earnings_mom","balance_on_goods","balance_on_services","bgcr","breakeven_inflation_rate","broad_dollar_index","broad_money","building_approvals","building_permits","business_confidence","capital_account_balance","cb_assets","commodity_price_energy","commodity_price_ex_energy","commodity_price_index","commodity_prices","consumer_confidence","core_inflation","core_inflation_median","core_inflation_mom","core_inflation_trim","core_pce","core_pce_mom","credit_growth","crude_oil_inventories","current_account_balance","dairy_exports","deposit_rates","durable_goods_orders","effr","eme_dollar_index","employment","exports","financial_account_balance","foreign_reserves","full_time_employment","fx_reserves","gdp","gdp_growth_q4_yoy","gold_reserves","gov_bond_10y","gov_bond_15y","gov_bond_1_5m","gov_bond_1m","gov_bond_1y","gov_bond_20y","gov_bond_25y","gov_bond_2m","gov_bond_2y","gov_bond_30y","gov_bond_3m","gov_bond_3y","gov_bond_40y","gov_bond_4m","gov_bond_4y","gov_bond_5y","gov_bond_6m","gov_bond_6y","gov_bond_7y","gov_bond_8y","gov_bond_9y","government_debt","house_price_index","house_prices","household_credit","household_spending","housing_starts","import_prices","imports","industrial_production","inflation","inflation_linked_bond","inflation_mom","initial_jobless_claims","international_assets","international_liabilities","job_openings","m1","m2","m3","nairu","natural_gas_storage","net_foreign_asset_position","non_farm_payrolls","non_farm_payrolls_change","obfr","part_time_employment","participation_rate","pce","pce_mom","policy_rate","policy_rate_midpoint","policy_rate_mlf","policy_rate_mro","policy_rate_target_lower","ppi","primary_income_balance","productivity","real_yield_20y","real_yield_30y","real_yield_5y","real_yield_7y","retail_sales","retail_sales_control_group","retail_sales_ex_autos","retail_sales_ex_autos_and_gas","risk_free_rate","secondary_income_balance","sight_deposits","snb_balance_sheet","sofr_average_180d","sofr_average_30d","sofr_average_90d","sofr_index","terms_of_trade","tgcr","trade_balance","trade_weighted_index","trimmed_mean_inflation","unemployment","wage_price_index","wages"]}}},"/v1/calendar/{currency}/snapshot":{"get":{"tags":["calendar"],"summary":"Get the economic schedule known at a historical time","description":"Selects the latest eligible version of each event at as_of before applying scheduled-date, importance and event-kind filters. Times are UTC; date-only events retain their publisher date without an invented UTC time. Includes explicit cancellations. Use the returned checkpoint and cursor on every subsequent page for a consistent export. Historical reconstruction is an explicit evidence-qualified mode. Coverage is reported separately at `/v1/calendar/{currency}/coverage`. Requires an active API key.","operationId":"get_calendar_snapshot_v1_calendar__currency__snapshot_get","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string","title":"Currency","enum":["AUD","BRL","CAD","CHF","CNH","CNY","COMM","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"example":"AUD"},"description":"Required path parameter. Allowed values: AUD, BRL, CAD, CHF, CNH, CNY, COMM, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD."},{"name":"as_of","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"Knowledge cutoff, ISO 8601 with UTC offset.","title":"As Of"},"description":"Required query parameter. Knowledge cutoff, ISO 8601 with UTC offset."},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Date"},"description":"Optional query parameter."},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Date"},"description":"Optional query parameter."},{"name":"importance","in":"query","required":false,"schema":{"anyOf":[{"enum":["high","medium","low","unknown"],"type":"string"},{"type":"null"}],"title":"Importance"},"description":"Optional query parameter."},{"name":"event_kind","in":"query","required":false,"schema":{"anyOf":[{"enum":["release","speech","meeting","policy_decision","press_conference","other"],"type":"string"},{"type":"null"}],"title":"Event Kind"},"description":"Optional query parameter."},{"name":"knowledge_mode","in":"query","required":false,"schema":{"enum":["accepted","reconstruction"],"type":"string","default":"accepted","title":"Knowledge Mode"},"description":"Optional query parameter."},{"name":"checkpoint","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Checkpoint"},"description":"Optional query parameter."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Cursor"},"description":"Optional query parameter."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":250,"title":"Limit"},"description":"Optional query parameter."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarSnapshot"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-parameter-availability":{"currency":["AUD","BRL","CAD","CHF","CNH","CNY","COMM","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"]}}},"/v1/calendar/{currency}/events/{archive_event_id}/versions":{"get":{"tags":["calendar"],"summary":"Get immutable schedule versions for an event","description":"Returns accepted versions and their source, capture and documentary evidence. The archive event ID remains stable when its scheduled time changes; existing calendar_event_id values on the current calendar retain their original meaning. Reuse checkpoint and cursor to continue an export. Requires an active API key.","operationId":"get_calendar_versions_v1_calendar__currency__events__archive_event_id__versions_get","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string","title":"Currency","enum":["AUD","BRL","CAD","CHF","CNH","CNY","COMM","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"example":"AUD"},"description":"Required path parameter. Allowed values: AUD, BRL, CAD, CHF, CNH, CNY, COMM, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD."},{"name":"archive_event_id","in":"path","required":true,"schema":{"type":"string","title":"Archive Event Id"},"description":"Required path parameter."},{"name":"checkpoint","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Checkpoint"},"description":"Optional query parameter."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Cursor"},"description":"Optional query parameter."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":250,"title":"Limit"},"description":"Optional query parameter."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalendarVersions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-parameter-availability":{"currency":["AUD","BRL","CAD","CHF","CNH","CNY","COMM","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"]}}},"/v1/calendar/{currency}/coverage":{"get":{"tags":["calendar"],"summary":"Inspect calendar archive evidence coverage and capture gaps","description":"Reports persisted capture outcomes and coverage limitations. A successful source fetch does not prove complete speech or historical calendar coverage. Requires an active API key.","operationId":"get_calendar_archive_coverage_v1_calendar__currency__coverage_get","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string","title":"Currency","enum":["AUD","BRL","CAD","CHF","CNH","CNY","COMM","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"example":"AUD"},"description":"Required path parameter. Allowed values: AUD, BRL, CAD, CHF, CNH, CNY, COMM, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Calendar Archive Coverage V1 Calendar  Currency  Coverage Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-parameter-availability":{"currency":["AUD","BRL","CAD","CHF","CNH","CNY","COMM","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"]}}},"/v1/market_sessions":{"get":{"tags":["fx_markets"],"summary":"FX market session timetable","description":"Returns a real-time snapshot of the four major FX trading sessions (Sydney, Tokyo, London, New York) and their overlap windows.\n\nEach session entry shows today's open and close times in UTC, whether the session is currently open, and seconds until it opens or closes.\n\nOverlap windows highlight the highest-liquidity trading periods — in particular the **London / New York** overlap (~13:00–17:00 UTC in winter), which sees the largest volume and tightest spreads on major USD pairs.\n\n**Query Parameters:**\n- `at`: Optional ISO-8601 UTC timestamp (e.g. `2026-03-05T12:00:00Z`). Defaults to the current server time. Useful for scheduling or back-testing decisions.\n\n**No authentication required.**","operationId":"get_market_sessions_v1_market_sessions_get","parameters":[{"name":"at","in":"query","required":false,"schema":{"type":"string","description":"Optional ISO-8601 UTC timestamp (e.g. 2026-03-05T12:00:00Z)","examples":["2026-03-05T12:00:00Z"],"title":"At"},"description":"Optional query parameter. Optional ISO-8601 UTC timestamp (e.g. 2026-03-05T12:00:00Z)"}],"responses":{"200":{"description":"Session snapshot including open/close state and overlap windows.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketSessionsResponse"},"example":{"now_utc":"2026-03-05T12:00:00Z","now_unix":1741176000,"is_market_day":true,"sessions":[{"name":"Sydney","display_name":"Sydney (Australia / New Zealand)","description":"First major session to open after the weekend.","currencies":["AUD","NZD"],"timezone":"Australia/Sydney","open_utc":"2026-03-04T23:00:00Z","close_utc":"2026-03-05T08:00:00Z","open_unix":1741129200,"close_unix":1741161600,"is_open":false},{"name":"London","display_name":"London (United Kingdom / Europe)","description":"Largest FX session by volume.","currencies":["GBP","EUR","CHF"],"timezone":"Europe/London","open_utc":"2026-03-05T08:00:00Z","close_utc":"2026-03-05T17:00:00Z","open_unix":1741161600,"close_unix":1741194000,"is_open":true,"seconds_to_close":18000}],"overlaps":[{"name":"London / New York","sessions":["London","New York"],"description":"Most active window of the trading day.","priority":"high","notable_pairs":["EUR/USD","GBP/USD","USD/CHF","USD/CAD"],"start_utc":"2026-03-05T13:00:00Z","end_utc":"2026-03-05T17:00:00Z","start_unix":1741179600,"end_unix":1741194000,"is_active":false,"seconds_to_start":3600,"duration_hours":4.0}]}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/rate_differentials/{base}/{quote}":{"get":{"tags":["fx_markets"],"summary":"Get pair rate differentials","description":"Returns a historical differential between the base and quote currency using a shared rate measure. The endpoint aligns the two legs by date intersection and reports the spread in both percentage points and basis points.\n\n**Measures:**\n- Supported values: `auto`, `risk_free_rate`, `gov_bond_2y`, `gov_bond_10y`, `policy_rate`.\n- `auto` prefers `risk_free_rate`, then `gov_bond_2y`, then `policy_rate`.\n\n**Rate Types:**\n- Supported values: `spot`, `forward`.\n- `spot` compares the selected shared rate measure.\n- `forward` derives each leg from government bond curve nodes, then aligns dates.\n\n**Authentication:**\n- Requires an Individual or Business API key via `?api_key=<key>` or `X-API-Key`.","operationId":"get_rate_differentials_v1_rate_differentials__base___quote__get","parameters":[{"name":"base","in":"path","required":true,"schema":{"type":"string","description":"Base currency code","examples":["AUD"],"title":"Base","enum":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"example":"AUD"},"description":"Required path parameter. Base currency code Allowed values: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD."},{"name":"quote","in":"path","required":true,"schema":{"type":"string","description":"Quote currency code","examples":["USD"],"title":"Quote","enum":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"example":"AUD"},"description":"Required path parameter. Quote currency code Allowed values: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD."},{"name":"measure","in":"query","required":false,"schema":{"type":"string","description":"Shared rate measure to compare across the pair.","examples":["auto","risk_free_rate","gov_bond_2y"],"default":"auto","title":"Measure","enum":["auto","risk_free_rate","gov_bond_2y","gov_bond_10y","policy_rate"],"example":"auto"},"description":"Optional query parameter. Shared rate measure to compare across the pair. Allowed values: auto, risk_free_rate, gov_bond_2y, gov_bond_10y, policy_rate."},{"name":"rate_type","in":"query","required":false,"schema":{"type":"string","description":"Differential type: spot for shared rate measures, forward for derived curve segments.","examples":["spot","forward"],"default":"spot","title":"Rate Type","enum":["spot","forward"],"example":"spot"},"description":"Optional query parameter. Differential type: spot for shared rate measures, forward for derived curve segments. Allowed values: spot, forward."},{"name":"curve_family","in":"query","required":false,"schema":{"type":"string","description":"Curve family used when rate_type=forward.","examples":["government_nominal"],"default":"government_nominal","title":"Curve Family","enum":["government_nominal"],"example":"government_nominal"},"description":"Optional query parameter. Curve family used when rate_type=forward. Allowed values: government_nominal."},{"name":"start_tenor_years","in":"query","required":false,"schema":{"type":"number","description":"Start tenor in years when rate_type=forward.","examples":[2.0],"default":2.0,"title":"Start Tenor Years"},"description":"Optional query parameter. Start tenor in years when rate_type=forward."},{"name":"end_tenor_years","in":"query","required":false,"schema":{"type":"number","description":"End tenor in years when rate_type=forward.","examples":[5.0],"default":5.0,"title":"End Tenor Years"},"description":"Optional query parameter. End tenor in years when rate_type=forward."},{"name":"start_date","in":"query","required":false,"schema":{"type":"string","description":"Inclusive start date YYYY-MM-DD. Defaults to 365 days ago.","examples":["2026-01-01"],"title":"Start Date"},"description":"Optional query parameter. Inclusive start date YYYY-MM-DD. Defaults to 365 days ago."},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","description":"Inclusive end date YYYY-MM-DD. Defaults to today.","examples":["2026-06-01"],"title":"End Date"},"description":"Optional query parameter. Inclusive end date YYYY-MM-DD. Defaults to today."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum rows to return. Defaults to 20. Maximum 100.","default":20,"title":"Limit"},"description":"Optional query parameter. Maximum rows to return. Defaults to 20. Maximum 100."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of rows to skip after most-recent-first ordering.","default":0,"title":"Offset"},"description":"Optional query parameter. Number of rows to skip after most-recent-first ordering."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Explicit UTC information cutoff for verified vintage replay; date means start of day.","title":"As Of"},"description":"Optional query parameter. Explicit UTC information cutoff for verified vintage replay; date means start of day."},{"name":"availability","in":"query","required":false,"schema":{"type":"string","pattern":"^(public|captured)$","description":"Source-public or captured-value availability clock.","default":"public","title":"Availability"},"description":"Optional query parameter. Source-public or captured-value availability clock."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateDifferentialResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-parameter-availability":{"base":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"quote":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"measure":["auto","risk_free_rate","gov_bond_2y","gov_bond_10y","policy_rate"],"rate_type":["spot","forward"],"curve_family":["government_nominal"]}}},"/v1/curves/{currency}":{"get":{"tags":["fx_markets"],"summary":"Get curve analytics by currency","description":"Returns a currency-level curve view from official-source government bond tenor nodes. Use `view=nodes` for raw node snapshots, `view=slopes` for curve-slope and inversion analytics, or `view=forwards` for derived forward-rate segments.\n\n**Curve Families:**\n- Supported values: `government_nominal`.\n\n**Metrics:**\n- Supported values: `spot`.\n\n**Views:**\n- Supported values: `nodes`, `slopes`, `forwards`.\n\n**Authentication:**\n- Requires an Individual or Business API key via `?api_key=<key>` or `X-API-Key`.","operationId":"get_curve_snapshot_v1_curves__currency__get","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string","description":"Currency code","examples":["GBP"],"title":"Currency","enum":["AUD","CAD","CHF","CNH","CNY","DKK","EUR","GBP","ILS","JPY","KRW","MYR","NOK","NZD","PEN","SEK","THB","USD"],"example":"AUD"},"description":"Required path parameter. Currency code Allowed values: AUD, CAD, CHF, CNH, CNY, DKK, EUR, GBP, ILS, JPY, KRW, MYR, NOK, NZD, PEN, SEK, THB, USD."},{"name":"curve_family","in":"query","required":false,"schema":{"type":"string","description":"Official curve family to return.","examples":["government_nominal"],"default":"government_nominal","title":"Curve Family","enum":["government_nominal"],"example":"government_nominal"},"description":"Optional query parameter. Official curve family to return. Allowed values: government_nominal."},{"name":"metric","in":"query","required":false,"schema":{"type":"string","description":"Curve metric to return.","examples":["spot"],"default":"spot","title":"Metric","enum":["spot"],"example":"spot"},"description":"Optional query parameter. Curve metric to return. Allowed values: spot."},{"name":"view","in":"query","required":false,"schema":{"type":"string","description":"Curve view to return: nodes, slopes, or forwards.","examples":["nodes","slopes","forwards"],"default":"nodes","title":"View","enum":["nodes","slopes","forwards"],"example":"nodes"},"description":"Optional query parameter. Curve view to return: nodes, slopes, or forwards. Allowed values: nodes, slopes, forwards."},{"name":"method","in":"query","required":false,"schema":{"type":"string","description":"Forward derivation method used when view=forwards.","examples":["derived_from_spot_nodes"],"default":"derived_from_spot_nodes","title":"Method","enum":["derived_from_spot_nodes"],"example":"derived_from_spot_nodes"},"description":"Optional query parameter. Forward derivation method used when view=forwards. Allowed values: derived_from_spot_nodes."},{"name":"date","in":"query","required":false,"schema":{"type":"string","description":"Optional target date YYYY-MM-DD. The endpoint returns the latest available node per maturity up to this date, using a recent lookback window.","examples":["2026-06-01"],"title":"Date"},"description":"Optional query parameter. Optional target date YYYY-MM-DD. The endpoint returns the latest available node per maturity up to this date, using a recent lookback window."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Explicit UTC information cutoff for verified vintage replay; date means start of day.","title":"As Of"},"description":"Optional query parameter. Explicit UTC information cutoff for verified vintage replay; date means start of day."},{"name":"availability","in":"query","required":false,"schema":{"type":"string","pattern":"^(public|captured)$","description":"Source-public or captured-value availability clock.","default":"public","title":"Availability"},"description":"Optional query parameter. Source-public or captured-value availability clock."},{"name":"max_staleness_days","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":366,"minimum":0},{"type":"null"}],"description":"Maximum reference-date age; defaults to 7 with as_of, otherwise 60.","title":"Max Staleness Days"},"description":"Optional query parameter. Maximum reference-date age; defaults to 7 with as_of, otherwise 60."},{"name":"require_common_date","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Require all populated curve nodes to share a reference date; defaults true with as_of.","title":"Require Common Date"},"description":"Optional query parameter. Require all populated curve nodes to share a reference date; defaults true with as_of."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurveAnalyticsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-parameter-availability":{"currency":["AUD","CAD","CHF","CNH","CNY","DKK","EUR","GBP","ILS","JPY","KRW","MYR","NOK","NZD","PEN","SEK","THB","USD"],"curve_family":["government_nominal"],"metric":["spot"],"view":["nodes","slopes","forwards"],"method":["derived_from_spot_nodes"]}}},"/v1/financial_prices/{currency}":{"get":{"tags":["monetary_policy"],"summary":"Official financial prices and yield curves","description":"Official government and central-bank observations. Filter by source, issuer, instrument or measure. Separate nominal, real, par, zero, security quotes and auction observations by their dimensions. Source attribution and licence conditions accompany the data. Empty coverage means no observations are available yet.","operationId":"get_financial_prices_v1_financial_prices__currency__get","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string","title":"Currency"},"description":"Required path parameter."},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Source"},"description":"Optional query parameter."},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Date"},"description":"Optional query parameter."},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Date"},"description":"Optional query parameter."},{"name":"measure","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}],"title":"Measure"},"description":"Optional query parameter."},{"name":"instrument_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":240},{"type":"null"}],"title":"Instrument Id"},"description":"Optional query parameter."},{"name":"issuer","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":240},{"type":"null"}],"title":"Issuer"},"description":"Optional query parameter."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":100,"title":"Limit"},"description":"Optional query parameter."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"},"description":"Optional query parameter."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinancialPriceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/press-releases/{currency}":{"get":{"tags":["press_releases"],"summary":"Recent central bank press releases","description":"Returns recent press releases from official central bank websites for the requested currency.\n\n**Supported currencies:** AUD, BRL, CAD, CHF, CNY, DKK, EUR, GBP, ILS, JPY, KRW, NGN, NOK, NZD, PEN, SEK, THB, USD\n\n**Path Parameters:**\n- `currency`: 3-letter ISO currency code (e.g., USD, EUR, GBP).\n\n**Query Parameters:**\n- `limit`: Maximum number of press releases to return per page (1–50, default 20).\n- `offset`: Zero-based pagination offset (default: 0).\n\n**Authentication:** USD press releases are publicly available without an API key. All other currencies require a professional API key supplied via `?api_key=<key>` or the `X-API-Key` header.\n\n**Data sources:** Official central bank RSS feeds and websites only.","operationId":"get_press_releases_v1_press_releases__currency__get","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string","title":"Currency","enum":["AUD","BRL","CAD","CHF","DKK","EUR","GBP","ILS","JPY","NGN","NOK","NZD","PEN","SEK","USD"],"example":"AUD"},"description":"Required path parameter. Allowed values: AUD, BRL, CAD, CHF, DKK, EUR, GBP, ILS, JPY, NGN, NOK, NZD, PEN, SEK, USD."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"description":"Maximum number of press releases to return","examples":[10],"default":20,"title":"Limit"},"description":"Optional query parameter. Maximum number of press releases to return"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Zero-based offset into the full press-release feed before pagination.","default":0,"title":"Offset"},"description":"Optional query parameter. Zero-based offset into the full press-release feed before pagination."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Recent press releases for the selected central bank.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PressReleasesResponse"},"example":{"currency":"USD","source":"Federal Reserve","source_url":"https://www.federalreserve.gov","count":2,"data":[{"title":"Federal Reserve issues FOMC statement","url":"https://www.federalreserve.gov/newsevents/pressreleases/monetary20260319a.htm","date":"2026-03-19","summary":"The Committee decided to maintain the target range for the federal funds rate...","category":"monetary_policy","relevance":0.95,"ai_summary":"FOMC held rates and stressed inflation persistence, signalling a longer plateau than markets had priced.","ai_stance":"hawkish","ai_stance_score":0.45,"ai_next_meeting_action":"hold","ai_next_meeting_probability":0.7,"ai_rationale":"Statement cited 'elevated' inflation and the need to keep policy 'sufficiently restrictive'.","rate_path":{"score":0.42,"label":"Moderately Hawkish","bias_action":"hike","confidence":"medium","raw_score":1.1,"matches":[{"phrase":"elevated inflation","weight":0.7},{"phrase":"restrictive stance","weight":0.7}]}}]}}}},"404":{"description":"Currency not supported for press releases."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-parameter-availability":{"currency":["AUD","BRL","CAD","CHF","DKK","EUR","GBP","ILS","JPY","NGN","NOK","NZD","PEN","SEK","USD"]}}},"/v1/risk_sentiment/changes":{"get":{"tags":["fx_markets"],"summary":"Recorded risk-sentiment changes","description":"Returns retained additions, score revisions and input-metadata changes in increasing change_sequence order. Pass pagination.next_after_sequence as after_sequence on the next page or poll. The sequence remains stable when changes share a recording timestamp. recorded_at is the FXMacroData recording clock; earlier untracked revisions and publisher publication times are unavailable. An undated legacy baseline is retained but is not emitted as a newly recorded change.","operationId":"get_risk_sentiment_changes_v1_risk_sentiment_changes_get","parameters":[{"name":"after_sequence","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Return changes after this sequence (exclusive).","default":0,"title":"After Sequence"},"description":"Optional query parameter. Return changes after this sequence (exclusive)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum retained changes per page.","default":20,"title":"Limit"},"description":"Optional query parameter. Maximum retained changes per page."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RiskSentimentChangesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/risk_sentiment":{"get":{"tags":["fx_markets"],"summary":"Global risk-on / risk-off indicator","description":"Returns a composite daily risk-sentiment score indicating whether global financial conditions favour risk-on currencies (AUD, NZD, CAD) or risk-off safe havens (JPY, CHF, USD).\n\nThe score is derived from four publicly available sources:\n- **OFR FSI** (U.S. Treasury Office of Financial Research Financial Stress Index) — primary stress gauge, *inverted*\n- **Gold** (National Bank of Ukraine official gold price, USD per troy ounce; Narodowy Bank Polski where the NBU did not publish) — safe-haven demand proxy, *inverted*\n- **AUD/USD** (central-bank reference rates delivered via Frankfurter) — risk-sensitive currency pair\n- **USD/JPY** (central-bank reference rates delivered via Frankfurter) — safe-haven flow proxy\n\nEach component is normalised to a 252-day rolling z-score, weighted, and compressed through tanh to produce a final score in **[-1.0, +1.0]**.\n\n**Weights:** OFR FSI 40%, Gold 20%, AUD/USD 20%, USD/JPY 20%.\n\nWeights are renormalised over available components and reported as effective_weights. input_dates and input_status describe component observation dates and carry-forward. provisional marks lagged, missing or unknown inputs; complete inputs may also be revised. Recorded changes are available at `/v1/risk_sentiment/changes`; recording clocks are distinct from publisher publication times.\n\n**Query Parameters:**\n- `start_date`: Start date YYYY-MM-DD (default: 365 days ago).\n- `end_date`: End date YYYY-MM-DD (default: today).\n\n**Each data record contains:**\n- `date`: Observation date (YYYY-MM-DD).\n- `val`: Composite score -1.0 (extreme risk-off) ... +1.0 (extreme risk-on).\n- `regime`: `risk_on` (>= 0.25) | `neutral` | `risk_off` (<= -0.25).\n- `components.ofr_fsi`: Normalised (inverted) OFR FSI contribution.\n- `components.gold`: Normalised (inverted) gold price contribution.\n- `components.aud_usd`: Normalised AUD/USD contribution.\n- `components.usd_jpy`: Normalised USD/JPY contribution.","operationId":"get_risk_sentiment_v1_risk_sentiment_get","parameters":[{"name":"start_date","in":"query","required":false,"schema":{"type":"string","description":"Start date YYYY-MM-DD","examples":["2025-12-01"],"title":"Start Date"},"description":"Optional query parameter. Start date YYYY-MM-DD"},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","description":"End date YYYY-MM-DD","examples":["2026-03-01"],"title":"End Date"},"description":"Optional query parameter. End date YYYY-MM-DD"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum rows to return. Defaults to 20. Maximum 100.","default":20,"title":"Limit"},"description":"Optional query parameter. Maximum rows to return. Defaults to 20. Maximum 100."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of rows to skip after most-recent-first ordering.","default":0,"title":"Offset"},"description":"Optional query parameter. Number of rows to skip after most-recent-first ordering."}],"responses":{"200":{"description":"Risk sentiment time series and component-level contributions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RiskSentimentResponse"},"example":{"start_date":"2025-12-01","end_date":"2026-03-01","data":[{"date":"2026-02-28","val":0.31,"regime":"risk_on","components":{"ofr_fsi":0.18,"gold":-0.07,"aud_usd":0.09,"usd_jpy":0.04}}]}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/factors/{currency}/{factor}":{"get":{"tags":["factors"],"summary":"Get a precomputed FX factor for one currency","description":"Returns a factor series for one explicit currency and one explicit factor. Factor values are precomputed snapshots; component macro indicators are not recalculated per request.\n\n**Path Parameters:**\n- `currency`: Three-letter currency code, for example `EUR` or `USD`.\n- `factor`: Factor slug. Currently supported: `monetary_stance`.\n\n**Query Parameters:**\n- `start_date` / `end_date`: Optional date window. With no dates, the latest snapshot is returned.\n- `include_components`: Include component scores and input values.\n- `include_sources`: Include FXMacroData source endpoint URLs.\n\nUse `/v1/data_catalogue/{currency}?include_capabilities=true` for factor discovery metadata.\n\n**Authentication:** USD factor data is public without an API key. Anonymous requests are subject to a 100 requests/day per-IP fair-use limit. Other currencies require an Individual or Business API key sent in the `X-API-Key` header.","operationId":"get_currency_factor_v1_factors__currency___factor__get","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string","title":"Currency","enum":["AUD","CAD","CHF","EUR","GBP","JPY","NZD","USD"],"example":"AUD"},"description":"Required path parameter. Allowed values: AUD, CAD, CHF, EUR, GBP, JPY, NZD, USD."},{"name":"factor","in":"path","required":true,"schema":{"type":"string","description":"Factor slug, for example monetary_stance.","examples":["monetary_stance"],"title":"Factor","enum":["monetary_stance"],"example":"monetary_stance"},"description":"Required path parameter. Factor slug, for example monetary_stance. Allowed values: monetary_stance."},{"name":"start_date","in":"query","required":false,"schema":{"type":"string","description":"Inclusive start date YYYY-MM-DD. With no dates, returns latest only.","examples":["2026-01-01"],"title":"Start Date"},"description":"Optional query parameter. Inclusive start date YYYY-MM-DD. With no dates, returns latest only."},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","description":"Inclusive end date YYYY-MM-DD. Defaults to today when start_date is supplied.","examples":["2026-07-19"],"title":"End Date"},"description":"Optional query parameter. Inclusive end date YYYY-MM-DD. Defaults to today when start_date is supplied."},{"name":"include_components","in":"query","required":false,"schema":{"type":"boolean","description":"Include component scores and source observations.","default":false,"title":"Include Components"},"description":"Optional query parameter. Include component scores and source observations."},{"name":"include_sources","in":"query","required":false,"schema":{"type":"boolean","description":"Include FXMacroData source endpoint URLs.","default":false,"title":"Include Sources"},"description":"Optional query parameter. Include FXMacroData source endpoint URLs."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum rows to return. Defaults to 20. Maximum 100.","default":20,"title":"Limit"},"description":"Optional query parameter. Maximum rows to return. Defaults to 20. Maximum 100."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of rows to skip after most-recent-first ordering.","default":0,"title":"Offset"},"description":"Optional query parameter. Number of rows to skip after most-recent-first ordering."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FactorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-parameter-availability":{"currency":["AUD","CAD","CHF","EUR","GBP","JPY","NZD","USD"],"factor":["monetary_stance"]}}},"/v1/predictions/coverage":{"get":{"tags":["predictions"],"summary":"Which forecast publishers cover which currency (no API key)","description":"Free, key-free catalogue of forecast coverage across every served currency: which publishers we carry, what class of forecast each produces, and which currencies carry a genuine consensus source. Returns no forecast values -- those require a plan. Use ``/v1/predictions/coverage/{currency}`` for per-indicator detail.","operationId":"get_prediction_coverage_index_v1_predictions_coverage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/predictions/coverage/{currency}":{"get":{"tags":["predictions"],"summary":"Per-indicator forecast coverage for one currency (no API key)","description":"Free, key-free per-indicator catalogue for one currency: the publishers covering each indicator, the ``prediction_class`` each produces, whether any of them is a genuine consensus, and the verified archive depth where it has been confirmed. Returns no forecast values -- those require a plan.","operationId":"get_prediction_coverage_for_currency_v1_predictions_coverage__currency__get","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string","minLength":2,"maxLength":8,"title":"Currency"},"description":"Required path parameter."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/predictions/{currency}":{"get":{"tags":["predictions"],"summary":"Page official forecast vintages from one publisher","description":"Read one explicitly named source; bare currency listings stay disabled.\n\nThis path never fans out to announcement indicators. Native variables,\npublication precision and horizons remain those of the publisher.","operationId":"get_predictions_missing_indicator_v1_predictions__currency__get","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string","title":"Currency"},"description":"Required path parameter."},{"name":"prediction_source","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}],"description":"Required publisher identifier for source-scoped native forecast history.","title":"Prediction Source"},"description":"Optional query parameter. Required publisher identifier for source-scoped native forecast history."},{"name":"prediction_class","in":"query","required":false,"schema":{"anyOf":[{"enum":["compiled_consensus","forecaster_survey","expectations_survey","market_implied","model_nowcast","central_bank_projection","institutional_projection","fxmacrodata"],"type":"string"},{"type":"null"}],"title":"Prediction Class"},"description":"Optional query parameter."},{"name":"statistic","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Statistic"},"description":"Optional query parameter."},{"name":"respondent_population","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Respondent Population"},"description":"Optional query parameter."},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"title":"Start Date"},"description":"Optional query parameter."},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"title":"End Date"},"description":"Optional query parameter."},{"name":"variable","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":250},{"type":"null"}],"title":"Variable"},"description":"Optional query parameter."},{"name":"target_period","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}],"title":"Target Period"},"description":"Optional query parameter."},{"name":"publication_precision","in":"query","required":false,"schema":{"anyOf":[{"enum":["exact","date","unknown"],"type":"string"},{"type":"null"}],"title":"Publication Precision"},"description":"Optional query parameter."},{"name":"before_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Before Id"},"description":"Optional query parameter."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"},"description":"Optional query parameter."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/predictions/{currency}/{indicator}":{"get":{"tags":["predictions"],"summary":"List predictions for one indicator of a currency","description":"Returns every available prediction for the requested ``currency``/``indicator`` pair. Each row is stamped with its original ``generated_at`` and full source provenance (real archived vintage vs FXMacroData's own live-generated forecast, never reconstructed with later data). Per-source archive start dates and market-consensus coverage vary by indicator: see https://fxmacrodata.com/documentation/point-in-time-backtesting for the exact earliest date per source and indicator before assuming multi-year depth exists for every series.\n\n**Authentication:** this endpoint requires an API key on every currency, including USD. Anonymous callers receive 401 `api_key_required`. A 14-day free trial at https://fxmacrodata.com/subscribe opens the full history on every supported currency.","operationId":"get_indicator_predictions_v1_predictions__currency___indicator__get","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string","title":"Currency","enum":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"example":"AUD"},"description":"Required path parameter. Allowed values: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD."},{"name":"indicator","in":"path","required":true,"schema":{"type":"string","description":"Indicator slug","examples":["inflation"],"title":"Indicator","enum":["afe_dollar_index","average_hourly_earnings","average_hourly_earnings_mom","balance_on_goods","balance_on_services","bgcr","breakeven_inflation_rate","broad_dollar_index","broad_money","building_approvals","building_permits","business_confidence","capital_account_balance","cb_assets","commodity_price_energy","commodity_price_ex_energy","commodity_price_index","commodity_prices","consumer_confidence","core_inflation","core_inflation_median","core_inflation_mom","core_inflation_trim","core_pce","core_pce_mom","credit_growth","crude_oil_inventories","current_account_balance","dairy_exports","deposit_rates","durable_goods_orders","effr","eme_dollar_index","employment","exports","financial_account_balance","foreign_reserves","full_time_employment","fx_reserves","gdp","gdp_growth_q4_yoy","gold_reserves","gov_bond_10y","gov_bond_15y","gov_bond_1_5m","gov_bond_1m","gov_bond_1y","gov_bond_20y","gov_bond_25y","gov_bond_2m","gov_bond_2y","gov_bond_30y","gov_bond_3m","gov_bond_3y","gov_bond_40y","gov_bond_4m","gov_bond_4y","gov_bond_5y","gov_bond_6m","gov_bond_6y","gov_bond_7y","gov_bond_8y","gov_bond_9y","government_debt","house_price_index","house_prices","household_credit","household_spending","housing_starts","import_prices","imports","industrial_production","inflation","inflation_linked_bond","inflation_mom","initial_jobless_claims","international_assets","international_liabilities","job_openings","m1","m2","m3","nairu","natural_gas_storage","net_foreign_asset_position","non_farm_payrolls","non_farm_payrolls_change","obfr","part_time_employment","participation_rate","pce","pce_mom","policy_rate","policy_rate_midpoint","policy_rate_mlf","policy_rate_mro","policy_rate_target_lower","ppi","primary_income_balance","productivity","real_yield_20y","real_yield_30y","real_yield_5y","real_yield_7y","retail_sales","retail_sales_control_group","retail_sales_ex_autos","retail_sales_ex_autos_and_gas","risk_free_rate","secondary_income_balance","sight_deposits","snb_balance_sheet","sofr_average_180d","sofr_average_30d","sofr_average_90d","sofr_index","terms_of_trade","tgcr","trade_balance","trade_weighted_index","trimmed_mean_inflation","unemployment","wage_price_index","wages"],"example":"afe_dollar_index"},"description":"Required path parameter. Indicator slug Allowed values: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, bgcr, breakeven_inflation_rate, broad_dollar_index, broad_money, building_approvals, building_permits, business_confidence, capital_account_balance, cb_assets, commodity_price_energy, commodity_price_ex_energy, commodity_price_index, commodity_prices, consumer_confidence, core_inflation, core_inflation_median, core_inflation_mom, core_inflation_trim, core_pce, core_pce_mom, credit_growth, crude_oil_inventories, current_account_balance, dairy_exports, deposit_rates, durable_goods_orders, effr, eme_dollar_index, employment, exports, financial_account_balance, foreign_reserves, full_time_employment, fx_reserves, gdp, gdp_growth_q4_yoy, gold_reserves, gov_bond_10y, gov_bond_15y, gov_bond_1_5m, gov_bond_1m, gov_bond_1y, gov_bond_20y, gov_bond_25y, gov_bond_2m, gov_bond_2y, gov_bond_30y, gov_bond_3m, gov_bond_3y, gov_bond_40y, gov_bond_4m, gov_bond_4y, gov_bond_5y, gov_bond_6m, gov_bond_6y, gov_bond_7y, gov_bond_8y, gov_bond_9y, government_debt, house_price_index, house_prices, household_credit, household_spending, housing_starts, import_prices, imports, industrial_production, inflation, inflation_linked_bond, inflation_mom, initial_jobless_claims, international_assets, international_liabilities, job_openings, m1, m2, m3, nairu, natural_gas_storage, net_foreign_asset_position, non_farm_payrolls, non_farm_payrolls_change, obfr, part_time_employment, participation_rate, pce, pce_mom, policy_rate, policy_rate_midpoint, policy_rate_mlf, policy_rate_mro, policy_rate_target_lower, ppi, primary_income_balance, productivity, real_yield_20y, real_yield_30y, real_yield_5y, real_yield_7y, retail_sales, retail_sales_control_group, retail_sales_ex_autos, retail_sales_ex_autos_and_gas, risk_free_rate, secondary_income_balance, sight_deposits, snb_balance_sheet, sofr_average_180d, sofr_average_30d, sofr_average_90d, sofr_index, terms_of_trade, tgcr, trade_balance, trade_weighted_index, trimmed_mean_inflation, unemployment, wage_price_index, wages."},{"name":"prediction_class","in":"query","required":false,"schema":{"anyOf":[{"enum":["compiled_consensus","forecaster_survey","expectations_survey","market_implied","model_nowcast","central_bank_projection","institutional_projection","fxmacrodata"],"type":"string"},{"type":"null"}],"description":"Filter by how the forecast was produced. Prefer this over `prediction_type`: one class can span several legacy types, which is how `forecaster_survey` returns both the ECB and Philadelphia Fed Surveys of Professional Forecasters.","title":"Prediction Class"},"description":"Optional query parameter. Filter by how the forecast was produced. Prefer this over `prediction_type`: one class can span several legacy types, which is how `forecaster_survey` returns both the ECB and Philadelphia Fed Surveys of Professional Forecasters."},{"name":"prediction_type","in":"query","required":false,"schema":{"anyOf":[{"enum":["market_consensus","market_prediction","model_nowcast","survey","central_bank_forecast","central_bank_projection","imf_weo","oecd_eo","fxmacrodata"],"type":"string"},{"type":"null"}],"description":"Optional legacy prediction-type filter, retained unchanged for existing clients. Superseded by `prediction_class`.","title":"Prediction Type"},"description":"Optional query parameter. Optional legacy prediction-type filter, retained unchanged for existing clients. Superseded by `prediction_class`."},{"name":"prediction_source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional source identifier filter.","title":"Prediction Source"},"description":"Optional query parameter. Optional source identifier filter."},{"name":"official_limit","in":"query","required":false,"schema":{"type":"integer","maximum":2000,"minimum":0,"description":"Maximum rows in ``official_forecasts`` (native-period official forecasts and surveys). 0 omits them.","default":500,"title":"Official Limit"},"description":"Optional query parameter. Maximum rows in ``official_forecasts`` (native-period official forecasts and surveys). 0 omits them."},{"name":"pre_release_only","in":"query","required":false,"schema":{"type":"boolean","description":"Return only forecasts with `generated_at` strictly before the linked `announcement_datetime` (default: true). FXMacroData only publishes forecasts generated before the announcement, so this flag is informational: setting it to false does not return additional rows.","default":true,"title":"Pre Release Only"},"description":"Optional query parameter. Return only forecasts with `generated_at` strictly before the linked `announcement_datetime` (default: true). FXMacroData only publishes forecasts generated before the announcement, so this flag is informational: setting it to false does not return additional rows."},{"name":"seasonality","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional seasonal adjustment selector, matching /v1/announcements.","title":"Seasonality","enum":["sa","nsa"],"example":"sa"},"description":"Optional query parameter. Optional seasonal adjustment selector, matching /v1/announcements. Allowed values: sa, nsa."},{"name":"frequency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional returned change basis selector, matching /v1/announcements.","title":"Frequency","enum":["level","yoy","qoq","mom"],"example":"level"},"description":"Optional query parameter. Optional returned change basis selector, matching /v1/announcements. Allowed values: level, yoy, qoq, mom."},{"name":"annualization","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional annualization selector, matching /v1/announcements.","title":"Annualization","enum":["not_annualized","saar"],"example":"not_annualized"},"description":"Optional query parameter. Optional annualization selector, matching /v1/announcements. Allowed values: not_annualized, saar."},{"name":"period_aggregation","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional period aggregation selector, matching /v1/announcements.","title":"Period Aggregation","enum":["monthly","quarterly_average"],"example":"monthly"},"description":"Optional query parameter. Optional period aggregation selector, matching /v1/announcements. Allowed values: monthly, quarterly_average."},{"name":"basis","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional real/nominal selector, matching /v1/announcements.","title":"Basis","enum":["real","nominal"],"example":"real"},"description":"Optional query parameter. Optional real/nominal selector, matching /v1/announcements. Allowed values: real, nominal."},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Start date YYYY-MM-DD (period date). Defaults to 180 days before today when omitted.","title":"Start Date"},"description":"Optional query parameter. Start date YYYY-MM-DD (period date). Defaults to 180 days before today when omitted."},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"End date YYYY-MM-DD (period date). Defaults to 90 days ahead when omitted.","title":"End Date"},"description":"Optional query parameter. End date YYYY-MM-DD (period date). Defaults to 90 days ahead when omitted."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum number of prediction groups to return in `data[]`. Use with `offset` to page through long histories. Defaults to 20. Maximum 100.","examples":[20],"default":20,"title":"Limit"},"description":"Optional query parameter. Maximum number of prediction groups to return in `data[]`. Use with `offset` to page through long histories. Defaults to 20. Maximum 100."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of prediction groups to skip from the start of `data[]`. Use with `limit` for pagination. Defaults to 0.","examples":[0],"default":0,"title":"Offset"},"description":"Optional query parameter. Number of prediction groups to skip from the start of `data[]`. Use with `limit` for pagination. Defaults to 0."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"description":"One-based page number. When supplied, it takes precedence over offset.","examples":[1],"title":"Page"},"description":"Optional query parameter. One-based page number. When supplied, it takes precedence over offset."},{"name":"before_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Return groups strictly before this YYYY-MM-DD period date. Use the previous response's `next_cursor` for bounded pagination.","title":"Before Date"},"description":"Optional query parameter. Return groups strictly before this YYYY-MM-DD period date. Use the previous response's `next_cursor` for bounded pagination."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of"},"description":"Optional query parameter."},{"name":"event_compatible_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Event Compatible Only"},"description":"Optional query parameter."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictionsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-parameter-availability":{"currency":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"indicator":["afe_dollar_index","average_hourly_earnings","average_hourly_earnings_mom","balance_on_goods","balance_on_services","bgcr","breakeven_inflation_rate","broad_dollar_index","broad_money","building_approvals","building_permits","business_confidence","capital_account_balance","cb_assets","commodity_price_energy","commodity_price_ex_energy","commodity_price_index","commodity_prices","consumer_confidence","core_inflation","core_inflation_median","core_inflation_mom","core_inflation_trim","core_pce","core_pce_mom","credit_growth","crude_oil_inventories","current_account_balance","dairy_exports","deposit_rates","durable_goods_orders","effr","eme_dollar_index","employment","exports","financial_account_balance","foreign_reserves","full_time_employment","fx_reserves","gdp","gdp_growth_q4_yoy","gold_reserves","gov_bond_10y","gov_bond_15y","gov_bond_1_5m","gov_bond_1m","gov_bond_1y","gov_bond_20y","gov_bond_25y","gov_bond_2m","gov_bond_2y","gov_bond_30y","gov_bond_3m","gov_bond_3y","gov_bond_40y","gov_bond_4m","gov_bond_4y","gov_bond_5y","gov_bond_6m","gov_bond_6y","gov_bond_7y","gov_bond_8y","gov_bond_9y","government_debt","house_price_index","house_prices","household_credit","household_spending","housing_starts","import_prices","imports","industrial_production","inflation","inflation_linked_bond","inflation_mom","initial_jobless_claims","international_assets","international_liabilities","job_openings","m1","m2","m3","nairu","natural_gas_storage","net_foreign_asset_position","non_farm_payrolls","non_farm_payrolls_change","obfr","part_time_employment","participation_rate","pce","pce_mom","policy_rate","policy_rate_midpoint","policy_rate_mlf","policy_rate_mro","policy_rate_target_lower","ppi","primary_income_balance","productivity","real_yield_20y","real_yield_30y","real_yield_5y","real_yield_7y","retail_sales","retail_sales_control_group","retail_sales_ex_autos","retail_sales_ex_autos_and_gas","risk_free_rate","secondary_income_balance","sight_deposits","snb_balance_sheet","sofr_average_180d","sofr_average_30d","sofr_average_90d","sofr_index","terms_of_trade","tgcr","trade_balance","trade_weighted_index","trimmed_mean_inflation","unemployment","wage_price_index","wages"],"indicator_by_currency":{"AUD":["balance_on_services","broad_money","building_approvals","capital_account_balance","cb_assets","commodity_prices","core_inflation","credit_growth","current_account_balance","employment","exports","financial_account_balance","foreign_reserves","full_time_employment","gdp","gold_reserves","gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","house_price_index","household_spending","imports","inflation","inflation_linked_bond","inflation_mom","international_assets","international_liabilities","m1","m3","net_foreign_asset_position","part_time_employment","participation_rate","policy_rate","ppi","primary_income_balance","risk_free_rate","secondary_income_balance","terms_of_trade","trade_balance","trade_weighted_index","trimmed_mean_inflation","unemployment","wage_price_index","wages"],"BRL":["foreign_reserves","gdp","inflation","inflation_mom","policy_rate","ppi","retail_sales","risk_free_rate","trade_weighted_index","unemployment"],"CAD":["building_permits","business_confidence","commodity_price_energy","commodity_price_ex_energy","commodity_price_index","core_inflation","core_inflation_median","core_inflation_trim","current_account_balance","employment","full_time_employment","gdp","gov_bond_10y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_5y","gov_bond_7y","household_credit","inflation","inflation_linked_bond","part_time_employment","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","trade_balance","trade_weighted_index","unemployment","wages"],"CHF":["broad_money","business_confidence","cb_assets","consumer_confidence","core_inflation","current_account_balance","employment","exports","foreign_reserves","full_time_employment","fx_reserves","gdp","gold_reserves","gov_bond_10y","gov_bond_1y","gov_bond_20y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_4y","gov_bond_5y","imports","inflation","m1","m2","m3","part_time_employment","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","sight_deposits","snb_balance_sheet","trade_balance","trade_weighted_index","unemployment"],"CNH":["business_confidence","cb_assets","core_inflation","current_account_balance","gdp","gov_bond_10y","gov_bond_1y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_5y","gov_bond_7y","inflation","policy_rate","ppi","retail_sales","risk_free_rate","trade_weighted_index","unemployment"],"CNY":["business_confidence","cb_assets","core_inflation","current_account_balance","foreign_reserves","gdp","gold_reserves","gov_bond_10y","gov_bond_1y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_5y","gov_bond_7y","inflation","m1","m2","policy_rate","ppi","retail_sales","risk_free_rate","trade_weighted_index","unemployment"],"DKK":["business_confidence","consumer_confidence","core_inflation","current_account_balance","gdp","gov_bond_10y","house_prices","industrial_production","inflation","inflation_mom","ppi","risk_free_rate","trade_balance","trade_weighted_index","unemployment"],"EUR":["balance_on_goods","balance_on_services","breakeven_inflation_rate","business_confidence","consumer_confidence","core_inflation","core_inflation_mom","current_account_balance","employment","full_time_employment","gdp","gov_bond_10y","gov_bond_1y","gov_bond_20y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_4y","gov_bond_5y","gov_bond_7y","inflation","inflation_linked_bond","inflation_mom","m1","m2","m3","part_time_employment","participation_rate","policy_rate","policy_rate_mlf","policy_rate_mro","ppi","retail_sales","risk_free_rate","trade_balance","trade_weighted_index","unemployment","wages"],"GBP":["broad_money","consumer_confidence","core_inflation","current_account_balance","employment","exports","full_time_employment","gdp","gov_bond_10y","gov_bond_1y","gov_bond_20y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_40y","gov_bond_4y","gov_bond_5y","gov_bond_7y","imports","inflation","inflation_linked_bond","inflation_mom","m1","m2","m3","part_time_employment","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","trade_balance","trade_weighted_index","unemployment","wages"],"HUF":["inflation","policy_rate","ppi","retail_sales","risk_free_rate","trade_weighted_index","wages"],"ILS":["gdp","gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","inflation","inflation_linked_bond","policy_rate","risk_free_rate","trade_weighted_index"],"JPY":["business_confidence","consumer_confidence","core_inflation","current_account_balance","employment","foreign_reserves","full_time_employment","gdp","gold_reserves","gov_bond_10y","gov_bond_15y","gov_bond_1y","gov_bond_20y","gov_bond_25y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_40y","gov_bond_4y","gov_bond_5y","gov_bond_6y","gov_bond_7y","gov_bond_8y","gov_bond_9y","housing_starts","inflation","m1","m2","m3","part_time_employment","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","trade_balance","trade_weighted_index","unemployment"],"KRW":["business_confidence","consumer_confidence","core_inflation","current_account_balance","employment","gdp","gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","house_price_index","household_credit","inflation","inflation_mom","m1","m2","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","trade_balance","unemployment"],"MYR":["gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","m1","m2","m3","retail_sales"],"NGN":["cb_assets","deposit_rates","foreign_reserves","policy_rate"],"NOK":["business_confidence","core_inflation","current_account_balance","employment","exports","full_time_employment","gdp","gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","gov_bond_7y","house_prices","imports","inflation","m1","m2","m3","part_time_employment","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","trade_balance","trade_weighted_index","unemployment","wages"],"NZD":["core_inflation","current_account_balance","dairy_exports","deposit_rates","employment","foreign_reserves","gdp","gov_bond_10y","gov_bond_1y","gov_bond_2y","gov_bond_5y","inflation","inflation_linked_bond","participation_rate","policy_rate","risk_free_rate","terms_of_trade","trade_balance","trade_weighted_index","unemployment","wages"],"PEN":["foreign_reserves","gov_bond_10y","trade_weighted_index"],"SEK":["employment","gdp","gov_bond_10y","gov_bond_2y","gov_bond_5y","gov_bond_7y","inflation","participation_rate","policy_rate","risk_free_rate","trade_balance","trade_weighted_index","unemployment"],"THB":["core_inflation","current_account_balance","employment","gdp","gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","inflation","m1","m2","participation_rate","policy_rate","ppi","trade_balance","unemployment"],"TWD":["employment","foreign_reserves","participation_rate","risk_free_rate","trade_weighted_index","unemployment"],"USD":["afe_dollar_index","average_hourly_earnings","average_hourly_earnings_mom","bgcr","breakeven_inflation_rate","broad_dollar_index","building_permits","business_confidence","cb_assets","consumer_confidence","core_inflation","core_inflation_mom","core_pce","core_pce_mom","crude_oil_inventories","current_account_balance","durable_goods_orders","effr","eme_dollar_index","employment","foreign_reserves","full_time_employment","gdp","gdp_growth_q4_yoy","gold_reserves","gov_bond_10y","gov_bond_1_5m","gov_bond_1m","gov_bond_1y","gov_bond_20y","gov_bond_2m","gov_bond_2y","gov_bond_30y","gov_bond_3m","gov_bond_3y","gov_bond_4m","gov_bond_5y","gov_bond_6m","gov_bond_7y","government_debt","house_price_index","housing_starts","import_prices","industrial_production","inflation","inflation_linked_bond","inflation_mom","initial_jobless_claims","job_openings","m1","m2","nairu","natural_gas_storage","non_farm_payrolls","non_farm_payrolls_change","obfr","part_time_employment","participation_rate","pce","pce_mom","policy_rate","policy_rate_midpoint","policy_rate_target_lower","ppi","productivity","real_yield_20y","real_yield_30y","real_yield_5y","real_yield_7y","retail_sales","retail_sales_control_group","retail_sales_ex_autos","retail_sales_ex_autos_and_gas","risk_free_rate","sofr_average_180d","sofr_average_30d","sofr_average_90d","sofr_index","tgcr","trade_balance","trade_weighted_index","unemployment","wages"]},"seasonality":["sa","nsa"],"frequency":["level","yoy","qoq","mom"],"annualization":["not_annualized","saar"],"period_aggregation":["monthly","quarterly_average"],"basis":["real","nominal"]}}},"/v1/announcements/{currency}/latest":{"get":{"tags":["announcements"],"summary":"Get latest values for all indicators in a currency","operationId":"get_currency_latest_indicator_values_v1_announcements__currency__latest_get","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string","title":"Currency","enum":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"example":"AUD"},"description":"Required path parameter. Allowed values: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LatestAnnouncementsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-parameter-availability":{"currency":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"indicator":["afe_dollar_index","average_hourly_earnings","average_hourly_earnings_mom","balance_on_goods","balance_on_services","bgcr","breakeven_inflation_rate","broad_dollar_index","broad_money","building_approvals","building_permits","business_confidence","capital_account_balance","cb_assets","commodity_price_energy","commodity_price_ex_energy","commodity_price_index","commodity_prices","consumer_confidence","core_inflation","core_inflation_median","core_inflation_mom","core_inflation_trim","core_pce","core_pce_mom","credit_growth","crude_oil_inventories","current_account_balance","dairy_exports","deposit_rates","durable_goods_orders","effr","eme_dollar_index","employment","exports","financial_account_balance","foreign_reserves","full_time_employment","fx_reserves","gdp","gdp_growth_q4_yoy","gold_reserves","gov_bond_10y","gov_bond_15y","gov_bond_1_5m","gov_bond_1m","gov_bond_1y","gov_bond_20y","gov_bond_25y","gov_bond_2m","gov_bond_2y","gov_bond_30y","gov_bond_3m","gov_bond_3y","gov_bond_40y","gov_bond_4m","gov_bond_4y","gov_bond_5y","gov_bond_6m","gov_bond_6y","gov_bond_7y","gov_bond_8y","gov_bond_9y","government_debt","house_price_index","house_prices","household_credit","household_spending","housing_starts","import_prices","imports","industrial_production","inflation","inflation_linked_bond","inflation_mom","initial_jobless_claims","international_assets","international_liabilities","job_openings","m1","m2","m3","nairu","natural_gas_storage","net_foreign_asset_position","non_farm_payrolls","non_farm_payrolls_change","obfr","part_time_employment","participation_rate","pce","pce_mom","policy_rate","policy_rate_midpoint","policy_rate_mlf","policy_rate_mro","policy_rate_target_lower","ppi","primary_income_balance","productivity","real_yield_20y","real_yield_30y","real_yield_5y","real_yield_7y","retail_sales","retail_sales_control_group","retail_sales_ex_autos","retail_sales_ex_autos_and_gas","risk_free_rate","secondary_income_balance","sight_deposits","snb_balance_sheet","sofr_average_180d","sofr_average_30d","sofr_average_90d","sofr_index","terms_of_trade","tgcr","trade_balance","trade_weighted_index","trimmed_mean_inflation","unemployment","wage_price_index","wages"],"indicator_by_currency":{"AUD":["balance_on_services","broad_money","building_approvals","capital_account_balance","cb_assets","commodity_prices","core_inflation","credit_growth","current_account_balance","employment","exports","financial_account_balance","foreign_reserves","full_time_employment","gdp","gold_reserves","gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","house_price_index","household_spending","imports","inflation","inflation_linked_bond","inflation_mom","international_assets","international_liabilities","m1","m3","net_foreign_asset_position","part_time_employment","participation_rate","policy_rate","ppi","primary_income_balance","risk_free_rate","secondary_income_balance","terms_of_trade","trade_balance","trade_weighted_index","trimmed_mean_inflation","unemployment","wage_price_index","wages"],"BRL":["foreign_reserves","gdp","inflation","inflation_mom","policy_rate","ppi","retail_sales","risk_free_rate","trade_weighted_index","unemployment"],"CAD":["building_permits","business_confidence","commodity_price_energy","commodity_price_ex_energy","commodity_price_index","core_inflation","core_inflation_median","core_inflation_trim","current_account_balance","employment","full_time_employment","gdp","gov_bond_10y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_5y","gov_bond_7y","household_credit","inflation","inflation_linked_bond","part_time_employment","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","trade_balance","trade_weighted_index","unemployment","wages"],"CHF":["broad_money","business_confidence","cb_assets","consumer_confidence","core_inflation","current_account_balance","employment","exports","foreign_reserves","full_time_employment","fx_reserves","gdp","gold_reserves","gov_bond_10y","gov_bond_1y","gov_bond_20y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_4y","gov_bond_5y","imports","inflation","m1","m2","m3","part_time_employment","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","sight_deposits","snb_balance_sheet","trade_balance","trade_weighted_index","unemployment"],"CNH":["business_confidence","cb_assets","core_inflation","current_account_balance","gdp","gov_bond_10y","gov_bond_1y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_5y","gov_bond_7y","inflation","policy_rate","ppi","retail_sales","risk_free_rate","trade_weighted_index","unemployment"],"CNY":["business_confidence","cb_assets","core_inflation","current_account_balance","foreign_reserves","gdp","gold_reserves","gov_bond_10y","gov_bond_1y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_5y","gov_bond_7y","inflation","m1","m2","policy_rate","ppi","retail_sales","risk_free_rate","trade_weighted_index","unemployment"],"DKK":["business_confidence","consumer_confidence","core_inflation","current_account_balance","gdp","gov_bond_10y","house_prices","industrial_production","inflation","inflation_mom","ppi","risk_free_rate","trade_balance","trade_weighted_index","unemployment"],"EUR":["balance_on_goods","balance_on_services","breakeven_inflation_rate","business_confidence","consumer_confidence","core_inflation","core_inflation_mom","current_account_balance","employment","full_time_employment","gdp","gov_bond_10y","gov_bond_1y","gov_bond_20y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_4y","gov_bond_5y","gov_bond_7y","inflation","inflation_linked_bond","inflation_mom","m1","m2","m3","part_time_employment","participation_rate","policy_rate","policy_rate_mlf","policy_rate_mro","ppi","retail_sales","risk_free_rate","trade_balance","trade_weighted_index","unemployment","wages"],"GBP":["broad_money","consumer_confidence","core_inflation","current_account_balance","employment","exports","full_time_employment","gdp","gov_bond_10y","gov_bond_1y","gov_bond_20y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_40y","gov_bond_4y","gov_bond_5y","gov_bond_7y","imports","inflation","inflation_linked_bond","inflation_mom","m1","m2","m3","part_time_employment","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","trade_balance","trade_weighted_index","unemployment","wages"],"HUF":["inflation","policy_rate","ppi","retail_sales","risk_free_rate","trade_weighted_index","wages"],"ILS":["gdp","gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","inflation","inflation_linked_bond","policy_rate","risk_free_rate","trade_weighted_index"],"JPY":["business_confidence","consumer_confidence","core_inflation","current_account_balance","employment","foreign_reserves","full_time_employment","gdp","gold_reserves","gov_bond_10y","gov_bond_15y","gov_bond_1y","gov_bond_20y","gov_bond_25y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_40y","gov_bond_4y","gov_bond_5y","gov_bond_6y","gov_bond_7y","gov_bond_8y","gov_bond_9y","housing_starts","inflation","m1","m2","m3","part_time_employment","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","trade_balance","trade_weighted_index","unemployment"],"KRW":["business_confidence","consumer_confidence","core_inflation","current_account_balance","employment","gdp","gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","house_price_index","household_credit","inflation","inflation_mom","m1","m2","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","trade_balance","unemployment"],"MYR":["gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","m1","m2","m3","retail_sales"],"NGN":["cb_assets","deposit_rates","foreign_reserves","policy_rate"],"NOK":["business_confidence","core_inflation","current_account_balance","employment","exports","full_time_employment","gdp","gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","gov_bond_7y","house_prices","imports","inflation","m1","m2","m3","part_time_employment","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","trade_balance","trade_weighted_index","unemployment","wages"],"NZD":["core_inflation","current_account_balance","dairy_exports","deposit_rates","employment","foreign_reserves","gdp","gov_bond_10y","gov_bond_1y","gov_bond_2y","gov_bond_5y","inflation","inflation_linked_bond","participation_rate","policy_rate","risk_free_rate","terms_of_trade","trade_balance","trade_weighted_index","unemployment","wages"],"PEN":["foreign_reserves","gov_bond_10y","trade_weighted_index"],"SEK":["employment","gdp","gov_bond_10y","gov_bond_2y","gov_bond_5y","gov_bond_7y","inflation","participation_rate","policy_rate","risk_free_rate","trade_balance","trade_weighted_index","unemployment"],"THB":["core_inflation","current_account_balance","employment","gdp","gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","inflation","m1","m2","participation_rate","policy_rate","ppi","trade_balance","unemployment"],"TWD":["employment","foreign_reserves","participation_rate","risk_free_rate","trade_weighted_index","unemployment"],"USD":["afe_dollar_index","average_hourly_earnings","average_hourly_earnings_mom","bgcr","breakeven_inflation_rate","broad_dollar_index","building_permits","business_confidence","cb_assets","consumer_confidence","core_inflation","core_inflation_mom","core_pce","core_pce_mom","crude_oil_inventories","current_account_balance","durable_goods_orders","effr","eme_dollar_index","employment","foreign_reserves","full_time_employment","gdp","gdp_growth_q4_yoy","gold_reserves","gov_bond_10y","gov_bond_1_5m","gov_bond_1m","gov_bond_1y","gov_bond_20y","gov_bond_2m","gov_bond_2y","gov_bond_30y","gov_bond_3m","gov_bond_3y","gov_bond_4m","gov_bond_5y","gov_bond_6m","gov_bond_7y","government_debt","house_price_index","housing_starts","import_prices","industrial_production","inflation","inflation_linked_bond","inflation_mom","initial_jobless_claims","job_openings","m1","m2","nairu","natural_gas_storage","non_farm_payrolls","non_farm_payrolls_change","obfr","part_time_employment","participation_rate","pce","pce_mom","policy_rate","policy_rate_midpoint","policy_rate_target_lower","ppi","productivity","real_yield_20y","real_yield_30y","real_yield_5y","real_yield_7y","retail_sales","retail_sales_control_group","retail_sales_ex_autos","retail_sales_ex_autos_and_gas","risk_free_rate","sofr_average_180d","sofr_average_30d","sofr_average_90d","sofr_index","tgcr","trade_balance","trade_weighted_index","unemployment","wages"]}}}},"/v1/announcements/{currency}/{indicator}":{"get":{"tags":["announcements"],"summary":"Get macroeconomic indicator data","description":"Fetches historical data for a given macroeconomic indicator of a currency.\n\n**Authentication & limits:**\n- USD data is publicly accessible without an API key, but anonymous callers are limited to the most recent 90 days. Requests for an earlier `start_date` are clamped to that 90-day window, and the response then carries a `freemium_window` object naming the cutoff so a shortened history is distinguishable from a short series.\n- Anonymous USD data is also delayed by 15 minutes. A release is served once it is 15 minutes old; until then it is withheld, and `latest_available_date` reports the newest observation the caller can actually read. Every anonymous response carries a `freemium_delay` object naming the cutoff, the number of withheld releases and when the next one becomes available. An API key removes the delay.\n- All other currencies require an Individual or Business API key supplied via `?api_key=<key>` or the `X-API-Key` header.\n- Authenticated callers (any valid API key) receive the full requested history for every supported currency, including USD.\n\n**Path Parameters:**\n- `currency`: The 3-letter currency code (USD, AUD, EUR, GBP, CHF).\n- `indicator`: The indicator name (e.g., inflation, unemployment).\n\n**Query Parameters:**\n- `start_date`: Optional. Start date in YYYY-MM-DD format. When omitted by authenticated callers, the endpoint pages through the full available history. Anonymous USD requests are capped to the freemium window.\n- `end_date`: Optional. End date in YYYY-MM-DD format. Defaults to today.\n\n- `limit`: Optional page size. Defaults to 20.\n- `page`: Optional one-based page number. When provided, it takes precedence over `offset`.\n- `offset`: Optional zero-based row offset for offset-based pagination.\n\n- `series_mode`: Optional. `raw` (default) selects the direct underlying indicator series; `canonical` applies configured remaps.\n- `value_mode`: `normalized` (default) returns presentation-ready values. `source` requires `series_mode=raw` and returns values and revision values as published by the source, without normalization, derived changes, companion fills or carry-forward. Use source mode for historical research. The response declares `value_mode` and `value_metadata.source_unit`; an unknown source unit is null.\n\n**Empty windows:**\n- A valid series with no observations inside the requested window returns `200` with `data: []`, `requested_window_has_data: false`, and a `no_data` object carrying `error_code`, `latest_available_date`, `recommended_start_date` and `available_observation_count`. This is a successful query, not an error, and should not be retried; widen the window instead.\n- Anonymous USD callers see this whenever a quarterly or annual series' latest observation predates the 90-day freemium window; `no_data.freemium_clamped` marks that case.\n- `404` on this endpoint means the currency or indicator slug is not published. Use `/v1/data_catalogue/{currency}` to list valid slugs.\n\n**Response fields:**\n- `remap`: Metadata about the canonical remap rule application (`applied`, `rule_id`, segments, and transform mode).\n- `has_official_forecast`: Whether the relevant central bank or statistics agency publishes a preliminary, flash, or advance estimate of this indicator before the main/final data release.\n- `earliest_available_date` / `latest_available_date`: The full coverage span available in the response window before any pagination is applied.\n- `pagination`: Page metadata for the returned `data[]` slice (`limit`, `offset`, `returned_count`, `total_count`, `has_more`, `next_offset`).\n- `data[].announcement_id`: Stable identifier for this unique announcement, in the form `{currency}_{indicator}_{date}` (lowercase, e.g. `usd_inflation_2026-01-31`). Use this to join predictions from `/v1/predictions/{currency}/{indicator}` and revision history back to the underlying observation.\n- `data[].announcement_datetime`: Release timestamp as Unix epoch seconds (UTC).\n- `data[].announcement_datetime_local`: ISO 8601 release time with offset, rendered in the source agency's local timezone (e.g. USD → America/New_York, AUD → Australia/Sydney).\n- `data[].official_planned_release_datetime`: Official planned release timestamp from the publisher's release calendar, as Unix epoch seconds (UTC). Present when the release was captured against a pre-announced official release time.\n- `data[].official_actual_release_datetime`: Official release timestamp on the source row, as Unix epoch seconds (UTC). This is normally the same as `announcement_datetime` unless the source exposes a separate publication timestamp.\n- `data[].collected_at_ns` / `data[].collected_at_iso`: Exact time FXMacroData first captured this row from the official source.\n- `data[].release_timing`: `scheduled_at` is the official schedule. `published_at` equals `published_by`, the observed upper publication bound, not an exact publisher timestamp. `published_after` is the proven lower bound. `picked_up_at` is accepted capture; `available_at` is store commit, not client receipt. `source_pickup_latency_min_ms` / `source_pickup_latency_max_ms` measure publication-to-capture bounds; `latency_ms` and `pickup_ms_*` end at store commit. `publication_delay_ms` is a schedule-to-observed-bound diagnostic. Missing measurements remain null. The 1000ms `source_pickup_slo_ms` is a classification threshold, not a measured latency or guarantee. An unverified publication clock stays unverified.\n- `data[].ingestion_latency_ms` / `ingestion_latency_reference`: Deprecated optional diagnostics retained when stored. They measure collection against the original named schedule or actual-release reference, and are never recomputed from the new timing fields. See /documentation/deprecation-policy#legacy-announcement-latency.\n- `data[].publication_time_status`: what `announcement_datetime` is evidence of - `confirmed` (the publisher's own timestamp), `unverified` (a real timestamp whose origin the row does not prove; with `publication_time_basis=official_schedule` it is the publisher's scheduled release instant that the value was captured against), `assumed_historical` (derived from measured lag, pre-launch rows only) or `unknown` (no time; the row is served on its period date). A schedule instant is never promoted to `confirmed`.\n- `fields=compact`: trims each row to `date`, `val`, `previous_value`, `change_from_previous`, `announcement_datetime`, `announcement_datetime_local` and `publication_time_status`, with `revisions[]` folded into `revisions_summary`. The envelope, pagination and `dataset_version` are the same as the full view.\n- `source_series_name`: The actual underlying source series used for this standardized indicator.\n- `value_name`: The actual series name used for the returned `val`. For `policy_rate`, this is the canonical policy-series label chosen by the platform (for example, ECB Deposit Facility Rate or Federal Funds Target Range Upper Bound).\n- `source_local_name`: Official local-language series label when available.\n- `is_proxy`: True when the standardized indicator is populated using a documented proxy rather than a directly named national headline series.\n- `proxy_note`: Short explanation of the proxy choice when `is_proxy=true`.\n- `policy_role`: For `policy_rate`, the role of the canonical rate inside its official rate family (for example `primary` or `target_upper`).\n- `policy_structure`: For `policy_rate`, the policy-regime structure such as `single_primary`, `target_range`, `primary_plus_corridor`, or `non_rate_regime`.\n- `comparison_compatible`: For `policy_rate`, whether the returned `val` can be honestly used in cross-country policy-rate comparisons.\n- `policy_family`: Optional top-level metadata listing sibling policy-rate indicators in the same official family.\n- `data[].predicted_value` *(deprecated — use `/v1/predictions/{currency}/{indicator}` instead)*: Market or professional-forecaster expectation for this indicator reading, in the same units as `val`. Present only where a prediction source is available.\n- `data[].prediction_type` *(deprecated — use `/v1/predictions/{currency}/{indicator}` instead)*: Legacy per-source category. See `prediction_class` on `/v1/predictions` for the consolidated axis: `market_consensus` covers both compiled consensus and forecaster surveys, and `market_prediction` is market-implied, not a survey.\n- `data[].prediction_source` *(deprecated — use `/v1/predictions/{currency}/{indicator}` instead)*: Stable identifier for the prediction source (e.g. `ecb_spf` for the ECB Survey of Professional Forecasters). Null when `predicted_value` is absent.","operationId":"get_indicator_data_v1_announcements__currency___indicator__get","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string","title":"Currency","enum":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"example":"AUD"},"description":"Required path parameter. Allowed values: AUD, BRL, CAD, CHF, CNH, CNY, DKK, EUR, GBP, HUF, ILS, JPY, KRW, MYR, NGN, NOK, NZD, PEN, SEK, THB, TWD, USD."},{"name":"indicator","in":"path","required":true,"schema":{"type":"string","title":"Indicator","enum":["afe_dollar_index","average_hourly_earnings","average_hourly_earnings_mom","balance_on_goods","balance_on_services","bgcr","breakeven_inflation_rate","broad_dollar_index","broad_money","building_approvals","building_permits","business_confidence","capital_account_balance","cb_assets","commodity_price_energy","commodity_price_ex_energy","commodity_price_index","commodity_prices","consumer_confidence","core_inflation","core_inflation_median","core_inflation_mom","core_inflation_trim","core_pce","core_pce_mom","credit_growth","crude_oil_inventories","current_account_balance","dairy_exports","deposit_rates","durable_goods_orders","effr","eme_dollar_index","employment","exports","financial_account_balance","foreign_reserves","full_time_employment","fx_reserves","gdp","gdp_growth_q4_yoy","gold_reserves","gov_bond_10y","gov_bond_15y","gov_bond_1_5m","gov_bond_1m","gov_bond_1y","gov_bond_20y","gov_bond_25y","gov_bond_2m","gov_bond_2y","gov_bond_30y","gov_bond_3m","gov_bond_3y","gov_bond_40y","gov_bond_4m","gov_bond_4y","gov_bond_5y","gov_bond_6m","gov_bond_6y","gov_bond_7y","gov_bond_8y","gov_bond_9y","government_debt","house_price_index","house_prices","household_credit","household_spending","housing_starts","import_prices","imports","industrial_production","inflation","inflation_linked_bond","inflation_mom","initial_jobless_claims","international_assets","international_liabilities","job_openings","m1","m2","m3","nairu","natural_gas_storage","net_foreign_asset_position","non_farm_payrolls","non_farm_payrolls_change","obfr","part_time_employment","participation_rate","pce","pce_mom","policy_rate","policy_rate_midpoint","policy_rate_mlf","policy_rate_mro","policy_rate_target_lower","ppi","primary_income_balance","productivity","real_yield_20y","real_yield_30y","real_yield_5y","real_yield_7y","retail_sales","retail_sales_control_group","retail_sales_ex_autos","retail_sales_ex_autos_and_gas","risk_free_rate","secondary_income_balance","sight_deposits","snb_balance_sheet","sofr_average_180d","sofr_average_30d","sofr_average_90d","sofr_index","terms_of_trade","tgcr","trade_balance","trade_weighted_index","trimmed_mean_inflation","unemployment","wage_price_index","wages"],"example":"afe_dollar_index"},"description":"Required path parameter. Allowed values: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, bgcr, breakeven_inflation_rate, broad_dollar_index, broad_money, building_approvals, building_permits, business_confidence, capital_account_balance, cb_assets, commodity_price_energy, commodity_price_ex_energy, commodity_price_index, commodity_prices, consumer_confidence, core_inflation, core_inflation_median, core_inflation_mom, core_inflation_trim, core_pce, core_pce_mom, credit_growth, crude_oil_inventories, current_account_balance, dairy_exports, deposit_rates, durable_goods_orders, effr, eme_dollar_index, employment, exports, financial_account_balance, foreign_reserves, full_time_employment, fx_reserves, gdp, gdp_growth_q4_yoy, gold_reserves, gov_bond_10y, gov_bond_15y, gov_bond_1_5m, gov_bond_1m, gov_bond_1y, gov_bond_20y, gov_bond_25y, gov_bond_2m, gov_bond_2y, gov_bond_30y, gov_bond_3m, gov_bond_3y, gov_bond_40y, gov_bond_4m, gov_bond_4y, gov_bond_5y, gov_bond_6m, gov_bond_6y, gov_bond_7y, gov_bond_8y, gov_bond_9y, government_debt, house_price_index, house_prices, household_credit, household_spending, housing_starts, import_prices, imports, industrial_production, inflation, inflation_linked_bond, inflation_mom, initial_jobless_claims, international_assets, international_liabilities, job_openings, m1, m2, m3, nairu, natural_gas_storage, net_foreign_asset_position, non_farm_payrolls, non_farm_payrolls_change, obfr, part_time_employment, participation_rate, pce, pce_mom, policy_rate, policy_rate_midpoint, policy_rate_mlf, policy_rate_mro, policy_rate_target_lower, ppi, primary_income_balance, productivity, real_yield_20y, real_yield_30y, real_yield_5y, real_yield_7y, retail_sales, retail_sales_control_group, retail_sales_ex_autos, retail_sales_ex_autos_and_gas, risk_free_rate, secondary_income_balance, sight_deposits, snb_balance_sheet, sofr_average_180d, sofr_average_30d, sofr_average_90d, sofr_index, terms_of_trade, tgcr, trade_balance, trade_weighted_index, trimmed_mean_inflation, unemployment, wage_price_index, wages."},{"name":"start_date","in":"query","required":false,"schema":{"type":"string","description":"Start date YYYY-MM-DD","examples":["2025-01-01"],"title":"Start Date"},"description":"Optional query parameter. Start date YYYY-MM-DD"},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","description":"End date YYYY-MM-DD","examples":["2026-03-01"],"title":"End Date"},"description":"Optional query parameter. End date YYYY-MM-DD"},{"name":"series_mode","in":"query","required":false,"schema":{"type":"string","pattern":"^(raw|canonical)$","description":"Optional series rendering mode. `canonical` applies configured remap rules (for continuity across methodology transitions). `raw` returns the direct indicator series without remapping.","examples":["raw"],"default":"raw","title":"Series Mode"},"description":"Optional query parameter. Optional series rendering mode. `canonical` applies configured remap rules (for continuity across methodology transitions). `raw` returns the direct indicator series without remapping."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum number of rows to return in `data[]`. Rows are ordered most-recent-first, so `limit=10` returns the 10 most recent observations within the requested window. Use together with `offset` to page through long histories. Defaults to 20. Maximum 100.","examples":[20],"default":20,"title":"Limit"},"description":"Optional query parameter. Maximum number of rows to return in `data[]`. Rows are ordered most-recent-first, so `limit=10` returns the 10 most recent observations within the requested window. Use together with `offset` to page through long histories. Defaults to 20. Maximum 100."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of rows to skip from the start of `data[]` (after most-recent-first ordering). Use with `limit` for pagination. Defaults to 0.","examples":[0],"default":0,"title":"Offset"},"description":"Optional query parameter. Number of rows to skip from the start of `data[]` (after most-recent-first ordering). Use with `limit` for pagination. Defaults to 0."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"description":"One-based page number for callers that prefer page-based pagination. When supplied, `offset` is derived as `(page - 1) * limit`.","examples":[1],"title":"Page"},"description":"Optional query parameter. One-based page number for callers that prefer page-based pagination. When supplied, `offset` is derived as `(page - 1) * limit`."},{"name":"seasonality","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional seasonal adjustment selector. Supported public values are `sa` and `nsa`; check `supported_options.seasonality` in the response/catalogue for values available on this endpoint.","examples":["sa"],"title":"Seasonality","enum":["sa","nsa"],"example":"sa"},"description":"Optional query parameter. Optional seasonal adjustment selector. Supported public values are `sa` and `nsa`; check `supported_options.seasonality` in the response/catalogue for values available on this endpoint. Allowed values: sa, nsa."},{"name":"frequency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional returned change basis. Supported public values are `level`, `yoy`, `qoq`, and `mom`; check `supported_options.frequency` for values available on this endpoint.","examples":["yoy"],"title":"Frequency","enum":["level","yoy","qoq","mom"],"example":"level"},"description":"Optional query parameter. Optional returned change basis. Supported public values are `level`, `yoy`, `qoq`, and `mom`; check `supported_options.frequency` for values available on this endpoint. Allowed values: level, yoy, qoq, mom."},{"name":"annualization","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional annualization selector. Supported public values are `not_annualized` and `saar`; check `supported_options.annualization` for values available on this endpoint.","examples":["saar"],"title":"Annualization","enum":["not_annualized","saar"],"example":"not_annualized"},"description":"Optional query parameter. Optional annualization selector. Supported public values are `not_annualized` and `saar`; check `supported_options.annualization` for values available on this endpoint. Allowed values: not_annualized, saar."},{"name":"period_aggregation","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional period-aggregation selector. Supported public values are `monthly` and `quarterly_average`; check `supported_options.period_aggregation` for values available on this endpoint.","examples":["quarterly_average"],"title":"Period Aggregation","enum":["monthly","quarterly_average"],"example":"monthly"},"description":"Optional query parameter. Optional period-aggregation selector. Supported public values are `monthly` and `quarterly_average`; check `supported_options.period_aggregation` for values available on this endpoint. Allowed values: monthly, quarterly_average."},{"name":"revisions","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional revision view. Supported public values are `latest`, `first`, `final`, and `all`; unsupported views return `unsupported_series_option` with supported values.","examples":["latest"],"default":"latest","title":"Revisions","enum":["latest","first","final","all"],"example":"latest"},"description":"Optional query parameter. Optional revision view. Supported public values are `latest`, `first`, `final`, and `all`; unsupported views return `unsupported_series_option` with supported values. Allowed values: latest, first, final, all."},{"name":"basis","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional real/nominal selector. Supported public values are `real` and `nominal`; only endpoints with known basis metadata accept it.","examples":["real"],"title":"Basis","enum":["real","nominal"],"example":"real"},"description":"Optional query parameter. Optional real/nominal selector. Supported public values are `real` and `nominal`; only endpoints with known basis metadata accept it. Allowed values: real, nominal."},{"name":"official_only","in":"query","required":false,"schema":{"type":"boolean","description":"When true, return only official-source rows and remove explicit fallback observations. Prohibited private aggregator rows are always removed regardless of this setting.","examples":[true],"default":true,"title":"Official Only"},"description":"Optional query parameter. When true, return only official-source rows and remove explicit fallback observations. Prohibited private aggregator rows are always removed regardless of this setting."},{"name":"fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(full|compact)$"},{"type":"null"}],"description":"Row field set. Omitted or `full` returns every documented row field. `compact` returns only `date`, `val`, `previous_value`, `change_from_previous`, `announcement_datetime`, `announcement_datetime_local` and `publication_time_status` per row, with the revision ledger folded into `revisions_summary` (`count`, `first`, `latest`, `revised`). The envelope, pagination and `dataset_version` are unchanged.","examples":["compact"],"title":"Fields"},"description":"Optional query parameter. Row field set. Omitted or `full` returns every documented row field. `compact` returns only `date`, `val`, `previous_value`, `change_from_previous`, `announcement_datetime`, `announcement_datetime_local` and `publication_time_status` per row, with the revision ledger folded into `revisions_summary` (`count`, `first`, `latest`, `revised`). The envelope, pagination and `dataset_version` are unchanged."},{"name":"as_of","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of"},"description":"Optional query parameter."},{"name":"availability","in":"query","required":false,"schema":{"enum":["public","captured"],"type":"string","default":"public","title":"Availability"},"description":"Optional query parameter."},{"name":"dataset_version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset Version"},"description":"Optional query parameter."},{"name":"value_mode","in":"query","required":false,"schema":{"enum":["normalized","source"],"type":"string","default":"normalized","title":"Value Mode"},"description":"Optional query parameter."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Normalized macro series for one currency and indicator.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnouncementResponse"},"example":{"currency":"USD","indicator":"inflation","name":"Inflation (CPI)","source":"BLS","source_url":"https://www.bls.gov/","source_series_id":"BLS:CUUR0000SA0","source_series_name":"Consumer Price Index for All Urban Consumers: All Items","seasonal_adjustment":"NSA","is_proxy":false,"provenance":{"storage":"FXMacroData","is_proxy":false,"publisher":"BLS","served_by":"/v1/announcements/{currency}/{indicator}","publisher_url":"https://www.bls.gov/","value_field":"val","timestamp_field":"announcement_datetime","source_series_id":"BLS:CUUR0000SA0","source_series_name":"Consumer Price Index for All Urban Consumers: All Items","seasonal_adjustment":"NSA"},"has_official_forecast":true,"requested_start_date":"2026-07-08","requested_end_date":"2026-10-06","requested_window_has_data":true,"page_includes_latest_available":true,"start_date":"2026-07-31","end_date":"2026-10-06","earliest_available_date":"2026-07-31","latest_available_date":"2026-08-31","cb_target":{"description":"Federal Reserve inflation objective (2% goal is defined on PCE, not CPI)","source":"Federal Reserve Statement on Longer-Run Goals and Monetary Policy Strategy","current":{"effective_from":"2020-08-27","target":2.0,"notes":"Flexible Average Inflation Targeting (FAIT) adopted; 2% remains the long-run goal (defined on PCE)"},"history":[{"effective_from":"2012-01-25","target":2.0,"notes":"First explicit 2% inflation goal announced by FOMC (defined on the PCE price index)"},{"effective_from":"2020-08-27","target":2.0,"notes":"Flexible Average Inflation Targeting (FAIT) adopted; 2% remains the long-run goal (defined on PCE)"}]},"remap":{"applied":false,"transform":"raw","canonical_indicator":"inflation"},"filters":{"revisions":"latest"},"selected_series_id":"usd_inflation_canonical_yoy_nsa_not_annualized_monthly","selected_series":{"label":"Inflation, YOY, NSA","frequency":"yoy","revisions":"latest","series_id":"usd_inflation_canonical_yoy_nsa_not_annualized_monthly","seasonality":"nsa","annualization":"not_annualized","source_series_id":"BLS:CUUR0000SA0","period_aggregation":"monthly"},"supported_options":{"basis":[],"frequency":["yoy","mom","qoq"],"revisions":["latest","first","final","all"],"seasonality":["nsa","sa"],"annualization":["not_annualized","saar"],"period_aggregation":["monthly","quarterly_average"]},"data_quality":{"is_official":true,"is_proxy":false,"is_fallback":false,"is_stale":false,"has_announcement_datetime":true,"point_in_time_safe":false,"unverified_vintage_count":2,"unknown_publication_time_count":0,"latest_available_date":"2026-08-31","data_lag_days":36,"source_name":"BLS","source_type":"official","is_derived":false,"row_count":2,"announcement_datetime_count":2,"missing_announcement_datetime_count":0,"has_assumed_release_times":false,"assumed_release_time_count":0,"bounded_release_time_count":0,"unbounded_release_time_count":0,"quality_scope":"full_result","stale_after_days":95,"requested_window_has_data":true,"page_includes_latest_available":true},"dataset_version":"4eccfe260008f21cb8efd8b3a5ad3c6f6226e8eb5fb5fa1a145cdee132066503","value_mode":"normalized","value_metadata":{"source_unit":"%YoY","normalization_applied":true},"pagination":{"limit":1,"offset":0,"returned_count":1,"total_count":2,"has_more":true,"next_offset":1,"page_includes_latest_available":true},"data":[{"announcement_id":"usd_inflation_2026-08-31","date":"2026-08-31","val":3.4,"source":"BLS","source_url":"https://www.bls.gov/news.release/archives/cpi_09112026.htm","source_url_scope":"release","previous_value":3.4,"previous_date":"2026-07-31","previous_announcement_datetime":1786537800,"change_from_previous":0.0,"pct_change_from_previous":0.0,"val_mom":0.4,"observation_id":"usd_inflation_canonical_yoy_nsa_not_annualized_monthly_2026-08-31","announcement_datetime":1789129800,"announcement_datetime_local":"2026-09-11T08:30:00-04:00","publication_time_status":"unverified","publication_time_precision":"unknown","publication_time_basis":"official_schedule","vintage_status":"captured_snapshot","observed_at_ns":1789129806674741407,"observed_at_ns_string":"1789129806674741407","capture_time_basis":"fetch_completed","official_planned_release_datetime":1789129800,"official_planned_release_datetime_local":"2026-09-11T08:30:00-04:00","collected_at_ns":1789129806674741407,"collected_at_ns_string":"1789129806674741407","collected_at_iso":"2026-09-11T12:30:06.674742Z","release_timing":{"scheduled_at":"2026-09-11T12:30:00Z","collected_at":"2026-09-11T12:30:06.674742Z"},"revisions":[{"epoch":1789129800,"val":3.4,"observed_at_ns":1789129806674741407,"observed_at_ns_string":"1789129806674741407","capture_time_basis":"first_fresh_fetch_completed","vintage_status":"captured_snapshot","is_first_release":false}]}],"freemium_window":{"applied":true,"max_days":90,"cutoff_date":"2026-07-08","message":"Anonymous access returns the most recent 90 days. Supply an API key for the full history."},"freemium_delay":{"applied":true,"delay_seconds":900,"delay_minutes":15,"cutoff":1791277200,"cutoff_iso":"2026-10-06T09:00:00Z","withheld_count":0,"message":"Free access is delayed by 15 minutes. Releases published in the last 15 minutes are withheld. An Individual or Business API key returns them in real time.","subscribe_url":"https://fxmacrodata.com/subscribe?utm_source=api&utm_medium=referral&utm_campaign=freemium_delay"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-parameter-availability":{"currency":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"indicator":["afe_dollar_index","average_hourly_earnings","average_hourly_earnings_mom","balance_on_goods","balance_on_services","bgcr","breakeven_inflation_rate","broad_dollar_index","broad_money","building_approvals","building_permits","business_confidence","capital_account_balance","cb_assets","commodity_price_energy","commodity_price_ex_energy","commodity_price_index","commodity_prices","consumer_confidence","core_inflation","core_inflation_median","core_inflation_mom","core_inflation_trim","core_pce","core_pce_mom","credit_growth","crude_oil_inventories","current_account_balance","dairy_exports","deposit_rates","durable_goods_orders","effr","eme_dollar_index","employment","exports","financial_account_balance","foreign_reserves","full_time_employment","fx_reserves","gdp","gdp_growth_q4_yoy","gold_reserves","gov_bond_10y","gov_bond_15y","gov_bond_1_5m","gov_bond_1m","gov_bond_1y","gov_bond_20y","gov_bond_25y","gov_bond_2m","gov_bond_2y","gov_bond_30y","gov_bond_3m","gov_bond_3y","gov_bond_40y","gov_bond_4m","gov_bond_4y","gov_bond_5y","gov_bond_6m","gov_bond_6y","gov_bond_7y","gov_bond_8y","gov_bond_9y","government_debt","house_price_index","house_prices","household_credit","household_spending","housing_starts","import_prices","imports","industrial_production","inflation","inflation_linked_bond","inflation_mom","initial_jobless_claims","international_assets","international_liabilities","job_openings","m1","m2","m3","nairu","natural_gas_storage","net_foreign_asset_position","non_farm_payrolls","non_farm_payrolls_change","obfr","part_time_employment","participation_rate","pce","pce_mom","policy_rate","policy_rate_midpoint","policy_rate_mlf","policy_rate_mro","policy_rate_target_lower","ppi","primary_income_balance","productivity","real_yield_20y","real_yield_30y","real_yield_5y","real_yield_7y","retail_sales","retail_sales_control_group","retail_sales_ex_autos","retail_sales_ex_autos_and_gas","risk_free_rate","secondary_income_balance","sight_deposits","snb_balance_sheet","sofr_average_180d","sofr_average_30d","sofr_average_90d","sofr_index","terms_of_trade","tgcr","trade_balance","trade_weighted_index","trimmed_mean_inflation","unemployment","wage_price_index","wages"],"indicator_by_currency":{"AUD":["balance_on_services","broad_money","building_approvals","capital_account_balance","cb_assets","commodity_prices","core_inflation","credit_growth","current_account_balance","employment","exports","financial_account_balance","foreign_reserves","full_time_employment","gdp","gold_reserves","gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","house_price_index","household_spending","imports","inflation","inflation_linked_bond","inflation_mom","international_assets","international_liabilities","m1","m3","net_foreign_asset_position","part_time_employment","participation_rate","policy_rate","ppi","primary_income_balance","risk_free_rate","secondary_income_balance","terms_of_trade","trade_balance","trade_weighted_index","trimmed_mean_inflation","unemployment","wage_price_index","wages"],"BRL":["foreign_reserves","gdp","inflation","inflation_mom","policy_rate","ppi","retail_sales","risk_free_rate","trade_weighted_index","unemployment"],"CAD":["building_permits","business_confidence","commodity_price_energy","commodity_price_ex_energy","commodity_price_index","core_inflation","core_inflation_median","core_inflation_trim","current_account_balance","employment","full_time_employment","gdp","gov_bond_10y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_5y","gov_bond_7y","household_credit","inflation","inflation_linked_bond","part_time_employment","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","trade_balance","trade_weighted_index","unemployment","wages"],"CHF":["broad_money","business_confidence","cb_assets","consumer_confidence","core_inflation","current_account_balance","employment","exports","foreign_reserves","full_time_employment","fx_reserves","gdp","gold_reserves","gov_bond_10y","gov_bond_1y","gov_bond_20y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_4y","gov_bond_5y","imports","inflation","m1","m2","m3","part_time_employment","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","sight_deposits","snb_balance_sheet","trade_balance","trade_weighted_index","unemployment"],"CNH":["business_confidence","cb_assets","core_inflation","current_account_balance","gdp","gov_bond_10y","gov_bond_1y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_5y","gov_bond_7y","inflation","policy_rate","ppi","retail_sales","risk_free_rate","trade_weighted_index","unemployment"],"CNY":["business_confidence","cb_assets","core_inflation","current_account_balance","foreign_reserves","gdp","gold_reserves","gov_bond_10y","gov_bond_1y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_5y","gov_bond_7y","inflation","m1","m2","policy_rate","ppi","retail_sales","risk_free_rate","trade_weighted_index","unemployment"],"DKK":["business_confidence","consumer_confidence","core_inflation","current_account_balance","gdp","gov_bond_10y","house_prices","industrial_production","inflation","inflation_mom","ppi","risk_free_rate","trade_balance","trade_weighted_index","unemployment"],"EUR":["balance_on_goods","balance_on_services","breakeven_inflation_rate","business_confidence","consumer_confidence","core_inflation","core_inflation_mom","current_account_balance","employment","full_time_employment","gdp","gov_bond_10y","gov_bond_1y","gov_bond_20y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_4y","gov_bond_5y","gov_bond_7y","inflation","inflation_linked_bond","inflation_mom","m1","m2","m3","part_time_employment","participation_rate","policy_rate","policy_rate_mlf","policy_rate_mro","ppi","retail_sales","risk_free_rate","trade_balance","trade_weighted_index","unemployment","wages"],"GBP":["broad_money","consumer_confidence","core_inflation","current_account_balance","employment","exports","full_time_employment","gdp","gov_bond_10y","gov_bond_1y","gov_bond_20y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_40y","gov_bond_4y","gov_bond_5y","gov_bond_7y","imports","inflation","inflation_linked_bond","inflation_mom","m1","m2","m3","part_time_employment","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","trade_balance","trade_weighted_index","unemployment","wages"],"HUF":["inflation","policy_rate","ppi","retail_sales","risk_free_rate","trade_weighted_index","wages"],"ILS":["gdp","gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","inflation","inflation_linked_bond","policy_rate","risk_free_rate","trade_weighted_index"],"JPY":["business_confidence","consumer_confidence","core_inflation","current_account_balance","employment","foreign_reserves","full_time_employment","gdp","gold_reserves","gov_bond_10y","gov_bond_15y","gov_bond_1y","gov_bond_20y","gov_bond_25y","gov_bond_2y","gov_bond_30y","gov_bond_3y","gov_bond_40y","gov_bond_4y","gov_bond_5y","gov_bond_6y","gov_bond_7y","gov_bond_8y","gov_bond_9y","housing_starts","inflation","m1","m2","m3","part_time_employment","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","trade_balance","trade_weighted_index","unemployment"],"KRW":["business_confidence","consumer_confidence","core_inflation","current_account_balance","employment","gdp","gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","house_price_index","household_credit","inflation","inflation_mom","m1","m2","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","trade_balance","unemployment"],"MYR":["gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","m1","m2","m3","retail_sales"],"NGN":["cb_assets","deposit_rates","foreign_reserves","policy_rate"],"NOK":["business_confidence","core_inflation","current_account_balance","employment","exports","full_time_employment","gdp","gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","gov_bond_7y","house_prices","imports","inflation","m1","m2","m3","part_time_employment","participation_rate","policy_rate","ppi","retail_sales","risk_free_rate","trade_balance","trade_weighted_index","unemployment","wages"],"NZD":["core_inflation","current_account_balance","dairy_exports","deposit_rates","employment","foreign_reserves","gdp","gov_bond_10y","gov_bond_1y","gov_bond_2y","gov_bond_5y","inflation","inflation_linked_bond","participation_rate","policy_rate","risk_free_rate","terms_of_trade","trade_balance","trade_weighted_index","unemployment","wages"],"PEN":["foreign_reserves","gov_bond_10y","trade_weighted_index"],"SEK":["employment","gdp","gov_bond_10y","gov_bond_2y","gov_bond_5y","gov_bond_7y","inflation","participation_rate","policy_rate","risk_free_rate","trade_balance","trade_weighted_index","unemployment"],"THB":["core_inflation","current_account_balance","employment","gdp","gov_bond_10y","gov_bond_2y","gov_bond_3y","gov_bond_5y","inflation","m1","m2","participation_rate","policy_rate","ppi","trade_balance","unemployment"],"TWD":["employment","foreign_reserves","participation_rate","risk_free_rate","trade_weighted_index","unemployment"],"USD":["afe_dollar_index","average_hourly_earnings","average_hourly_earnings_mom","bgcr","breakeven_inflation_rate","broad_dollar_index","building_permits","business_confidence","cb_assets","consumer_confidence","core_inflation","core_inflation_mom","core_pce","core_pce_mom","crude_oil_inventories","current_account_balance","durable_goods_orders","effr","eme_dollar_index","employment","foreign_reserves","full_time_employment","gdp","gdp_growth_q4_yoy","gold_reserves","gov_bond_10y","gov_bond_1_5m","gov_bond_1m","gov_bond_1y","gov_bond_20y","gov_bond_2m","gov_bond_2y","gov_bond_30y","gov_bond_3m","gov_bond_3y","gov_bond_4m","gov_bond_5y","gov_bond_6m","gov_bond_7y","government_debt","house_price_index","housing_starts","import_prices","industrial_production","inflation","inflation_linked_bond","inflation_mom","initial_jobless_claims","job_openings","m1","m2","nairu","natural_gas_storage","non_farm_payrolls","non_farm_payrolls_change","obfr","part_time_employment","participation_rate","pce","pce_mom","policy_rate","policy_rate_midpoint","policy_rate_target_lower","ppi","productivity","real_yield_20y","real_yield_30y","real_yield_5y","real_yield_7y","retail_sales","retail_sales_control_group","retail_sales_ex_autos","retail_sales_ex_autos_and_gas","risk_free_rate","sofr_average_180d","sofr_average_30d","sofr_average_90d","sofr_index","tgcr","trade_balance","trade_weighted_index","unemployment","wages"]},"seasonality":["sa","nsa"],"frequency":["level","yoy","qoq","mom"],"annualization":["not_annualized","saar"],"period_aggregation":["monthly","quarterly_average"],"revisions":["latest","first","final","all"],"basis":["real","nominal"]}}},"/v1/cot/{currency}":{"get":{"tags":["fx_markets"],"summary":"Get CFTC Commitment of Traders (COT) data","description":"Returns weekly CFTC Commitment of Traders report data for the specified currency's futures contract. The default is the Legacy Futures-Only report; `report=` selects the Legacy combined, Traders in Financial Futures (TFF) futures-only / combined, or Disaggregated futures-only report from the same CFTC public datasets.\n\n**Supported currencies:** AUD, CAD, CHF, EUR, GBP, JPY, NZD, USD, XAU\n\n**Path Parameters:**\n- `currency`: 3-letter currency code (e.g., EUR, GBP, JPY).\n\n**Query Parameters:**\n- `start_date`: Optional. Start date YYYY-MM-DD. Defaults to 52 weeks ago.\n- `end_date`: Optional. End date YYYY-MM-DD. Defaults to today.\n- `report`: Optional. One of `legacy_futures` (default), `legacy_combined`, `tff_futures`, `tff_combined`, `disaggregated_futures`. TFF reports return dealer / asset manager / leveraged funds / other reportable long, short, spreading and net positions for FX contracts and the dollar index; the Disaggregated report (producer/merchant, swap dealer, managed money, other reportable) is published for XAU only. A report the CFTC does not publish for the instrument returns 404 with the available list.\n\n**Authentication:** USD data is publicly available on the same freemium terms as USD announcements: anonymous callers are limited to the most recent 90 days (an earlier `start_date` is clamped automatically) and a new report becomes readable 15 minutes after the CFTC publishes it. All other currencies require a professional API key supplied via `?api_key=<key>` or the `X-API-Key` header. Authenticated callers (any valid key) receive the full requested history for every currency.\n\n**Data source:** CFTC public reporting API — Legacy futures-only https://publicreporting.cftc.gov/resource/6dca-aqww.json; Legacy combined jun7-fc8e; TFF futures-only gpe5-46if; TFF combined yw9f-hn96; Disaggregated futures-only 72hh-3qpy. Non-default reports echo `report`, `report_name`, `report_dataset_id` and `available_reports`.","operationId":"get_cot_data_v1_cot__currency__get","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string","title":"Currency","enum":["AUD","CAD","CHF","EUR","GBP","JPY","NZD","USD","XAU"],"example":"AUD"},"description":"Required path parameter. Allowed values: AUD, CAD, CHF, EUR, GBP, JPY, NZD, USD, XAU."},{"name":"start_date","in":"query","required":false,"schema":{"type":"string","description":"Start date YYYY-MM-DD","examples":["2025-09-01"],"title":"Start Date"},"description":"Optional query parameter. Start date YYYY-MM-DD"},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","description":"End date YYYY-MM-DD","examples":["2026-03-01"],"title":"End Date"},"description":"Optional query parameter. End date YYYY-MM-DD"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum rows to return. Defaults to 20. Maximum 100.","examples":[20],"default":20,"title":"Limit"},"description":"Optional query parameter. Maximum rows to return. Defaults to 20. Maximum 100."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of rows to skip after most-recent-first ordering.","examples":[0],"default":0,"title":"Offset"},"description":"Optional query parameter. Number of rows to skip after most-recent-first ordering."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"description":"One-based page number. When supplied, it takes precedence over offset.","examples":[1],"title":"Page"},"description":"Optional query parameter. One-based page number. When supplied, it takes precedence over offset."},{"name":"report","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"CFTC report type. `legacy_futures` (default): Legacy Futures-Only report with commercial / non-commercial / non-reportable positions. `legacy_combined`: the same categories from the futures-and-options combined report. `tff_futures` / `tff_combined`: Traders in Financial Futures report with dealer, asset manager, leveraged funds, other reportable and non-reportable long / short / spreading positions (FX contracts and the dollar index; not gold). `disaggregated_futures`: producer/merchant, swap dealer, managed money and other reportable positions (COMEX gold only). Each report adds the matching `*_net` and `*_zscore` columns.","examples":["legacy_futures","tff_futures"],"enum":["legacy_futures","legacy_combined","tff_futures","tff_combined","disaggregated_futures"],"default":"legacy_futures","title":"Report"},"description":"Optional query parameter. CFTC report type. `legacy_futures` (default): Legacy Futures-Only report with commercial / non-commercial / non-reportable positions. `legacy_combined`: the same categories from the futures-and-options combined report. `tff_futures` / `tff_combined`: Traders in Financial Futures report with dealer, asset manager, leveraged funds, other reportable and non-reportable long / short / spreading positions (FX contracts and the dollar index; not gold). `disaggregated_futures`: producer/merchant, swap dealer, managed money and other reportable positions (COMEX gold only). Each report adds the matching `*_net` and `*_zscore` columns."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"COT report history for the selected futures market.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/COTResponse"},"example":{"currency":"JPY","instrument":"JAPANESE YEN - CHICAGO MERCANTILE EXCHANGE","source":"CFTC public reporting API","source_url":"https://publicreporting.cftc.gov/resource/6dca-aqww.json","fx_overlay":{"pair":"USD/JPY"},"start_date":"2025-09-01","end_date":"2026-03-01","data":[{"date":"2026-02-24","announcement_datetime":1771996800,"open_interest":245678,"noncommercial_long":62400,"noncommercial_short":70420,"noncommercial_net":-8020}]}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-parameter-availability":{"currency":["AUD","CAD","CHF","EUR","GBP","JPY","NZD","USD","XAU"]}}},"/v1/commodities/latest":{"get":{"tags":["commodities"],"summary":"Get latest values for all commodity indicators","operationId":"get_all_commodity_latest_values_v1_commodities_latest_get","parameters":[{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommoditiesLatestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/commodities/{indicator}":{"get":{"tags":["commodities"],"summary":"Get commodity indicator data","description":"Returns commodity and energy price observations with source provenance.\n\n**Supported indicators:** `crude_oil_inventories`, `gold`, `natural_gas`, `natural_gas_storage`, `oil_brent`, `oil_wti`, `platinum`, `silver`.\n\nThe supported-indicator list above is the complete list of indicators this endpoint serves.\n\n**Precious metals** — official central-bank publications, USD/troy oz.\n\n- **Gold**, **silver**, **platinum** (and **palladium** where listed above): National Bank of Ukraine official accounting prices of banking metals (https://bank.gov.ua/en/markets/exchangerates), converted to USD with the NBU official UAH/USD rate for the same official rate date. `date` is the official rate date and `announcement_date` is the Kyiv business day the NBU set it; no publication clock is asserted. Source: National Bank of Ukraine (https://bank.gov.ua/en/open-data).\n- Gold comparisons use the Narodowy Bank Polski calculated gold price (PLN per gram, converted with the same-date NBP USD mid rate). Cross-checks are best effort over the most recent 93 calendar days; where a comparison is available, rows carry `cross_check_divergence_pct`. NBP rows (`source_series_id` starting `NBP:`) are served only for dates the NBU did not supply.\n- These are official reference prices, not executable quotes or LBMA auction prices. Weekday-label coverage is included.\n\n**Energy** — sourced from the U.S. Energy Information Administration (https://api.eia.gov/v2/).\n\n- **WTI crude oil** (`oil_wti`): Cushing, OK spot price, USD/barrel.\n- **Brent crude oil** (`oil_brent`): Europe spot price, USD/barrel.\n- **Natural gas** (`natural_gas`): Henry Hub spot price, USD/MMBtu.\n\n**Query Parameters:**\n- `start_date`: Earliest date to include (YYYY-MM-DD). Defaults to 365 days ago.\n- `end_date`: Latest date to include (YYYY-MM-DD). Defaults to today.\n\n**Authentication:** A professional API key is required. Supply it via `?api_key=<key>` or the `X-API-Key` header.","operationId":"get_commodity_indicator_data_v1_commodities__indicator__get","parameters":[{"name":"indicator","in":"path","required":true,"schema":{"type":"string","description":"Commodity indicator slug","examples":["oil_wti"],"title":"Indicator","enum":["crude_oil_inventories","gold","natural_gas","natural_gas_storage","oil_brent","oil_wti","platinum","silver"],"example":"crude_oil_inventories"},"description":"Required path parameter. Commodity indicator slug Allowed values: crude_oil_inventories, gold, natural_gas, natural_gas_storage, oil_brent, oil_wti, platinum, silver."},{"name":"start_date","in":"query","required":false,"schema":{"type":"string","description":"Start date YYYY-MM-DD","examples":["2025-01-01"],"title":"Start Date"},"description":"Optional query parameter. Start date YYYY-MM-DD"},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","description":"End date YYYY-MM-DD","examples":["2026-03-01"],"title":"End Date"},"description":"Optional query parameter. End date YYYY-MM-DD"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum rows to return. Defaults to 20. Maximum 100.","examples":[20],"default":20,"title":"Limit"},"description":"Optional query parameter. Maximum rows to return. Defaults to 20. Maximum 100."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Number of rows to skip after most-recent-first ordering.","examples":[0],"default":0,"title":"Offset"},"description":"Optional query parameter. Number of rows to skip after most-recent-first ordering."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"description":"One-based page number. When supplied, it takes precedence over offset.","examples":[1],"title":"Page"},"description":"Optional query parameter. One-based page number. When supplied, it takes precedence over offset."},{"name":"api_key","in":"query","required":false,"schema":{"type":"string","description":"Your Individual or Business API key","title":"Api Key"},"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header.","deprecated":true}],"responses":{"200":{"description":"Time-series data for the requested commodity indicator.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommodityResponse"},"example":{"currency":"COMM","indicator":"gold","source":"National Bank of Ukraine","source_url":"https://bank.gov.ua/en/markets/exchangerates","has_official_forecast":false,"start_date":"2026-10-01","end_date":"2026-10-05","data":[{"date":"2026-10-05","val":4182.862,"announcement_date":"2026-10-02","announcement_timezone":"Europe/Kyiv","time_announced":false,"publication_time_status":"unknown","source_series_id":"NBU:XAU:UAH/USD","source_value":188168.98,"source_unit":"UAH per troy ounce","conversion_rate":44.9857,"conversion_unit":"UAH per USD","cross_check_val":4158.925,"cross_check_divergence_pct":0.576,"cross_check_divergent":false}]}}}},"404":{"description":"Unsupported commodity indicator.","content":{"application/json":{"example":{"detail":"Unsupported commodity indicator (xyz)"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-parameter-availability":{"indicator":["crude_oil_inventories","gold","natural_gas","natural_gas_storage","oil_brent","oil_wti","platinum","silver"]}}},"/v1/announcements/changes":{"get":{"tags":["announcements"],"summary":"Poll recent live announcement release changes","description":"Returns recent live announcement release events from the same durable fanout used by the real-time SSE stream. Use `next_cursor` as the `since` value on the next poll. This endpoint is intended for serverless clients that cannot hold a persistent SSE connection.\n\n**Authentication:** USD events are available without an API key. Non-USD currencies require a paid API key supplied via `api_key` or `X-API-Key`.\n\n**Free access is delayed.** Without an API key this feed is held back by 15 minutes: an event is delivered once it is 15 minutes old, and `next_cursor` stops at the delay cutoff so nothing is skipped. The response carries a `freemium_delay` object naming the cutoff, how many events are being withheld, and when the next one becomes available. An Individual or Business API key removes the delay; `/v1/stream/events` pushes the same events in real time.\n\n**Retention:** Events are retained for the configured fanout window, currently exposed in `retention_seconds`. If a client is offline longer than that window, re-bootstrap from `/v1/announcements/{currency}/latest` and continue polling changes.","operationId":"get_announcement_changes_v1_announcements_changes_get","parameters":[{"name":"currencies","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated currency codes, `g10`, or `all`. Without a paid API key the result is restricted to USD.","examples":["g10"],"title":"Currencies"},"description":"Optional query parameter. Comma-separated currency codes, `g10`, or `all`. Without a paid API key the result is restricted to USD."},{"name":"indicators","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional comma-separated announcement indicator slugs.","examples":["inflation,unemployment"],"title":"Indicators","enum":["afe_dollar_index","average_hourly_earnings","average_hourly_earnings_mom","balance_on_goods","balance_on_services","bgcr","breakeven_inflation_rate","broad_dollar_index","broad_money","building_approvals","building_permits","business_confidence","capital_account_balance","cb_assets","commodity_price_energy","commodity_price_ex_energy","commodity_price_index","commodity_prices","consumer_confidence","core_inflation","core_inflation_median","core_inflation_mom","core_inflation_trim","core_pce","core_pce_mom","credit_growth","crude_oil_inventories","current_account_balance","dairy_exports","deposit_rates","durable_goods_orders","effr","eme_dollar_index","employment","exports","financial_account_balance","foreign_reserves","full_time_employment","fx_reserves","gdp","gdp_growth_q4_yoy","gold_reserves","gov_bond_10y","gov_bond_15y","gov_bond_1_5m","gov_bond_1m","gov_bond_1y","gov_bond_20y","gov_bond_25y","gov_bond_2m","gov_bond_2y","gov_bond_30y","gov_bond_3m","gov_bond_3y","gov_bond_40y","gov_bond_4m","gov_bond_4y","gov_bond_5y","gov_bond_6m","gov_bond_6y","gov_bond_7y","gov_bond_8y","gov_bond_9y","government_debt","house_price_index","house_prices","household_credit","household_spending","housing_starts","import_prices","imports","industrial_production","inflation","inflation_linked_bond","inflation_mom","initial_jobless_claims","international_assets","international_liabilities","job_openings","m1","m2","m3","nairu","natural_gas_storage","net_foreign_asset_position","non_farm_payrolls","non_farm_payrolls_change","obfr","part_time_employment","participation_rate","pce","pce_mom","policy_rate","policy_rate_midpoint","policy_rate_mlf","policy_rate_mro","policy_rate_target_lower","ppi","primary_income_balance","productivity","real_yield_20y","real_yield_30y","real_yield_5y","real_yield_7y","retail_sales","retail_sales_control_group","retail_sales_ex_autos","retail_sales_ex_autos_and_gas","risk_free_rate","secondary_income_balance","sight_deposits","snb_balance_sheet","sofr_average_180d","sofr_average_30d","sofr_average_90d","sofr_index","terms_of_trade","tgcr","trade_balance","trade_weighted_index","trimmed_mean_inflation","unemployment","wage_price_index","wages"],"example":"afe_dollar_index"},"description":"Optional query parameter. Optional comma-separated announcement indicator slugs. Allowed values: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, bgcr, breakeven_inflation_rate, broad_dollar_index, broad_money, building_approvals, building_permits, business_confidence, capital_account_balance, cb_assets, commodity_price_energy, commodity_price_ex_energy, commodity_price_index, commodity_prices, consumer_confidence, core_inflation, core_inflation_median, core_inflation_mom, core_inflation_trim, core_pce, core_pce_mom, credit_growth, crude_oil_inventories, current_account_balance, dairy_exports, deposit_rates, durable_goods_orders, effr, eme_dollar_index, employment, exports, financial_account_balance, foreign_reserves, full_time_employment, fx_reserves, gdp, gdp_growth_q4_yoy, gold_reserves, gov_bond_10y, gov_bond_15y, gov_bond_1_5m, gov_bond_1m, gov_bond_1y, gov_bond_20y, gov_bond_25y, gov_bond_2m, gov_bond_2y, gov_bond_30y, gov_bond_3m, gov_bond_3y, gov_bond_40y, gov_bond_4m, gov_bond_4y, gov_bond_5y, gov_bond_6m, gov_bond_6y, gov_bond_7y, gov_bond_8y, gov_bond_9y, government_debt, house_price_index, house_prices, household_credit, household_spending, housing_starts, import_prices, imports, industrial_production, inflation, inflation_linked_bond, inflation_mom, initial_jobless_claims, international_assets, international_liabilities, job_openings, m1, m2, m3, nairu, natural_gas_storage, net_foreign_asset_position, non_farm_payrolls, non_farm_payrolls_change, obfr, part_time_employment, participation_rate, pce, pce_mom, policy_rate, policy_rate_midpoint, policy_rate_mlf, policy_rate_mro, policy_rate_target_lower, ppi, primary_income_balance, productivity, real_yield_20y, real_yield_30y, real_yield_5y, real_yield_7y, retail_sales, retail_sales_control_group, retail_sales_ex_autos, retail_sales_ex_autos_and_gas, risk_free_rate, secondary_income_balance, sight_deposits, snb_balance_sheet, sofr_average_180d, sofr_average_30d, sofr_average_90d, sofr_index, terms_of_trade, tgcr, trade_balance, trade_weighted_index, trimmed_mean_inflation, unemployment, wage_price_index, wages."},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor returned as `next_cursor` by the previous response. ISO 8601 timestamps and Unix epoch seconds are also accepted.","title":"Since"},"description":"Optional query parameter. Cursor returned as `next_cursor` by the previous response. ISO 8601 timestamps and Unix epoch seconds are also accepted."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"description":"Maximum number of matching change events to return.","default":100,"title":"Limit"},"description":"Optional query parameter. Maximum number of matching change events to return."},{"name":"payload","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Use `compact` for trigger payloads or `full` for row fields.","default":"compact","title":"Payload","enum":["compact","full"],"example":"compact"},"description":"Optional query parameter. Use `compact` for trigger payloads or `full` for row fields. Allowed values: compact, full."},{"name":"api_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"},"deprecated":true,"description":"Deprecated: legacy query-string API key. Still accepted so existing integrations keep working, but new integrations must send the key in the X-API-Key header (or Authorization: Bearer). A key is required for non-USD, paid-only, or full-history requests. Responses to requests authenticated this way carry a Deprecation header."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnouncementChangesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-parameter-availability":{"currency":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"indicator":["afe_dollar_index","average_hourly_earnings","average_hourly_earnings_mom","balance_on_goods","balance_on_services","bgcr","breakeven_inflation_rate","broad_dollar_index","broad_money","building_approvals","building_permits","business_confidence","capital_account_balance","cb_assets","commodity_price_energy","commodity_price_ex_energy","commodity_price_index","commodity_prices","consumer_confidence","core_inflation","core_inflation_median","core_inflation_mom","core_inflation_trim","core_pce","core_pce_mom","credit_growth","crude_oil_inventories","current_account_balance","dairy_exports","deposit_rates","durable_goods_orders","effr","eme_dollar_index","employment","exports","financial_account_balance","foreign_reserves","full_time_employment","fx_reserves","gdp","gdp_growth_q4_yoy","gold_reserves","gov_bond_10y","gov_bond_15y","gov_bond_1_5m","gov_bond_1m","gov_bond_1y","gov_bond_20y","gov_bond_25y","gov_bond_2m","gov_bond_2y","gov_bond_30y","gov_bond_3m","gov_bond_3y","gov_bond_40y","gov_bond_4m","gov_bond_4y","gov_bond_5y","gov_bond_6m","gov_bond_6y","gov_bond_7y","gov_bond_8y","gov_bond_9y","government_debt","house_price_index","house_prices","household_credit","household_spending","housing_starts","import_prices","imports","industrial_production","inflation","inflation_linked_bond","inflation_mom","initial_jobless_claims","international_assets","international_liabilities","job_openings","m1","m2","m3","nairu","natural_gas_storage","net_foreign_asset_position","non_farm_payrolls","non_farm_payrolls_change","obfr","part_time_employment","participation_rate","pce","pce_mom","policy_rate","policy_rate_midpoint","policy_rate_mlf","policy_rate_mro","policy_rate_target_lower","ppi","primary_income_balance","productivity","real_yield_20y","real_yield_30y","real_yield_5y","real_yield_7y","retail_sales","retail_sales_control_group","retail_sales_ex_autos","retail_sales_ex_autos_and_gas","risk_free_rate","secondary_income_balance","sight_deposits","snb_balance_sheet","sofr_average_180d","sofr_average_30d","sofr_average_90d","sofr_index","terms_of_trade","tgcr","trade_balance","trade_weighted_index","trimmed_mean_inflation","unemployment","wage_price_index","wages"],"payload":["compact","full"]}}},"/v1/stream/events":{"get":{"tags":["announcements"],"summary":"Subscribe to real-time announcement events (SSE)","description":"Opens a long-lived Server-Sent Events (SSE) stream.  A new event is pushed to all connected clients whenever FXMacroData captures a new economic data release.\n\nThe stream payload contains event metadata and a single `latest_announcement` datapoint (`date`, `val`, `announcement_datetime`) when available.  It does not include the full time-series; fetch complete history from the matching announcements endpoint after receiving an event.\n\n**Authentication:** Live SSE delivery requires an active FXMacroData trial or subscription API key supplied via the ``api_key`` query parameter or the ``X-API-Key`` header.\n\n**Reconnection:** Pass the ``Last-Event-ID`` header (the ``event_id`` of the last received event) to replay buffered events on reconnect.\n\n**Filtering:** Use ``currencies`` and ``indicators`` to narrow the stream.  Omit either parameter to receive all live events included in your subscription.\n\n**Payloads:** ``payload=compact`` is the default.  ``payload=full`` adds the latest announcement row fields directly to each event.","operationId":"stream_events_v1_stream_events_get","parameters":[{"name":"currencies","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated currency codes to subscribe to, e.g. ``usd,eur``. Omit to receive all live events included in your subscription.","title":"Currencies"},"description":"Optional query parameter. Comma-separated currency codes to subscribe to, e.g. ``usd,eur``. Omit to receive all live events included in your subscription."},{"name":"indicators","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated indicator slugs, e.g. ``inflation,gdp``. Omit to receive all indicators.","title":"Indicators","enum":["afe_dollar_index","average_hourly_earnings","average_hourly_earnings_mom","balance_on_goods","balance_on_services","bgcr","breakeven_inflation_rate","broad_dollar_index","broad_money","building_approvals","building_permits","business_confidence","capital_account_balance","cb_assets","commodity_price_energy","commodity_price_ex_energy","commodity_price_index","commodity_prices","consumer_confidence","core_inflation","core_inflation_median","core_inflation_mom","core_inflation_trim","core_pce","core_pce_mom","credit_growth","crude_oil_inventories","current_account_balance","dairy_exports","deposit_rates","durable_goods_orders","effr","eme_dollar_index","employment","exports","financial_account_balance","foreign_reserves","full_time_employment","fx_reserves","gdp","gdp_growth_q4_yoy","gold_reserves","gov_bond_10y","gov_bond_15y","gov_bond_1_5m","gov_bond_1m","gov_bond_1y","gov_bond_20y","gov_bond_25y","gov_bond_2m","gov_bond_2y","gov_bond_30y","gov_bond_3m","gov_bond_3y","gov_bond_40y","gov_bond_4m","gov_bond_4y","gov_bond_5y","gov_bond_6m","gov_bond_6y","gov_bond_7y","gov_bond_8y","gov_bond_9y","government_debt","house_price_index","house_prices","household_credit","household_spending","housing_starts","import_prices","imports","industrial_production","inflation","inflation_linked_bond","inflation_mom","initial_jobless_claims","international_assets","international_liabilities","job_openings","m1","m2","m3","nairu","natural_gas_storage","net_foreign_asset_position","non_farm_payrolls","non_farm_payrolls_change","obfr","part_time_employment","participation_rate","pce","pce_mom","policy_rate","policy_rate_midpoint","policy_rate_mlf","policy_rate_mro","policy_rate_target_lower","ppi","primary_income_balance","productivity","real_yield_20y","real_yield_30y","real_yield_5y","real_yield_7y","retail_sales","retail_sales_control_group","retail_sales_ex_autos","retail_sales_ex_autos_and_gas","risk_free_rate","secondary_income_balance","sight_deposits","snb_balance_sheet","sofr_average_180d","sofr_average_30d","sofr_average_90d","sofr_index","terms_of_trade","tgcr","trade_balance","trade_weighted_index","trimmed_mean_inflation","unemployment","wage_price_index","wages"],"example":"afe_dollar_index"},"description":"Optional query parameter. Comma-separated indicator slugs, e.g. ``inflation,gdp``. Omit to receive all indicators. Allowed values: afe_dollar_index, average_hourly_earnings, average_hourly_earnings_mom, balance_on_goods, balance_on_services, bgcr, breakeven_inflation_rate, broad_dollar_index, broad_money, building_approvals, building_permits, business_confidence, capital_account_balance, cb_assets, commodity_price_energy, commodity_price_ex_energy, commodity_price_index, commodity_prices, consumer_confidence, core_inflation, core_inflation_median, core_inflation_mom, core_inflation_trim, core_pce, core_pce_mom, credit_growth, crude_oil_inventories, current_account_balance, dairy_exports, deposit_rates, durable_goods_orders, effr, eme_dollar_index, employment, exports, financial_account_balance, foreign_reserves, full_time_employment, fx_reserves, gdp, gdp_growth_q4_yoy, gold_reserves, gov_bond_10y, gov_bond_15y, gov_bond_1_5m, gov_bond_1m, gov_bond_1y, gov_bond_20y, gov_bond_25y, gov_bond_2m, gov_bond_2y, gov_bond_30y, gov_bond_3m, gov_bond_3y, gov_bond_40y, gov_bond_4m, gov_bond_4y, gov_bond_5y, gov_bond_6m, gov_bond_6y, gov_bond_7y, gov_bond_8y, gov_bond_9y, government_debt, house_price_index, house_prices, household_credit, household_spending, housing_starts, import_prices, imports, industrial_production, inflation, inflation_linked_bond, inflation_mom, initial_jobless_claims, international_assets, international_liabilities, job_openings, m1, m2, m3, nairu, natural_gas_storage, net_foreign_asset_position, non_farm_payrolls, non_farm_payrolls_change, obfr, part_time_employment, participation_rate, pce, pce_mom, policy_rate, policy_rate_midpoint, policy_rate_mlf, policy_rate_mro, policy_rate_target_lower, ppi, primary_income_balance, productivity, real_yield_20y, real_yield_30y, real_yield_5y, real_yield_7y, retail_sales, retail_sales_control_group, retail_sales_ex_autos, retail_sales_ex_autos_and_gas, risk_free_rate, secondary_income_balance, sight_deposits, snb_balance_sheet, sofr_average_180d, sofr_average_30d, sofr_average_90d, sofr_index, terms_of_trade, tgcr, trade_balance, trade_weighted_index, trimmed_mean_inflation, unemployment, wage_price_index, wages."},{"name":"api_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Your active FXMacroData trial or subscription API key.","title":"Api Key"},"description":"Active FXMacroData trial or subscription API key required for live delivery. Use the query parameter for browser or EventSource clients; server-side clients may use the X-API-Key header."},{"name":"payload","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Event payload shape. Use `compact` for the stable trigger payload or `full` to flatten the latest announcement row into each event.","default":"compact","title":"Payload","enum":["compact","full"],"example":"compact"},"description":"Optional query parameter. Event payload shape. Use `compact` for the stable trigger payload or `full` to flatten the latest announcement row into each event. Allowed values: compact, full."},{"name":"live_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Live Only"},"description":"Optional query parameter."},{"name":"max_age_ms","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Age Ms"},"description":"Optional query parameter."},{"name":"Last-Event-ID","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last-Event-Id"}}],"responses":{"200":{"description":"Streaming SSE response. Each `data:` line is one JSON release-delivery event; see `/v1/announcements/changes` for the field-by-field contract.","content":{"text/event-stream":{"schema":{"type":"string","description":"W3C EventSource frames. Each frame carries `id`, `event` and a `data` line holding one JSON release-delivery event. That event has the same shape as a `data[]` item of `/v1/announcements/changes`, which documents every field."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-parameter-availability":{"currency":["AUD","BRL","CAD","CHF","CNH","CNY","DKK","EUR","GBP","HUF","ILS","JPY","KRW","MYR","NGN","NOK","NZD","PEN","SEK","THB","TWD","USD"],"indicator":["afe_dollar_index","average_hourly_earnings","average_hourly_earnings_mom","balance_on_goods","balance_on_services","bgcr","breakeven_inflation_rate","broad_dollar_index","broad_money","building_approvals","building_permits","business_confidence","capital_account_balance","cb_assets","commodity_price_energy","commodity_price_ex_energy","commodity_price_index","commodity_prices","consumer_confidence","core_inflation","core_inflation_median","core_inflation_mom","core_inflation_trim","core_pce","core_pce_mom","credit_growth","crude_oil_inventories","current_account_balance","dairy_exports","deposit_rates","durable_goods_orders","effr","eme_dollar_index","employment","exports","financial_account_balance","foreign_reserves","full_time_employment","fx_reserves","gdp","gdp_growth_q4_yoy","gold_reserves","gov_bond_10y","gov_bond_15y","gov_bond_1_5m","gov_bond_1m","gov_bond_1y","gov_bond_20y","gov_bond_25y","gov_bond_2m","gov_bond_2y","gov_bond_30y","gov_bond_3m","gov_bond_3y","gov_bond_40y","gov_bond_4m","gov_bond_4y","gov_bond_5y","gov_bond_6m","gov_bond_6y","gov_bond_7y","gov_bond_8y","gov_bond_9y","government_debt","house_price_index","house_prices","household_credit","household_spending","housing_starts","import_prices","imports","industrial_production","inflation","inflation_linked_bond","inflation_mom","initial_jobless_claims","international_assets","international_liabilities","job_openings","m1","m2","m3","nairu","natural_gas_storage","net_foreign_asset_position","non_farm_payrolls","non_farm_payrolls_change","obfr","part_time_employment","participation_rate","pce","pce_mom","policy_rate","policy_rate_midpoint","policy_rate_mlf","policy_rate_mro","policy_rate_target_lower","ppi","primary_income_balance","productivity","real_yield_20y","real_yield_30y","real_yield_5y","real_yield_7y","retail_sales","retail_sales_control_group","retail_sales_ex_autos","retail_sales_ex_autos_and_gas","risk_free_rate","secondary_income_balance","sight_deposits","snb_balance_sheet","sofr_average_180d","sofr_average_30d","sofr_average_90d","sofr_index","terms_of_trade","tgcr","trade_balance","trade_weighted_index","trimmed_mean_inflation","unemployment","wage_price_index","wages"],"payload":["compact","full"]}}}},"components":{"schemas":{"AnnouncementChangeEvent":{"properties":{"event_id":{"type":"string","title":"Event Id"},"currency":{"type":"string","title":"Currency"},"indicator":{"type":"string","title":"Indicator"},"records_written":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Records Written"},"timestamp":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Timestamp"},"release_timestamp":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Release Timestamp"},"latest_announcement":{"anyOf":[{"$ref":"#/components/schemas/ReleaseDeliveryAnnouncement"},{"type":"null"}]},"delivery_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Delivery Mode"},"origin_delivery_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin Delivery Mode"},"source_fresh_at_ns":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Source Fresh At Ns"},"stream_ready_at_ns":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Stream Ready At Ns"},"server_sent_at_ns":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Server Sent At Ns","description":"Time FXMacroData sent this event, as Unix epoch nanoseconds (UTC)."},"acknowledgement_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Acknowledgement Endpoint","description":"Endpoint for acknowledging receipt of a streamed event. Present only on `/v1/stream/events` deliveries; never set on `/v1/announcements/changes`."},"age_ms":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Age Ms","description":"Event age in milliseconds when it was sent. Present only on `/v1/stream/events` deliveries; never set on `/v1/announcements/changes`."},"stale_after_ms":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Stale After Ms","description":"Age in milliseconds after which a streamed event is considered stale. Present only on `/v1/stream/events` deliveries; never set on `/v1/announcements/changes`."},"stale":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Stale","description":"True when the event was older than `stale_after_ms` when sent. Present only on `/v1/stream/events` deliveries; never set on `/v1/announcements/changes`."},"late_delivery":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Late Delivery","description":"True when the event was sent after its staleness threshold. Present only on `/v1/stream/events` deliveries; never set on `/v1/announcements/changes`."},"late_events_are_delivered":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Late Events Are Delivered"},"scheduled_release_at_ns":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Scheduled Release At Ns"},"scheduled_to_server_send_ms":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Scheduled To Server Send Ms","description":"Milliseconds from the scheduled release time to the time FXMacroData sent this event."},"source_late":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Source Late"},"source_late_by_ms":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Source Late By Ms"},"source_delay_proven":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Source Delay Proven"},"platform_delivery_after_source_ms":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Platform Delivery After Source Ms"},"polling_started_at_ns":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Polling Started At Ns"},"polling_started_lag_ms":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Polling Started Lag Ms"},"polling_started_before_scheduled_release":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Polling Started Before Scheduled Release"},"pre_fresh_stale_poll_count":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Pre Fresh Stale Poll Count"},"last_stale_fetch_completed_at_ns":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Last Stale Fetch Completed At Ns"},"first_fresh_response_completed_at_ns":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"First Fresh Response Completed At Ns"},"official_source_stale_after_scheduled_release":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Official Source Stale After Scheduled Release"},"scheduled_to_first_fresh_response_ms":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Scheduled To First Fresh Response Ms"},"source_freshness_observation_window_start_at_ns":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Source Freshness Observation Window Start At Ns"},"source_freshness_observation_window_end_at_ns":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Source Freshness Observation Window End At Ns"},"source_freshness_observation_window_ms":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Source Freshness Observation Window Ms"},"source_freshness_observation_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Freshness Observation Basis"},"source_delay_attribution":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Delay Attribution"},"fxmd_delivery_attribution":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fxmd Delivery Attribution"},"fxmd_after_source_ms":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Fxmd After Source Ms"},"fxmd_after_source_slo_met":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Fxmd After Source Slo Met"},"catchup_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Catchup Source"},"catchup_delay_ms":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Catchup Delay Ms"},"recovery_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recovery Class"},"subsecond_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subsecond Status"},"subsecond_operational_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subsecond Operational Status"},"subsecond_guarantee_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Subsecond Guarantee Active"},"subsecond_contract_outcome":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subsecond Contract Outcome"},"subsecond_contract_breached":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Subsecond Contract Breached"}},"additionalProperties":true,"type":"object","required":["event_id","currency","indicator"],"title":"AnnouncementChangeEvent","description":"A release event returned by ``/v1/announcements/changes``.\n\nEvents share the shape emitted by ``/v1/stream/events``. Fields that do not\napply to an event are omitted rather than returned as null."},"AnnouncementChangesResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/AnnouncementChangeEvent"},"type":"array","title":"Data"},"count":{"type":"integer","title":"Count"},"next_cursor":{"type":"string","title":"Next Cursor"},"has_more":{"type":"boolean","title":"Has More"},"retention_seconds":{"type":"integer","title":"Retention Seconds"},"scope":{"$ref":"#/components/schemas/AnnouncementChangesScope"},"freemium_delay":{"anyOf":[{"$ref":"#/components/schemas/FreemiumDelayNotice"},{"type":"null"}]}},"type":"object","required":["data","count","next_cursor","has_more","retention_seconds","scope"],"title":"AnnouncementChangesResponse"},"AnnouncementChangesScope":{"properties":{"currencies":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Currencies"},"indicators":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Indicators"},"payload":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payload"}},"type":"object","title":"AnnouncementChangesScope","description":"The filter set the response was produced under.\n\n``currencies`` and ``indicators`` are null when no filter was applied."},"AnnouncementDataPoint":{"properties":{"source_validity_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Validity Status","description":"`invalid_source_capture` marks a proven source/parser mistake retained only in the raw source/all audit view. It is excluded from economic revision selection and point-in-time replay. Absence is not source verification."},"source_correction":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Source Correction","description":"Audit evidence for an incorrect source capture, including the observed and expected series identities and any official correction citation. Original values and capture clocks remain unchanged."},"announcement_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Id"},"date":{"type":"string","title":"Date"},"val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Val"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source_url_scope":{"anyOf":[{"type":"string","enum":["release","dataset","series"]},{"type":"null"}],"title":"Source Url Scope"},"previous_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Previous Value"},"previous_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Previous Date"},"previous_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Previous Announcement Datetime"},"change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Change"},"change_from_previous":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Change From Previous"},"pct_change_from_previous":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Change From Previous"},"original_val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Original Val"},"original_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Original Unit"},"val_mom":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Val Mom"},"observation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observation Id"},"announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Announcement Datetime"},"announcement_datetime_local":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Datetime Local"},"release_time_assumed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Release Time Assumed","description":"Present and true when announcement_datetime was derived from the publication lag measured on this series' confirmed releases, because no official release calendar reaches the period. Omitted on rows whose publication time was captured from the release."},"release_time_upper_bound":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Release Time Upper Bound","description":"Legacy estimate flag; does not establish point-in-time safety."},"publication_time_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication Time Status","description":"What `announcement_datetime` on this row actually is. Present on every row that carries a value.\n\n- `confirmed`: read from the publisher's own release - an embargo instant printed on the document, or a publication timestamp the source served with the data.\n- `unverified`: a real timestamp that this row does not evidence the origin of. Most historical rows are in this state. It is not an estimate, and it is not proof.\n- `assumed_historical`: derived by this service from the lag its own confirmed releases show. Only permitted where both the period and the estimated publication precede 2025-11-06; see `release_time_assumed`.\n- `unknown`: no publication time. `announcement_datetime` is null and the observation is served on its period date alone.\n\nOnly `confirmed` is evidence of when the value became public. Gate point-in-time work on this field per row, never on a series-level claim.","examples":["confirmed"]},"publication_time_precision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication Time Precision","description":"Resolution of `announcement_datetime`: `minute` when the publisher gave a clock time, `day` when only the release date was sourced, `unknown` otherwise.","examples":["minute"]},"publication_time_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication Time Basis","description":"Where an `unverified` time came from: `official_schedule` means the publisher's own release calendar listed this release at this time (a planned time, equal to `official_planned_release_datetime`). Absent for `confirmed` rows, which carry the publisher's own timestamp for the release.","examples":["official_schedule"]},"vintage_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vintage Status"},"is_first_release":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is First Release"},"observed_at_ns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Observed At Ns"},"observed_at_ns_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observed At Ns String"},"collected_at_ns_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Collected At Ns String"},"publication_at_ns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Publication At Ns","description":"Publisher-sourced publication instant, Unix epoch nanoseconds (UTC). Present only when the source states one; omitted otherwise."},"publication_at_ns_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication At Ns String","description":"`publication_at_ns` as a decimal string; present only alongside it."},"announcement_source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Source Url","description":"The specific release this value was read from - for USD CPI, the BLS archive page for that month's news release. Present only when a release-scoped citation is available; a dataset or landing-page URL is reported as `source_url` instead and is never promoted to this field.","examples":["https://www.bls.gov/news.release/archives/cpi_08122026.htm"]},"source_artifact_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Artifact Sha256"},"capture_time_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Capture Time Basis"},"geography":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geography"},"period_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Period Basis"},"methodology_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Methodology Id"},"source_period_label_conflict":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Source Period Label Conflict"},"source_methodology_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Methodology Status"},"selected_vintage_known_at_ns":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Selected Vintage Known At Ns"},"replay_vintage_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Replay Vintage Verified"},"official_planned_release_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Official Planned Release Datetime"},"official_planned_release_datetime_local":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Official Planned Release Datetime Local"},"official_actual_release_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Official Actual Release Datetime"},"official_actual_release_datetime_local":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Official Actual Release Datetime Local"},"collected_at_ns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Collected At Ns"},"collected_at_iso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Collected At Iso"},"ingestion_latency_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ingestion Latency Ms","description":"Legacy stored nonnegative collection-minus-reference diagnostic in milliseconds, rounded to three decimals. Interpret only with `ingestion_latency_reference`; a planned reference measures from the schedule, not actual publication. Early captures clamp to zero. Use `release_timing` for separately evidenced publication/pickup bounds. Missing historical measurements are not synthesized.","deprecated":true},"ingestion_latency_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ingestion Latency Reference","description":"Original clock for `ingestion_latency_ms`: `official_planned_release_datetime`, or `official_actual_release_datetime` when confirmed. Retained with the stored diagnostic; not reinterpreted as source-pickup or customer-delivery latency.","deprecated":true},"release_timing":{"properties":{"scheduled_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scheduled At","description":"Official scheduled release time (ISO 8601, UTC), or null when no exact time was scheduled. Latency is never measured from this time."},"published_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Published At","description":"The first observed read showing this period (ISO 8601, UTC, microsecond precision). This is an upper bound on publication, not an exact publisher timestamp. Same instant as `published_by`. Null when the capture did not record it."},"available_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Available At","description":"When this value was committed to the FXMacroData API data store (ISO 8601, UTC, microsecond precision). This clock does not measure client receipt. Null when the commit time was not recorded."},"latency_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latency Ms","description":"Milliseconds from publication to `available_at`, measured from `published_after` (the last read still showing the previous period), so it is the longest the gap can have been. Never measured from the scheduled time. Null when publication was not bounded or `available_at` is missing."},"latency_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latency Reference","description":"Reference for `latency_ms`: `publication_to_store_commit_upper_bound`. This legacy metric ends at the store commit; source capture is measured separately by `source_pickup_latency_min_ms` and `source_pickup_latency_max_ms`."},"publication_delay_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Publication Delay Ms","description":"Milliseconds from `scheduled_at` to the observed upper publication bound `published_by`. This is a schedule diagnostic, not the actual publisher delay or pickup latency. Null when either timestamp is missing."},"published_after":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Published After","description":"The official source still showed the previous period after this instant (ISO 8601, UTC), or its `Last-Modified` header placed the update after it. Null when no such read was made."},"published_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Published By","description":"The first read of the official source that showed this period completed at this instant (ISO 8601, UTC), so the release was public by then. Null when the window could not be bounded."},"publication_window_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication Window Basis","description":"How the window was bounded: `poll_bracket` (a read showing the previous period, then a read showing this one), `last_modified` (the source's `Last-Modified` header sets the lower bound), or `first_new_period_read_only` (only the upper bound is known)."},"collected_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Collected At","description":"When FXMacroData first captured this value from the official source (ISO 8601, UTC). Same instant as `collected_at_iso`."},"pickup_ms_min":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pickup Ms Min","description":"Milliseconds from `published_by` to `available_at`: the shortest time the value can have taken to reach store commit after publication, not edge availability or client receipt. Null when either time is missing or `available_at` precedes `published_by`."},"pickup_ms_max":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pickup Ms Max","description":"Milliseconds from `published_after` to `available_at`: the value reached store commit within this long of publication (same figure as `latency_ms`), not edge availability or client receipt. Null when no read showed the previous period still in place, or when `available_at` is missing."},"picked_up_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Picked Up At","description":"When FXMacroData accepted this value from the official source (ISO 8601, UTC, microsecond precision). This is separate from the store commit and from a source observation that could not be accepted. Null when the capture clock is unavailable."},"source_pickup_latency_min_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Source Pickup Latency Min Ms","description":"Minimum milliseconds from actual source publication to accepted pickup: `picked_up_at` minus `published_by`. Null when the required observation clocks are unavailable or inconsistent."},"source_pickup_latency_max_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Source Pickup Latency Max Ms","description":"Maximum milliseconds from actual source publication to accepted pickup: `picked_up_at` minus the proven lower publication bound. Null when that bound or a valid pickup clock is unavailable."},"source_pickup_latency_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Source Pickup Latency Ms","description":"Exact milliseconds from actual publication to accepted pickup. Null for observed publication windows because their bounds do not establish an exact publisher availability timestamp."},"source_pickup_outcome":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Pickup Outcome","description":"`met` when the upper latency bound is below `source_pickup_slo_ms`; `breached` when the lower bound is at or above it; `unverified` when the evidence cannot decide; `not_observed` when no accepted pickup clock is recorded."},"source_pickup_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Pickup Reference","description":"Evidence for pickup latency: `observed_publication_bracket`, `first_new_period_response_only`, `unverified_publication_clock`, or `source_pickup_not_observed`. A scheduled time is never used as the publication reference."},"source_pickup_slo_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Source Pickup Slo Ms","description":"The strict latency threshold, in milliseconds, used to classify source pickup. The default is 1000 milliseconds."}},"type":"object","title":"ReleaseTiming","description":"Scheduled, observed publication, capture and commit times for a release.\n\nPresent on rows captured at release time from the official source. The\npublication window is bounded by FXMacroData's own reads of the official\nsource; it is not a timestamp supplied by the publisher. Bounds that\ncould not be established are null. Source pickup stops at accepted capture;\nlegacy `latency_ms` and `pickup_ms_*` stop at the store commit. A null\nmeasurement does not establish whether a release was late."},"pct_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Change"},"pct_change_yoy":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Change Yoy"},"pct_change_qoq":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Change Qoq"},"pct_change_mom":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Change Mom"},"pct_change_12m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Change 12M"},"revisions":{"anyOf":[{"items":{"$ref":"#/components/schemas/RevisionEntry"},"type":"array"},{"type":"null"}],"title":"Revisions"},"revisions_summary":{"anyOf":[{"$ref":"#/components/schemas/RevisionsSummary"},{"type":"null"}],"description":"Compact view only (`fields=compact`): retained value groups with their earliest and latest values. Does not certify first release or publisher revision count. Replaces the full `revisions[]` ledger."},"outside_requested_window":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Outside Requested Window"},"requested_start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested Start Date"},"requested_end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested End Date"},"returned_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Returned Reason"},"staleness_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Staleness Days"},"canonical_indicator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Canonical Indicator"},"raw_indicator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Raw Indicator"},"remap_applied":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Remap Applied"},"remap_rule_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remap Rule Id"},"remap_segment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remap Segment Id"}},"type":"object","required":["date"],"title":"AnnouncementDataPoint"},"AnnouncementPredictions":{"properties":{"announcement_id":{"type":"string","title":"Announcement Id","description":"Stable identifier of the announcement these predictions target, in the form ``{currency}_{indicator}_{date}``.","examples":["usd_inflation_2026-01-31"]},"observation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observation Id","description":"Variant-safe identifier for the selected series observation. Use this with `selected_series_id` when query selectors choose a non-default series."},"selected_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Selected Series Id","description":"Stable identifier of the selected announcement series."},"currency":{"type":"string","title":"Currency"},"indicator":{"type":"string","title":"Indicator"},"date":{"type":"string","title":"Date","description":"Reference period date of the forecast, ``YYYY-MM-DD``."},"announcement_datetime":{"type":"integer","title":"Announcement Datetime","description":"Release timestamp of the forecasted announcement, Unix epoch seconds (UTC)."},"announcement_datetime_local":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Datetime Local","description":"ISO 8601 release time with timezone offset, rendered in the currency's market timezone."},"announcement_timing":{"anyOf":[{"type":"string","enum":["past","future"]},{"type":"null"}],"title":"Announcement Timing","description":"Whether the forecasted announcement is still upcoming (`future`) or already released (`past`)."},"predictions":{"items":{"$ref":"#/components/schemas/PredictionItem"},"type":"array","title":"Predictions","description":"List of forecasts for this announcement, one entry per prediction source.  Sorted by ``prediction_source`` for deterministic output."}},"type":"object","required":["announcement_id","currency","indicator","date","announcement_datetime"],"title":"AnnouncementPredictions","description":"All available forecasts targeting a single announcement.\n\n``announcement_id`` matches the value surfaced on the corresponding\nrow in ``/v1/announcements/{currency}/{indicator}``, allowing clients\nto join predictions with realised observations.  ``predictions``\ncontains one sub-entry per source (e.g. central-bank projection,\nIMF WEO, market consensus survey, FXMacroData prediction)."},"AnnouncementResponse":{"properties":{"currency":{"type":"string","title":"Currency"},"indicator":{"type":"string","title":"Indicator"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"value_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value Name"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Id"},"source_series_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Name"},"source_local_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Local Name"},"seasonal_adjustment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seasonal Adjustment"},"price_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Basis"},"is_proxy":{"type":"boolean","title":"Is Proxy","default":false},"proxy_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proxy Note"},"provenance":{"properties":{"publisher":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publisher"},"publisher_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publisher Url"},"source_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Id"},"source_series_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Name"},"source_local_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Local Name"},"seasonal_adjustment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seasonal Adjustment"},"price_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Basis"},"storage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage","description":"Data provider label for the served series. Always `FXMacroData`."},"served_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Served By","description":"FXMacroData endpoint that serves this series."},"timestamp_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timestamp Field"},"value_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value Field"},"is_proxy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Proxy"},"proxy_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proxy Note"}},"type":"object","title":"AnnouncementProvenance","description":"Publisher and source lineage for the served series."},"policy_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Policy Role"},"policy_structure":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Policy Structure"},"comparison_compatible":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Comparison Compatible"},"policy_family":{"anyOf":[{"items":{"$ref":"#/components/schemas/PolicyFamilyEntry"},"type":"array"},{"type":"null"}],"title":"Policy Family"},"has_official_forecast":{"type":"boolean","title":"Has Official Forecast"},"requested_start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested Start Date"},"requested_end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested End Date"},"requested_window_has_data":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Requested Window Has Data"},"page_includes_latest_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Page Includes Latest Available"},"start_date":{"type":"string","title":"Start Date"},"end_date":{"type":"string","title":"End Date"},"earliest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Earliest Available Date"},"latest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Available Date"},"cb_target":{"anyOf":[{"$ref":"#/components/schemas/CBTargetInfo"},{"type":"null"}]},"remap":{"properties":{"applied":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Applied"},"canonical_indicator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Canonical Indicator"},"rule_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rule Id"},"transform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transform"}},"type":"object","title":"AnnouncementRemap","description":"Set when the requested indicator resolved to a canonical series."},"filters":{"properties":{"seasonality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seasonality"},"basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Basis"},"annualization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Annualization"},"period_aggregation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Period Aggregation"},"frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frequency"},"revisions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revisions"}},"type":"object","title":"SeriesFilters","description":"The series-variant filters this request was resolved with.\n\nA null means the caller did not constrain that dimension."},"selected_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Selected Series Id"},"selected_series":{"properties":{"series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Series Id"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"source_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Id"},"seasonality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seasonality"},"basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Basis"},"annualization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Annualization"},"period_aggregation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Period Aggregation"},"frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frequency"},"revisions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revisions"}},"type":"object","title":"SelectedSeries","description":"The concrete series variant chosen for this response."},"supported_options":{"anyOf":[{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},{"type":"null"}],"title":"Supported Options"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"replay":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Replay"},"dataset_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset Version"},"value_mode":{"type":"string","enum":["normalized","source"],"title":"Value Mode","default":"normalized"},"value_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Value Metadata"},"pagination":{"$ref":"#/components/schemas/PaginationInfo"},"freemium_window":{"anyOf":[{"$ref":"#/components/schemas/FreemiumWindow"},{"type":"null"}]},"freemium_delay":{"anyOf":[{"$ref":"#/components/schemas/FreemiumDelayNotice"},{"type":"null"}]},"no_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"No Data"},"data":{"items":{"$ref":"#/components/schemas/AnnouncementDataPoint"},"type":"array","title":"Data"}},"type":"object","required":["currency","indicator","has_official_forecast","start_date","end_date","data_quality","pagination","data"],"title":"AnnouncementResponse"},"CBTargetEntry":{"properties":{"effective_from":{"type":"string","title":"Effective From"},"target":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Target"},"lower":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lower"},"upper":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Upper"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["effective_from"],"title":"CBTargetEntry","description":"A single central-bank target entry valid from ``effective_from``."},"CBTargetInfo":{"properties":{"description":{"type":"string","title":"Description"},"source":{"type":"string","title":"Source"},"current":{"$ref":"#/components/schemas/CBTargetEntry"},"history":{"items":{"$ref":"#/components/schemas/CBTargetEntry"},"type":"array","title":"History"}},"type":"object","required":["description","source","current","history"],"title":"CBTargetInfo","description":"Central-bank target metadata for an indicator.\n\n``current`` is the entry effective as of the response ``end_date``.\n``history`` contains every known target regime in ascending date order."},"COTDataPoint":{"properties":{"date":{"type":"string","title":"Date"},"announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Announcement Datetime"},"open_interest":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Open Interest"},"noncommercial_long":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Noncommercial Long"},"noncommercial_short":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Noncommercial Short"},"noncommercial_net":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Noncommercial Net"},"noncommercial_spread":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Noncommercial Spread"},"commercial_long":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Commercial Long"},"commercial_short":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Commercial Short"},"commercial_net":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Commercial Net"},"total_reportable_long":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Reportable Long"},"total_reportable_short":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Reportable Short"},"nonreportable_long":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Nonreportable Long"},"nonreportable_short":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Nonreportable Short"},"open_interest_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Open Interest Zscore"},"noncommercial_long_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Noncommercial Long Zscore"},"noncommercial_short_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Noncommercial Short Zscore"},"noncommercial_net_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Noncommercial Net Zscore"},"noncommercial_spread_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Noncommercial Spread Zscore"},"commercial_long_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Commercial Long Zscore"},"commercial_short_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Commercial Short Zscore"},"commercial_net_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Commercial Net Zscore"},"total_reportable_long_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total Reportable Long Zscore"},"total_reportable_short_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total Reportable Short Zscore"},"nonreportable_long_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Nonreportable Long Zscore"},"nonreportable_short_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Nonreportable Short Zscore"},"dealer_long":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Dealer Long"},"dealer_short":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Dealer Short"},"dealer_spread":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Dealer Spread"},"dealer_net":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Dealer Net"},"asset_manager_long":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Asset Manager Long"},"asset_manager_short":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Asset Manager Short"},"asset_manager_spread":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Asset Manager Spread"},"asset_manager_net":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Asset Manager Net"},"leveraged_funds_long":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Leveraged Funds Long"},"leveraged_funds_short":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Leveraged Funds Short"},"leveraged_funds_spread":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Leveraged Funds Spread"},"leveraged_funds_net":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Leveraged Funds Net"},"other_reportable_long":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Other Reportable Long"},"other_reportable_short":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Other Reportable Short"},"other_reportable_spread":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Other Reportable Spread"},"other_reportable_net":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Other Reportable Net"},"nonreportable_net":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Nonreportable Net"},"producer_merchant_long":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Producer Merchant Long"},"producer_merchant_short":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Producer Merchant Short"},"producer_merchant_net":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Producer Merchant Net"},"swap_dealer_long":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Swap Dealer Long"},"swap_dealer_short":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Swap Dealer Short"},"swap_dealer_spread":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Swap Dealer Spread"},"swap_dealer_net":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Swap Dealer Net"},"managed_money_long":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Managed Money Long"},"managed_money_short":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Managed Money Short"},"managed_money_spread":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Managed Money Spread"},"managed_money_net":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Managed Money Net"},"dealer_long_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Dealer Long Zscore"},"dealer_short_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Dealer Short Zscore"},"dealer_spread_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Dealer Spread Zscore"},"dealer_net_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Dealer Net Zscore"},"asset_manager_long_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Asset Manager Long Zscore"},"asset_manager_short_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Asset Manager Short Zscore"},"asset_manager_spread_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Asset Manager Spread Zscore"},"asset_manager_net_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Asset Manager Net Zscore"},"leveraged_funds_long_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Leveraged Funds Long Zscore"},"leveraged_funds_short_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Leveraged Funds Short Zscore"},"leveraged_funds_spread_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Leveraged Funds Spread Zscore"},"leveraged_funds_net_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Leveraged Funds Net Zscore"},"other_reportable_long_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Other Reportable Long Zscore"},"other_reportable_short_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Other Reportable Short Zscore"},"other_reportable_spread_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Other Reportable Spread Zscore"},"other_reportable_net_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Other Reportable Net Zscore"},"nonreportable_net_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Nonreportable Net Zscore"},"producer_merchant_long_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Producer Merchant Long Zscore"},"producer_merchant_short_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Producer Merchant Short Zscore"},"producer_merchant_net_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Producer Merchant Net Zscore"},"swap_dealer_long_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Swap Dealer Long Zscore"},"swap_dealer_short_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Swap Dealer Short Zscore"},"swap_dealer_spread_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Swap Dealer Spread Zscore"},"swap_dealer_net_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Swap Dealer Net Zscore"},"managed_money_long_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Managed Money Long Zscore"},"managed_money_short_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Managed Money Short Zscore"},"managed_money_spread_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Managed Money Spread Zscore"},"managed_money_net_zscore":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Managed Money Net Zscore"},"report_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Report Date"},"cutoff_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cutoff Date"},"release_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Date"},"release_datetime":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Datetime"},"release_date_confirmed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Release Date Confirmed"},"release_time_assumed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Release Time Assumed"},"release_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Source"},"release_source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Source Url"},"holiday_adjusted_release":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Holiday Adjusted Release"}},"type":"object","required":["date"],"title":"COTDataPoint"},"COTFXOverlay":{"properties":{"pair":{"type":"string","title":"Pair"}},"type":"object","required":["pair"],"title":"COTFXOverlay"},"COTPaginationInfo":{"properties":{"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"},"returned_count":{"type":"integer","title":"Returned Count"},"total_count":{"type":"integer","title":"Total Count"},"has_more":{"type":"boolean","title":"Has More"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"}},"type":"object","required":["limit","offset","returned_count","total_count","has_more"],"title":"COTPaginationInfo"},"COTProvenance":{"properties":{"publisher":{"type":"string","title":"Publisher"},"publisher_url":{"type":"string","title":"Publisher Url"},"storage":{"type":"string","title":"Storage"},"served_by":{"type":"string","title":"Served By"},"timestamp_field":{"type":"string","title":"Timestamp Field"},"value_field":{"type":"string","title":"Value Field"}},"type":"object","required":["publisher","publisher_url","storage","served_by","timestamp_field","value_field"],"title":"COTProvenance"},"COTResponse":{"properties":{"currency":{"type":"string","title":"Currency"},"instrument":{"type":"string","title":"Instrument"},"report":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Report"},"report_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Report Name"},"report_dataset_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Report Dataset Id"},"available_reports":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Available Reports"},"source":{"type":"string","title":"Source"},"source_url":{"type":"string","title":"Source Url"},"provenance":{"$ref":"#/components/schemas/COTProvenance"},"fx_overlay":{"$ref":"#/components/schemas/COTFXOverlay"},"start_date":{"type":"string","title":"Start Date"},"end_date":{"type":"string","title":"End Date"},"latest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Available Date"},"latest_available_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Latest Available Announcement Datetime"},"expected_next_release":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Next Release"},"expected_next_release_epoch":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expected Next Release Epoch"},"last_sync_status":{"type":"string","title":"Last Sync Status"},"last_sync_datetime":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Sync Datetime"},"data_lag_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Lag Days"},"next_expected_cftc_report_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Expected Cftc Report Date"},"next_expected_cftc_release_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Expected Cftc Release Date"},"expected_next_release_holiday_adjusted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Expected Next Release Holiday Adjusted"},"expected_next_release_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Next Release Source"},"expected_next_release_source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Next Release Source Url"},"expected_next_release_schedule_storage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Next Release Schedule Storage"},"expected_next_release_schedule_last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Next Release Schedule Last Updated"},"requested_window_has_data":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Requested Window Has Data"},"requested_window_latest_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested Window Latest Date"},"requested_window_includes_latest_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Requested Window Includes Latest Available"},"page_includes_latest_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Page Includes Latest Available"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"pagination":{"$ref":"#/components/schemas/COTPaginationInfo"},"data":{"items":{"$ref":"#/components/schemas/COTDataPoint"},"type":"array","title":"Data"}},"type":"object","required":["currency","instrument","source","source_url","provenance","fx_overlay","start_date","end_date","last_sync_status","data_quality","pagination","data"],"title":"COTResponse"},"CalendarReleaseRow":{"properties":{"announcement_datetime":{"type":"integer","title":"Announcement Datetime"},"release":{"type":"string","title":"Release"},"calendar_event_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Calendar Event Id"},"announcement_datetime_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Datetime Utc"},"announcement_datetime_local":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Datetime Local"},"announcement_datetime_requested_timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Datetime Requested Timezone"},"release_date_confirmed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Release Date Confirmed"},"release_time_assumed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Release Time Assumed"},"release_time_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Time Status"},"release_date_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Date Status"},"release_time_assumption":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Time Assumption"},"time_announced":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Time Announced","description":"true when the official publisher has announced the exact release time, so announcement_datetime is the scheduled release instant. false when the publisher has announced only the release date (time not announced): announcement_date then holds the publisher's local date, announcement_datetime is 00:00 of that date in the publisher's timezone and is a day marker, not a release time. false is also used for rows with release_time_assumed=true. A row with time_announced=false is replaced by a timed row once an official source publishes the time."},"announcement_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Date","description":"Official release date (YYYY-MM-DD) in the publisher's local timezone. Present when time_announced is false because the publisher has announced the date but not the time."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit","description":"Unit of the corresponding normalized historical series."},"frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frequency","description":"Observation frequency of the corresponding historical series."},"annualization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Annualization","description":"Declared annualization basis of the historical series, such as SAAR for an annual-rate level."},"annualization_source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Annualization Source Url","description":"Official source documenting the declared annualization basis; not captured-vintage evidence."},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source_release":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Release"},"schedule_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Schedule Url"},"release_stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Stage"},"reference_period":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Period"},"dataset_codes":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Dataset Codes"},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"},"domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain"},"data_currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data Currency"},"endpoint_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint Family"},"endpoint_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint Path"},"requires_api_key":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Requires Api Key"},"event_importance":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Importance","description":"high, medium or low. Always consistent with market_tier (1 = high, 2 = medium, 3 = low)."},"market_tier":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Market Tier","description":"Cross-market importance tier of the release type (1 = policy rates, CPI, GDP, labour market, retail sales; 2 = trade, PPI, surveys; 3 = everything else). A release listed as top tier for the row's own currency is promoted to 1."},"top_tier_for_currency":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Top Tier For Currency","description":"True when the release is one of the handful of events that move this currency, from the per-currency list in calendar_top_tier_overrides.json (e.g. dairy exports for NZD, Tankan for JPY, IPCA-15 for BRL). Currencies without a list use market_tier == 1. A global tier-1 release can therefore carry market_tier 1 with top_tier_for_currency false."}},"type":"object","required":["announcement_datetime","release"],"title":"CalendarReleaseRow"},"CalendarResponse":{"properties":{"currency":{"type":"string","title":"Currency"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"requested_timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested Timezone"},"indicator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Indicator"},"requested_indicator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested Indicator"},"start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"},"history_start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"History Start Date"},"history_truncated":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"History Truncated"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"data":{"items":{"$ref":"#/components/schemas/CalendarReleaseRow"},"type":"array","title":"Data"}},"type":"object","required":["currency","data_quality","data"],"title":"CalendarResponse"},"CalendarSnapshot":{"properties":{"currency":{"type":"string","title":"Currency"},"as_of":{"type":"string","title":"As Of"},"knowledge_mode":{"type":"string","enum":["accepted","reconstruction"],"title":"Knowledge Mode"},"checkpoint":{"type":"integer","title":"Checkpoint"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"events":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Events"},"evidence_notice":{"type":"string","title":"Evidence Notice","default":"Accepted mode shows versions accepted into this archive by as_of. Reconstruction may include official documents recovered later; it does not establish that FXMacroData held those schedules at the historical time. An empty result does not establish that no events were scheduled."}},"type":"object","required":["currency","as_of","knowledge_mode","checkpoint","events"],"title":"CalendarSnapshot"},"CalendarVersions":{"properties":{"currency":{"type":"string","title":"Currency"},"archive_event_id":{"type":"string","title":"Archive Event Id"},"checkpoint":{"type":"integer","title":"Checkpoint"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"versions":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Versions"}},"type":"object","required":["currency","archive_event_id","checkpoint","versions"],"title":"CalendarVersions"},"CatalogueCoverage":{"properties":{"available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Available"},"requires_api_key":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Requires Api Key"},"earliest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Earliest Available Date"},"latest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Available Date"},"latest_release_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Release Date"},"row_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Row Count"},"value_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Value Available"},"has_recent_data":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Recent Data"},"recent_observation_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Recent Observation Count"},"coverage_quality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coverage Quality"},"history_coverage_quality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"History Coverage Quality"},"freshness_quality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Freshness Quality"},"usable_for_context":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Usable For Context"},"usable_for_signal":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Usable For Signal"},"data_lag_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Lag Days"},"stale_after_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Stale After Days"},"has_yoy_transform":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Yoy Transform"},"has_qoq_transform":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Qoq Transform"},"has_mom_transform":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Mom Transform"},"source_freshness":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Freshness"},"source_monitoring_complete":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Source Monitoring Complete"},"known_source_gap":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Known Source Gap"},"source_checked_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Checked At"},"source_check_expires_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Check Expires At"},"latest_published_period":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Published Period"},"is_stale":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Stale"}},"type":"object","title":"CatalogueCoverage"},"CatalogueSeriesVariant":{"properties":{"series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Series Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"storage_indicator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage Indicator","description":"Indicator slug whose observations make up this series variant."},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Id"},"source_series_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Name"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source_url_scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url Scope"},"calendar_release_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Calendar Release Name"},"calendar_source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Calendar Source Url"},"annualization_source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Annualization Source Url"},"seasonal_adjustment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seasonal Adjustment"},"price_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Basis"},"annualization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Annualization"},"period_aggregation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Period Aggregation"},"frequency_selector":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frequency Selector"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frequency"},"is_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Default"},"has_official_forecast":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Official Forecast"},"standardization_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Standardization Note"},"coverage":{"anyOf":[{"$ref":"#/components/schemas/CatalogueCoverage"},{"type":"null"}]}},"type":"object","title":"CatalogueSeriesVariant"},"CatalogueSupportedOptions":{"properties":{"basis":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Basis"},"frequency":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Frequency"},"revisions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Revisions"},"seasonality":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Seasonality"},"annualization":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Annualization"},"period_aggregation":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Period Aggregation"}},"type":"object","title":"CatalogueSupportedOptions"},"CommoditiesLatestResponse":{"properties":{"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of","description":"Newest observation date across available indicators; this does not certify that every indicator is current."},"is_stale":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Stale"},"stale_indicators":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Stale Indicators"},"freshness":{"anyOf":[{"$ref":"#/components/schemas/CommodityLatestFreshness"},{"type":"null"}]},"count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Count"},"data":{"anyOf":[{"items":{"$ref":"#/components/schemas/CommodityLatestItem"},"type":"array"},{"type":"null"}],"title":"Data"}},"type":"object","title":"CommoditiesLatestResponse"},"CommodityCoverage":{"properties":{"scope":{"type":"string","title":"Scope"},"requested_start":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested Start"},"requested_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested End"},"available_start":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Available Start"},"available_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Available End"},"input_row_count":{"type":"integer","title":"Input Row Count"},"row_count":{"type":"integer","title":"Row Count"},"distinct_date_count":{"type":"integer","title":"Distinct Date Count"},"duplicate_date_row_count":{"type":"integer","title":"Duplicate Date Row Count"},"excluded_weekend_row_count":{"type":"integer","title":"Excluded Weekend Row Count"},"invalid_date_row_count":{"type":"integer","title":"Invalid Date Row Count"},"expected_weekday_label_count":{"type":"integer","title":"Expected Weekday Label Count"},"missing_weekday_label_count":{"type":"integer","title":"Missing Weekday Label Count"},"largest_missing_weekday_run":{"type":"integer","title":"Largest Missing Weekday Run"},"largest_calendar_gap_days":{"type":"integer","title":"Largest Calendar Gap Days"},"missing_weekday_ranges":{"items":{"$ref":"#/components/schemas/CommodityMissingWeekdayRange"},"type":"array","title":"Missing Weekday Ranges"},"longest_continuous_weekday_segment":{"$ref":"#/components/schemas/CommodityCoverageSegment"},"latest_continuous_weekday_segment":{"$ref":"#/components/schemas/CommodityCoverageSegment"},"sparse_history":{"type":"boolean","title":"Sparse History"},"coverage_basis":{"type":"string","title":"Coverage Basis"},"continuous_coverage_verified":{"type":"boolean","title":"Continuous Coverage Verified","default":false},"reference_only":{"type":"boolean","title":"Reference Only","default":true},"executable_quotes":{"type":"boolean","title":"Executable Quotes","default":false},"provenance_version":{"type":"integer","title":"Provenance Version"},"repaired_excluded_weekend_row_count":{"type":"integer","title":"Repaired Excluded Weekend Row Count","default":0},"repaired_invalid_date_row_count":{"type":"integer","title":"Repaired Invalid Date Row Count","default":0}},"type":"object","required":["scope","input_row_count","row_count","distinct_date_count","duplicate_date_row_count","excluded_weekend_row_count","invalid_date_row_count","expected_weekday_label_count","missing_weekday_label_count","largest_missing_weekday_run","largest_calendar_gap_days","missing_weekday_ranges","longest_continuous_weekday_segment","latest_continuous_weekday_segment","sparse_history","coverage_basis","provenance_version"],"title":"CommodityCoverage"},"CommodityCoverageSegment":{"properties":{"start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"},"row_count":{"type":"integer","title":"Row Count"}},"type":"object","required":["row_count"],"title":"CommodityCoverageSegment"},"CommodityDataPoint":{"properties":{"source_permission_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Permission Status"},"date":{"type":"string","title":"Date"},"val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Val"},"announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Announcement Datetime"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Type"},"source_chart_timestamp":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Chart Timestamp"},"source_chart_timestamp_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Chart Timestamp Ms"},"source_chart_period":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Chart Period"},"quote_time_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quote Time Status"},"sampling_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sampling Method"},"publication_time_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication Time Status"},"point_in_time_safe":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Point In Time Safe"},"provenance_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Provenance Version"},"is_official":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Official"},"source_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Id"},"announcement_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Date"},"announcement_timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Timezone"},"time_announced":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Time Announced"},"release_time_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Time Status"},"release_date_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Date Status"},"source_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Source Value"},"source_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Unit"},"conversion_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Conversion Rate"},"conversion_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conversion Unit"},"conversion_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conversion Source"},"fallback_for_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fallback For Source"},"cross_check_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cross Check Source"},"cross_check_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cross Check Series Id"},"cross_check_val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cross Check Val"},"cross_check_divergence_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cross Check Divergence Pct"},"cross_check_divergent":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Cross Check Divergent"},"pct_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Change"},"pct_change_12m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Change 12M"}},"additionalProperties":true,"type":"object","required":["date"],"title":"CommodityDataPoint"},"CommodityIngestStatus":{"properties":{"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"last_attempt_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Attempt At"},"last_success_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Success At"},"latest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Available Date"},"data_lag_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Lag Days"},"is_stale":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Stale"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code"}},"type":"object","title":"CommodityIngestStatus"},"CommodityLatestFreshness":{"properties":{"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","description":"Aggregate freshness: current, partial, or failed. Inspect each indicator's date and quality for its own freshness."},"configured_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Configured Count"},"available_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Available Count"},"oldest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oldest Available Date"},"newest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Newest Available Date"},"stale_indicators":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Stale Indicators"},"unavailable_indicators":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Unavailable Indicators"},"source_failure_indicators":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Source Failure Indicators"},"unknown_freshness_indicators":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Unknown Freshness Indicators"}},"type":"object","title":"CommodityLatestFreshness"},"CommodityLatestItem":{"properties":{"indicator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Indicator"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frequency"},"has_official_forecast":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Official Forecast"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"},"observation_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observation Date","description":"Official observation date of latest; an alias of latest.date."},"latest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Available Date"},"is_stale":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Stale"},"data_lag_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Lag Days"},"ingest_status":{"anyOf":[{"$ref":"#/components/schemas/CommodityIngestStatus"},{"type":"null"}]},"data_quality":{"anyOf":[{"$ref":"#/components/schemas/DataQuality"},{"type":"null"}]},"latest":{"anyOf":[{"$ref":"#/components/schemas/CommodityObservation"},{"type":"null"}]},"previous":{"anyOf":[{"$ref":"#/components/schemas/CommodityObservation"},{"type":"null"}]},"pct_diff_prev":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Diff Prev"}},"type":"object","title":"CommodityLatestItem"},"CommodityMissingWeekdayRange":{"properties":{"start_date":{"type":"string","title":"Start Date"},"end_date":{"type":"string","title":"End Date"},"weekday_count":{"type":"integer","title":"Weekday Count"}},"type":"object","required":["start_date","end_date","weekday_count"],"title":"CommodityMissingWeekdayRange"},"CommodityObservation":{"properties":{"source_permission_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Permission Status"},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"},"val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Val"},"announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Announcement Datetime"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Type"},"source_chart_timestamp":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Chart Timestamp"},"source_chart_timestamp_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Chart Timestamp Ms"},"source_chart_period":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Chart Period"},"quote_time_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quote Time Status"},"sampling_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sampling Method"},"publication_time_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication Time Status"},"point_in_time_safe":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Point In Time Safe"},"provenance_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Provenance Version"},"is_official":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Official"},"source_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Id"},"announcement_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Date"},"announcement_timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Timezone"},"time_announced":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Time Announced"},"release_time_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Time Status"},"release_date_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Date Status"},"source_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Source Value"},"source_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Unit"},"conversion_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Conversion Rate"},"conversion_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conversion Unit"},"conversion_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conversion Source"},"fallback_for_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fallback For Source"},"cross_check_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cross Check Source"},"cross_check_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cross Check Series Id"},"cross_check_val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cross Check Val"},"cross_check_divergence_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cross Check Divergence Pct"},"cross_check_divergent":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Cross Check Divergent"}},"type":"object","title":"CommodityObservation"},"CommodityResponse":{"properties":{"currency":{"type":"string","title":"Currency"},"indicator":{"type":"string","title":"Indicator"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"provenance":{"properties":{"publisher":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publisher"},"publisher_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publisher Url"},"storage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage","description":"Data provider label for the served series. Always `FXMacroData`."},"source_store":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Store","description":"Source series reference, when reported."},"served_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Served By","description":"FXMacroData endpoint that serves this series."},"timestamp_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timestamp Field"},"value_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value Field"}},"type":"object","title":"SourceProvenance","description":"Publisher and source lineage, shared by the market-data endpoints."},"has_official_forecast":{"type":"boolean","title":"Has Official Forecast"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"},"latest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Available Date"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"start_date":{"type":"string","title":"Start Date"},"end_date":{"type":"string","title":"End Date"},"pagination":{"properties":{"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"},"offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Offset"},"returned_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Returned Count"},"total_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Count"},"has_more":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has More"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"},"page_includes_latest_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Page Includes Latest Available"}},"type":"object","title":"Pagination","description":"Offset pagination state for one page of results."},"data":{"items":{"$ref":"#/components/schemas/CommodityDataPoint"},"type":"array","title":"Data"}},"type":"object","required":["currency","indicator","provenance","has_official_forecast","data_quality","start_date","end_date","pagination","data"],"title":"CommodityResponse"},"CurveAnalyticsResponse":{"properties":{"research":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Research"},"currency":{"type":"string","title":"Currency"},"curve_family":{"type":"string","title":"Curve Family"},"view":{"type":"string","title":"View","default":"nodes"},"metric":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Metric"},"method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Method"},"requested_date":{"type":"string","title":"Requested Date"},"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of"},"node_count":{"type":"integer","title":"Node Count"},"slope_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Slope Count"},"inverted_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Inverted Count"},"segment_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Segment Count"},"sources":{"items":{"type":"string"},"type":"array","title":"Sources"},"official_forward_source_support":{"$ref":"#/components/schemas/OfficialForwardSourceSupport"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"data":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Data"}},"type":"object","required":["currency","curve_family","requested_date","node_count","sources","official_forward_source_support","data_quality","data"],"title":"CurveAnalyticsResponse"},"DataCatalogueItem":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frequency"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source_url_scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url Scope"},"calendar_release_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Calendar Release Name"},"calendar_source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Calendar Source Url"},"annualization_source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Annualization Source Url"},"source_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Id"},"source_series_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Name"},"source_history_start":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source History Start"},"seasonal_adjustment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seasonal Adjustment"},"price_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Basis"},"annualization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Annualization"},"period_aggregation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Period Aggregation"},"has_official_forecast":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Official Forecast"},"is_proxy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Proxy"},"proxy_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proxy Note"},"aliases":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Aliases"},"related_indicators":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Related Indicators"},"standardization_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Standardization Note"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"local_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Local Name"},"maturity_months":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Maturity Months"},"yield_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Yield Type"},"geography":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geography"},"period_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Period Basis"},"methodology_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Methodology Id"},"freshness_threshold_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Freshness Threshold Days"},"release_calendar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Calendar Url"},"source_permission_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Permission Status"},"source_terms_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Terms Url"},"source_permission_evidence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Permission Evidence"},"source_attribution":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Attribution"},"fallback_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fallback Source"},"fallback_source_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fallback Source Series Id"},"fallback_source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fallback Source Url"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"release_stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Stage"},"terms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Terms"},"supported_frequency_options":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Supported Frequency Options"},"series_variants":{"anyOf":[{"items":{"$ref":"#/components/schemas/CatalogueSeriesVariant"},"type":"array"},{"type":"null"}],"title":"Series Variants"},"coverage":{"anyOf":[{"$ref":"#/components/schemas/CatalogueCoverage"},{"type":"null"}]},"supported_options":{"anyOf":[{"$ref":"#/components/schemas/CatalogueSupportedOptions"},{"type":"null"}]}},"type":"object","title":"DataCatalogueItem"},"DataCatalogueResponse":{"additionalProperties":{"$ref":"#/components/schemas/DataCatalogueItem"},"propertyNames":{"pattern":"^[a-z0-9_]+$"},"type":"object","title":"DataCatalogueResponse","description":"Indicator slug to catalogue entry.\n\nThe response is a JSON object whose keys are the indicator slugs published\nfor the currency (for example ``gdp``, ``inflation``, ``policy_rate``) and\nwhose values are ``DataCatalogueItem`` objects. Because the slug set\ndiffers by currency, entries are described by ``additionalProperties``\nrather than fixed ``properties``. The same slugs are accepted by\n``/v1/announcements`` and ``/v1/predictions`` for that currency."},"DataQuality":{"properties":{"source_freshness":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Freshness"},"source_monitoring_complete":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Source Monitoring Complete"},"known_source_gap":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Known Source Gap"},"source_checked_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Checked At"},"source_check_expires_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Check Expires At"},"latest_published_period":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Published Period"},"source_permission_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Permission Status"},"commodity_coverage":{"anyOf":[{"$ref":"#/components/schemas/CommodityCoverage"},{"type":"null"}]},"stored_history_coverage":{"anyOf":[{"$ref":"#/components/schemas/CommodityCoverage"},{"type":"null"}]},"point_in_time_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Point In Time Basis"},"is_official":{"type":"boolean","title":"Is Official"},"is_proxy":{"type":"boolean","title":"Is Proxy"},"is_fallback":{"type":"boolean","title":"Is Fallback"},"is_stale":{"type":"boolean","title":"Is Stale"},"has_announcement_datetime":{"type":"boolean","title":"Has Announcement Datetime"},"point_in_time_safe":{"type":"boolean","title":"Point In Time Safe","description":"Whether the returned values have verified availability and vintage evidence; estimated release times do not qualify."},"unverified_vintage_count":{"type":"integer","title":"Unverified Vintage Count","default":0},"unknown_publication_time_count":{"type":"integer","title":"Unknown Publication Time Count","default":0},"latest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Available Date"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"},"data_lag_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Lag Days"},"source_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Name"},"source_type":{"type":"string","enum":["official","public","fallback","derived"],"title":"Source Type"},"is_derived":{"type":"boolean","title":"Is Derived","default":false},"row_count":{"type":"integer","title":"Row Count","default":0},"announcement_datetime_count":{"type":"integer","title":"Announcement Datetime Count","default":0},"missing_announcement_datetime_count":{"type":"integer","title":"Missing Announcement Datetime Count","default":0},"has_assumed_release_times":{"type":"boolean","title":"Has Assumed Release Times","description":"True when at least one row in the quality scope carries a publication timestamp derived from the publication lag measured on that series' own confirmed releases, because no official release calendar reaches the period.","default":false},"assumed_release_time_count":{"type":"integer","title":"Assumed Release Time Count","description":"Number of rows in the quality scope whose publication timestamp was derived rather than captured. Compare against row_count to size the derived portion of the requested window.","default":0},"bounded_release_time_count":{"type":"integer","title":"Bounded Release Time Count","description":"Legacy rows carrying an upper-bound estimate flag; this does not certify replay safety.","default":0},"unbounded_release_time_count":{"type":"integer","title":"Unbounded Release Time Count","description":"Assumed timestamps without proven availability bounds.","default":0},"quality_scope":{"type":"string","title":"Quality Scope","default":"full_result"},"stale_after_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Stale After Days"},"requested_window_has_data":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Requested Window Has Data"},"requested_window_latest_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested Window Latest Date"},"requested_window_includes_latest_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Requested Window Includes Latest Available"},"page_includes_latest_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Page Includes Latest Available"},"returned_latest_available_before_window":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Returned Latest Available Before Window"},"staleness_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Staleness Days"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"datetime_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datetime Field"},"datetime_precision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datetime Precision"},"datetime_semantics":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Datetime Semantics"},"source_legs":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Source Legs"},"historical_point_in_time":{"anyOf":[{"$ref":"#/components/schemas/PointInTimeCompleteness"},{"type":"null"}]}},"type":"object","required":["is_official","is_proxy","is_fallback","is_stale","has_announcement_datetime","point_in_time_safe","source_type"],"title":"DataQuality"},"FactorDataPoint":{"properties":{"date":{"type":"string","title":"Date"},"val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Val"},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"level_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Level Score"},"impulse_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Impulse Score"},"rate_repricing_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rate Repricing Score"},"macro_pressure_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Macro Pressure Score"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"stance_context":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stance Context"},"announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Announcement Datetime"},"coverage_ratio":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Coverage Ratio"},"component_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Component Count"},"point_in_time_safe":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Point In Time Safe","description":"True only when every input observation behind this row carries a publication timestamp captured from its release. An input dated from that series' measured publication lag clears it, because the composite could not be shown to have been knowable at its own announcement_datetime."},"release_time_assumed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Release Time Assumed","description":"Present and true when at least one input observation carries a derived publication timestamp. Omitted when every input was captured from its release."},"assumed_release_time_inputs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Assumed Release Time Inputs","description":"Number of input observations behind this row whose publication timestamp was derived."},"components":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Components"},"source_observations":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Source Observations"},"source_endpoints":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Source Endpoints"}},"additionalProperties":true,"type":"object","required":["date"],"title":"FactorDataPoint"},"FactorResponse":{"properties":{"currency":{"type":"string","title":"Currency"},"factor":{"type":"string","title":"Factor"},"methodology":{"type":"string","title":"Methodology"},"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of"},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"level_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Level Score"},"impulse_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Impulse Score"},"rate_repricing_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rate Repricing Score"},"macro_pressure_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Macro Pressure Score"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"stance_context":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stance Context"},"latest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Available Date"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"},"start_date":{"type":"string","title":"Start Date"},"end_date":{"type":"string","title":"End Date"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"pagination":{"properties":{"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"},"offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Offset"},"returned_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Returned Count"},"total_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Count"},"has_more":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has More"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"},"page_includes_latest_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Page Includes Latest Available"}},"type":"object","title":"Pagination","description":"Offset pagination state for one page of results."},"data":{"items":{"$ref":"#/components/schemas/FactorDataPoint"},"type":"array","title":"Data"}},"type":"object","required":["currency","factor","methodology","start_date","end_date","data_quality","pagination","data"],"title":"FactorResponse"},"FinancialCoverage":{"properties":{"source_id":{"type":"string","title":"Source Id"},"available":{"type":"boolean","title":"Available","description":"Whether observations are available for this source; a listed source without observations is not yet available."},"first_observation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Observation"},"last_observation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Observation"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"},"source_accessed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Accessed At"}},"type":"object","required":["source_id","available"],"title":"FinancialCoverage"},"FinancialObservation":{"properties":{"observation_id":{"type":"string","title":"Observation Id","description":"Stable identity of the source, observation date, instrument and quote dimensions."},"source_id":{"type":"string","title":"Source Id"},"date":{"type":"string","title":"Date","description":"Source observation date; not an inferred publication date."},"val":{"type":"number","title":"Val","description":"Official numerical value in unit, retaining source precision."},"currency":{"type":"string","title":"Currency"},"issuer":{"type":"string","title":"Issuer","description":"Issuer, official benchmark administrator, or explicitly identified market/curve basket."},"instrument_id":{"type":"string","title":"Instrument Id"},"instrument_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instrument Name"},"source_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Id"},"measure":{"type":"string","title":"Measure"},"unit":{"type":"string","title":"Unit"},"source_url":{"type":"string","title":"Source Url"},"basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Basis"},"curve_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Curve Type"},"tenor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenor"},"maturity_years":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maturity Years"},"maturity_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Maturity Date"},"price_side":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Side"},"price_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Basis"},"price_denominator":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price Denominator"},"coupon_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Coupon Rate"},"quote_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quote Type"},"yield_convention":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Yield Convention"},"reference_rate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Rate"},"inflation_index":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inflation Index"},"compounding":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Compounding"},"averaging_period_months":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Averaging Period Months"},"percentile":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Percentile"},"publication_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication Date"},"source_publication_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Publication Date"},"source_value_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Value Date"},"rate_period_start":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rate Period Start"},"rate_period_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rate Period End"},"observation_period_start":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observation Period Start"},"observation_period_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observation Period End"},"observation_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observation Status"},"announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Announcement Datetime","description":"Publication epoch seconds when available. A scheduled hour is explicitly assumed."},"publication_time_confirmed":{"type":"boolean","title":"Publication Time Confirmed"},"release_time_assumed":{"type":"boolean","title":"Release Time Assumed"},"point_in_time_safe":{"type":"boolean","title":"Point In Time Safe","description":"True only when the source supplied exact publication-time evidence."}},"additionalProperties":true,"type":"object","required":["observation_id","source_id","date","val","currency","issuer","instrument_id","measure","unit","source_url","publication_time_confirmed","release_time_assumed","point_in_time_safe"],"title":"FinancialObservation","description":"One official instrument/measure observation, retaining source dimensions."},"FinancialPagination":{"properties":{"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"},"returned_count":{"type":"integer","title":"Returned Count"},"total_count":{"type":"integer","title":"Total Count"},"has_more":{"type":"boolean","title":"Has More"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"}},"type":"object","required":["limit","offset","returned_count","total_count","has_more"],"title":"FinancialPagination"},"FinancialPriceResponse":{"properties":{"currency":{"type":"string","title":"Currency"},"start_date":{"type":"string","title":"Start Date"},"end_date":{"type":"string","title":"End Date"},"sources":{"items":{"$ref":"#/components/schemas/FinancialSource"},"type":"array","title":"Sources"},"coverage":{"items":{"$ref":"#/components/schemas/FinancialCoverage"},"type":"array","title":"Coverage"},"pagination":{"$ref":"#/components/schemas/FinancialPagination"},"data":{"items":{"$ref":"#/components/schemas/FinancialObservation"},"type":"array","title":"Data"}},"type":"object","required":["currency","start_date","end_date","sources","coverage","pagination","data"],"title":"FinancialPriceResponse"},"FinancialSource":{"properties":{"id":{"type":"string","title":"Id"},"currency":{"type":"string","title":"Currency"},"publisher":{"type":"string","title":"Publisher"},"url":{"type":"string","title":"Url"},"license_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License Url"},"attribution":{"type":"string","title":"Attribution"},"frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frequency"},"publication_frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication Frequency"},"history_start":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"History Start"},"measures":{"items":{"type":"string"},"type":"array","title":"Measures"},"dataset_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset Name"},"license":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License"},"reuse_conditions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reuse Conditions"}},"type":"object","required":["id","currency","publisher","url","attribution","measures"],"title":"FinancialSource"},"ForexDataPoint":{"properties":{"source_permission_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Permission Status"},"date":{"type":"string","title":"Date"},"val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Val"},"open":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Open"},"high":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"High"},"low":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Low"},"close":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Close"},"ohlc_point_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ohlc Point Count"},"ohlc_source_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ohlc Source Count"},"ohlc_timestamp_start_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ohlc Timestamp Start Utc"},"ohlc_timestamp_end_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ohlc Timestamp End Utc"},"ohlc_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ohlc Type"},"announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Announcement Datetime"},"observation_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Observation Datetime"},"observation_datetime_iso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observation Datetime Iso"},"observation_datetime_precision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observation Datetime Precision"},"source_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Type"},"source_chart_timestamp":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Chart Timestamp"},"source_chart_timestamp_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Chart Timestamp Ms"},"source_chart_period":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Chart Period"},"quote_time_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quote Time Status"},"sampling_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sampling Method"},"publication_time_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication Time Status"},"point_in_time_safe":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Point In Time Safe"},"provenance_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Provenance Version"},"is_official":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Official"},"source_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Id"},"announcement_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Date"},"announcement_timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Timezone"},"time_announced":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Time Announced"},"cross_check_divergence_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cross Check Divergence Pct"},"cross_check_divergent":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Cross Check Divergent"},"source":{"properties":{"source_pair":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Pair"},"is_derived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Derived"},"derived_from_source_legs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Derived From Source Legs"},"derivation_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Derivation Method"},"pair_consistency_check":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pair Consistency Check"},"source_legs":{"anyOf":[{"items":{"$ref":"#/components/schemas/FxSourceLeg"},"type":"array"},{"type":"null"}],"title":"Source Legs"}},"type":"object","title":"ForexPointSource","description":"How one observation was sourced."},"sma_20":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sma 20"},"sma_50":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sma 50"},"sma_200":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sma 200"},"ema_12":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ema 12"},"ema_20":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ema 20"},"ema_26":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ema 26"},"ema_50":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ema 50"},"ema_200":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ema 200"},"rsi_14":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rsi 14"},"atr_14":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Atr 14"},"adx_14":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Adx 14"},"stoch_k_14":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stoch K 14"},"stoch_d_3":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Stoch D 3"},"williams_r_14":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Williams R 14"},"cci_20":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cci 20"},"donchian_upper_20":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Donchian Upper 20"},"donchian_middle_20":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Donchian Middle 20"},"donchian_lower_20":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Donchian Lower 20"},"macd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Macd"},"macd_signal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Macd Signal"},"macd_histogram":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Macd Histogram"},"bb_upper":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bb Upper"},"bb_middle":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bb Middle"},"bb_lower":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bb Lower"}},"type":"object","required":["date"],"title":"ForexDataPoint"},"ForexResponse":{"properties":{"base":{"type":"string","title":"Base"},"quote":{"type":"string","title":"Quote"},"source":{"type":"string","title":"Source"},"provenance":{"properties":{"publisher":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publisher"},"publisher_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publisher Url"},"storage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage","description":"Data provider label for the served series. Always `FXMacroData`."},"served_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Served By","description":"FXMacroData endpoint that serves this series."},"timestamp_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timestamp Field"},"value_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value Field"}},"type":"object","title":"ForexProvenance"},"pair_metadata":{"properties":{"source_pair":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Pair"},"is_derived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Derived"},"direct_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Direct Available"},"inverse_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Inverse Available"},"original_pair_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Original Pair Available"},"original_inverse_pair_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Original Inverse Pair Available"},"derived_from_inverse":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Derived From Inverse"},"derived_from_cross":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Derived From Cross"},"derived_from_source_legs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Derived From Source Legs"},"derivation_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Derivation Method"},"anchor_currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Anchor Currency"},"derived_value":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Derived Value"},"pair_consistency_check":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pair Consistency Check"},"source_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Note"},"source_legs":{"anyOf":[{"items":{"$ref":"#/components/schemas/FxSourceLeg"},"type":"array"},{"type":"null"}],"title":"Source Legs"}},"type":"object","title":"ForexPairMetadata","description":"Whether the pair is served directly, inverted, or crossed via an anchor."},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"start_date":{"type":"string","title":"Start Date"},"end_date":{"type":"string","title":"End Date"},"pagination":{"properties":{"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"},"offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Offset"},"returned_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Returned Count"},"total_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Count"},"has_more":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has More"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"},"page_includes_latest_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Page Includes Latest Available"}},"type":"object","title":"Pagination","description":"Offset pagination state for one page of results."},"data":{"items":{"$ref":"#/components/schemas/ForexDataPoint"},"type":"array","title":"Data"},"indicators":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Indicators"},"daily_ohlc_basis":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Daily Ohlc Basis"},"technical_indicator_basis":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Technical Indicator Basis"},"dataset_version":{"type":"string","title":"Dataset Version"},"coverage":{"additionalProperties":true,"type":"object","title":"Coverage"}},"type":"object","required":["base","quote","source","provenance","data_quality","start_date","end_date","pagination","data","dataset_version","coverage"],"title":"ForexResponse"},"FreemiumDelayNotice":{"properties":{"applied":{"type":"boolean","title":"Applied"},"delay_seconds":{"type":"integer","title":"Delay Seconds"},"delay_minutes":{"type":"integer","title":"Delay Minutes"},"cutoff":{"type":"integer","title":"Cutoff"},"cutoff_iso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cutoff Iso"},"withheld_count":{"type":"integer","title":"Withheld Count"},"message":{"type":"string","title":"Message"},"subscribe_url":{"type":"string","title":"Subscribe Url"},"next_available_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Available At"},"next_available_at_iso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Available At Iso"}},"type":"object","required":["applied","delay_seconds","delay_minutes","cutoff","withheld_count","message","subscribe_url"],"title":"FreemiumDelayNotice","description":"How far behind real time a free-tier response is, and what that costs.\n\nPresent only for callers without a paid key, and present whether or not\nanything was actually withheld: a delayed response must never be mistakable\nfor a current one. ``withheld_count`` is how many releases were held back\nfrom *this* response; ``next_available_at`` is when the oldest of them\nbecomes readable."},"FreemiumWindow":{"properties":{"applied":{"type":"boolean","title":"Applied"},"max_days":{"type":"integer","title":"Max Days"},"cutoff_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cutoff Date"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["applied","max_days"],"title":"FreemiumWindow","description":"Present only when the freemium window shortened the response.\n\nWithout it, ``pagination.total_count`` counts the clamped series and a\ntruncated history is indistinguishable from a genuinely short one."},"FxIntradayReferenceRatePoint":{"properties":{"timestamp":{"type":"string","title":"Timestamp"},"price":{"type":"number","title":"Price"},"reference_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Date"},"timestamp_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timestamp Type"},"source":{"anyOf":[{"$ref":"#/components/schemas/FxSource"},{"type":"null"}]},"source_pair":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Pair"},"derivation_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Derivation Method"}},"type":"object","required":["timestamp","price"],"title":"FxIntradayReferenceRatePoint"},"FxIntradayReferenceRatesResponse":{"properties":{"pair":{"type":"string","title":"Pair"},"start_time":{"type":"string","title":"Start Time"},"end_time":{"type":"string","title":"End Time"},"data":{"items":{"$ref":"#/components/schemas/FxIntradayReferenceRatePoint"},"type":"array","title":"Data"}},"type":"object","required":["pair","start_time","end_time","data"],"title":"FxIntradayReferenceRatesResponse"},"FxReferencePoint":{"properties":{"date":{"type":"string","title":"Date"},"reference_date":{"type":"string","title":"Reference Date"},"base":{"type":"string","title":"Base"},"quote":{"type":"string","title":"Quote"},"pair":{"type":"string","title":"Pair"},"rate":{"type":"number","title":"Rate"},"timestamp_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timestamp Utc"},"timestamp_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timestamp Type"},"fixing_time_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fixing Time Utc"},"published_at_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Published At Utc"},"time_precision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Time Precision"},"source":{"properties":{"source_pair":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Pair"},"is_derived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Derived"},"derived_from_source_legs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Derived From Source Legs"},"derivation_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Derivation Method"},"pair_consistency_check":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pair Consistency Check"},"source_legs":{"anyOf":[{"items":{"$ref":"#/components/schemas/FxSourceLeg"},"type":"array"},{"type":"null"}],"title":"Source Legs"}},"type":"object","title":"ForexPointSource","description":"How one observation was sourced."},"native_or_derived":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Native Or Derived"},"derivation_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Derivation Method"},"source_pair":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Pair"},"source_legs":{"items":{"properties":{"pair":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pair"},"source_pair":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Pair"},"storage_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage Path","description":"Retained for compatibility. Always null."},"stored_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stored Source","description":"Retained for compatibility. Always null."},"source_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Provider"},"source_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Name"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source_frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Frequency"},"source_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Type"},"is_derived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Derived"},"derivation_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Derivation Method"},"anchor_currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Anchor Currency"},"data_policy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data Policy"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"},"backfill_window":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Backfill Window"},"source_legs":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Source Legs"}},"type":"object","title":"FxSourceLeg","description":"One source leg a rate was taken from or derived through."},"type":"array","title":"Source Legs"},"staleness_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Staleness Minutes"}},"type":"object","required":["date","reference_date","base","quote","pair","rate"],"title":"FxReferencePoint"},"FxReferenceResponse":{"properties":{"base":{"type":"string","title":"Base"},"quote":{"type":"string","title":"Quote"},"start_date":{"type":"string","title":"Start Date"},"end_date":{"type":"string","title":"End Date"},"timestamp_basis":{"type":"string","title":"Timestamp Basis"},"source_policy":{"$ref":"#/components/schemas/FxSourcePolicy"},"pagination":{"properties":{"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"},"offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Offset"},"returned_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Returned Count"},"total_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Count"},"has_more":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has More"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"},"page_includes_latest_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Page Includes Latest Available"}},"type":"object","title":"Pagination","description":"Offset pagination state for one page of results."},"data":{"items":{"$ref":"#/components/schemas/FxReferencePoint"},"type":"array","title":"Data"},"dataset_version":{"type":"string","title":"Dataset Version"},"coverage":{"additionalProperties":true,"type":"object","title":"Coverage"}},"type":"object","required":["base","quote","start_date","end_date","timestamp_basis","source_policy","pagination","data","dataset_version","coverage"],"title":"FxReferenceResponse"},"FxSessionRatePoint":{"properties":{"date":{"type":"string","title":"Date"},"reference_date":{"type":"string","title":"Reference Date"},"base":{"type":"string","title":"Base"},"quote":{"type":"string","title":"Quote"},"pair":{"type":"string","title":"Pair"},"rate":{"type":"number","title":"Rate"},"timestamp_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timestamp Utc"},"timestamp_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timestamp Type"},"fixing_time_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fixing Time Utc"},"published_at_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Published At Utc"},"time_precision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Time Precision"},"source":{"properties":{"source_pair":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Pair"},"is_derived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Derived"},"derived_from_source_legs":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Derived From Source Legs"},"derivation_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Derivation Method"},"pair_consistency_check":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pair Consistency Check"},"source_legs":{"anyOf":[{"items":{"$ref":"#/components/schemas/FxSourceLeg"},"type":"array"},{"type":"null"}],"title":"Source Legs"}},"type":"object","title":"ForexPointSource","description":"How one observation was sourced."},"native_or_derived":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Native Or Derived"},"derivation_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Derivation Method"},"source_pair":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Pair"},"source_legs":{"items":{"properties":{"pair":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pair"},"source_pair":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Pair"},"storage_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage Path","description":"Retained for compatibility. Always null."},"stored_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stored Source","description":"Retained for compatibility. Always null."},"source_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Provider"},"source_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Name"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source_frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Frequency"},"source_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Type"},"is_derived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Derived"},"derivation_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Derivation Method"},"anchor_currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Anchor Currency"},"data_policy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data Policy"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"},"backfill_window":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Backfill Window"},"source_legs":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Source Legs"}},"type":"object","title":"FxSourceLeg","description":"One source leg a rate was taken from or derived through."},"type":"array","title":"Source Legs"},"staleness_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Staleness Minutes"},"session":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session"},"session_close_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Close Utc"},"selected_timestamp_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Selected Timestamp Utc"},"selected_source_timestamp_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Selected Source Timestamp Utc"},"selection_rule":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Selection Rule"}},"type":"object","required":["date","reference_date","base","quote","pair","rate"],"title":"FxSessionRatePoint"},"FxSessionRateResponse":{"properties":{"base":{"type":"string","title":"Base"},"quote":{"type":"string","title":"Quote"},"session":{"type":"string","title":"Session"},"start_date":{"type":"string","title":"Start Date"},"end_date":{"type":"string","title":"End Date"},"source_policy":{"$ref":"#/components/schemas/FxSourcePolicy"},"pagination":{"properties":{"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"},"offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Offset"},"returned_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Returned Count"},"total_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Count"},"has_more":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has More"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"},"page_includes_latest_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Page Includes Latest Available"}},"type":"object","title":"Pagination","description":"Offset pagination state for one page of results."},"data":{"items":{"$ref":"#/components/schemas/FxSessionRatePoint"},"type":"array","title":"Data"},"dataset_version":{"type":"string","title":"Dataset Version"},"coverage":{"additionalProperties":true,"type":"object","title":"Coverage"}},"type":"object","required":["base","quote","session","start_date","end_date","source_policy","pagination","data","dataset_version","coverage"],"title":"FxSessionRateResponse"},"FxSource":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"authority_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authority Type"},"country_or_area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Or Area"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"attribution_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attribution Text"},"tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tier"},"is_official":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Official"},"is_aggregator":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Aggregator"},"default_timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Timezone"},"publication_frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication Frequency"},"native_pairs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Native Pairs","description":"Every pair the authority publishes, as documentation of the source. Not a list of requestable pairs; see served_pairs."},"native_pair_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Native Pair Count"},"served_pairs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Served Pairs","description":"The pairs from this source that the public FX endpoints serve. Only these pairs can be requested; a pair listed in native_pairs but not here returns no rows."},"served_pair_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Served Pair Count"},"serves_public_data":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Serves Public Data","description":"True when at least one pair from this source is served by the public FX endpoints (served_pair_count > 0). False means the source is listed for provenance only and no data from it can be requested."},"coverage_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coverage Note"},"source_universe_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Universe Endpoint"}},"type":"object","title":"FxSource","description":"One official FX reference-rate source."},"FxSourcePolicy":{"properties":{"public_data_policy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Data Policy"},"request_time_upstream_fetches":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Request Time Upstream Fetches","description":"Whether serving a request contacts the upstream publisher. Always false: responses come from FXMacroData's collected dataset."},"value_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value Field"},"legacy_daily_forex_value_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legacy Daily Forex Value Field"}},"type":"object","title":"FxSourcePolicy","description":"Redistribution rules governing which rows the public endpoints serve."},"FxSourceUniverseEntry":{"properties":{"source":{"anyOf":[{"$ref":"#/components/schemas/FxSource"},{"type":"null"}]},"pair_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pair Count"},"pairs":{"anyOf":[{"items":{"$ref":"#/components/schemas/FxSourceUniversePair"},"type":"array"},{"type":"null"}],"title":"Pairs"}},"type":"object","title":"FxSourceUniverseEntry"},"FxSourceUniversePair":{"properties":{"pair":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pair"},"availability":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Availability"},"anchor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Anchor"}},"type":"object","title":"FxSourceUniversePair"},"FxSourceUniverseResponse":{"properties":{"source_policy":{"$ref":"#/components/schemas/FxSourcePolicy"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"data":{"items":{"$ref":"#/components/schemas/FxSourceUniverseEntry"},"type":"array","title":"Data"}},"type":"object","required":["source_policy","data"],"title":"FxSourceUniverseResponse"},"FxSourcesResponse":{"properties":{"source_policy":{"$ref":"#/components/schemas/FxSourcePolicy"},"sources":{"items":{"$ref":"#/components/schemas/FxSource"},"type":"array","title":"Sources"}},"type":"object","required":["source_policy","sources"],"title":"FxSourcesResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LatestAnnouncementItem":{"properties":{"indicator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Indicator"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Id"},"source_series_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Name"},"source_local_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Local Name"},"seasonal_adjustment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seasonal Adjustment"},"price_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Basis"},"is_proxy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Proxy"},"proxy_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proxy Note"},"provenance":{"anyOf":[{"$ref":"#/components/schemas/LatestAnnouncementProvenance"},{"type":"null"}]},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frequency"},"has_official_forecast":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Official Forecast"},"latest":{"anyOf":[{"$ref":"#/components/schemas/LatestAnnouncementValue"},{"type":"null"}]},"previous":{"anyOf":[{"$ref":"#/components/schemas/LatestAnnouncementValue"},{"type":"null"}]},"pct_diff_prev":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Diff Prev"},"pct_change_yoy":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Change Yoy"},"pct_change_qoq":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Change Qoq"},"pct_change_mom":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Change Mom"}},"type":"object","title":"LatestAnnouncementItem"},"LatestAnnouncementProvenance":{"properties":{"publisher":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publisher"},"publisher_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publisher Url"},"source_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Id"},"source_series_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Name"},"source_local_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Local Name"},"seasonal_adjustment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seasonal Adjustment"},"price_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Basis"},"storage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage"},"served_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Served By"},"timestamp_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timestamp Field"},"value_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value Field"},"is_proxy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Proxy"},"proxy_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proxy Note"}},"type":"object","title":"LatestAnnouncementProvenance"},"LatestAnnouncementValue":{"properties":{"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"},"val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Val"},"announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Announcement Datetime"},"publication_time_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication Time Status","description":"What `announcement_datetime` is: `confirmed`, `unverified`, `assumed_historical` or `unknown`. Same values as on `/v1/announcements/{currency}/{indicator}` rows; only `confirmed` is evidence of when the value became public."},"publication_time_precision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication Time Precision"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source_url_scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url Scope"},"original_val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Original Val"},"original_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Original Unit"}},"type":"object","title":"LatestAnnouncementValue","description":"One observation, used for both ``latest`` and ``previous``."},"LatestAnnouncementsProvenance":{"properties":{"publisher":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publisher"},"storage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage"},"served_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Served By"},"timestamp_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timestamp Field"},"value_field":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value Field"}},"type":"object","title":"LatestAnnouncementsProvenance"},"LatestAnnouncementsResponse":{"properties":{"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"provenance":{"anyOf":[{"$ref":"#/components/schemas/LatestAnnouncementsProvenance"},{"type":"null"}]},"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of"},"count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Count"},"data":{"anyOf":[{"items":{"$ref":"#/components/schemas/LatestAnnouncementItem"},"type":"array"},{"type":"null"}],"title":"Data"},"freemium_delay":{"anyOf":[{"$ref":"#/components/schemas/FreemiumDelayNotice"},{"type":"null"}]}},"type":"object","title":"LatestAnnouncementsResponse"},"MarketSession":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"currencies":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Currencies"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"open_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Open Utc"},"close_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Close Utc"},"open_unix":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Open Unix"},"close_unix":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Close Unix"},"is_open":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Open"},"seconds_to_open":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seconds To Open"},"seconds_to_close":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seconds To Close"}},"type":"object","title":"MarketSession"},"MarketSessionOverlap":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"sessions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Sessions"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"priority":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Priority"},"notable_pairs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Notable Pairs"},"start_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Utc"},"end_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Utc"},"start_unix":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Start Unix"},"end_unix":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"End Unix"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"seconds_to_start":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seconds To Start"},"seconds_to_end":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seconds To End"},"duration_hours":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration Hours"}},"type":"object","title":"MarketSessionOverlap"},"MarketSessionsResponse":{"properties":{"now_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Now Utc"},"now_unix":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Now Unix"},"is_market_day":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Market Day"},"sessions":{"anyOf":[{"items":{"$ref":"#/components/schemas/MarketSession"},"type":"array"},{"type":"null"}],"title":"Sessions"},"overlaps":{"anyOf":[{"items":{"$ref":"#/components/schemas/MarketSessionOverlap"},"type":"array"},{"type":"null"}],"title":"Overlaps"}},"type":"object","title":"MarketSessionsResponse"},"OfficialForwardSourceSupport":{"properties":{"source_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Type"},"source_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Note"}},"type":"object","title":"OfficialForwardSourceSupport","description":"How the official publisher makes forward rates available, if at all."},"PaginationInfo":{"properties":{"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"},"offset":{"type":"integer","title":"Offset"},"returned_count":{"type":"integer","title":"Returned Count"},"total_count":{"type":"integer","title":"Total Count"},"has_more":{"type":"boolean","title":"Has More"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"},"page_includes_latest_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Page Includes Latest Available"}},"type":"object","required":["offset","returned_count","total_count","has_more"],"title":"PaginationInfo","description":"Offset pagination state for a single page of results."},"PointInTimeCompleteness":{"properties":{"row_count":{"type":"integer","title":"Row Count"},"announcement_datetime_count":{"type":"integer","title":"Announcement Datetime Count"},"missing_announcement_datetime_count":{"type":"integer","title":"Missing Announcement Datetime Count"},"assumed_release_time_count":{"type":"integer","title":"Assumed Release Time Count","default":0},"bounded_release_time_count":{"type":"integer","title":"Bounded Release Time Count","default":0},"unbounded_release_time_count":{"type":"integer","title":"Unbounded Release Time Count","default":0},"unverified_vintage_count":{"type":"integer","title":"Unverified Vintage Count","default":0},"unknown_publication_time_count":{"type":"integer","title":"Unknown Publication Time Count","default":0},"point_in_time_safe":{"type":"boolean","title":"Point In Time Safe"}},"type":"object","required":["row_count","announcement_datetime_count","missing_announcement_datetime_count","point_in_time_safe"],"title":"PointInTimeCompleteness","description":"Coverage of source-confirmed publication timestamps for a dataset."},"PolicyFamilyEntry":{"properties":{"indicator":{"type":"string","title":"Indicator"},"value_name":{"type":"string","title":"Value Name"},"role":{"type":"string","title":"Role"}},"type":"object","required":["indicator","value_name","role"],"title":"PolicyFamilyEntry"},"PredictionItem":{"properties":{"predicted_value":{"type":"number","title":"Predicted Value"},"event_compatible":{"type":"boolean","title":"Event Compatible","default":false},"event_compatibility_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Compatibility Reason"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"target_period":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Period"},"period_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Period Basis"},"unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Unit"},"statistic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Statistic"},"publication_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication Date"},"publication_datetime":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication Datetime"},"publication_precision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication Precision"},"forecast_observation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Forecast Observation Id"},"seasonal_adjustment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seasonal Adjustment"},"geography":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Geography"},"announcement_mapping_verified":{"type":"boolean","title":"Announcement Mapping Verified","default":false},"prediction_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prediction Class","description":"How the forecast was produced, and the field to filter on. One of ``compiled_consensus`` (a publisher's compilation of independent forecasters), ``forecaster_survey`` (an official survey of forecasters or market participants), ``expectations_survey`` (households or businesses), ``market_implied`` (derived from traded prices), ``model_nowcast`` (a published statistical model), ``central_bank_projection`` (the central bank's own projection), ``institutional_projection`` (IMF, OECD), or ``fxmacrodata`` (an FXMacroData estimate, never a market consensus)."},"prediction_class_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prediction Class Label","description":"Human-readable name for ``prediction_class``, for display. Filter on ``prediction_class``, not on this."},"prediction_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prediction Type","description":"Original per-source category, retained unchanged for backward compatibility: ``market_consensus``, ``market_prediction``, ``model_nowcast``, ``survey``, ``central_bank_forecast``, ``central_bank_projection``, ``imf_weo``, ``oecd_eo`` or ``fxmacrodata``. These slugs split identical instruments (the ECB and Philadelphia Fed Surveys of Professional Forecasters landed in different values) and two of them name a publisher rather than a category. Prefer ``prediction_class``."},"prediction_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prediction Source","description":"Stable source identifier slug (e.g. ``philly_fed_spf``, ``cleveland_fed_nowcast``, ``fomc_sep``, ``atlanta_fed_gdpnow``, ``ny_fed_sme``, ``ecb_spf``, ``imf_weo``, ``rbnz_mps``, ``fxmacrodata_blended``). Use this value when filtering via the ``prediction_source`` query parameter."},"prediction_source_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prediction Source Label","description":"Human-readable name for ``prediction_source`` (e.g. \"RBA Statement on Monetary Policy (Table J1)\", \"Philadelphia Fed Survey of Professional Forecasters\", \"IMF World Economic Outlook\"). Suitable for display in UI surfaces; use ``prediction_source`` for filtering and joins."},"generated_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Generated At","description":"Unix epoch seconds (UTC) for the prediction's known-at marker. Inspect `provenance.generated_at_basis` and `provenance.generated_at_precision`: publisher archives may provide a date that FXMacroData normalizes to a documented source-local publication time rather than an original intraday timestamp."},"provenance":{"anyOf":[{"$ref":"#/components/schemas/PredictionProvenance"},{"type":"null"}],"description":"Documented origin, capture, timestamp, reconstruction, and vintage semantics for this source. Omitted for sources whose provenance is not yet documented."},"is_pre_release":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Pre Release","description":"Whether `generated_at` is strictly earlier than the linked `announcement_datetime`. Null when the source did not provide a generation timestamp."},"confidence":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Confidence","description":"Confidence score in ``[0.0, 1.0]`` indicating how strong this prediction is. ``1.0`` is maximally confident, ``0.0`` is no confidence. When the source did not record an explicit value, a per-source default is returned (central-bank publications and official surveys score higher than the FXMacroData blended forecast). Use this to weight or filter predictions in client applications."},"prediction_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prediction Reason","description":"Short human-readable explanation of how this prediction was derived. Currently populated for FXMacroData-generated predictions (``prediction_source=fxmacrodata_blended``); it summarises the persistence anchor, momentum/trend extrapolation, cross-indicator pressure, and any external forecast that was blended in. Other prediction sources may omit this field."}},"type":"object","required":["predicted_value"],"title":"PredictionItem","description":"A single per-source forecast inside an announcement group."},"PredictionProvenance":{"properties":{"value_origin":{"type":"string","title":"Value Origin","description":"Whether the value is a publisher historical vintage or an FXMacroData model output."},"capture_mode":{"type":"string","title":"Capture Mode","description":"Whether FXMacroData recorded the value when it was published or later imported it from the publisher's official archive."},"archived_in_real_time_by_fxmacrodata":{"type":"boolean","title":"Archived In Real Time By Fxmacrodata","description":"True only when FXMacroData captured the prediction at the time it was generated or published."},"generated_at_basis":{"type":"string","title":"Generated At Basis","description":"The source fact used to construct `generated_at`."},"generated_at_precision":{"type":"string","title":"Generated At Precision","description":"Precision of the underlying source timestamp. `date` means an official source date was normalized to a documented source-local time."},"reconstructed_with_later_data":{"type":"boolean","title":"Reconstructed With Later Data","description":"Whether the prediction value was recomputed using later data or a newer model version."},"vintage_selection":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vintage Selection","description":"Which publisher or model vintages are retained in this feed."}},"type":"object","required":["value_origin","capture_mode","archived_in_real_time_by_fxmacrodata","generated_at_basis","generated_at_precision","reconstructed_with_later_data"],"title":"PredictionProvenance","description":"Documented origin and timestamp semantics for a forecast value."},"PredictionsResponse":{"properties":{"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of"},"event_compatible_only":{"type":"boolean","title":"Event Compatible Only","default":false},"currency":{"type":"string","title":"Currency"},"indicator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Indicator"},"filters":{"properties":{"seasonality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seasonality"},"basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Basis"},"annualization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Annualization"},"period_aggregation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Period Aggregation"},"frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frequency"},"revisions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revisions"}},"type":"object","title":"SeriesFilters","description":"The series-variant filters this request was resolved with.\n\nA null means the caller did not constrain that dimension."},"selected_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Selected Series Id"},"selected_series":{"properties":{"series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Series Id"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"source_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Series Id"},"seasonality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seasonality"},"basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Basis"},"annualization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Annualization"},"period_aggregation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Period Aggregation"},"frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frequency"},"revisions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revisions"}},"type":"object","title":"SelectedSeries","description":"The concrete series variant chosen for this response."},"supported_options":{"anyOf":[{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},{"type":"null"}],"title":"Supported Options"},"prediction_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prediction Type"},"prediction_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prediction Class"},"prediction_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prediction Source"},"pre_release_only":{"type":"boolean","title":"Pre Release Only","default":true},"start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Exclusive `before_date` cursor for the next page. Prefer this over deep offset pagination to keep reads bounded."},"has_more":{"type":"boolean","title":"Has More","default":false},"count":{"type":"integer","title":"Count","description":"Number of announcement groups returned in ``data``.","default":0},"prediction_count":{"type":"integer","title":"Prediction Count","description":"Total number of per-source predictions across all groups.","default":0},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"availability":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Availability","description":"Why a filter returned what it returned. ``classes_with_sources`` and ``types_with_sources`` list what any caller could ever get for this pair; ``reason`` explains a requested filter that came back empty. ``no_source_for_pair`` means no publisher provides it and no plan adds it."},"official_forecasts":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Official Forecasts","description":"Official forecasts and surveys for this indicator in the publisher's own period and unit (quarterly averages, annual rates, survey horizons), newest publication first, every vintage. Not merged into ``data`` because their period basis differs from the monthly announcement; ``target_period``, ``period_basis`` and ``unit`` say exactly what each number is. Same ``prediction_class`` vocabulary as ``data``; filtered by ``prediction_class``, ``prediction_source``, ``start_date`` and ``end_date`` (on the publication date)."},"official_forecast_count":{"type":"integer","title":"Official Forecast Count","description":"Number of rows in ``official_forecasts``.","default":0},"official_forecast_calendar":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Official Forecast Calendar","description":"Confirmed official forecast publication times for this currency over the next 366 days. These are publisher releases, separate from the indicator's announcement times."},"official_forecasts_truncated":{"type":"boolean","title":"Official Forecasts Truncated","description":"True when more official forecast vintages exist than the ``official_limit`` returned; narrow ``start_date``/``end_date`` or ``prediction_source`` to see the rest.","default":false},"data":{"items":{"$ref":"#/components/schemas/AnnouncementPredictions"},"type":"array","title":"Data"}},"type":"object","required":["currency","data_quality","data"],"title":"PredictionsResponse"},"PressRelease":{"properties":{"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"topics":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Topics"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"rate_path":{"anyOf":[{"$ref":"#/components/schemas/PressReleaseRatePath"},{"type":"null"}]},"relevance":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Relevance"},"sentiment":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sentiment"},"ai_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Summary","description":"Model-generated one-to-two sentence FX/macro takeaway. Not an official statement."},"ai_stance":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Stance","description":"Model-assessed stance: `hawkish`, `dovish` or `neutral`."},"ai_stance_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ai Stance Score","description":"Model-assessed stance in [-1, 1]; positive is hawkish."},"ai_next_meeting_action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Next Meeting Action","description":"Model-assessed next policy action: `hike`, `cut` or `hold`."},"ai_next_meeting_probability":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ai Next Meeting Probability","description":"Model-assessed probability in [0, 1] of `ai_next_meeting_action` at the next meeting."},"ai_rationale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Rationale","description":"Model-generated one-sentence justification for the stance."}},"type":"object","title":"PressRelease"},"PressReleaseRatePath":{"properties":{"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"matches":{"anyOf":[{"items":{"$ref":"#/components/schemas/RatePathMatch"},"type":"array"},{"type":"null"}],"title":"Matches"},"raw_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Raw Score"},"confidence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Confidence"},"bias_action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bias Action"}},"type":"object","title":"PressReleaseRatePath","description":"Rate-path bias inferred from the release text."},"PressReleasesResponse":{"properties":{"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"},"offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Offset"},"count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Count"},"pagination":{"anyOf":[{"$ref":"#/components/schemas/PaginationInfo"},{"type":"null"}]},"data":{"anyOf":[{"items":{"$ref":"#/components/schemas/PressRelease"},"type":"array"},{"type":"null"}],"title":"Data"}},"type":"object","title":"PressReleasesResponse"},"RateDifferentialPoint":{"properties":{"date":{"type":"string","title":"Date"},"base_val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Base Val"},"quote_val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quote Val"},"spread":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spread"},"spread_bps":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spread Bps"},"differential":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Differential"},"differential_bps":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Differential Bps"},"base_forward_val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Base Forward Val"},"quote_forward_val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quote Forward Val"},"base_start_val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Base Start Val"},"base_end_val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Base End Val"},"quote_start_val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quote Start Val"},"quote_end_val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quote End Val"},"base_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Base Announcement Datetime"},"quote_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quote Announcement Datetime"},"base_start_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Base Start Announcement Datetime"},"base_end_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Base End Announcement Datetime"},"quote_start_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quote Start Announcement Datetime"},"quote_end_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quote End Announcement Datetime"},"base_selected_vintage_known_at_ns":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Selected Vintage Known At Ns"},"quote_selected_vintage_known_at_ns":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quote Selected Vintage Known At Ns"},"base_start_selected_vintage_known_at_ns":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Start Selected Vintage Known At Ns"},"base_end_selected_vintage_known_at_ns":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base End Selected Vintage Known At Ns"},"quote_start_selected_vintage_known_at_ns":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quote Start Selected Vintage Known At Ns"},"quote_end_selected_vintage_known_at_ns":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quote End Selected Vintage Known At Ns"}},"type":"object","required":["date"],"title":"RateDifferentialPoint"},"RateDifferentialResponse":{"properties":{"research":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Research"},"base":{"type":"string","title":"Base"},"quote":{"type":"string","title":"Quote"},"rate_type":{"type":"string","title":"Rate Type","default":"spot"},"measure_requested":{"type":"string","title":"Measure Requested"},"measure_used":{"type":"string","title":"Measure Used"},"base_indicator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Indicator"},"quote_indicator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quote Indicator"},"curve_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Curve Family"},"start_tenor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Tenor"},"end_tenor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Tenor"},"forward_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Forward Label"},"start_date":{"type":"string","title":"Start Date"},"end_date":{"type":"string","title":"End Date"},"matched_points":{"type":"integer","title":"Matched Points"},"unit":{"type":"string","title":"Unit"},"latest_spread":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latest Spread"},"latest_spread_bps":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latest Spread Bps"},"latest_differential":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latest Differential"},"latest_differential_bps":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latest Differential Bps"},"base_latest":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Base Latest"},"quote_latest":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quote Latest"},"sources":{"$ref":"#/components/schemas/RateDifferentialSources"},"official_forward_source_support":{"properties":{"source_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Type"},"source_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Note"}},"type":"object","title":"OfficialForwardSourceSupport","description":"How the official publisher makes forward rates available, if at all."},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"pagination":{"properties":{"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"},"offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Offset"},"returned_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Returned Count"},"total_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Count"},"has_more":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has More"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"},"page_includes_latest_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Page Includes Latest Available"}},"type":"object","title":"Pagination","description":"Offset pagination state for one page of results."},"data":{"items":{"$ref":"#/components/schemas/RateDifferentialPoint"},"type":"array","title":"Data"}},"type":"object","required":["base","quote","measure_requested","measure_used","start_date","end_date","matched_points","unit","sources","data_quality","pagination","data"],"title":"RateDifferentialResponse"},"RateDifferentialSources":{"properties":{"base":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Base"},"quote":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Quote"}},"type":"object","title":"RateDifferentialSources","description":"Publisher of each leg's rate.\n\nThe spot path reports a single publisher name per leg; the curve and\nforward paths report the list of curve sources each leg was built from, so\nboth shapes are declared."},"RatePathMatch":{"properties":{"phrase":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phrase"},"weight":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Weight"}},"type":"object","title":"RatePathMatch","description":"One scoring phrase found in the release and its weight.\n\nAt most 20 per release. ``phrase`` is an entry from the hawkish/dovish\nscoring vocabulary, not an excerpt of the release; positive weights are\nhawkish, negative weights dovish."},"ReleaseDeliveryAnnouncement":{"properties":{"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"},"original_val":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Original Val"},"original_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Original Unit"},"val":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Val"},"announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"number"},{"type":"null"}],"title":"Announcement Datetime"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source_url_scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url Scope"},"source_release":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Release"},"release_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Url"},"dataset_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataset Url"},"series_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Series Url"}},"additionalProperties":true,"type":"object","title":"ReleaseDeliveryAnnouncement","description":"The announcement row carried by a release event.\n\nAdditional fields may appear as the announcement data model grows; clients\nshould ignore fields they do not recognise."},"ResearchPanelRequest":{"properties":{"series":{"items":{"$ref":"#/components/schemas/ResearchSeries"},"type":"array","maxItems":6,"minItems":1,"title":"Series"},"decision_times":{"items":{"type":"string"},"type":"array","maxItems":10000,"minItems":1,"title":"Decision Times"},"start_date":{"type":"string","format":"date","title":"Start Date"},"end_date":{"type":"string","format":"date","title":"End Date"},"availability":{"type":"string","enum":["public","captured"],"title":"Availability","default":"public"},"dataset_version":{"anyOf":[{"type":"string","pattern":"^[0-9a-f]{64}$"},{"type":"null"}],"title":"Dataset Version"}},"additionalProperties":false,"type":"object","required":["series","decision_times","start_date","end_date"],"title":"ResearchPanelRequest"},"ResearchPanelResponse":{"properties":{"status":{"type":"string","title":"Status"},"dataset_version":{"type":"string","title":"Dataset Version"},"complete":{"type":"boolean","title":"Complete"},"availability":{"type":"string","title":"Availability"},"value_mode":{"type":"string","const":"source","title":"Value Mode"},"value_metadata":{"additionalProperties":true,"type":"object","title":"Value Metadata"},"series":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Series"},"data":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Data"},"quality":{"additionalProperties":true,"type":"object","title":"Quality"},"limits":{"additionalProperties":{"type":"integer"},"type":"object","title":"Limits"}},"type":"object","required":["status","dataset_version","complete","availability","value_mode","value_metadata","series","data","quality","limits"],"title":"ResearchPanelResponse"},"ResearchSeries":{"properties":{"currency":{"type":"string","pattern":"^[A-Za-z]{3}$","title":"Currency"},"indicator":{"type":"string","pattern":"^[a-z][a-z0-9_]*$","title":"Indicator"},"max_age_days":{"anyOf":[{"type":"integer","maximum":36500.0,"minimum":0.0},{"type":"null"}],"title":"Max Age Days"}},"additionalProperties":false,"type":"object","required":["currency","indicator"],"title":"ResearchSeries"},"RevisionEntry":{"properties":{"epoch":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Epoch"},"val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Val"},"observed_at_ns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Observed At Ns"},"observed_at_ns_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observed At Ns String"},"publication_at_ns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Publication At Ns","description":"Publisher-sourced publication instant, Unix epoch nanoseconds (UTC). Present only when the source states one; omitted otherwise."},"publication_at_ns_string":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication At Ns String","description":"`publication_at_ns` as a decimal string; present only alongside it."},"announcement_source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Source Url"},"capture_time_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Capture Time Basis"},"publication_time_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication Time Status"},"publication_time_precision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publication Time Precision"},"vintage_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vintage Status"},"is_first_release":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is First Release"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source_artifact_sha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Artifact Sha256"},"change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Change"},"source_validity_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Validity Status","description":"`invalid_source_capture` marks a proven source/parser mistake retained only in the raw source/all audit view. It is excluded from economic revision selection and point-in-time replay. Absence is not source verification."},"source_correction":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Source Correction","description":"Audit evidence for an incorrect source capture, including the observed and expected series identities and any official correction citation. Original values and capture clocks remain unchanged."}},"type":"object","title":"RevisionEntry","description":"A value vintage or source capture for a period, identified by its clocks.\n\nSource/all audit views also retain explicitly marked incorrect captures.\n\n``val`` is ``Optional`` because some upstream sources publish placeholder\nrevisions (e.g. NZ DMO inflation-linked bond yields on non-trading days)\nwhere the value is NaN; those are returned as ``null``."},"RevisionsSummary":{"properties":{"count":{"type":"integer","title":"Count","description":"Number of retained value groups; repeated consecutive captures may be grouped. Not a count of verified publisher revisions."},"first":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"First","description":"Earliest retained value in this view; not proof of the publisher's first release."},"latest":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latest","description":"Latest retained value in this view; not proof of publisher finality."},"revised":{"type":"boolean","title":"Revised","description":"True when a later retained value differs from the earliest retained value."}},"type":"object","required":["count","revised"],"title":"RevisionsSummary","description":"Revision ledger summary served by ``fields=compact``."},"RiskSentimentAliases":{"properties":{"score":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Score"},"risk_regime":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Regime"},"sentiment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sentiment"}},"type":"object","title":"RiskSentimentAliases","description":"Legacy field names retained alongside their current equivalents."},"RiskSentimentChange":{"properties":{"date":{"type":"string","title":"Date"},"revision":{"type":"integer","title":"Revision"},"change_sequence":{"type":"integer","title":"Change Sequence"},"kind":{"type":"string","title":"Kind"},"recorded_at":{"type":"string","title":"Recorded At"},"observation":{"$ref":"#/components/schemas/RiskSentimentPoint"}},"type":"object","required":["date","revision","change_sequence","kind","recorded_at","observation"],"title":"RiskSentimentChange"},"RiskSentimentChangePagination":{"properties":{"limit":{"type":"integer","title":"Limit"},"after_sequence":{"type":"integer","title":"After Sequence"},"returned_count":{"type":"integer","title":"Returned Count"},"has_more":{"type":"boolean","title":"Has More"},"next_after_sequence":{"type":"integer","title":"Next After Sequence"}},"type":"object","required":["limit","after_sequence","returned_count","has_more","next_after_sequence"],"title":"RiskSentimentChangePagination"},"RiskSentimentChangesResponse":{"properties":{"revision_tracking":{"$ref":"#/components/schemas/RiskSentimentRevisionTracking"},"pagination":{"$ref":"#/components/schemas/RiskSentimentChangePagination"},"data":{"items":{"$ref":"#/components/schemas/RiskSentimentChange"},"type":"array","title":"Data"}},"type":"object","required":["revision_tracking","pagination","data"],"title":"RiskSentimentChangesResponse"},"RiskSentimentComponentCoverage":{"properties":{"ofr_fsi":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ofr Fsi"},"gold":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Gold"},"aud_usd":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Aud Usd"},"usd_jpy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Usd Jpy"},"vix":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Vix"},"spx":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Spx"},"dxy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Dxy"},"us10y":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Us10Y"},"credit_spreads":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Credit Spreads"}},"type":"object","title":"RiskSentimentComponentCoverage","description":"Per-component availability for one observation."},"RiskSentimentComponentMetadata":{"properties":{"stored_components":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Stored Components"},"component_coverage_fields":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Component Coverage Fields"},"aliases":{"anyOf":[{"$ref":"#/components/schemas/RiskSentimentAliases"},{"type":"null"}]},"unavailable_components_are_reported_false":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Unavailable Components Are Reported False"}},"type":"object","title":"RiskSentimentComponentMetadata"},"RiskSentimentPoint":{"properties":{"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"},"val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Val"},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"},"regime":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Regime"},"risk_regime":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Regime"},"sentiment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sentiment"},"components":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"number"},{"type":"null"}]},"type":"object"},{"type":"null"}],"title":"Components"},"component_coverage":{"anyOf":[{"$ref":"#/components/schemas/RiskSentimentComponentCoverage"},{"type":"null"}]},"stored_component_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Stored Component Count"},"financial_stress_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Financial Stress Score"},"commodity_beta_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Commodity Beta Score"},"safe_haven_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Safe Haven Score"},"input_dates":{"anyOf":[{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object"},{"type":"null"}],"title":"Input Dates"},"input_status":{"anyOf":[{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object"},{"type":"null"}],"title":"Input Status"},"effective_weights":{"anyOf":[{"additionalProperties":{"type":"number"},"type":"object"},{"type":"null"}],"title":"Effective Weights"},"coverage_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coverage Status"},"provisional":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Provisional"},"revision":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Revision"},"first_recorded_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Recorded At"},"first_tracked_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Tracked At"},"last_changed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Changed At"},"last_change_sequence":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Last Change Sequence"},"revision_history_complete":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Revision History Complete"}},"type":"object","title":"RiskSentimentPoint"},"RiskSentimentResponse":{"properties":{"start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"},"latest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Available Date"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"},"revision_tracking":{"anyOf":[{"$ref":"#/components/schemas/RiskSentimentRevisionTracking"},{"type":"null"}]},"data_quality":{"anyOf":[{"$ref":"#/components/schemas/DataQuality"},{"type":"null"}]},"component_metadata":{"anyOf":[{"$ref":"#/components/schemas/RiskSentimentComponentMetadata"},{"type":"null"}]},"pagination":{"anyOf":[{"$ref":"#/components/schemas/PaginationInfo"},{"type":"null"}]},"data":{"anyOf":[{"items":{"$ref":"#/components/schemas/RiskSentimentPoint"},"type":"array"},{"type":"null"}],"title":"Data"}},"type":"object","title":"RiskSentimentResponse"},"RiskSentimentRevisionTracking":{"properties":{"enabled":{"type":"boolean","title":"Enabled"},"started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Started At"},"last_change_sequence":{"type":"integer","title":"Last Change Sequence"},"complete_first_release_history_verified":{"type":"boolean","title":"Complete First Release History Verified"},"timestamp_semantics":{"type":"string","title":"Timestamp Semantics"},"changes_endpoint":{"type":"string","title":"Changes Endpoint"}},"type":"object","required":["enabled","last_change_sequence","complete_first_release_history_verified","timestamp_semantics","changes_endpoint"],"title":"RiskSentimentRevisionTracking"},"ServiceStatusResponse":{"properties":{"status":{"type":"string","title":"Status"},"service":{"type":"string","title":"Service"}},"type":"object","required":["status","service"],"title":"ServiceStatusResponse","description":"Liveness payload shared by ``/v1/ping`` and ``/v1/health``."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"FxSourceLeg":{"properties":{"pair":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pair"},"source_pair":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Pair"},"storage_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage Path","description":"Retained for compatibility. Always null."},"stored_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stored Source","description":"Retained for compatibility. Always null."},"source_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Provider"},"source_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Name"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source_frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Frequency"},"source_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Type"},"is_derived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Derived"},"derivation_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Derivation Method"},"anchor_currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Anchor Currency"},"data_policy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data Policy"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"},"backfill_window":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Backfill Window"},"source_legs":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Source Legs"}},"type":"object","title":"FxSourceLeg","description":"One source leg a rate was taken from or derived through."}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key","description":"FXMacroData API key. Preferred transport for server-side clients: the key stays out of URLs and access logs."},"HTTPBearer":{"type":"http","scheme":"bearer","description":"FXMacroData API key or OAuth access token supplied as ``Authorization: Bearer <key>``."},"APIKeyQuery":{"type":"apiKey","in":"query","name":"api_key","x-deprecated":true,"description":"Deprecated. FXMacroData API key as a query parameter. Still accepted so existing integrations keep working, but new integrations must use the X-API-Key header (APIKeyHeader) or Authorization: Bearer. The only exception is browser EventSource clients of the live-delivery streams, which cannot set request headers."}}},"tags":[{"name":"health","description":"Service health status endpoint."},{"name":"announcements","description":"Primary product: macroeconomic announcement time series."},{"name":"predictions","description":"Forecasts/predictions for macroeconomic announcements, linked to the unique announcement they target via ``announcement_id``. Covers market consensus, central-bank forecasts, IMF WEO, and professional-forecaster surveys."},{"name":"calendar","description":"Standalone economic and policy release calendar endpoint spanning announcements and central-bank decision timing."},{"name":"press_releases","description":"Official central-bank press-release archive endpoints."},{"name":"commodities","description":"Commodity and energy datasets, including OPEC and planned commodity price endpoints."},{"name":"fx_markets","description":"FX market-state datasets including spot FX, market sessions, risk sentiment, and COT positioning."},{"name":"data_catalogue","description":"Cross-domain metadata index for available indicators."}],"security":[{},{"APIKeyHeader":[]},{"HTTPBearer":[]}],"servers":[{"url":"https://api.fxmacrodata.com","description":"FXMacroData API"}]}