Versioning

Each API has two important properties in the OAS info object: its name and its version. The name defines which API it is, and the name/version combination identifies an instance of that API. Both the name and the version fields are mandatory.

Benify APIs are defined by their name and version. Several APIs with the same name can be available simultaneously given that they have unique versions.

Benify APIs include the name and version in the URL.

As stated before, SemVer is used for API versioning, but only the major version is in the URL: https://api.benify.com/{{api-name}}/v{{major}}/....

By defining an API by both name and version, multiple major versions of an API can be available simultaneously. This is beneficial by giving clients time to update their systems when new (breaking) versions of an API is made available.

Why is the version after the name? It is to show that the API named name has (or can have) multiple versions. And we want to let APIs have their own life span, and not group all APIs under the same version.