{"components":{"schemas":{"AnnouncementChangeEvent":{"additionalProperties":true,"properties":{"currency":{"title":"Currency","type":"string"},"event_id":{"title":"Event Id","type":"string"},"indicator":{"title":"Indicator","type":"string"},"latest_announcement":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Latest Announcement"},"records_written":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Records Written"},"timestamp":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Timestamp"}},"required":["event_id","currency","indicator"],"title":"AnnouncementChangeEvent","type":"object"},"AnnouncementChangesResponse":{"properties":{"count":{"title":"Count","type":"integer"},"data":{"items":{"$ref":"#/components/schemas/AnnouncementChangeEvent"},"title":"Data","type":"array"},"has_more":{"title":"Has More","type":"boolean"},"next_cursor":{"title":"Next Cursor","type":"string"},"retention_seconds":{"title":"Retention Seconds","type":"integer"},"scope":{"additionalProperties":true,"title":"Scope","type":"object"}},"required":["data","count","next_cursor","has_more","retention_seconds","scope"],"title":"AnnouncementChangesResponse","type":"object"},"AnnouncementDataPoint":{"additionalProperties":true,"properties":{"announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Announcement Datetime"},"announcement_datetime_local":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Datetime Local"},"announcement_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Id"},"collected_at_iso":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Collected At Iso"},"collected_at_ns":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Collected At Ns"},"date":{"title":"Date","type":"string"},"ingestion_latency_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ingestion Latency Ms"},"ingestion_latency_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ingestion Latency Reference"},"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"},"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"},"original_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Original Unit"},"original_val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Original Val"},"pct_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Change"},"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"},"val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Val"},"val_mom":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Val Mom"}},"required":["date"],"title":"AnnouncementDataPoint","type":"object"},"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).","properties":{"announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Release timestamp of the forecasted announcement, Unix epoch seconds (UTC).","title":"Announcement Datetime"},"announcement_datetime_local":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601 release time with timezone offset, rendered in the currency's market timezone.","title":"Announcement Datetime Local"},"announcement_id":{"description":"Stable identifier of the announcement these predictions target, in the form ``{currency}_{indicator}_{date}``.","examples":["usd_inflation_2026-01-31"],"title":"Announcement Id","type":"string"},"announcement_timing":{"anyOf":[{"enum":["past","future"],"type":"string"},{"type":"null"}],"description":"Whether the forecasted announcement is still upcoming (`future`) or already released (`past`).","title":"Announcement Timing"},"currency":{"title":"Currency","type":"string"},"date":{"description":"Reference period date of the forecast, ``YYYY-MM-DD``.","title":"Date","type":"string"},"indicator":{"title":"Indicator","type":"string"},"predictions":{"description":"List of forecasts for this announcement, one entry per prediction source.  Sorted by ``prediction_source`` for deterministic output.","items":{"$ref":"#/components/schemas/PredictionItem"},"title":"Predictions","type":"array"}},"required":["announcement_id","currency","indicator","date"],"title":"AnnouncementPredictions","type":"object"},"AnnouncementResponse":{"properties":{"cb_target":{"anyOf":[{"$ref":"#/components/schemas/CBTargetInfo"},{"type":"null"}]},"comparison_compatible":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Comparison Compatible"},"currency":{"title":"Currency","type":"string"},"data":{"items":{"$ref":"#/components/schemas/AnnouncementDataPoint"},"title":"Data","type":"array"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"earliest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Earliest Available Date"},"end_date":{"title":"End Date","type":"string"},"filters":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Filters"},"has_official_forecast":{"title":"Has Official Forecast","type":"boolean"},"indicator":{"title":"Indicator","type":"string"},"is_proxy":{"default":false,"title":"Is Proxy","type":"boolean"},"latest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Available Date"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"page_includes_latest_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Page Includes Latest Available"},"pagination":{"$ref":"#/components/schemas/PaginationInfo"},"policy_family":{"anyOf":[{"items":{"$ref":"#/components/schemas/PolicyFamilyEntry"},"type":"array"},{"type":"null"}],"title":"Policy Family"},"policy_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Policy Role"},"policy_structure":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Policy Structure"},"price_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Basis"},"provenance":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Provenance"},"proxy_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proxy Note"},"remap":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Remap"},"requested_end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested End Date"},"requested_start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested Start Date"},"requested_window_has_data":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Requested Window Has Data"},"seasonal_adjustment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seasonal Adjustment"},"selected_series":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Selected Series"},"selected_series_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Selected Series Id"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_local_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Local Name"},"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"},"start_date":{"title":"Start Date","type":"string"},"supported_options":{"anyOf":[{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},{"type":"null"}],"title":"Supported Options"},"value_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value Name"}},"required":["currency","indicator","has_official_forecast","start_date","end_date","data_quality","pagination","data"],"title":"AnnouncementResponse","type":"object"},"Body_oauth_token_oauth_token_post":{"properties":{"client_id":{"examples":["claude-connector"],"title":"Client Id","type":"string"},"client_secret":{"examples":["oauth-client-secret"],"title":"Client Secret","type":"string"},"code":{"examples":["auth_code_from_authorize_endpoint"],"title":"Code","type":"string"},"code_verifier":{"examples":["pkce-verifier-value"],"title":"Code Verifier","type":"string"},"grant_type":{"examples":["authorization_code"],"title":"Grant Type","type":"string"},"redirect_uri":{"examples":["https://claude.ai/api/mcp/auth_callback"],"title":"Redirect Uri","type":"string"},"resource":{"description":"Optional protected resource identifier sent by some MCP OAuth clients.","examples":["https://fxmacrodata.com"],"title":"Resource","type":"string"}},"required":["grant_type","code","redirect_uri","client_id"],"title":"Body_oauth_token_oauth_token_post","type":"object"},"CBTargetEntry":{"description":"A single central-bank target entry valid from ``effective_from``.","properties":{"effective_from":{"title":"Effective From","type":"string"},"lower":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lower"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"target":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Target"},"upper":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Upper"}},"required":["effective_from"],"title":"CBTargetEntry","type":"object"},"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.","properties":{"current":{"$ref":"#/components/schemas/CBTargetEntry"},"description":{"title":"Description","type":"string"},"history":{"items":{"$ref":"#/components/schemas/CBTargetEntry"},"title":"History","type":"array"},"source":{"title":"Source","type":"string"}},"required":["description","source","current","history"],"title":"CBTargetInfo","type":"object"},"COTDataPoint":{"additionalProperties":true,"properties":{"announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Announcement Datetime"},"date":{"title":"Date","type":"string"}},"required":["date"],"title":"COTDataPoint","type":"object"},"COTLatestResponse":{"additionalProperties":true,"properties":{"currency":{"title":"Currency","type":"string"},"data_lag_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Lag Days"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"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"},"expected_next_release_holiday_adjusted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Expected Next Release Holiday Adjusted"},"expected_next_release_schedule_last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Next Release Schedule Last Updated"},"expected_next_release_schedule_storage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Next Release Schedule Storage"},"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"},"fx_overlay":{"additionalProperties":true,"title":"Fx Overlay","type":"object"},"instrument":{"title":"Instrument","type":"string"},"last_sync_datetime":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Sync Datetime"},"last_sync_status":{"title":"Last Sync Status","type":"string"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"},"latest":{"$ref":"#/components/schemas/COTDataPoint"},"latest_available_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Latest Available Announcement Datetime"},"latest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Available Date"},"next_expected_cftc_release_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Expected Cftc Release Date"},"next_expected_cftc_report_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Expected Cftc Report Date"},"pct_diff_prev":{"additionalProperties":true,"title":"Pct Diff Prev","type":"object"},"previous":{"anyOf":[{"$ref":"#/components/schemas/COTDataPoint"},{"type":"null"}]},"source":{"title":"Source","type":"string"}},"required":["currency","instrument","fx_overlay","source","last_sync_status","data_quality","latest","pct_diff_prev"],"title":"COTLatestResponse","type":"object"},"COTResponse":{"additionalProperties":true,"properties":{"currency":{"title":"Currency","type":"string"},"data":{"items":{"$ref":"#/components/schemas/COTDataPoint"},"title":"Data","type":"array"},"data_lag_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Lag Days"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"end_date":{"title":"End Date","type":"string"},"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"},"expected_next_release_holiday_adjusted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Expected Next Release Holiday Adjusted"},"expected_next_release_schedule_last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Next Release Schedule Last Updated"},"expected_next_release_schedule_storage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Next Release Schedule Storage"},"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"},"fx_overlay":{"additionalProperties":true,"title":"Fx Overlay","type":"object"},"instrument":{"title":"Instrument","type":"string"},"last_sync_datetime":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Sync Datetime"},"last_sync_status":{"title":"Last Sync Status","type":"string"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"},"latest_available_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Latest Available Announcement Datetime"},"latest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Available Date"},"next_expected_cftc_release_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Expected Cftc Release Date"},"next_expected_cftc_report_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Expected Cftc Report Date"},"page_includes_latest_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Page Includes Latest Available"},"pagination":{"additionalProperties":true,"title":"Pagination","type":"object"},"provenance":{"additionalProperties":true,"title":"Provenance","type":"object"},"requested_window_has_data":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Requested Window Has Data"},"requested_window_includes_latest_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Requested Window Includes Latest Available"},"requested_window_latest_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested Window Latest Date"},"source":{"title":"Source","type":"string"},"source_url":{"title":"Source Url","type":"string"},"start_date":{"title":"Start Date","type":"string"}},"required":["currency","instrument","source","source_url","provenance","fx_overlay","start_date","end_date","last_sync_status","data_quality","pagination","data"],"title":"COTResponse","type":"object"},"CalendarReleaseRow":{"additionalProperties":true,"properties":{"announcement_datetime":{"title":"Announcement Datetime","type":"integer"},"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"},"announcement_datetime_utc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Announcement Datetime Utc"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"release":{"title":"Release","type":"string"},"release_date_confirmed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Release Date Confirmed"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"}},"required":["announcement_datetime","release"],"title":"CalendarReleaseRow","type":"object"},"CalendarResponse":{"additionalProperties":true,"properties":{"currency":{"title":"Currency","type":"string"},"data":{"items":{"$ref":"#/components/schemas/CalendarReleaseRow"},"title":"Data","type":"array"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"},"indicator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Indicator"},"requested_timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested Timezone"},"start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"}},"required":["currency","data_quality","data"],"title":"CalendarResponse","type":"object"},"CommodityDataPoint":{"additionalProperties":true,"properties":{"announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Announcement Datetime"},"date":{"title":"Date","type":"string"},"pct_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Change"},"pct_change_12m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pct Change 12M"},"val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Val"}},"required":["date"],"title":"CommodityDataPoint","type":"object"},"CommodityResponse":{"properties":{"currency":{"title":"Currency","type":"string"},"data":{"items":{"$ref":"#/components/schemas/CommodityDataPoint"},"title":"Data","type":"array"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"end_date":{"title":"End Date","type":"string"},"has_official_forecast":{"title":"Has Official Forecast","type":"boolean"},"indicator":{"title":"Indicator","type":"string"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"},"latest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Available Date"},"pagination":{"additionalProperties":true,"title":"Pagination","type":"object"},"provenance":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Provenance"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"start_date":{"title":"Start Date","type":"string"}},"required":["currency","indicator","has_official_forecast","data_quality","start_date","end_date","pagination","data"],"title":"CommodityResponse","type":"object"},"CurveNodePoint":{"properties":{"announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Announcement Datetime"},"date":{"title":"Date","type":"string"},"indicator":{"title":"Indicator","type":"string"},"maturity":{"title":"Maturity","type":"string"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"val":{"title":"Val","type":"number"}},"required":["indicator","maturity","date","val"],"title":"CurveNodePoint","type":"object"},"CurveProxyPoint":{"properties":{"date":{"title":"Date","type":"string"},"inverted":{"title":"Inverted","type":"boolean"},"label":{"title":"Label","type":"string"},"long_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Long Announcement Datetime"},"long_indicator":{"title":"Long Indicator","type":"string"},"long_maturity":{"title":"Long Maturity","type":"string"},"long_val":{"title":"Long Val","type":"number"},"short_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Short Announcement Datetime"},"short_indicator":{"title":"Short Indicator","type":"string"},"short_maturity":{"title":"Short Maturity","type":"string"},"short_val":{"title":"Short Val","type":"number"},"slope":{"title":"Slope","type":"number"},"slope_bps":{"title":"Slope Bps","type":"number"}},"required":["label","short_maturity","long_maturity","short_indicator","long_indicator","short_val","long_val","slope","slope_bps","inverted","date"],"title":"CurveProxyPoint","type":"object"},"CurveProxyResponse":{"properties":{"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of"},"currency":{"title":"Currency","type":"string"},"curve_family":{"title":"Curve Family","type":"string"},"data":{"items":{"$ref":"#/components/schemas/CurveProxyPoint"},"title":"Data","type":"array"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"inverted_count":{"title":"Inverted Count","type":"integer"},"node_count":{"title":"Node Count","type":"integer"},"official_forward_source_support":{"additionalProperties":true,"title":"Official Forward Source Support","type":"object"},"requested_date":{"title":"Requested Date","type":"string"},"slope_count":{"title":"Slope Count","type":"integer"},"sources":{"items":{"type":"string"},"title":"Sources","type":"array"}},"required":["currency","curve_family","requested_date","node_count","slope_count","inverted_count","sources","official_forward_source_support","data_quality","data"],"title":"CurveProxyResponse","type":"object"},"CurveSnapshotResponse":{"properties":{"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of"},"currency":{"title":"Currency","type":"string"},"curve_family":{"title":"Curve Family","type":"string"},"data":{"items":{"$ref":"#/components/schemas/CurveNodePoint"},"title":"Data","type":"array"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"metric":{"title":"Metric","type":"string"},"node_count":{"title":"Node Count","type":"integer"},"official_forward_source_support":{"additionalProperties":true,"title":"Official Forward Source Support","type":"object"},"requested_date":{"title":"Requested Date","type":"string"},"sources":{"items":{"type":"string"},"title":"Sources","type":"array"}},"required":["currency","curve_family","metric","requested_date","node_count","sources","official_forward_source_support","data_quality","data"],"title":"CurveSnapshotResponse","type":"object"},"DataQuality":{"additionalProperties":true,"properties":{"announcement_datetime_count":{"default":0,"title":"Announcement Datetime Count","type":"integer"},"data_lag_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Data Lag Days"},"has_announcement_datetime":{"title":"Has Announcement Datetime","type":"boolean"},"is_derived":{"default":false,"title":"Is Derived","type":"boolean"},"is_fallback":{"title":"Is Fallback","type":"boolean"},"is_official":{"title":"Is Official","type":"boolean"},"is_proxy":{"title":"Is Proxy","type":"boolean"},"is_stale":{"title":"Is Stale","type":"boolean"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"},"latest_available_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Available Date"},"missing_announcement_datetime_count":{"default":0,"title":"Missing Announcement Datetime Count","type":"integer"},"point_in_time_safe":{"title":"Point In Time Safe","type":"boolean"},"quality_scope":{"default":"full_result","title":"Quality Scope","type":"string"},"row_count":{"default":0,"title":"Row Count","type":"integer"},"source_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Name"},"source_type":{"enum":["official","public","fallback","derived"],"title":"Source Type","type":"string"},"stale_after_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Stale After Days"}},"required":["is_official","is_proxy","is_fallback","is_stale","has_announcement_datetime","point_in_time_safe","source_type"],"title":"DataQuality","type":"object"},"ForexDataPoint":{"properties":{"adx_14":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Adx 14"},"announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Announcement Datetime"},"atr_14":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Atr 14"},"bb_lower":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bb Lower"},"bb_middle":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bb Middle"},"bb_upper":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bb Upper"},"date":{"title":"Date","type":"string"},"ema_12":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ema 12"},"ema_20":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ema 20"},"ema_200":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ema 200"},"ema_26":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ema 26"},"ema_50":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ema 50"},"macd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Macd"},"macd_histogram":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Macd Histogram"},"macd_signal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Macd Signal"},"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"},"rsi_14":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rsi 14"},"sma_20":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sma 20"},"sma_200":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sma 200"},"sma_50":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sma 50"},"source":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Source"},"val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Val"}},"required":["date"],"title":"ForexDataPoint","type":"object"},"ForexResponse":{"properties":{"base":{"title":"Base","type":"string"},"data":{"items":{"$ref":"#/components/schemas/ForexDataPoint"},"title":"Data","type":"array"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"end_date":{"title":"End Date","type":"string"},"indicators":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Indicators"},"pagination":{"additionalProperties":true,"title":"Pagination","type":"object"},"pair_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Pair Metadata"},"provenance":{"additionalProperties":true,"title":"Provenance","type":"object"},"quote":{"title":"Quote","type":"string"},"source":{"title":"Source","type":"string"},"start_date":{"title":"Start Date","type":"string"},"technical_indicator_basis":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Technical Indicator Basis"}},"required":["base","quote","source","provenance","data_quality","start_date","end_date","pagination","data"],"title":"ForexResponse","type":"object"},"ForwardCurvePoint":{"properties":{"date":{"title":"Date","type":"string"},"end_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"End Announcement Datetime"},"end_indicator":{"title":"End Indicator","type":"string"},"end_maturity":{"title":"End Maturity","type":"string"},"end_years":{"title":"End Years","type":"number"},"horizon_years":{"title":"Horizon Years","type":"number"},"label":{"title":"Label","type":"string"},"start_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Start Announcement Datetime"},"start_indicator":{"title":"Start Indicator","type":"string"},"start_maturity":{"title":"Start Maturity","type":"string"},"start_years":{"title":"Start Years","type":"number"},"val":{"title":"Val","type":"number"},"val_bps":{"title":"Val Bps","type":"number"}},"required":["label","start_maturity","end_maturity","start_indicator","end_indicator","start_years","end_years","horizon_years","date","val","val_bps"],"title":"ForwardCurvePoint","type":"object"},"ForwardCurveResponse":{"properties":{"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of"},"currency":{"title":"Currency","type":"string"},"curve_family":{"title":"Curve Family","type":"string"},"data":{"items":{"$ref":"#/components/schemas/ForwardCurvePoint"},"title":"Data","type":"array"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"method":{"title":"Method","type":"string"},"node_count":{"title":"Node Count","type":"integer"},"official_forward_source_support":{"additionalProperties":true,"title":"Official Forward Source Support","type":"object"},"requested_date":{"title":"Requested Date","type":"string"},"segment_count":{"title":"Segment Count","type":"integer"},"sources":{"items":{"type":"string"},"title":"Sources","type":"array"}},"required":["currency","curve_family","method","requested_date","node_count","segment_count","sources","official_forward_source_support","data_quality","data"],"title":"ForwardCurveResponse","type":"object"},"ForwardDifferentialPoint":{"properties":{"base_end_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Base End Announcement Datetime"},"base_end_val":{"title":"Base End Val","type":"number"},"base_forward_val":{"title":"Base Forward Val","type":"number"},"base_start_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Base Start Announcement Datetime"},"base_start_val":{"title":"Base Start Val","type":"number"},"date":{"title":"Date","type":"string"},"differential":{"title":"Differential","type":"number"},"differential_bps":{"title":"Differential Bps","type":"number"},"quote_end_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quote End Announcement Datetime"},"quote_end_val":{"title":"Quote End Val","type":"number"},"quote_forward_val":{"title":"Quote Forward Val","type":"number"},"quote_start_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quote Start Announcement Datetime"},"quote_start_val":{"title":"Quote Start Val","type":"number"}},"required":["date","base_forward_val","quote_forward_val","differential","differential_bps","base_start_val","base_end_val","quote_start_val","quote_end_val"],"title":"ForwardDifferentialPoint","type":"object"},"ForwardDifferentialResponse":{"properties":{"base":{"title":"Base","type":"string"},"curve_family":{"title":"Curve Family","type":"string"},"data":{"items":{"$ref":"#/components/schemas/ForwardDifferentialPoint"},"title":"Data","type":"array"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"end_date":{"title":"End Date","type":"string"},"end_tenor":{"title":"End Tenor","type":"string"},"forward_label":{"title":"Forward Label","type":"string"},"latest_differential":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latest Differential"},"latest_differential_bps":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latest Differential Bps"},"matched_points":{"title":"Matched Points","type":"integer"},"official_forward_source_support":{"additionalProperties":true,"title":"Official Forward Source Support","type":"object"},"pagination":{"additionalProperties":true,"title":"Pagination","type":"object"},"quote":{"title":"Quote","type":"string"},"sources":{"additionalProperties":true,"title":"Sources","type":"object"},"start_date":{"title":"Start Date","type":"string"},"start_tenor":{"title":"Start Tenor","type":"string"}},"required":["base","quote","curve_family","start_tenor","end_tenor","forward_label","start_date","end_date","matched_points","sources","official_forward_source_support","data_quality","pagination","data"],"title":"ForwardDifferentialResponse","type":"object"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"PaginationInfo":{"properties":{"has_more":{"title":"Has More","type":"boolean"},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"},"offset":{"title":"Offset","type":"integer"},"page_includes_latest_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Page Includes Latest Available"},"returned_count":{"title":"Returned Count","type":"integer"},"total_count":{"title":"Total Count","type":"integer"}},"required":["offset","returned_count","total_count","has_more"],"title":"PaginationInfo","type":"object"},"PolicyFamilyEntry":{"properties":{"indicator":{"title":"Indicator","type":"string"},"role":{"title":"Role","type":"string"},"value_name":{"title":"Value Name","type":"string"}},"required":["indicator","value_name","role"],"title":"PolicyFamilyEntry","type":"object"},"PredictionItem":{"description":"A single per-source forecast inside an announcement group.","properties":{"confidence":{"anyOf":[{"maximum":1.0,"minimum":0.0,"type":"number"},{"type":"null"}],"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.","title":"Confidence"},"generated_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Unix epoch seconds (UTC) when this prediction was generated. Present for any prediction stored in the multi-prediction list (``predictions`` field on the announcement row). Legacy single-prediction field rows do not carry this value.","title":"Generated At"},"predicted_value":{"title":"Predicted Value","type":"number"},"prediction_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"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.","title":"Prediction Reason"},"prediction_source":{"anyOf":[{"type":"string"},{"type":"null"}],"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.","title":"Prediction Source"},"prediction_source_label":{"anyOf":[{"type":"string"},{"type":"null"}],"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.","title":"Prediction Source Label"},"prediction_type":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Category of forecast — one of ``market_consensus``, ``market_prediction``, ``model_nowcast``, ``survey``, ``central_bank_forecast``, ``imf_weo``, or ``fxmacrodata``.","title":"Prediction Type"}},"required":["predicted_value"],"title":"PredictionItem","type":"object"},"PredictionsResponse":{"properties":{"count":{"default":0,"description":"Number of announcement groups returned in ``data``.","title":"Count","type":"integer"},"currency":{"title":"Currency","type":"string"},"data":{"items":{"$ref":"#/components/schemas/AnnouncementPredictions"},"title":"Data","type":"array"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"},"indicator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Indicator"},"prediction_count":{"default":0,"description":"Total number of per-source predictions across all groups.","title":"Prediction Count","type":"integer"},"prediction_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prediction Source"},"prediction_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prediction Type"},"start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"}},"required":["currency","data_quality","data"],"title":"PredictionsResponse","type":"object"},"RateDifferentialPoint":{"properties":{"base_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Base Announcement Datetime"},"base_val":{"title":"Base Val","type":"number"},"date":{"title":"Date","type":"string"},"quote_announcement_datetime":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quote Announcement Datetime"},"quote_val":{"title":"Quote Val","type":"number"},"spread":{"title":"Spread","type":"number"},"spread_bps":{"title":"Spread Bps","type":"number"}},"required":["date","base_val","quote_val","spread","spread_bps"],"title":"RateDifferentialPoint","type":"object"},"RateDifferentialResponse":{"properties":{"base":{"title":"Base","type":"string"},"base_indicator":{"title":"Base Indicator","type":"string"},"base_latest":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Base Latest"},"data":{"items":{"$ref":"#/components/schemas/RateDifferentialPoint"},"title":"Data","type":"array"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"end_date":{"title":"End Date","type":"string"},"latest_spread":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latest Spread"},"latest_spread_bps":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latest Spread Bps"},"matched_points":{"title":"Matched Points","type":"integer"},"measure_requested":{"title":"Measure Requested","type":"string"},"measure_used":{"title":"Measure Used","type":"string"},"pagination":{"additionalProperties":true,"title":"Pagination","type":"object"},"quote":{"title":"Quote","type":"string"},"quote_indicator":{"title":"Quote Indicator","type":"string"},"quote_latest":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quote Latest"},"sources":{"additionalProperties":true,"title":"Sources","type":"object"},"start_date":{"title":"Start Date","type":"string"},"unit":{"title":"Unit","type":"string"}},"required":["base","quote","measure_requested","measure_used","base_indicator","quote_indicator","start_date","end_date","matched_points","unit","sources","data_quality","pagination","data"],"title":"RateDifferentialResponse","type":"object"},"RevisionEntry":{"description":"A single published value for a given period, identified by release epoch.\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 normalised to ``None`` by\n``make_json_safe`` before serialisation.","properties":{"epoch":{"title":"Epoch","type":"integer"},"val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Val"}},"required":["epoch"],"title":"RevisionEntry","type":"object"},"SeasonalityResponse":{"properties":{"base":{"title":"Base","type":"string"},"data":{"items":{"$ref":"#/components/schemas/SeasonalityRow"},"title":"Data","type":"array"},"data_quality":{"$ref":"#/components/schemas/DataQuality"},"end_date":{"title":"End Date","type":"string"},"instrument":{"title":"Instrument","type":"string"},"lookback_years":{"title":"Lookback Years","type":"integer"},"month":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Month"},"provenance":{"additionalProperties":true,"title":"Provenance","type":"object"},"quote":{"title":"Quote","type":"string"},"source":{"title":"Source","type":"string"},"start_date":{"title":"Start Date","type":"string"}},"required":["instrument","base","quote","source","provenance","start_date","end_date","lookback_years","data_quality","data"],"title":"SeasonalityResponse","type":"object"},"SeasonalityReturn":{"properties":{"end_date":{"title":"End Date","type":"string"},"end_value":{"title":"End Value","type":"number"},"month":{"title":"Month","type":"integer"},"return_pct":{"title":"Return Pct","type":"number"},"start_date":{"title":"Start Date","type":"string"},"start_value":{"title":"Start Value","type":"number"},"year":{"title":"Year","type":"integer"}},"required":["year","month","start_date","end_date","start_value","end_value","return_pct"],"title":"SeasonalityReturn","type":"object"},"SeasonalityRow":{"properties":{"avg_return_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Return Pct"},"best_return_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Best Return Pct"},"median_return_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Median Return Pct"},"month":{"title":"Month","type":"integer"},"month_name":{"title":"Month Name","type":"string"},"returns":{"items":{"$ref":"#/components/schemas/SeasonalityReturn"},"title":"Returns","type":"array"},"sample_size":{"title":"Sample Size","type":"integer"},"seasonality_strength":{"title":"Seasonality Strength","type":"string"},"signal":{"title":"Signal","type":"string"},"std_dev_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Std Dev Pct"},"win_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Win Rate"},"worst_return_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Worst Return Pct"},"years":{"items":{"type":"integer"},"title":"Years","type":"array"}},"required":["month","month_name","sample_size","signal","seasonality_strength","years","returns"],"title":"SeasonalityRow","type":"object"},"SummarizeRequest":{"properties":{"max_sentences":{"default":3,"title":"Max Sentences","type":"integer"},"text":{"title":"Text","type":"string"}},"required":["text"],"title":"SummarizeRequest","type":"object"},"SummarizeResponse":{"properties":{"source":{"default":"extractive","title":"Source","type":"string"},"summary":{"title":"Summary","type":"string"}},"required":["summary"],"title":"SummarizeResponse","type":"object"},"ValidationError":{"properties":{"ctx":{"title":"Context","type":"object"},"input":{"title":"Input"},"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"},"WebhookSubscriptionCreate":{"properties":{"currencies":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"Optional lowercase currency filters. Empty means all currencies.","title":"Currencies"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional customer label for support and operations.","title":"Description"},"events":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"Webhook events. Currently only `announcement` is supported.","title":"Events"},"indicators":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"Optional indicator slug filters. Empty means all indicators.","title":"Indicators"},"url":{"description":"HTTPS endpoint that receives webhook POSTs.","title":"Url","type":"string"}},"required":["url"],"title":"WebhookSubscriptionCreate","type":"object"},"WebhookSubscriptionUpdate":{"properties":{"currencies":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Currencies"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"events":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Events"},"indicators":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Indicators"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Use `active` or `disabled`.","title":"Status"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"title":"WebhookSubscriptionUpdate","type":"object"}},"securitySchemes":{"FXMacroDataOAuth":{"type":"oauth2","description":"OAuth authorization for FXMacroData account access. Discovery metadata is available at https://api.fxmacrodata.com/.well-known/oauth-authorization-server.","flows":{"authorizationCode":{"authorizationUrl":"https://api.fxmacrodata.com/oauth/authorize","tokenUrl":"https://api.fxmacrodata.com/oauth/token","scopes":{"fxmacrodata.read":"Read FXMacroData macro, FX, COT, commodity, and prediction data."}}}}}},"info":{"description":"ChatGPT Actions schema for selected FXMacroData REST endpoints. This schema excludes MCP and GraphQL and uses OAuth for protected data.","title":"FXMacroData ChatGPT Action","version":"1.0.0"},"openapi":"3.1.0","paths":{"/v1/announcements/{currency}/{indicator}":{"get":{"description":"Return normalized macro release data for one currency and indicator, including values and official announcement timestamps.","operationId":"getIndicatorData","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string"},"description":"3-letter currency code, for example USD or EUR."},{"name":"indicator","in":"path","required":true,"schema":{"type":"string"},"description":"Indicator slug, for example inflation, gdp, unemployment, or policy_rate."},{"name":"start_date","in":"query","required":false,"schema":{"type":"string"},"description":"Optional start date in YYYY-MM-DD format."},{"name":"end_date","in":"query","required":false,"schema":{"type":"string"},"description":"Optional end date in YYYY-MM-DD format."},{"name":"series_mode","in":"query","required":false,"schema":{"default":"raw","type":"string"},"description":"Optional series mode. Use aligned by default; use raw when you need unmerged source rows."},{"name":"limit","in":"query","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"},"description":"Optional page size."},{"name":"offset","in":"query","required":false,"schema":{"default":0,"minimum":0,"type":"integer"},"description":"Optional pagination offset."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}]},"description":"Optional query parameter. One-based page number for callers that prefer page-based pagination. When supplied, `offset` is derived as `(pa..."},{"name":"seasonality","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":"Optional seasonal adjustment selector. Use sa or nsa when supported by the endpoint."},{"name":"frequency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":"Optional returned change basis: level, yoy, qoq, or mom when supported by the endpoint."},{"name":"revisions","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"latest"},"description":"Optional revision view: latest, first, final, or all when supported by the endpoint."},{"name":"basis","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":"Optional real/nominal selector. Use real or nominal when supported by the endpoint."},{"name":"official_only","in":"query","required":false,"schema":{"default":true,"type":"boolean"},"description":"Optional boolean. Defaults true to remove explicit fallback rows; prohibited private aggregator rows are always removed."}],"responses":{"200":{"content":{"application/json":{"example":{"cb_target":{"current":{"effective_from":"2020-08-27","notes":"Flexible Average Inflation Targeting (FAIT) adopted; 2% goal is defined on PCE","target":2.0},"description":"Federal Reserve inflation objective (2% goal is defined on PCE, not CPI)","history":[{"effective_from":"2012-01-25","notes":"First explicit 2% inflation goal announced by FOMC (defined on the PCE price index)","target":2.0},{"effective_from":"2020-08-27","notes":"Flexible Average Inflation Targeting (FAIT) adopted; 2% goal is defined on PCE","target":2.0}],"source":"Federal Reserve Statement on Longer-Run Goals and Monetary Policy Strategy"},"currency":"USD","data":[{"announcement_datetime":1769754600,"announcement_datetime_local":"2026-01-30T08:30:00-05:00","date":"2026-01-31","pct_change":0.2,"val":2.9,"val_mom":0.5},{"announcement_datetime":1772433000,"announcement_datetime_local":"2026-03-01T08:30:00-05:00","date":"2026-02-28","pct_change":0.1,"val":3.0,"val_mom":0.2}],"earliest_available_date":"2025-01-01","end_date":"2026-03-01","has_official_forecast":false,"indicator":"inflation","latest_available_date":"2026-02-28","pagination":{"has_more":false,"limit":20,"offset":0,"returned_count":2,"total_count":2},"start_date":"2025-01-01"},"schema":{"$ref":"#/components/schemas/AnnouncementResponse"}}},"description":"Normalized macro series for one currency and indicator."},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get macroeconomic indicator data","tags":["announcements"],"security":[{"FXMacroDataOAuth":["fxmacrodata.read"]}]}},"/v1/calendar/{currency}":{"get":{"description":"Return upcoming release dates for a currency, optionally filtered to one indicator.","operationId":"getReleaseCalendar","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string"},"description":"3-letter currency code, for example USD or AUD."},{"name":"indicator","in":"query","required":false,"schema":{"type":"string"},"description":"Optional indicator slug filter, for example inflation or gdp."},{"name":"start_date","in":"query","required":false,"schema":{"type":"string"},"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 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, for example America/Sao_Paulo."}],"responses":{"200":{"content":{"application/json":{"example":{"currency":"USD","data":[{"announcement_datetime":1773077400,"announcement_datetime_local":"2026-03-11T08:30:00-04:00","release":"inflation"},{"announcement_datetime":1773682200,"announcement_datetime_local":"2026-03-18T08:30:00-04:00","release":"non_farm_payrolls"}],"indicator":"inflation","timezone":"America/New_York"},"schema":{"$ref":"#/components/schemas/CalendarResponse"}}},"description":"Upcoming release dates for the selected currency and optional indicator filter."},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get upcoming economic data release dates","tags":["calendar"],"security":[]}},"/v1/commodities/{indicator}":{"get":{"description":"Return a commodity time series for one indicator with optional date filtering.","operationId":"getCommodityData","parameters":[{"name":"indicator","in":"path","required":true,"schema":{"type":"string"},"description":"Commodity indicator slug, for example oil_wti, oil_brent, natural_gas, gold, silver, or platinum."},{"name":"start_date","in":"query","required":false,"schema":{"type":"string"},"description":"Optional start date in YYYY-MM-DD format."},{"name":"end_date","in":"query","required":false,"schema":{"type":"string"},"description":"Optional end date in YYYY-MM-DD format."},{"name":"limit","in":"query","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"},"description":"Optional query parameter. Maximum rows to return. Defaults to 20. Maximum 100."},{"name":"offset","in":"query","required":false,"schema":{"default":0,"minimum":0,"type":"integer"},"description":"Optional query parameter. Number of rows to skip after most-recent-first ordering."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}]},"description":"Optional query parameter. One-based page number. When supplied, it takes precedence over offset."}],"responses":{"200":{"content":{"application/json":{"example":{"currency":"COMM","data":[{"date":"2026-01-31","pct_change":1.8,"pct_change_12m":28.5,"val":2835.5},{"date":"2026-02-28","pct_change":1.2,"pct_change_12m":30.1,"val":2870.0}],"end_date":"2026-03-15","has_official_forecast":false,"indicator":"gold","source":"The Royal Mint / LBMA","source_url":"https://www.royalmint.com/","start_date":"2025-03-15"},"schema":{"$ref":"#/components/schemas/CommodityResponse"}}},"description":"Time-series data for the requested commodity indicator."},"404":{"content":{"application/json":{"example":{"detail":"Unsupported commodity indicator (xyz)"}}},"description":"Unsupported commodity indicator."},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get commodity indicator data","tags":["commodities"],"security":[{"FXMacroDataOAuth":["fxmacrodata.read"]}]}},"/v1/cot/{currency}":{"get":{"description":"Return CFTC Commitment of Traders history for the futures market mapped to the selected currency.","operationId":"getCotData","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string"},"description":"3-letter currency code for the mapped futures market, for example JPY or EUR."},{"name":"start_date","in":"query","required":false,"schema":{"type":"string"},"description":"Optional start date in YYYY-MM-DD format."},{"name":"end_date","in":"query","required":false,"schema":{"type":"string"},"description":"Optional end date in YYYY-MM-DD format."},{"name":"limit","in":"query","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"},"description":"Optional query parameter. Maximum rows to return. Defaults to 20. Maximum 100."},{"name":"offset","in":"query","required":false,"schema":{"default":0,"minimum":0,"type":"integer"},"description":"Optional query parameter. Number of rows to skip after most-recent-first ordering."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}]},"description":"Optional query parameter. One-based page number. When supplied, it takes precedence over offset."}],"responses":{"200":{"content":{"application/json":{"example":{"currency":"JPY","data":[{"announcement_datetime":1771996800,"date":"2026-02-24","noncommercial_long":62400,"noncommercial_net":-8020,"noncommercial_short":70420,"open_interest":245678}],"end_date":"2026-03-01","fx_overlay":{"pair":"USD/JPY"},"instrument":"JAPANESE YEN - CHICAGO MERCANTILE EXCHANGE","source":"CFTC public reporting API","source_url":"https://publicreporting.cftc.gov/resource/6dca-aqww.json","start_date":"2025-09-01"},"schema":{"$ref":"#/components/schemas/COTResponse"}}},"description":"COT report history for the selected futures market."},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get CFTC Commitment of Traders (COT) data","tags":["fx_markets"],"security":[{"FXMacroDataOAuth":["fxmacrodata.read"]}]}},"/v1/data_catalogue/{currency}":{"get":{"description":"Return the currently available indicator catalogue for one currency, with optional capability or coverage metadata.","operationId":"getDataCatalogue","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string"},"description":"3-letter currency code, for example USD or GBP."},{"name":"include_capabilities","in":"query","required":false,"schema":{"default":false,"type":"boolean"},"description":"Set true to include endpoint and auth capability metadata."},{"name":"include_coverage","in":"query","required":false,"schema":{"default":false,"type":"boolean"},"description":"Set true to include coverage metadata."},{"name":"indicator","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":"Optional indicator slug filter used with include_coverage=true."}],"responses":{"200":{"content":{"application/json":{"example":{"gdp":{"frequency":"Quarterly","has_official_forecast":true,"name":"GDP","unit":"%QoQ"},"gov_bond_10y":{"frequency":"Daily","has_official_forecast":false,"name":"10-Year Government Bond Yield","unit":"%"},"inflation":{"frequency":"Monthly","has_official_forecast":false,"name":"Inflation (CPI)","unit":"%YoY"},"policy_rate":{"frequency":"Daily","has_official_forecast":false,"name":"Policy Interest Rate","unit":"%"},"unemployment":{"frequency":"Monthly","has_official_forecast":false,"name":"Unemployment Rate","unit":"%"}},"schema":{}}},"description":"Indicator metadata keyed by indicator slug, with optional capability and coverage metadata."},"404":{"content":{"application/json":{"example":{"detail":"Currency 'XYZ' not found."}}},"description":"Currency not found."},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get Currently Available Macroeconomic Indicators","tags":["data_catalogue"],"security":[]}},"/v1/forex/{base}/{quote}":{"get":{"description":"Return daily FX spot rates for a currency pair, with optional date range filters and technical indicators.","operationId":"getFxSpotRates","parameters":[{"name":"base","in":"path","required":true,"schema":{"type":"string"},"description":"Base currency code, for example EUR."},{"name":"quote","in":"path","required":true,"schema":{"type":"string"},"description":"Quote currency code, for example USD."},{"name":"start_date","in":"query","required":false,"schema":{"type":"string"},"description":"Optional start date in YYYY-MM-DD format."},{"name":"end_date","in":"query","required":false,"schema":{"type":"string"},"description":"Optional end date in YYYY-MM-DD format."},{"name":"limit","in":"query","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"},"description":"Optional query parameter. Maximum rows to return. Defaults to 20. Maximum 100."},{"name":"offset","in":"query","required":false,"schema":{"default":0,"minimum":0,"type":"integer"},"description":"Optional query parameter. Number of rows to skip after most-recent-first ordering."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}]},"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":"Optional comma-separated technical indicators, or all."}],"responses":{"200":{"content":{"application/json":{"example":{"base":"USD","data":[{"date":"2026-06-18","observation_datetime":1781740800,"observation_datetime_iso":"2026-06-18T00:00:00Z","observation_datetime_precision":"date","source":{"derivation_method":"direct_original_pair","is_derived":false,"pair_consistency_check":"passed","source_legs":[{"pair":"USD/JPY","source_frequency":"daily","source_provider":"BIS XRU"}],"source_pair":"USD/JPY"},"val":161.1288},{"date":"2026-06-17","observation_datetime":1781654400,"observation_datetime_iso":"2026-06-17T00:00:00Z","observation_datetime_precision":"date","source":{"derivation_method":"direct_original_pair","is_derived":false,"pair_consistency_check":"passed","source_legs":[{"pair":"USD/JPY","source_frequency":"daily","source_provider":"BIS XRU"}],"source_pair":"USD/JPY"},"val":161.1288}],"data_quality":{"datetime_field":"observation_datetime","datetime_precision":"date","is_derived":false,"source_legs":[{"pair":"USD/JPY","source_frequency":"daily","source_provider":"BIS XRU"}],"source_name":"Official central-bank reference rates","source_type":"official"},"end_date":"2026-06-18","indicators":{"macd":{"histogram":0.0003,"macd":0.0012,"signal":0.0009},"rsi_14":58.42,"sma_20":0.6519},"pair_metadata":{"derivation_method":"direct_original_pair","derived_from_cross":false,"derived_from_inverse":false,"derived_from_source_legs":false,"direct_available":true,"inverse_available":false,"is_derived":false,"pair_consistency_check":"passed","source_legs":[{"pair":"USD/JPY","source_frequency":"daily","source_name":"BIS XRU daily USD exchange rates","source_provider":"BIS XRU","source_url":"https://stats.bis.org/api/v2/data/dataflow/BIS/WS_XRU/1.0"}],"source_pair":"USD/JPY"},"provenance":{"publisher":"Official central-bank reference rates","storage":"FXMacroData Firestore","timestamp_field":"date","value_field":"val"},"quote":"JPY","source":"Official central-bank reference rates","start_date":"2026-06-17"},"schema":{"$ref":"#/components/schemas/ForexResponse"}}},"description":"Daily FX spot-rate series with optional computed technical indicators."},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get FX spot rates","tags":["fx_markets"],"security":[]}},"/v1/market_sessions":{"get":{"description":"Return the current or requested-time snapshot of Sydney, Tokyo, London, and New York FX sessions and overlaps.","operationId":"getMarketSessions","parameters":[{"name":"at","in":"query","required":false,"schema":{"type":"string"},"description":"Optional UTC timestamp in ISO-8601 format."}],"responses":{"200":{"content":{"application/json":{"example":{"is_market_day":true,"now_unix":1741176000,"now_utc":"2026-03-05T12:00:00Z","overlaps":[{"description":"Most active window of the trading day.","duration_hours":4.0,"end_unix":1741194000,"end_utc":"2026-03-05T17:00:00Z","is_active":false,"name":"London / New York","notable_pairs":["EUR/USD","GBP/USD","USD/CHF","USD/CAD"],"priority":"high","seconds_to_start":3600,"sessions":["London","New York"],"start_unix":1741179600,"start_utc":"2026-03-05T13:00:00Z"}],"sessions":[{"close_unix":1741161600,"close_utc":"2026-03-05T08:00:00Z","currencies":["AUD","NZD"],"description":"First major session to open after the weekend.","display_name":"Sydney (Australia / New Zealand)","is_open":false,"name":"Sydney","open_unix":1741129200,"open_utc":"2026-03-04T23:00:00Z","timezone":"Australia/Sydney"},{"close_unix":1741194000,"close_utc":"2026-03-05T17:00:00Z","currencies":["GBP","EUR","CHF"],"description":"Largest FX session by volume.","display_name":"London (United Kingdom / Europe)","is_open":true,"name":"London","open_unix":1741161600,"open_utc":"2026-03-05T08:00:00Z","seconds_to_close":18000,"timezone":"Europe/London"}]},"schema":{}}},"description":"Session snapshot including open/close state and overlap windows."},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"FX market session timetable","tags":["fx_markets"],"security":[]}},"/v1/predictions/{currency}/{indicator}":{"get":{"description":"Return stored forecasts for one currency and indicator, with optional filters for source, type, period, and pagination.","operationId":"getIndicatorPredictions","parameters":[{"name":"currency","in":"path","required":true,"schema":{"type":"string"},"description":"3-letter currency code, for example USD."},{"name":"indicator","in":"path","required":true,"schema":{"type":"string"},"description":"Indicator slug, for example inflation."},{"name":"prediction_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":"Optional forecast type filter."},{"name":"prediction_source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":"Optional forecast source filter."},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":"Optional start date in YYYY-MM-DD format."},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":"Optional end date in YYYY-MM-DD format."},{"name":"limit","in":"query","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"},"description":"Optional page size."},{"name":"offset","in":"query","required":false,"schema":{"default":0,"minimum":0,"type":"integer"},"description":"Optional pagination offset."},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}]},"description":"Optional query parameter. One-based page number. When supplied, it takes precedence over offset."}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictionsResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"List predictions for one indicator of a currency","tags":["predictions"],"security":[{"FXMacroDataOAuth":["fxmacrodata.read"]}]}}},"tags":[{"description":"Service health status endpoint.","name":"health"},{"description":"Primary product: macroeconomic announcement time series.","name":"announcements"},{"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":"predictions"},{"description":"Standalone economic and policy release calendar endpoint spanning announcements and central-bank decision timing.","name":"calendar"},{"description":"Central bank decisions and policy transmission: rates/yields-related announcement subset, policy rules, and central bank officials.","name":"monetary_policy"},{"description":"Standalone official news and press-release feeds relevant to FX.","name":"news"},{"description":"Official central-bank press-release archive endpoints.","name":"press_releases"},{"description":"Customer webhook subscription management and delivery logs.","name":"webhooks"},{"description":"Commodity and energy datasets, including OPEC and planned commodity price endpoints.","name":"commodities"},{"description":"FX market-state datasets including spot FX, market sessions, risk sentiment, and COT positioning.","name":"fx_markets"},{"description":"Cross-domain metadata index for available indicators.","name":"data_catalogue"},{"description":"GraphQL query interface for the core public data surface.","name":"graphql"},{"description":"Model Context Protocol endpoint for FXMacroData tools and resources.","name":"mcp"},{"description":"WebSocket endpoint for real-time FXMacroData release-event streams.","name":"websocket"}],"servers":[{"url":"https://api.fxmacrodata.com","description":"FXMacroData production API"}],"x-fxmacrodata-oauth":{"authorization_server_metadata_url":"https://api.fxmacrodata.com/.well-known/oauth-authorization-server","protected_resource_metadata_url":"https://api.fxmacrodata.com/.well-known/oauth-protected-resource","registration_url":"https://api.fxmacrodata.com/oauth/register"},"security":[{"FXMacroDataOAuth":["fxmacrodata.read"]}]}