FXMacroData · Schema

RateDifferentialResponse

CompanyFinanceDataAPIFX

Properties

Name Type Description
research object
base string
quote string
rate_type string
measure_requested string
measure_used string
base_indicator object
quote_indicator object
curve_family object
start_tenor object
end_tenor object
forward_label object
start_date string
end_date string
matched_points integer
unit string
latest_spread object
latest_spread_bps object
latest_differential object
latest_differential_bps object
base_latest object
quote_latest object
sources object
official_forward_source_support object How the official publisher makes forward rates available, if at all.
data_quality object
pagination object Offset pagination state for one page of results.
data array
View JSON Schema on GitHub

JSON Schema

fxmacrodata-rate-differential-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/fxmacrodata/main/json-schema/fxmacrodata-rate-differential-response-schema.json",
  "title": "RateDifferentialResponse",
  "x-generated": "2026-10-18",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/fxmacrodata-openapi.json#/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": "#/$defs/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": "#/$defs/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": "#/$defs/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"
  ],
  "$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"
    },
    "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."
    },
    "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"
    },
    "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.\n\nThe spot path reports a single publisher name per leg; the curve and\nforward paths report the list of curve sources each leg was built from, so\nboth shapes are declared."
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/fxmacrodata-rate-differential-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.