Skip to content

Verity API🔗

Verity API is a REST API conforming to the OpenAPI 3.0 specification used for operating a Verity instance.

The Verity API provides developers with access to essential functionality for interacting with data and services within the Verity system. Users can leverage this API to authenticate users, retrieve user information, and manage overlay resources efficiently. With the Verity API, developers can seamlessly integrate Verity's robust features into their applications, enhancing user experiences and streamlining workflows.

API Documentation Versioning

The following documentation provides a high level explaination of how the Verity API functions. For detailed examples and API reference for your exact version of Verity, refer to the Swagger documentation page on your Verity server.

OpenAPI Specification🔗

  1. Navigate to /swagger on your Verity server IP. Example: https://vnc-datacenter.company.net/swagger
  2. On this page, in the top left corner, is a link to the schema file if you wish to download it. To download a JSON copy of the API specification right-click on swagger.json and choose Save-As.

Quickstart🔗

There are two endpoints you need to understand before using the API in production:

1. Authorization Endpoint🔗

The Authorization section of the Verity API allows users to send their user/password combination to Verity for the creation of a time-limited access token. Once this token is retrieved, all further API access needs to use the token.

Create an Auth Token🔗

  1. Go to Authorization and click the drop down menu.
  2. Click Try it out.
  3. In the request body, type the username and password credentials replacing the default string text.
  4. Click the Execute button to invoke the HTTP request.
  5. If successful, the action returns a 200 status code with a description of Successful authorization. The token is required for requests and expires in 30 minutes. The Authorization drop down menu does not need to remain open and can be closed.

2. Changesets Endpoint🔗

Create a Changeset🔗

To use a changeset, users must first create the changeset via POST/changesets .

  1. Go to POST/changesets .
  2. Unfold the field and click Try it out.
  3. To create a new changeset, the commit must be set to false, and the changeset_name must be set to a unique name.

Changeset Naming

Creating a changeset with the same name as a pre-existing changeset will return an error.

Commit a Changeset🔗

  1. To commit a changeset to the system, the commit field must be set to true, and the changeset_name must be set to the changeset the user wants to commit.
  2. Click the Execute button.

Verity Changesets (UI)🔗

Changesets are listed within the UI at Operations -> Change Sets.

Changeset Actions (UI)🔗

  • Compare to Current: Compares the changes in the changeset to the current system state in the form of a tabular summary. Clicking View Details provides more detailed information in the form of a Report.

  • Download: Downloads a JSON file of the affected object(s) to the user's machine.

Endpoints🔗

Authorization

Get an auth token

Bundles

Bundle Management

Update bundle

Changesets

Changesets enable users to create groups of pre-staged operations that are related to a specific change. These operations are not applied to the system until the changeset is commmitted. Actions in changesets are validated together and are applied in a batch method during the commit process.

Create or commit a changeset

Delete a changeset

Get all changes in a changeset or get the list of available changesets

Config

Create or update configuration

Update configuration

Get whole configuration

Eth-Port Profiles

Create Eth-Port Profile

Get all Eth-Port Profiles

Update Eth-Port Profile

Delete Eth-Port Profile

Eth-Port Settings

Create Eth-Port Settings

Get all Eth-Port Settings

Update Eth-Port Settings

Delete Eth-Port Settings

Gateway Profiles

Create Gateway Profile

Get all Gateway Profiles

Update Gateway Profile

Delete Gateway Profile

Gateways

Create gateway

Get all gateways

Update gateway

Delete gateway

LAGs

Create LAG

Get all LAGs

Update LAG

Delete LAG

Read mode

Change read-only mode of switchpoint or pod

Get list of read-only switchpoints or pods

Services

Create service

Get all services

Update a service

Delete Service

Tenants

Create tenant

Get all tenants

Update tenant

Delete tenant

External Integrations🔗

Customers are free to develop their own integrations and plugins that make use of the Verity API. A number of prebuilt options are available from BE Networks:

Verity Terraform Provider🔗

This TF provider enables the use of IaC workflows including state validation using Hashicorp's Terraform system. The Verity provider can be included in any TF project through standard provider declaration in main.tf.

Verity Netbox Plugin🔗

This plugin integrates Netbox with Verity by automatically pushing Verity objects into the Netbox database at a specific time interval. Multiple Verity instances are supported. This plugin is currently read-only, meaning Netbox is not able to update Verity configuration.