# Versioning

Source: https://parasend.com/docs/versioning

The version is in the address: `https://api.parasend.com/v1`. Version 1 is the current one.

## What can change within v1

We keep adding to v1 without breaking code that uses it. Within v1 we may:

- add new endpoints;
- add optional parameters to requests;
- add fields to answers and to event `data`;
- add event types, error codes and values to lists of states and reasons;
- change the wording of `message` in errors.

So your code should ignore fields it does not know, handle event types it does not know (or subscribe only to the ones it uses), branch on error `code` and never on `message`, and treat an unknown status as "not finished".

## What makes a new version

A change that would break working code, such as removing a field, renaming one, or changing what a value means, comes in a new major version, `/v2`. v1 keeps working after v2 arrives, and the [changelog](/docs/changelog) says when each change comes.

## Old names

A few fields and parameters have newer names. The old names are still accepted, but these docs show only the new ones. Use the names you see here.
