...
The main rule is - all APIs should remain backwards compatible. It means that:
- In the Request: Don't change the parameter from optional to required.
- In the Request: Don't add a new parameter to an existing command with required=true option.
- In the Request: Don't reduce the command permission from being available to normal user to becoming available to Admin only.
- In the Request/Response: Don't rename existing parameters.
- In the Request/Response: Don't change the parameter type (from String to Map for example).
- In the Response: Don't remove the parameter from the response as the third party software can rely on its presence.
...