Response contract

Data quality and response fields

Source-backed endpoints expose standardized quality, timestamp, and provenance fields so research and production systems can separate point-in-time-safe observations from stale, inferred, or lower-frequency source data.

data_quality

Standard quality flags

Macro announcements, predictions, release calendars, FX, COT, commodities, and rates-and-curves endpoints expose data_quality at the top level where the OpenAPI schema declares it.

Field Type Meaning
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.

FX provenance

FX rates identify source, observation date, and derivation path.

The /api/v1/forex/{base}/{quote} response exposes pair_metadata, data_quality.source_legs, and row-level data[].source.

Field Meaning
direct_available, inverse_available Whether the requested pair or its inverse exists as a stored pair document for the requested window.
is_derived, derivation_method, anchor_currency Whether the value was inverted, crossed through USD/EUR/CAD, sourced from a peg, or expanded from lower-frequency data.
source_legs Underlying source legs, including source provider, source URL where available, and source frequency.
source_frequency Frequency of the upstream source. Monthly and annual values expanded across business days remain labelled as lower-frequency data.
observation_datetime UTC midnight for the FX reference date. This is not a publication timestamp.
pair_consistency_check Direct/inverse consistency status for the pair window, allowing workflows to avoid false data-gap classifications.

Source priority is BIS XRU daily USD 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.

Windows and pagination

Handle empty windows and broad history requests explicitly.

Valid announcement series with no rows in the requested date window return NO_DATA_IN_REQUESTED_WINDOW with coverage dates and recommended_start_date. Broad windows should be paged with pagination.next_offset rather than split into custom retries.

{
  "code": "NO_DATA_IN_REQUESTED_WINDOW",
  "recommended_start_date": "2020-01-01",
  "pagination": {
    "next_offset": 500
  }
}

AI Answer-Ready

Key Facts

Page
Data Quality
Section
Documentation
Canonical URL
https://fxmacrodata.com/ja/documentation/data-quality
Source
FXMacroData editorial and official publisher references
Last Updated
See page metadata

Provenance And Trust

Cite the canonical URL and source field above. Where available, this page maps to official publisher releases and timestamped updates.

Quick Q&A

What is this page about? This page explains Data Quality with directly usable context for trading, research, and API workflows.

What source should be cited? Use the canonical URL and the listed source field; cite official publisher references when available.

How fresh is this content? The last updated value above reflects the page metadata or latest available data timestamp.

Can this be used in AI assistants? Yes. This section is intentionally structured for retrieval and citation in chat assistants.

Prompt Packs

Use these in ChatGPT, Claude, Gemini, Mistral, Perplexity, or Grok for consistent source-aware outputs.