# API versioning and compatibility

> Original page: https://docs.blockvectra.com/en/api/versioning/

## Versioning scheme

BlockVectra APIs use path versioning: `/v1`.

## Compatible changes

The following changes are backward-compatible and do not bump the version; clients must ignore unknown fields:

* Adding new fields
* Adding new `error.data.reason` values
* Adding new endpoints
* Adding new optional parameters

When encountering an unrecognized reason, clients must handle it according to the `retryable` field in the same error object. See the [Error Reference](https://docs.blockvectra.com/en/errors/).

## Breaking changes

Only breaking changes will bump the version to `/v2`:

* Removing fields
* Changing field meanings
* Changing response granularity

## Changes outside API versioning

Chain and method additions or removals are reflected in real time by `GET /v1/chains` and are operational configuration rather than API version changes.

## Pricing and CU weights

The price schedule is fetched in real time from `GET /v1/plans` (`method_weights`) and is the same source used for billing. See the [Pricing page](https://blockvectra.com/en/pricing/).

## Recommendations for agents and SDK authors

Directly derived from the rules above:

1. **Ignore unknown fields**: Clients must ignore unknown fields.
2. **Check `retryable` for unknown reasons**: When encountering an unrecognized reason, handle it according to the `retryable` field in the same error object.
