{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/fxmacrodata/main/json-schema/fxmacrodata-forex-response-schema.json",
  "title": "ForexResponse",
  "x-generated": "2026-10-18",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/fxmacrodata-openapi.json#/components/schemas/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": "#/$defs/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": "#/$defs/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": "#/$defs/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"
  ],
  "$defs": {
    "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": "#/$defs/CommodityMissingWeekdayRange"
          },
          "type": "array",
          "title": "Missing Weekday Ranges"
        },
        "longest_continuous_weekday_segment": {
          "$ref": "#/$defs/CommodityCoverageSegment"
        },
        "latest_continuous_weekday_segment": {
          "$ref": "#/$defs/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"
    },
    "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"
    },
    "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"
    },
    "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": "#/$defs/CommodityCoverage"
            },
            {
              "type": "null"
            }
          ]
        },
        "stored_history_coverage": {
          "anyOf": [
            {
              "$ref": "#/$defs/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": "#/$defs/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"
    },
    "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": "#/$defs/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"
    },
    "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."
    },
    "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."
    }
  }
}