Skip to content
Data contract

API deprecation policy

The API is versioned once, at /v1. Inside it, additions arrive without notice and removals never do: a path or field that is going away is marked in the schema, announced in the changelog, and keeps answering, with a Deprecation header pointing at its replacement, for at least six months before it is removed.

One version, extended in place

Every production route lives under https://api.fxmacrodata.com/v1/. New capability is added as new endpoints, new optional parameters, new selector values and new response fields on the same version, never as a parallel copy of an existing route. The production OpenAPI schema is the contract; the API reference is generated from it.

Changes you should expect without notice

Clients must tolerate these. They appear in the changelog when they matter, but they are not deprecations.

  • New fields on any response object, including inside data[] rows, data_quality and provenance. Parse by key, never by position or count.
  • New endpoints and new optional query parameters.
  • New values for open string fields such as source, publication_time_basis or returned_reason, and new entries in enumerated selector lists exposed through supported_options.
  • New currencies, indicators, commodities and series variants in the data catalogue.
  • Key order within JSON objects, whitespace, and the order of equal-ranked items.
  • Fields that are omitted when they do not apply. A field documented as optional may be absent on a row and present on the next.
  • Longer histories, revised values and corrected timestamps as publishers revise their data (see data corrections).

Changes that go through deprecation

Anything that would make a correct client stop working.

  • Removing or renaming an endpoint, a query parameter, a response field or a selector value.
  • Changing the type, unit or meaning of an existing field, or the shape of an existing object.
  • Tightening validation so that a request that is valid today would be rejected.
  • Changing how a route authenticates or which plans may call it.
  • Changing a default, such as the default limit or the default revisions view.

How a deprecation is signalled

Each deprecation is marked in four places at once, so a client can detect it in the schema, in the response, in the changelog and in the documentation.

Deprecation signals
Where Signal
OpenAPI schema The operation or parameter carries deprecated: true and its description names the replacement.
Every response A Deprecation: true header, plus a Link header: rel="successor-version" pointing at the replacement route, or rel="deprecation" pointing at the documentation that explains the change.
Changelog A dated entry on the changelog, also published in its Atom feed, stating what is deprecated, what replaces it and the earliest removal date.
Documentation The affected page describes the replacement; this page lists the deprecation until it is removed.

Log the Deprecation header in your client. A single alert on its first appearance gives you the whole notice period to migrate.

Notice period

  • A deprecated endpoint, parameter or field keeps working, with the same data, for at least six months from the date of its changelog entry.
  • The removal date is published in the changelog in advance. The route is not removed earlier than that date.
  • Deprecations of authentication transports are handled the same way. Where a transport stays accepted indefinitely, its entry below says so.
  • Enterprise customers with a signed agreement may have a longer period written into it; this page states the minimum that applies to everyone.

Current deprecations

Everything deprecated today, with its replacement. Neither has a removal date set.

Current deprecations
Deprecated Use instead Status
GET /v1/fx/fixing-timeline/{base}/{quote} GET /v1/fx/intraday-reference-rates/{base}/{quote} Still served. Responses carry Deprecation: true and a Link with rel="successor-version". No removal date set; at least six months' notice will be given in the changelog.
?api_key= on REST routes X-API-Key header or Authorization: Bearer Still accepted. Responses to query-string authentication carry Deprecation: true and a Link to the authentication documentation. No removal date set. The query parameter remains the documented transport for SSE, WebSocket and MCP, where a browser or host cannot set headers.

Data corrections are not deprecations

The contract is the shape of the response; the values inside it follow the publishers.

  • Publisher revisions change val for a period and add an entry to revisions[]. Use revisions=first or as_of when your work depends on what was known at the time; see point-in-time backtesting.
  • Corrections FXMacroData makes to its own timestamps or stored values are recorded on the issue log with their date and scope.
  • When a series is re-pointed at a different official source, the change is a changelog entry and the rows the old source wrote are replaced in the same release, so the slug keeps meaning one thing.

Questions about a specific change: info@fxmacrodata.com.

AI Answer-Ready

Key Facts

Page
Deprecation Policy
Section
Documentation
Canonical URL
https://fxmacrodata.com/documentation/deprecation-policy
Source
FXMacroData editorial and official publisher references
Last Updated
See page metadata

Provenance And Trust

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

Quick Q&A

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

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

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

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

Prompt Packs

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