openapi: 3.2.0 info: title: FX Macrodata Fx Markets 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 servers: - url: https://api.fxmacrodata.com description: FXMacroData API security: - {} - APIKeyHeader: [] - HTTPBearer: [] tags: - name: fx_markets description: FX market-state datasets including spot FX, market sessions, risk sentiment, and COT positioning. paths: /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. **Path Parameters:** - `base`: Base currency code (e.g., AUD, USD). - `quote`: Quote currency code (e.g., USD, EUR). **Query Parameters:** - `start_date`: Optional. Start date YYYY-MM-DD. Defaults to 365 days ago. - `end_date`: Optional. End date YYYY-MM-DD. Defaults to today. - `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`. **Daily reference OHLC:** - 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. **FX source and derivation metadata:** - 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. - 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`. - 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. - `data[].observation_datetime` is the UTC midnight timestamp for the FX reference date. It is an observation-date marker, not a publication timestamp. - 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 description: Returns official FX reference rates as published by each source, one row per source observation. Sources fix at different times of day (for example the ECB at 14:10 CET and the Federal Reserve H.10 at noon New York time), so one date can carry several rows for a pair, including inverse and cross-derived rows. Each row's `timestamp_utc`, `timestamp_type` and `source` identify which fix it is. `coverage.sources` lists every contributing source with its row count, date range and usual UTC fix times. For a single-fix daily series, pass `source` (and `native_only=true` to exclude derived rows). 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, inclusive. Without end_date the window runs through the latest available date (today, UTC); page through long histories with limit and offset or page. examples: - '2026-07-10' title: Start Date description: Optional query parameter. Start reference date YYYY-MM-DD, inclusive. Without end_date the window runs through the latest available date (today, UTC); page through long histories with limit and offset or page. - name: end_date in: query required: false schema: type: string description: End reference date YYYY-MM-DD, inclusive. Without start_date only this date is returned. With neither start_date nor end_date, today's (UTC) reference date is returned. examples: - '2026-07-10' title: End Date description: Optional query parameter. End reference date YYYY-MM-DD, inclusive. Without start_date only this date is returned. With neither start_date nor end_date, today's (UTC) reference date is returned. - 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 description: 'For each date, returns the latest timed official reference observation on that date at or before the selected session close: Sydney 17:00 Australia/Sydney, Tokyo 18:00 Asia/Tokyo, London 17:00 Europe/London or New York 17:00 America/New_York. It is not a market price observed at the close. Official fixes are published during European and New York hours, so the London and New York rows for a pair are often the same fix, and Sydney and Tokyo rows exist only on dates when a source published before that close. `staleness_minutes` on each row is the time between the selected observation and the close; check it and `source` before treating a row as a closing price. `coverage.staleness_minutes` summarises it for the request.' 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 close: sydney (17:00 Australia/Sydney), tokyo (18:00 Asia/Tokyo), london (17:00 Europe/London) or new_york (17:00 America/New_York).' examples: - london title: Session description: 'Required query parameter. Session close: sydney (17:00 Australia/Sydney), tokyo (18:00 Asia/Tokyo), london (17:00 Europe/London) or new_york (17:00 America/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, inclusive. Without end_date the window runs through the latest available date (today, UTC); page through long histories with limit and offset or page. title: Start Date description: Optional query parameter. Start reference date YYYY-MM-DD, inclusive. Without end_date the window runs through the latest available date (today, UTC); page through long histories with limit and offset or page. - name: end_date in: query required: false schema: type: string description: End reference date YYYY-MM-DD, inclusive. Without start_date only this date is returned. With neither start_date nor end_date, today's (UTC) reference date is returned. title: End Date description: Optional query parameter. End reference date YYYY-MM-DD, inclusive. Without start_date only this date is returned. With neither start_date nor end_date, today's (UTC) reference date is returned. - 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/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. Each session entry shows today''s open and close times in UTC, whether the session is currently open, and seconds until it opens or closes. Overlap 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. **Query Parameters:** - `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. **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. **Measures:** - Supported values: `auto`, `risk_free_rate`, `gov_bond_2y`, `gov_bond_10y`, `policy_rate`. - `auto` prefers `risk_free_rate`, then `gov_bond_2y`, then `policy_rate`. **Rate Types:** - Supported values: `spot`, `forward`. - `spot` compares the selected shared rate measure. - `forward` derives each leg from government bond curve nodes, then aligns dates. **Authentication:** - Requires an Individual or Business API key via `?api_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. **Curve Families:** - Supported values: `government_nominal`. **Metrics:** - Supported values: `spot`. **Views:** - Supported values: `nodes`, `slopes`, `forwards`. **Authentication:** - Requires an Individual or Business API key via `?api_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/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). The score is derived from four publicly available sources: - **OFR FSI** (U.S. Treasury Office of Financial Research Financial Stress Index) — primary stress gauge, *inverted* - **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* - **AUD/USD** (European Central Bank euro reference rates, crossed via EUR) — risk-sensitive currency pair - **USD/JPY** (European Central Bank euro reference rates, crossed via EUR) — safe-haven flow proxy Each 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]**. **Weights:** OFR FSI 40%, Gold 20%, AUD/USD 20%, USD/JPY 20%. Weights 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. **Query Parameters:** - `start_date`: Start date YYYY-MM-DD (default: 365 days ago). - `end_date`: End date YYYY-MM-DD (default: today). **Each data record contains:** - `date`: Observation date (YYYY-MM-DD). - `val`: Composite score -1.0 (extreme risk-off) ... +1.0 (extreme risk-on). - `regime`: `risk_on` (>= 0.25) | `neutral` | `risk_off` (<= -0.25). - `components.ofr_fsi`: Normalised (inverted) OFR FSI contribution. - `components.gold`: Normalised (inverted) gold price contribution. - `components.aud_usd`: Normalised AUD/USD contribution. - `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/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. **Supported currencies:** AUD, CAD, CHF, EUR, GBP, JPY, NZD, USD, XAU **Path Parameters:** - `currency`: 3-letter currency code (e.g., EUR, GBP, JPY). **Query Parameters:** - `start_date`: Optional. Start date YYYY-MM-DD. Defaults to 52 weeks ago. - `end_date`: Optional. End date YYYY-MM-DD. Defaults to today. - `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. **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=` or the `X-API-Key` header. Authenticated callers (any valid key) receive the full requested history for every currency. **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 components: schemas: 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 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 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 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 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 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 COTFXOverlay: properties: pair: type: string title: Pair type: object required: - pair title: COTFXOverlay 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 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 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. 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 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 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 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 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. 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 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 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 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. The spot path reports a single publisher name per leg; the curve and forward paths report the list of curve sources each leg was built from, so both shapes are declared.' 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 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 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 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 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. 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 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 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 HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError 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. 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. 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 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 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 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 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. 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 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 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 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. 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 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. 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 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 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 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 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 ``.' 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.'