---
title: Version management
slug: merchant-api/version-management
createdAt: 2021-10-06T13:17:45.000Z
---

The version is managed at the URL level, as such : `api.neteven.com/{major version id}/merchant/{endpoint}`

The `MAJOR.MINOR.PATCH` logic is kept in the API detail, but only one `MAJOR` version can be specified by the user: the API will systematically respond with the latest corresponding version (i.e. the latest `MINOR.PATCH` version of the `MAJOR` version called).

- `MAJOR` correspond to breaking changes, that is to say modifications to already existing calls which hinder backward compatibility: deletion of calls, deletion of fields, modification of logic, etc.

- `MINOR` correspond to additions / modifications of fields / calls which does not change the way of using the API for already active users.

- `PATCH` correspond to fixes for functional anomalies or optimizations / updates of libraries, etc.

Only `n` versions are maintained at any point in time: after the release of a new `MAJOR` version, the "old" versions will remain available for some time. A `metadata` bloc in the body's response will let you which version you are using and its corresponding expiry date:

:::CodeblockTabs
metadata example

```python
{
    "metadata":
    {
        "version": 0,
        "version_expiration_date": "2021-12-31",
        "messages":
        {
            "type": "WARNING",
            "description": "The version you are using is not the latest one. Please update to the latest version",
        }
    }
}
```
:::

:::hint{type="warning"}
**Note**

If an already expired version is sent or does not exist, the API will return an error.
Not specifying the version in the URL is equivalent to requesting the latest version.
:::

