Forward Compatibility

vWAF will further evolve in the future, so will the REST interface. When using the interface, bear in mind the following conventions so that you won't have to revise your scripts and programs when you want to use them with later versions of vWAF.

Namespace

The namespace of the current version is /api/af/2.0. As long as this namespace doesn't change, your old scripts will continue to work seamlessly.

When there's a new namespace with the same major version number (such as /api/af/2.1), new functions will be added to the interface, but existing functions won't be affected. So your old scripts and programs will remain fully compatible and you can upgrade them just by changing the namespace.

If we can't avoid changing an existing function (which we will endeavor to avoid), there will be a new major version number (such as /api/af/3.0). In this case, we'll document all needed changes so that you can update your scripts and programs accordingly.

In addition to the namespace that includes the version number, there's a namespace /api/af/latest. This namespace always is identical with the most recent version. It has been added to ensure consistency with other related products. Usually, we do not recommend using this namespace because this might stop your scripts and programs from working when there is a major upgrade of the REST interface version.

Encoding

The current version only supports JSON encoding for both input and output.

Responses

On success, the REST interface returns a 200 HTTP status code. In future versions, vWAF will also return other 2xx codes, so don’t rely on the 200 code in your scripts and programs.

If a call returns a dictionary, this dictionary may have more components than described in this documentation. So be prepared to ignore additional fields in the response. Also note that a value may be “None” or “null”, which means that this value is unknown.