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}/{indicator} 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[].release_time_assumed |
boolean | null |
Present and true when announcement_datetime was derived from the median publication lag measured on this series' confirmed releases, because no official release calendar reaches that period. Omitted on rows whose publication time was captured from the 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 only when every row in the quality scope carries a publication timestamp captured from the release itself, and the result is not fallback or prohibited-source data. One row with a missing or derived timestamp clears it for the whole response, so most full-history requests return false; gate a backtest on the per-row release_time_assumed flag. |
data_quality.has_assumed_release_times |
boolean |
True when at least one row in scope carries a publication timestamp derived from the series' measured publication lag rather than captured from the release. |
data_quality.assumed_release_time_count |
integer |
Number of rows in scope whose publication timestamp was derived. Compare against row_count to size the derived portion of the window. |
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 for the returned payload. |