currency |
string |
3-letter currency code. |
indicator |
string |
Indicator slug as requested. |
has_official_forecast |
boolean |
True if the central bank publishes an official forecast for this indicator. |
start_date |
string |
Earliest date in the filtered result set (YYYY-MM-DD). |
end_date |
string |
Latest date in the filtered result set (YYYY-MM-DD). |
earliest_available_date |
string | null |
Earliest date available for this series before any date filter or pagination is applied. |
latest_available_date |
string | null |
Latest date available for this series before pagination is applied. |
requested_start_date |
string |
Start date applied to the request after endpoint defaults are resolved. |
requested_end_date |
string |
End date applied to the request after endpoint defaults are resolved. |
requested_window_has_data |
boolean |
False when the endpoint returned the latest eligible observation before the requested window instead of an observation inside the requested date range. |
page_includes_latest_available |
boolean |
True when the current page includes latest_available_date. False usually means the latest row is on a different page or the response is a historical page. |
pagination.limit |
integer |
Page size used for this response. |
pagination.offset |
integer |
Zero-based offset used for this response. |
pagination.returned_count |
integer |
Number of rows included in data[]. |
pagination.total_count |
integer |
Total number of rows matching the path and date filters before pagination. |
pagination.has_more |
boolean |
True when another page is available. |
pagination.next_offset |
integer | null |
Offset to use for the next page, or null when there are no more rows. |
pagination.page_includes_latest_available |
boolean |
Mirrors page_includes_latest_available inside the pagination envelope for clients that keep pagination state together. |
cb_target |
object | null |
Central bank target metadata (e.g. inflation target range), if applicable. |
data[].date |
string |
Observation date (YYYY-MM-DD). |
data[].announcement_id |
string |
Stable announcement identifier in the form `{currency}_{indicator}_{date}` — use it to join predictions from /v1/predictions/{currency} and revision history. |
data[].val |
number | null |
Observed value in the indicator's native unit. |
data[].announcement_datetime |
integer | null |
Unix timestamp (UTC) of the official data release. |
data[].pct_change |
number | null |
Period-over-period percentage change. |
data[].pct_change_12m |
number | null |
12-month rolling percentage change. |
data_quality |
object |
Standardized endpoint-level quality, source, freshness, and point-in-time safety metadata for the returned payload. |
data_quality.is_official |
boolean |
True when the response is backed by an official source and is not proxy, fallback, derived, or prohibited-source data. |
data_quality.is_proxy |
boolean |
True when the response is an explicit proxy for the requested concept rather than the primary official series. |
data_quality.is_fallback |
boolean |
True when one or more returned rows are marked as fallback data. |
data_quality.is_stale |
boolean |
True when the newest available observation is older than the endpoint's frequency-aware stale_after_days threshold. |
data_quality.has_announcement_datetime |
boolean |
True when all rows in the quality scope carry the required announcement timestamp field or fields. |
data_quality.point_in_time_safe |
boolean |
True when the result is not fallback/prohibited data and has complete release timestamps for point-in-time workflows. |
data_quality.latest_available_date |
string | null |
Freshest observation date available for the quality scope before pagination-specific caveats. |
data_quality.last_updated |
string | null |
Server-side refresh or update timestamp when the endpoint has one available. |
data_quality.data_lag_days |
integer | null |
Calendar-day lag between today and latest_available_date; null when the latest date is missing, invalid, or future-dated. |
data_quality.source_name |
string | null |
Human-readable source or publisher label used for the response. |
data_quality.source_type |
official | public | fallback | derived |
Normalized source classification shared across source-backed REST and MCP responses. |
data_quality.is_derived |
boolean |
True when the endpoint output is calculated from underlying source rows, such as spreads, slopes, forward curves, forecasts, or sentiment composites. |
data_quality.row_count |
integer |
Number of rows considered in the data-quality scope. |
data_quality.announcement_datetime_count |
integer |
Number of rows in scope with complete required announcement timestamp fields. |
data_quality.missing_announcement_datetime_count |
integer |
Number of rows in scope missing at least one required announcement timestamp field. |
data_quality.quality_scope |
string |
Scope used to compute the quality object, such as full_result, latest, recent, or scheduled_releases. |
data_quality.stale_after_days |
integer | null |
Frequency-aware threshold used for is_stale; daily=7, weekly=21, monthly=62, quarterly=125, annual=550 by default. |
source |
string |
Human-readable upstream publisher or source family for this response. |
source_url |
string | null |
Official publisher URL or source landing page when available. |
provenance |
object |
Structured provenance metadata including publisher, storage layer, served_by, timestamp field, and value field. |
source_series_name |
string | null |
Publisher's source-series label when FXMacroData stores one. |
source_local_name |
string | null |
Local-language or publisher-native series name when available. |
provenance.publisher |
string |
Official upstream publisher for the requested currency/indicator series. |
provenance.storage |
string |
FXMacroData serving storage layer, typically FXMacroData Firestore. |