> ## 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.

# V2 API plans: access and fields by tier

> Compare Free, Basic, Growth, and Pro access to V2 fields, markets, and operations before integrating.

The internal IDs of the four public plans are `free` (Free), `hobby` (Basic), `indie` (Growth), and `pro` (Pro). The `/rates` and `/v2/crypto` collections include `plan`; individual resources and other operations do not necessarily include it. Access to a **rate** and access to its **metadata** are separate decisions.

## Fields in `/rates` and `/rates/{id}`

| Fields of an accessible rate | Free | Basic | Growth | Pro |
| - | - | - | - | - |
| `id`, `market`, `type`, `mid`, `updated_at` | Yes | Yes | Yes | Yes |
| `base`, `bid`, `ask`, `effective_date`, `stale_after_sec` | When the data and inherited contract include them | When present | When present | When present |
| `name`, `quote`, `stale`, `staleness_sec`, `available` | No | Yes | Yes | Yes |
| `description`, `tags`, `change_24h_pct`, `vs_official_pct`, `required_plan` | No | No | Yes | Yes |

`change_24h_pct` and `vs_official_pct` can be `null` when no comparable point exists. `fetched_at` is in the collection root for every plan; an individual rate includes it from Growth. The conditional omission of `stale_after_sec` on Venezuelan rates follows V1. These field rules apply to rate responses: `GET /v2/fx/convert` retains `stale` and `staleness_sec` even on Free.

When a Venezuelan rate is restricted, Free sees only `{ "id": "..." }` in the collection; Basic sees `id`, `market`, `type`, `name`, `quote`, and `available: false`; Growth also sees its description, tags, and `required_plan`. A descriptor contains no price or update time. The individual request returns `402 feature_not_in_plan`.

### The same rate on each plan

These objects illustrate the `co-trm` row in `GET /v2/fx/CO/rates` with the same source data and request instant. Values are illustrative. Free and Basic omit `bid` and `ask` when the source does not publish them; Growth and Pro serialize them as `null`.

Free:

```json theme={null}
{
  "id": "co-trm",
  "market": "co_trm",
  "type": "reference",
  "base": "USD",
  "mid": 3900.12,
  "updated_at": "2026-10-25T00:00:00Z",
  "effective_date": "2026-10-25"
}
```

Basic:

```json theme={null}
{
  "id": "co-trm",
  "market": "co_trm",
  "type": "reference",
  "base": "USD",
  "mid": 3900.12,
  "updated_at": "2026-10-25T00:00:00Z",
  "effective_date": "2026-10-25",
  "name": "TRM",
  "quote": "COP",
  "stale": false,
  "stale_after_sec": 475200,
  "staleness_sec": 43200,
  "available": true
}
```

Growth:

```json theme={null}
{
  "id": "co-trm",
  "market": "co_trm",
  "type": "reference",
  "base": "USD",
  "mid": 3900.12,
  "updated_at": "2026-10-25T00:00:00Z",
  "effective_date": "2026-10-25",
  "name": "TRM",
  "quote": "COP",
  "stale": false,
  "stale_after_sec": 475200,
  "staleness_sec": 43200,
  "available": true,
  "description": "Tasa Representativa del Mercado (TRM) que certifica la Superintendencia Financiera: la oficial para contratos, contabilidad e impuestos. Rige por día; la de un fin de semana es la del viernes.",
  "bid": null,
  "ask": null,
  "change_24h_pct": null,
  "vs_official_pct": null,
  "tags": [
    "trm",
    "oficial"
  ],
  "required_plan": "free"
}
```

Pro returns the same rate fields as Growth. See the [ID-by-ID matrix](https://docs.cotizave.com/en/api/v2/rates-by-plan.md) for market access.

## Operations by plan

| Operation or capability | Free | Basic | Growth | Pro |
| - | - | - | - | - |
| Base rates, current conversion, date-based history within retention, banks, and BCV bank board | Yes | Yes | Yes | Yes |
| Multi-country official rates, history limits, statistics, moving averages, and historical country boards, subject to retention | Yes | Yes | Yes | Yes |
| Official issuer directory `/v2/issuers` | Yes | Yes | Yes | Yes |
| V2 holidays and business-day calculation | No | Yes | Yes | Yes |
| CSV/XML, historical conversion, market catalogue, spread, and markup | No | No | Yes | Yes |
| Venezuelan remittance and extended markets; individual `/v2/crypto` rates | No | No | Yes | Yes |
| Venezuelan cash and border markets, route, bulk conversion, country and currency catalogues | No | No | No | Yes |

The `/v2/crypto` collection shows descriptors to Free and Basic; an individual rate requires Growth. Basic has the same V2 route permissions as Free but receives the additional fields above and its own retention and limits. History retention is 3 days on Free, 90 on Basic, 180 on Growth, and 365 on Pro; source availability can be shorter. See [rate limits](https://docs.cotizave.com/en/api/rate-limits.md) for quotas and request speed, shared between V1 and V2.

## Countries and markets

Outside Venezuela, all **published and approved** rates are available from Free. Venezuela keeps its restrictions: PayPal and Zelle from Growth; Syklo, Yadio, Zoom, and Western Union from Growth; cash (`ve-cash`) and border (`ve-cucuta`) from Pro.

### Rates by country and plan

[See the full rate-by-plan matrix](https://docs.cotizave.com/en/api/v2/rates-by-plan.md).

Rate availability depends on the source and can change; query the individual resource to check it.


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