> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cotizave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Current and historical exchange-rate coverage

> Check whether a rate is published, accessible to your plan, and available for the historical date you need.

Coverage is more than a list of currencies or countries. Before using a rate, confirm three things: your plan can query it, it has a publishable observation, and history exists for the required date.

## Current coverage

A rate can be registered without having an observation available at this instant. Always check the rate resource before displaying or calculating with a value:

* In **V2 multi-market**, `GET /v2/fx/{CC}/rates` lists the rates available for a country. Its [V2 catalogue](https://docs.cotizave.com/en/api/v2/coverage.md) explains published IDs, and the [per-plan matrix](https://docs.cotizave.com/en/api/v2/rates-by-plan.md) shows access to each one.
* In **deprecated V1**, `GET /v1/fx/rates` lists the rates available to your API key. The dashboard export section also shows historical coverage for the series available to your account.

Do not construct an ID from a commercial name or replace a rate with another just because both share a currency.

## Historical coverage

The maximum lookback is the more restrictive of your plan's retention and the series' actual history. A start date applies to every series in both V1 and V2: a series can have started later, have gaps, or not publish data on weekends and holidays.

| Plan | Maximum lookback |
| - | -: |
| Free | 3 days |
| Basic | 90 days |
| Growth | 180 days |
| Pro | 365 days |

These limits apply to historical endpoints. If a date or range start exceeds retention, the API returns `403 history_out_of_retention`; error details identify the applied limit. A known series without history can return `404 history_not_available`; a date without an observation can return `404 rate_not_found`.

## Availability by market

Coverage varies by country, rate, and plan. Check the [V2 catalogue](https://docs.cotizave.com/en/api/v2/coverage.md) and [per-plan matrix](https://docs.cotizave.com/en/api/v2/rates-by-plan.md); use the ID returned by the API to check the current observation and the historical range you need. A series may not publish on weekends, holidays, or other days without a capture.

## Checking an integration

1. Request available rates through the endpoint for your version.
2. Retain the exact ID and inspect `updated_at`; when available, inspect `effective_date`, `stale`, and `staleness_sec` as well.
3. Request history with that same ID and the needed range. Do not fill days that the series did not publish in your application.
4. Treat `402` as missing plan access, `403 history_out_of_retention` as a disallowed range, and historical `404`s as an absent series or observation; retries do not resolve them.

See [V2 history](https://docs.cotizave.com/en/api/v2/history.md) or, if you maintain an older integration, [deprecated V1 history](https://docs.cotizave.com/en/api/endpoints/history.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.