NSX Policy API Guide

NSX 2.1.0

Table of Contents

  1. Overview
  2. API Methods
    1. Api Services
      1. Authentication
    2. Licensing
    3. Nsx Component Administration
      1. Appliance Management
      2. Backup Restore Management
        1. Restore
    4. Policy
      1. Infra
      2. Realization
      3. Template
    5. Troubleshooting And Monitoring
      1. System Logs
    6. Upgrade
      1. Bundle
      2. Group
      3. History
      4. Nodes
      5. Plan
      6. Status
      7. Upgradeunits
  3. API Types
  4. API Type Schemas
  5. API Errors


Overview

Introduction

NSX Policy provides a programmatic API to automate management activities. The API follows a resource-oriented Representational State Transfer (REST) architecture, using JSON object encoding. Clients interact with the API using RESTful web service calls over the HTTPS protocol.

Each API method is identified by a request method and URI. Method parameters are specified as key-value pairs appended to the URI. Unless otherwise noted, request and response bodies are encoded using JSON, and must conform to the JSON schema associated with each method. The content type of each request and reply is "application/json" unless otherwise specified. Each request that can be made is documented in the API Methods section. The associated request and response body schemas are documented in the API Schemas section.

Some APIs may be marked as deprecated. This indicates that the functionality provided by the API has been removed or replaced with a different API. The description of the API will indicate what API(s) to call instead.

Some APIs may be marked as experimental. This indicates that the API may be changed or removed without notice in a future NSX Policy release.

It is possible for any request to fail. Errors are reported using standard HTTP response codes. It should be assumed the following errors could be returned by any API method: 301 Moved Permanently, 307 Temporary Redirect, 400 Bad Request, 401 Unauthorized, 403 Forbidden, 500 Internal Server Error, 503 Service Unavailable. Where other errors may be returned, the type of error is indicated in the API method description. All errors are documented in the API Errors section. It is possible for requests to partially complete before failing. Any inconsistent state resulting from a failure must be resolved by the caller.

Request Authentication

Most API calls require authentication. This API supports HTTP Basic authentication and session-based authentication schemes. Multiple authentication schemes may not be used concurrently.

HTTP Basic Authentication

To authenticate a request using HTTP Basic authentication, the caller's credentials are passed using the 'Authorization' header. The header content should consist of a base64-encoded string containing the username and password separated by a single colon (":") character, as specified in RFC 1945 section 11.1.

For example, to authenticate a request using the default credentials of user admin with password admin, include the following header with the request:

Authorization: Basic YWRtaW46YWRtaW4=

The following cURL command will authenticate to the manager using basic authentication and will issue a GET request for logical ports:

curl -k -u USERNAME:PASSWORD https://MANAGER/api/v1/logical-ports

where:
USERNAME is the user to authenticate as,
PASSWORD is the password to provide, and
MANAGER is the IP address or host name of the NSX manager

For example:

curl -k -u admin:secretPw99 https://192.168.22.32/api/v1/logical-ports

Note: the -k argument instructs cURL to skip verifying the manager's self-signed X.509 certificate.

Session-Based Authentication

Session-based authentication is used by calling the /api/session/create authentication API to manage a session cookie. The session cookie returned in the result of a successful login must be provided in subsequent requests in order to associate those requests with the session.

Session state is local to the server responding to the API request. Idle sessions will automatically time-out, or can be terminated immediately using the POST /api/session/destroy API.

To obtain a session cookie, POST form data to the server using the application/x-ww-form-urlencoded media type, with fields "j_username" and "j_password" containing the username and password separated by an ampersand. Since an ampersand is a UNIX shell metacharacter, you may need to surround the argument with single quotes.

The following cURL command will authenticate to the server, will deposit the session cookie in the file "cookies.txt", and will write all HTTP response headers to the file headers.txt. One of these headers is the X-XSRF-TOKEN header that you will need to provide in subsequent requests.

curl -k -c cookies.txt -D headers.txt -X POST -d 'j_username=USERNAME&j_password=PASSWORD' https://MANAGER/api/session/create

For example:

curl -k -c cookies.txt -D headers.txt -X POST -d 'j_username=admin&j_password=secretPw99' https://192.168.22.32/api/session/create

The manager will respond with the roles and permissions granted to the user, and cURL will deposit the session cookie into the file "cookies.txt".

In subsequent cURL requests, use the -b argument to specify the cookie file. You also need to pass the X-XSRF-TOKEN header that was saved to the headers.txt file, using cURL's -H option:

curl -k -b cookies.txt -H "`grep X-XSRF-TOKEN headers.txt`" https://192.168.22.32/api/v1/logical-ports

When the session expires, the manager will respond with a 403 Forbidden HTTP response, at which point you must obtain a new session cookie and X-XSRF-TOKEN.

Session cookies can be destroyed by using the /api/session/destroy API:

curl -k -b cookies.txt -H "`grep X-XSRF-TOKEN headers.txt`" -X POST https://MANAGER/api/session/destroy

Example Requests and Responses

Example requests and responses are provided for most of the API calls below. Your actual response might differ from the example in the number of fields returned because optional empty fields are not returned when you make an API call.

Restrictions on Certain Fields in a Request

When configuring layer 2 switching, the following fields can contain any character except semicolon (;), vertical bar (|), equal sign (=), comma (,), tilde (~), and the "at" sign (@). They also have a length limitation as specified below:

OpenAPI Specification of NSX Policy API

You can get an OpenAPI specification of the NSX Policy API with one of the following calls:



API Methods

Toggle all tables +

Api Services

Api Services: Authentication

Associated URIs:

Read node authentication policy configuration

Returns information about the currently configured authentication
policies on the node.
Request:
Method:
GET
URI Path:
/api/v1/node/aaa/auth-policy
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/aaa/auth-policy Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
AuthenticationPolicyProperties+

Example Response: { "_schema": "AuthenticationPolicyProperties", "_self": { "href": "/node/aaa/auth-policy", "rel": "self" }, "api_failed_auth_lockout_period": 900, "api_failed_auth_reset_period": 900, "api_max_auth_failures": 5, "cli_failed_auth_lockout_period": 900, "cli_max_auth_failures": 5, "minimum_password_length": 8 } Required Permissions: read Feature: system_administration Additional Errors:

Update node authentication policy configuration

Update the currently configured authentication policy on the node.
If any of api_max_auth_failures, api_failed_auth_reset_period, or
api_failed_auth_lockout_period are modified, the http service is
automatically restarted.
Request:
Method:
PUT
URI Path:
/api/v1/node/aaa/auth-policy
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
AuthenticationPolicyProperties+

Example Request: PUT https://<nsx-mgr>/api/v1/node/aaa/auth-policy { "minimum_password_length": 12 } Successful Response:
Response Code:
202 Accepted
Response Headers:
Content-type: application/json
Response Body:
AuthenticationPolicyProperties+

Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
AuthenticationPolicyProperties+

Example Response: { "minimum_password_length": 12 } Required Permissions: crud Feature: system_administration Additional Errors:

Licensing

Associated URIs:

Accept end user license agreement

Accept end user license agreement
Request:
Method:
POST
URI Path:
/api/v1/upgrade/eula/accept
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
n/a

Required Permissions: execute Feature: system_eula Additional Errors:

Return the acceptance status of end user license agreement

Return the acceptance status of end user license agreement
Request:
Method:
GET
URI Path:
/api/v1/upgrade/eula/acceptance
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/upgrade/eula/acceptance Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EULAAcceptance

Example Response: { "acceptance": false } Required Permissions: read Feature: system_eula Additional Errors:

Return the content of end user license agreement

Return the content of end user license agreement in the specified format.
By default, it's pure string without line break
Request:
Method:
GET
URI Path:
/api/v1/upgrade/eula/content
Request Headers:
n/a
Query Parameters:
EULAOutputFormatRequestParameters
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/upgrade/eula/content?format=html Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EULAContent

Example Response: { "content": "End User License Agreement
" }
Required Permissions: read Feature: system_eula Additional Errors:

Nsx Component Administration

Nsx Component Administration: Appliance Management

Associated URIs:

Collect support bundles from registered cluster and fabric nodes

Collect support bundles from registered cluster and fabric nodes. Request:
Method:
POST
URI Path:
/api/v1/administration/support-bundles?action=collect
Request Headers:
n/a
Query Parameters:
SupportBundleQueryParameter+
Request Body:
SupportBundleRequest+

Example Request: POST https://<nsx-mgr>/api/v1/administration/support-bundles?action=collect { "nodes": ["d7c33930-964c-42ca-851f-0d15c3c25fe2"] } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SupportBundleResult+

Example Response: Headers Content-Disposition: attachment;filename=nsx_support_archive_20170818_002715.tar Content-Type: application/octet-stream Date: Thu, 18 Aug 2017 00:28:07 GMT Server: NSX Manager Transfer-Encoding: chunked Vmw-Task-Id: 420bbcef-fbde-66b2-8c28-f15bd2b7bc3c_791c820f-6e84-47c7-aa87-b40be387a684 Required Permissions: read Feature: system_support_bundle Additional Errors:

Read node properties

Returns information about the NSX Manager appliance. Information includes
release number, time zone, system time, kernel version, message of the day
(motd), and host name.
Request:
Method:
GET
URI Path:
/api/v1/node
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeProperties+

Example Response: { "cli_timeout": 600, "hostname": "VMware_NSX_Manager", "kernel_version": "3.14.17-nn1-server", "motd": "", "node_version": "1.0.0.0.0.3063398", "system_time": 1442277320585, "timezone": "Etc/UTC" } Required Permissions: read Feature: system_administration Additional Errors:

Update node properties

Modifies NSX Manager appliance properties. Modifiable properties include the
timezone, message of the day (motd), and hostname. The NSX Manager
node_version, system_time, and kernel_version are read only and cannot be
modified with this method.
Request:
Method:
PUT
URI Path:
/api/v1/node
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NodeProperties+

Example Request: PUT https://<nsx-mgr>/api/v1/node { "motd":"Welcome to the NSX Manager" } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeProperties+

Example Response: { "cli_timeout": 600, "hostname": "VMware_NSX_Manager", "kernel_version": "3.14.17-nn1-server", "motd": "Welcome to the NSX Manager", "node_version": "1.0.0.0.0.3063398", "system_time": 1442277530217, "timezone": "Etc/UTC" } Required Permissions: crud Feature: system_administration Additional Errors:

Read AAA provider vIDM properties

Request:
Method:
GET
URI Path:
/api/v1/node/aaa/providers/vidm
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/aaa/providers/vidm Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeAuthProviderVidmProperties+

Example Response: { "vidm_enable": true, "host_name": "jt-vidm.eng.vmware.com", "thumbprint": "898b75618e3e56615d53f987a720ff22b6381f4b85bec1eb973214ff7361f8b8", "client_id": "OAuth2Client_NsxClientId", "node_host_name": "jt-nsx.eng.vmware.com" } Required Permissions: read Feature: system_administration Additional Errors:

Update AAA provider vIDM properties

Request:
Method:
PUT
URI Path:
/api/v1/node/aaa/providers/vidm
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NodeAuthProviderVidmProperties+

Example Request: PUT https://<nsx-mgr>/api/v1/node/aaa/providers/vidm { "vidm_enable": true, "host_name": "jt-vidm.eng.vmware.com", "thumbprint": "898b75618e3e56615d53f987a720ff22b6381f4b85bec1eb973214ff7361f8b8", "client_id": "OAuth2Client_NsxClientId", "client_secret": "OAuth2Client_NsxClientSecret", "node_host_name": "jt-nsx.eng.vmware.com" } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeAuthProviderVidmProperties+

Example Response: { "vidm_enable": true, "host_name": "jt-vidm.eng.vmware.com", "thumbprint": "898b75618e3e56615d53f987a720ff22b6381f4b85bec1eb973214ff7361f8b8", "client_id": "OAuth2Client_NsxClientId", "node_host_name": "jt-nsx.eng.vmware.com" } Required Permissions: crud Feature: system_administration Additional Errors:

Read AAA provider vIDM status

Request:
Method:
GET
URI Path:
/api/v1/node/aaa/providers/vidm/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/aaa/providers/vidm/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeAuthProviderVidmStatus+

Example Response: { "vidm_enable": true, "runtime_state": "ALL_OK" } Required Permissions: read Feature: system_administration Additional Errors:

List node files

Request:
Method:
GET
URI Path:
/api/v1/node/file-store
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/file-store Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
FilePropertiesListResult+

Example Response: { "_schema": "FilePropertiesListResult", "_self": "/node/file-store", "result_count": 2, "results": [ { "_schema": "FileProperties", "_self": "/node/file-store/test1.txt", "created_epoch_ms": 1457048893748, "modified_epoch_ms": 1457048860639, "name": "test1.txt", "size": 71 }, { "_schema": "FileProperties", "_self": "/node/file-store/test.txt", "created_epoch_ms": 1457048848624, "modified_epoch_ms": 1457048560936, "name": "test.txt", "size": 50 } ] } Required Permissions: read Feature: system_administration Additional Errors:

Delete file

Request:
Method:
DELETE
URI Path:
/api/v1/node/file-store/<file-name>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: system_administration Additional Errors:

Read file properties

Request:
Method:
GET
URI Path:
/api/v1/node/file-store/<file-name>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/file-store/test1.txt Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
FileProperties+

Example Response: { "_schema": "FileProperties", "_self": "/node/file-store/test1.txt", "created_epoch_ms": 1457049714901, "modified_epoch_ms": 1457048860639, "name": "test1.txt", "size": 71 } Required Permissions: read Feature: system_administration Additional Errors:

Upload a file to the file store

When you issue this API, the client must specify:
- HTTP header Content-Type:application/octet-stream.
- Request body with the contents of the file in the filestore.
In the CLI, you can view the filestore with the get files command.
Request:
Method:
POST
URI Path:
/api/v1/node/file-store/<file-name>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/file-store/test.txt This is a sentence that is added to the file test.txt. Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
FileProperties+

Example Response: { "_schema": "FileProperties", "_self": "/node/file-store/test.txt", "created_epoch_ms": 1457048560936, "modified_epoch_ms": 1457048560936, "name": "test.txt", "size": 54 } Required Permissions: crud Feature: system_administration Additional Errors:

Replace file contents

Request:
Method:
PUT
URI Path:
/api/v1/node/file-store/<file-name>/data
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: PUT https://<nsx-mgr>/api/v1/node/file-store/test1.txt/data This is updated content that overwrites the former content. Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
FileProperties+

Example Response: { "_schema": "FileProperties", "_self": "/node/file-store/test2.txt", "created_epoch_ms": 1457116797106, "modified_epoch_ms": 1457116797106, "name": "test2.txt", "size": 59 } Required Permissions: crud Feature: system_administration Additional Errors:

Read file contents

Request:
Method:
GET
URI Path:
/api/v1/node/file-store/<file-name>/data
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/file-store/test1.txt/data Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/octet-stream
Response Body:
n/a

Example Response: This content can include anything that would be in a text file. Required Permissions: read Feature: system_administration Additional Errors:

Read file thumbprint

Request:
Method:
GET
URI Path:
/api/v1/node/file-store/<file-name>/thumbprint
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/file-store/test1.txt/thumbprint Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
FileThumbprint+

Example Response: { "_schema": "FileThumbprint", "_self": "/node/file-store/test1.txt/thumbprint", "name": "test1.txt", "sha1": "ec23cb4208447ce1f81f7cfd4acc9000e20d4949", "sha256": "bda2390dc831e66c4977bc6d16968ed630793031c51e9072297f1e9746b3aca5" } Required Permissions: read Feature: system_administration Additional Errors:

Copy a remote file to the file store

Copy a remote file to the file store. If you use scp or sftp,
you must provide the remote server's SSH fingerprint. See the
NSX-T Administration Guide for information and instructions
about finding the SSH fingerprint.
Request:
Method:
POST
URI Path:
/api/v1/node/file-store/<file-name>?action=copy_from_remote_file
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
CopyFromRemoteFileProperties+

Example Request: POST https://<nsx-mgr>/api/v1/node/file-store/file.txt?action=copy_from_remote_file { "port" : 22, "server": "192.168.120.151", "uri" : "/tmp/file.txt", "protocol" : { "name" : "scp", "ssh_fingerprint" : "b5:08:df:c6:55:62:e4:6e:95:70:7c:25:ba:f2:46:f1", "authentication_scheme" : { "scheme_name" : "password", "username" : "root", "password" : "s4druMuJEw" } } } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
FileProperties+

Example Response: { "_schema": "FileProperties", "_self": "/node/file-store/file.txt", "created_epoch_ms": 1459401409964, "modified_epoch_ms": 1459401409748, "name": "file.txt", "size": 19 } Required Permissions: crud Feature: system_administration Additional Errors:

Copy file in the file store to a remote file store

Copy a file in the file store to a remote server. If you use scp or
sftp, you must provide the remote server's SSH fingerprint. See the
NSX-T Administration Guide for information and instructions
about finding the SSH fingerprint.
Request:
Method:
POST
URI Path:
/api/v1/node/file-store/<file-name>?action=copy_to_remote_file
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
CopyToRemoteFileProperties+

Example Request: POST https://<nsx-mgr>/api/v1/node/file-store/supportbundle.tgz?action=copy_to_remote_file { "port" : 22, "server": "192.168.120.151", "uri" : "/tmp/supportbundle.tgz", "protocol" : { "name" : "scp", "ssh_fingerprint" : "b5:08:df:c6:55:62:e4:6e:95:70:7c:25:ba:f2:46:f1" , "authentication_scheme" : { "scheme_name" : "password", "username" : "root" , "password" : "s4druMuJEw" } } } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: read Feature: system_administration Additional Errors:

Create directory in remote file server

Create a directory on the remote remote server. Supports only SFTP.
You must provide the remote server's SSH fingerprint. See the
NSX Administration Guide for information and instructions
about finding the SSH fingerprint.
Request:
Method:
POST
URI Path:
/api/v1/node/file-store?action=create_remote_directory
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
CreateRemoteDirectoryProperties+

Example Request: POST https://<nsx-mgr>/api/v1/node/file-store?action=create_remote_directory { "port" : 22, "server": "192.168.120.151", "uri" : "/tmp/folder", "protocol" : { "name" : "sftp", "ssh_fingerprint" : "b5:08:df:c6:55:62:e4:6e:95:70:7c:25:ba:f2:46:f1" , "authentication_scheme" : { "scheme_name" : "password", "username" : "root" , "password" : "s4druMuJEw" } } } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: read Feature: system_administration Additional Errors:

Enable or disable Mandatory Access Control

Request:
Method:
PUT
URI Path:
/api/v1/node/hardening-policy/mandatory-access-control
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
MandatoryAccessControlProperties+

Example Request: PUT https://<nsx-mgr>/api/v1/node/hardening-policy/mandatory-access-control -d '{"enabled": true}' Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
MandatoryAccessControlProperties+

Example Response: { "enabled": true, "status": "ENABLED_PENDING_REBOOT" } Required Permissions: crud Feature: system_administration Additional Errors:

Gets the enable status for Mandatory Access Control

Request:
Method:
GET
URI Path:
/api/v1/node/hardening-policy/mandatory-access-control
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/hardening-policy/mandatory-access-control Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
MandatoryAccessControlProperties+

Example Response: { "status": "ENABLED" } Required Permissions: read Feature: system_administration Additional Errors:

Get the report for Mandatory Access Control

Request:
Method:
GET
URI Path:
/api/v1/node/hardening-policy/mandatory-access-control/report
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/hardening-policy/mandatory-access-control/report > mac.tar.gz Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/octet-stream
Response Body:
n/a

Required Permissions: read Feature: system_administration Additional Errors:

Read network configuration properties

Request:
Method:
GET
URI Path:
/api/v1/node/network
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/network Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeNetworkProperties+

Example Response: { "_schema": "NodeNetworkProperties", "_self": { "href": "/node/network", "rel": "self" } } Required Permissions: read Feature: system_administration Additional Errors:

List the NSX Manager's Network Interfaces

Returns the number of interfaces on the NSX Manager appliance and detailed
information about each interface. Interface information includes MTU,
broadcast and host IP addresses, link and admin status, MAC address, network
mask, and the IP configuration method (static or DHCP).
Request:
Method:
GET
URI Path:
/api/v1/node/network/interfaces
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/network/interfaces Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeNetworkInterfacePropertiesListResult+

Example Response: { "result_count": 2, "results": [ { "admin_status": "up", "interface_id": "lo", "ip_addresses": [ { "ip_address": "127.0.0.1", "netmask": "255.0.0.0" } ], "link_status": "up", "mtu": 65536, }, { "admin_status": "up", "broadcast_address": "10.160.31.255", "default_gateway": "10.160.31.253", "interface_id": "eth0", "ip_addresses": [ { "ip_address": "10.160.30.117", "netmask": "255.255.224.0" } ], "ip_configuration": "static", "link_status": "up", "mtu": 1500, "physical_address": "02:00:16:60:c7:8f" } ] } Required Permissions: read Feature: system_administration Additional Errors:

Update the NSX Manager's Network Interface

Updates the specified interface properties. You cannot change
the properties ip_configuration,
ip_addresses, or plane. NSX
Manager must have a static IP address.
You must use NSX CLI to configure a controller or an edge node.
Request:
Method:
PUT
URI Path:
/api/v1/node/network/interfaces/<interface-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NodeNetworkInterfaceProperties+

Example Request: PUT https://<nsx-mgr>/api/v1/node/network/interfaces/eth0 { "interface_id": "eth0", "mtu": 1600 } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeNetworkInterfaceProperties+

Example Response: { "admin_status": "up", "broadcast_address": "10.160.31.255", "default_gateway": "10.160.31.253", "interface_id": "eth0", "ip_addresses": [ { "ip_address": "10.160.30.117", "netmask": "255.255.224.0" } ], "ip_configuration": "static", "link_status": "up", "mtu": 1600, "physical_address": "02:00:16:60:c7:8f" } Required Permissions: crud Feature: system_administration Additional Errors:

Read the NSX Manager's Network Interface

Returns detailed information about the specified interface. Interface
information includes MTU, broadcast and host IP addresses, link and admin
status, MAC address, network mask, and the IP configuration method.
Request:
Method:
GET
URI Path:
/api/v1/node/network/interfaces/<interface-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/network/interfaces/eth0 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeNetworkInterfaceProperties+

Example Response: { "admin_status": "up", "broadcast_address": "10.160.31.255", "default_gateway": "10.160.31.253", "interface_id": "eth0", "ip_addresses": [ { "ip_address": "10.160.30.117", "netmask": "255.255.224.0" } ], "ip_configuration": "static", "link_status": "up", "mtu": 1500, "physical_address": "02:00:16:60:c7:8f" } Required Permissions: read Feature: system_administration Additional Errors:

Read the NSX Manager's Network Interface Statistics

On the specified interface, returns the number of received (rx), transmitted
(tx), and dropped packets; the number of bytes and errors received and
transmitted on the interface; and the number of detected collisions.
Request:
Method:
GET
URI Path:
/api/v1/node/network/interfaces/<interface-id>/stats
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/network/interfaces/eth0/stats Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeInterfaceStatisticsProperties+

Example Response: { "interface_id": "eth0", "rx_bytes": 7360718 "rx_dropped": 1813, "rx_errors": 0, "rx_frame": 0, "rx_packets": 91656, "tx_bytes": 31611, "tx_carrier": 0, "tx_colls": 0, "tx_dropped": 0, "tx_errors": 0, "tx_packets": 261, } Required Permissions: read Feature: system_administration Additional Errors:

Read the NSX Manager's Name Servers

Returns the list of servers that the NSX Manager node uses to look up IP
addresses associated with given domain names.
Request:
Method:
GET
URI Path:
/api/v1/node/network/name-servers
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/network/name-servers Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeNameServersProperties+

Example Response: { "name_servers": [ "10.33.38.1", "10.33.38.2" ] } Required Permissions: read Feature: system_administration Additional Errors:

Update the NSX Manager's Name Servers

Modifies the list of servers that the NSX Manager node uses to look up IP
addresses associated with given domain names. If DHCP is configured, this
method returns a 409 CONFLICT error, because DHCP manages the list of name
servers.
Request:
Method:
PUT
URI Path:
/api/v1/node/network/name-servers
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NodeNameServersProperties+

Example Request: PUT https://<nsx-mgr>/api/v1/node/network/name-servers { "name_servers": [ "10.33.38.1", "10.33.38.2", "10.33.38.3" ] } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeNameServersProperties+

Example Response: { "name_servers": [ "10.33.38.1", "10.33.38.2", "10.33.38.3" ] } Required Permissions: crud Feature: system_administration Additional Errors:

List node network routes

Returns detailed information about each route in the NSX Manager routing
table. Route information includes the route type (default, static, and so
on), a unique route identifier, the route metric, the protocol from which
the route was learned, the route source (which is the preferred egress
interface), the route destination, and the route scope. The route scope
refers to the distance to the destination network: The "host" scope leads to
a destination address on the NSX Manager, such as a loopback address;
the "link" scope leads to a destination on the local network; and the
"global" scope leads to addresses that are more than one hop away.
Request:
Method:
GET
URI Path:
/api/v1/node/network/routes
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/network/routes Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeRoutePropertiesListResult+

Example Response: { "result_count": 2, "results": [ { "gateway": "10.33.87.253", "interface_id": "eth0" "route_id": "default-10.33.87.253-eth0-0", "route_type": "default", }, { "destination": "10.33.84.0" "interface_id": "eth0", "netmask": "255.255.252.0", "proto": "kernel", "route_id": "static-10.33.84.0-eth0-0", "route_type": "static", "scope": "link", "src": "10.33.87.207", } ] } Required Permissions: read Feature: system_administration Additional Errors:

Create node network route

Add a route to the NSX Manager routing table. For static routes, the
route_type, interface_id, netmask, and destination are required parameters.
For default routes, the route_type, gateway address, and interface_id
are required. For blackhole routes, the route_type and destination are
required. All other parameters are optional. When you add a static route,
the scope and route_id are created automatically. When you add a default or
blackhole route, the route_id is created automatically. The route_id is
read-only, meaning that it cannot be modified. All other properties can be
modified by deleting and readding the route.
Request:
Method:
POST
URI Path:
/api/v1/node/network/routes
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NodeRouteProperties+

Example Request: POST https://<nsx-mgr>/api/v1/node/network/routes { "route_type": "static", "interface_id": "eth0", "netmask": "255.255.255.0", "destination": "10.33.85.0" } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
NodeRouteProperties+

Example Response: { "destination": "10.33.85.0" "interface_id": "eth0", "netmask": "255.255.255.0", "route_id": "static-10.33.85.0-eth0-0", "route_type": "static", "scope": "link", } Required Permissions: crud Feature: system_administration Additional Errors:

Read node network route

Returns detailed information about a specified route in the NSX Manager
routing table.
Request:
Method:
GET
URI Path:
/api/v1/node/network/routes/<route-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/network/routes/default-10.33.87.253-eth0-0 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeRouteProperties+

Example Response: { "gateway": "10.33.87.253", "interface_id": "eth0" "route_id": "default-10.33.87.253-eth0-0", "route_type": "default", } Required Permissions: read Feature: system_administration Additional Errors:

Delete node network route

Delete a route from the NSX Manager routing table. You can modify an
existing route by deleting it and then posting the modified version of the
route. To verify, remove the route ID from the URI, issue a GET request, and
note the absense of the deleted route.
Request:
Method:
DELETE
URI Path:
/api/v1/node/network/routes/<route-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<nsx-mgr>/api/v1/node/network/routes/static-10.33.85.0-eth0-0 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: system_administration Additional Errors:

Update the NSX Manager's Search Domains

Modifies the list of domain names that the NSX Manager node uses to complete
unqualified host names. If DHCP is configured, this method returns
a 409 CONFLICT error, because DHCP manages the list of name servers.
Request:
Method:
PUT
URI Path:
/api/v1/node/network/search-domains
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NodeSearchDomainsProperties+

Example Request: PUT https://<nsx-mgr>/api/v1/node/network/search-domains { "search_domains": [ "eng.company.com", "company.com", "eng-backup.company.com" ] } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeSearchDomainsProperties+

Example Response: { "search_domains": [ "eng.company.com", "company.com" "eng-backup.company.com" ] } Required Permissions: crud Feature: system_administration Additional Errors:

Read the NSX Manager's Search Domains

Returns the domain list that the NSX Manager node uses to complete
unqualified host names. When a host name does not include a fully
qualified domain name (FQDN), the NSX Management node appends the
first-listed domain name to the host name before the host name is looked
up. The NSX Management node continues this for each entry in the domain
list until it finds a match.
Request:
Method:
GET
URI Path:
/api/v1/node/network/search-domains
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/network/search-domains Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeSearchDomainsProperties+

Example Response: { "search_domains": [ "eng.company.com", "company.com" ] } Required Permissions: read Feature: system_administration Additional Errors:

List node processes

Returns the number of processes and information about each
process. Process information includes 1) mem_resident, which is roughly
equivalent to the amount of RAM, in bytes, currently used by the process,
2) parent process ID (ppid), 3) process name, 4) process up time in milliseconds,
5) mem_used, wich is the amount of virtual memory used by the process, in
bytes, 6) process start time, in milliseconds since epoch, 7) process ID
(pid), 8) CPU time, both user and the system, consumed by the process in
milliseconds.
Request:
Method:
GET
URI Path:
/api/v1/node/processes
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/processes Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeProcessPropertiesListResult+

Example Response: { "result_count": 80, "results": [ { "cpu_time": 800, "mem_resident": 593920, "mem_used": 1871872, "pid": 1, "ppid": 0, "process_name": "init", "start_time": 1412624269865, "uptime": 279760 }, ...[content omitted for brevity] ] } Required Permissions: read Feature: system_administration Additional Errors:

Read node process

Returns information for a specified process ID (pid). Request:
Method:
GET
URI Path:
/api/v1/node/processes/<process-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/processes/1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeProcessProperties+

Example Response: { "cpu_time": 800, "mem_resident": 593920, "mem_used": 1871872, "pid": 1, "ppid": 0, "process_name": "init", "start_time": 1412624269865, "uptime": 279760 } Required Permissions: read Feature: system_administration Additional Errors:

Check if RabbitMQ management port is enabled or not

Returns status as true if RabbitMQ management port is enabled else false Request:
Method:
GET
URI Path:
/api/v1/node/rabbitmq-management-port
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/rabbitmq-management-port Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PortStatus+

Example Response: { "enabled": false } Required Permissions: read Feature: system_administration Additional Errors:

Delete RabbitMQ management port

Request:
Method:
DELETE
URI Path:
/api/v1/node/rabbitmq-management-port
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<nsx-mgr>/api/v1/node/rabbitmq-management-port Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: system_administration Additional Errors:

Set RabbitMQ management port

Request:
Method:
POST
URI Path:
/api/v1/node/rabbitmq-management-port
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/rabbitmq-management-port Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: system_administration Additional Errors:

List node services

Returns a list of all services available on the NSX Manager applicance.
Request:
Method:
GET
URI Path:
/api/v1/node/services
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServicePropertiesListResult+

Example Response: { "result_count": 5, "results": [ { "service_name": "snmp" }, { "service_name": "syslog" }, { "service_name": "ntp" }, { "service_name": "ssh" }, { "service_name": "node-mgmt" } ] } Required Permissions: read Feature: system_administration Additional Errors:

Read cm inventory service properties

Request:
Method:
GET
URI Path:
/api/v1/node/services/cm-inventory
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/cm-inventory Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceProperties+

Example Response: { "_schema": "NodeCminventoryServiceProperties", "_self": "/node/services/cm-inventory", "service_name": "cm-inventory" } Required Permissions: read Feature: system_administration Additional Errors:

Read manager service status

Request:
Method:
GET
URI Path:
/api/v1/node/services/cm-inventory/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/cm-inventory/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": { "href": "/node/services/cm-inventory/status", "rel": "self" }, "monitor_pid": 1145, "monitor_runtime_state": "running", "pids": [ 1147 ], "runtime_state": "running" } Required Permissions: read Feature: system_administration Additional Errors:

Restart, start or stop the manager service

Request:
Method:
POST
URI Path:
/api/v1/node/services/cm-inventory?action=start|stop|restart
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/services/cm-inventory?action=restart Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Required Permissions: crud Feature: system_administration Additional Errors:

Read http service properties

Request:
Method:
GET
URI Path:
/api/v1/node/services/http
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/http Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeHttpServiceProperties+

Example Response: { "_schema": "NodeHttpServiceProperties", "_self": { "href": "/node/services/http", "rel": "self" }, "service_name": "http", "service_properties": { "certificate": { "pem_encoded": "-BEGIN CERTIFICATE--END CERTIFICATE-\n" }, "cipher_suites": [ { "enabled": true, "name": "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" }, { "enabled": false, "name": "TLS_RSA_WITH_AES_256_GCM_SHA384" }, { "enabled": true, "name": "TLS_RSA_WITH_AES_256_CBC_SHA" }, ], "connection_timeout": 30000, "protocol_versions": [ { "enabled": true, "name": "TLSv1.1" }, { "enabled": true, "name": "TLSv1.2" } ], "redirect_host": "10.0.0.1", "session_timeout": 1800 } } Required Permissions: read Feature: system_administration Additional Errors:

Update http service properties

Request:
Method:
PUT
URI Path:
/api/v1/node/services/http
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NodeHttpServiceProperties+

Example Request: PUT https://<nsx-mgr>/api/v1/node/services/http { "service_name": "http", "service_properties": { "certificate": { "pem_encoded": "-BEGIN CERTIFICATE--END CERTIFICATE-\n" }, "cipher_suites": [ { "enabled": true, "name": "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" }, { "enabled": false, "name": "TLS_RSA_WITH_AES_256_GCM_SHA384" }, { "enabled": true, "name": "TLS_RSA_WITH_AES_256_CBC_SHA" }, ], "connection_timeout": 60000, "protocol_versions": [ { "enabled": true, "name": "TLSv1.1" }, { "enabled": true, "name": "TLSv1.2" } ], "redirect_host": "10.0.0.1", "session_timeout": 2400 } } Successful Response:
Response Code:
202 Accepted
Response Headers:
Content-type: application/json
Response Body:
NodeHttpServiceProperties+

Example Response: same as GET https://<nsx-mgr>/api/v1/node/services/http Required Permissions: crud Feature: system_administration Additional Errors:

Read http service status

Request:
Method:
GET
URI Path:
/api/v1/node/services/http/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/http/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": { "href": "/node/services/http/status", "rel": "self" }, "monitor_pid": 21135, "monitor_runtime_state": "running", "pids": [ 21137 ], "runtime_state": "running" } Required Permissions: read Feature: system_administration Additional Errors:

Update http service certificate

Applies a security certificate to the http service. In the POST request,
the CERTIFICATE_ID references a certificate created with the
/api/v1/trust-management APIs. Issuing this request causes the http service
to restart so that the service can begin using the new certificate. When the
POST request succeeds, it doesn't return a valid response. The request times
out because of the restart.
Request:
Method:
POST
URI Path:
/api/v1/node/services/http?action=apply_certificate
Request Headers:
n/a
Query Parameters:
CertificateId+
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/services/http?action=apply_certificate &certificate_id=$CERTIFICATE_ID$ (NOTE: remove line break) Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Example Response: Required Permissions: crud Feature: system_administration Additional Errors:

Restart the http service

Request:
Method:
POST
URI Path:
/api/v1/node/services/http?action=restart
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/services/http?action=restart Successful Response:
Response Code:
202 Accepted
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: system_administration Description:
Restart the http service.
Additional Errors:

Start the http service

Request:
Method:
POST
URI Path:
/api/v1/node/services/http?action=start
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/services/http?action=start Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Required Permissions: crud Feature: system_administration Description:
Start the http service.
Additional Errors:

Stop the http service

Request:
Method:
POST
URI Path:
/api/v1/node/services/http?action=stop
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/services/http?action=stop Successful Response:
Response Code:
202 Accepted
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: system_administration Description:
Stop the http service. NSX API requests will no longer be serviced. To restart the http service again, invoke the NSX CLI command <code>start service http</code>.
Additional Errors:

Read NSX install-upgrade service properties

Request:
Method:
GET
URI Path:
/api/v1/node/services/install-upgrade
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/install-upgrade Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeInstallUpgradeServiceProperties+

Example Response: { "_schema": "NodeInstallUpgradeServiceProperties", "_self": "/node/services/install-upgrade", "service_name": "install-upgrade", "service_properties": { "enabled": true, "enabled_on": "192.168.110.31" } } Required Permissions: read Feature: system_administration Additional Errors:

Update NSX install-upgrade service properties

Request:
Method:
PUT
URI Path:
/api/v1/node/services/install-upgrade
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NodeInstallUpgradeServiceProperties+

Example Request: PUT https://<nsx-mgr>/api/v1/node/services/install-upgrade { "service_name": "install-upgrade", "service_properties": { "enabled": false } } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeInstallUpgradeServiceProperties+

Example Response: { "_schema": "NodeInstallUpgradeServiceProperties", "_self": "/node/services/install-upgrade", "service_name": "install-upgrade", "service_properties": { "enabled": false, "enabled_on": "None" } } Required Permissions: crud Feature: system_administration Additional Errors:

Read NSX install-upgrade service status

Request:
Method:
GET
URI Path:
/api/v1/node/services/install-upgrade/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/install-upgrade/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": "/node/services/install-upgrade/status", "pids": [ 12976 ], "runtime_state": "running" } Required Permissions: read Feature: system_administration Additional Errors:

Restart, start or stop the NSX install-upgrade service

Request:
Method:
POST
URI Path:
/api/v1/node/services/install-upgrade?action=restart|start|stop
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/services/install-upgrade?action=restart Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": "/node/services/install-upgrade", "pids": [ 13787 ], "runtime_state": "running" } Required Permissions: crud Feature: system_administration Additional Errors:

Read liagent service properties

Request:
Method:
GET
URI Path:
/api/v1/node/services/liagent
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/liagent Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceProperties+

Example Response: { "_schema": "NodeServiceProperties", "_self": { "href": "/node/services/liagent", "rel": "self" }, "service_name": "liagent" } Required Permissions: read Feature: system_administration Additional Errors:

Read liagent service status

Request:
Method:
GET
URI Path:
/api/v1/node/services/liagent/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/liagent/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": { "href": "/node/services/liagent/status", "rel": "self" }, "pids": [], "runtime_state": "stopped" } Required Permissions: read Feature: system_administration Additional Errors:

Restart, start or stop the liagent service

Request:
Method:
POST
URI Path:
/api/v1/node/services/liagent?action=restart|start|stop
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/services/liagent?action=restart Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Required Permissions: crud Feature: system_administration Additional Errors:

Update service properties

Request:
Method:
PUT
URI Path:
/api/v1/node/services/manager
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NodeProtonServiceProperties+

Example Request: PUT https://<nsx-mgr>/api/v1/node/services/manager { "service_name": "manager", "service_properties": { "logging_level": "DEBUG", "package_logging_level": [ { "logging_level": "INFO", "package_name": "com.vmware.nsx" }, { "logging_level": "DEBUG", "package_name": "com.vmware.nsx.management.switching" }, { "logging_level": "DEBUG", "package_name": "com.vmware.nsx.management.edge" }, { "logging_level": "INFO", "package_name": "com.vmware.nsx.management.container.restartor" }, { "logging_level": "ERROR", "package_name": "org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer" } ] } } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeProtonServiceProperties+

Example Response: { "_schema": "NodeProtonServiceProperties", "_self": "/node/services/manager", "service_name": "manager", "service_properties": { "logging_level": "DEBUG", "package_logging_level": [ { "logging_level": "INFO", "package_name": "com.vmware.nsx" }, { "logging_level": "DEBUG", "package_name": "com.vmware.nsx.management.switching" }, { "logging_level": "DEBUG", "package_name": "com.vmware.nsx.management.edge" }, { "logging_level": "ERROR", "package_name": "org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer" }, { "logging_level": "INFO", "package_name": "com.vmware.nsx.management.container.restartor" } ] } } Required Permissions: crud Feature: system_administration Additional Errors:

Read service properties

Request:
Method:
GET
URI Path:
/api/v1/node/services/manager
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/manager Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeProtonServiceProperties+

Example Response: { "_schema": "NodeProtonServiceProperties", "_self": "/node/services/manager", "service_name": "manager", "service_properties": { "logging_level": "INFO", "package_logging_level": [ { "logging_level": "INFO", "package_name": "com.vmware.nsx" }, { "logging_level": "DEBUG", "package_name": "com.vmware.nsx.management.switching" }, { "logging_level": "DEBUG", "package_name": "com.vmware.nsx.management.edge" }, { "logging_level": "INFO", "package_name": "com.vmware.nsx.management.container.restartor" }, { "logging_level": "ERROR", "package_name": "org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer" } ] } } Required Permissions: read Feature: system_administration Additional Errors:

Read service status

Request:
Method:
GET
URI Path:
/api/v1/node/services/manager/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/manager/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": "/node/services/manager/status", "monitor_pid": 1145, "monitor_runtime_state": "running", "pids": [ 1147 ], "runtime_state": "running" } Required Permissions: read Feature: system_administration Additional Errors:

Reset the logging levels to default values

Request:
Method:
POST
URI Path:
/api/v1/node/services/manager?action=reset-manager-logging-levels
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/services/manager?action=reset-manager-logging-levels Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: system_administration Additional Errors:

Restart, start or stop the service

Request:
Method:
POST
URI Path:
/api/v1/node/services/manager?action=start|stop|restart
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/services/manager?action=restart Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Required Permissions: crud Feature: system_administration Additional Errors:

Read Rabbit MQ service properties

Request:
Method:
GET
URI Path:
/api/v1/node/services/mgmt-plane-bus
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/mgmt-plane-bus Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceProperties+

Example Response: { "_schema": "NodeServiceProperties", "_self": { "href": "/node/services/mgmt-plane-bus", "rel": "self" }, "service_name": "mgmt-plane-bus" } Required Permissions: read Feature: system_administration Additional Errors:

Read Rabbit MQ service status

Request:
Method:
GET
URI Path:
/api/v1/node/services/mgmt-plane-bus/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/mgmt-plane-bus/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": { "href": "/node/services/mgmt-plane-bus/status", "rel": "self" }, "monitor_pid": 1501, "monitor_runtime_state": "running", "pids": [ 1816 ], "runtime_state": "running" } Required Permissions: read Feature: system_administration Additional Errors:

Restart, start or stop the Rabbit MQ service

Request:
Method:
POST
URI Path:
/api/v1/node/services/mgmt-plane-bus?action=restart|start|stop
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/services/mgmt-plane-bus?action=restart Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Required Permissions: crud Feature: system_administration Additional Errors:

Read appliance management service properties

Request:
Method:
GET
URI Path:
/api/v1/node/services/node-mgmt
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/node-mgmt Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceProperties+

Example Response: { "_schema": "NodeServiceProperties", "_self": "/node/services/node-mgmt", "service_name": "node-mgmt" } Required Permissions: read Feature: system_administration Additional Errors:

Read appliance management service status

Request:
Method:
GET
URI Path:
/api/v1/node/services/node-mgmt/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/node-mgmt/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": "/node/services/node-mgmt/status", "monitor_pid": 19189, "monitor_runtime_state": "running", "pids": [ 19190 ], "runtime_state": "running" } Required Permissions: read Feature: system_administration Additional Errors:

Restart the node management service

Request:
Method:
POST
URI Path:
/api/v1/node/services/node-mgmt?action=restart
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/services/node-mgmt?action=restart Successful Response:
Response Code:
202 Accepted
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: system_administration Additional Errors:

Read NSX Message Bus service properties

Request:
Method:
GET
URI Path:
/api/v1/node/services/nsx-message-bus
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/nsx-message-bus Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceProperties+

Example Response: { "_schema": "NodeServiceProperties", "_self": "/node/services/nsx-message-bus", "service_name": "nsx-message-bus" } Required Permissions: read Feature: system_administration Additional Errors:

Read NSX Message Bus service status

Request:
Method:
GET
URI Path:
/api/v1/node/services/nsx-message-bus/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/nsx-message-bus/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": "/node/services/nsx-message-bus/status", "monitor_pid": 1, "monitor_runtime_state": "running", "pids": [ 18318, 18328, 18329 ], "runtime_state": "running" } Required Permissions: read Feature: system_administration Additional Errors:

Restart, start or stop the NSX Message Bus service

Request:
Method:
POST
URI Path:
/api/v1/node/services/nsx-message-bus?action=restart|start|stop
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/services/nsx-message-bus?action=restart Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": "/node/services/nsx-message-bus", "monitor_pid": 1, "monitor_runtime_state": "running", "pids": [ 18318, 18328, 18329 ], "runtime_state": "running" } Required Permissions: crud Feature: system_administration Additional Errors:

Read NSX upgrade Agent service properties

Request:
Method:
GET
URI Path:
/api/v1/node/services/nsx-upgrade-agent
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/nsx-upgrade-agent Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceProperties+

Example Response: { "_schema": "NodeServiceProperties", "_self": "/node/services/nsx-upgrade-agent", "service_name": "nsx-upgrade-agent" } Required Permissions: read Feature: system_administration Additional Errors:

Read Nsx upgrade agent service status

Request:
Method:
GET
URI Path:
/api/v1/node/services/nsx-upgrade-agent/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/nsx-upgrade-agent/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": "/node/services/nsx-upgrade-agent/status", "monitor_pid": 1, "monitor_runtime_state": "running", "pids": [ 17892 ], "runtime_state": "running" } Required Permissions: read Feature: system_administration Additional Errors:

Restart, start or stop the NSX upgrade agent service

Request:
Method:
POST
URI Path:
/api/v1/node/services/nsx-upgrade-agent?action=restart|start|stop
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/services/nsx-upgrade-agent?action=restart Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": "/node/services/nsx-upgrade-agent", "monitor_pid": 1, "monitor_runtime_state": "running", "pids": [ 17892 ], "runtime_state": "running" } Required Permissions: crud Feature: system_administration Additional Errors:

Update NTP service properties

Request:
Method:
PUT
URI Path:
/api/v1/node/services/ntp
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NodeNtpServiceProperties+

Example Request: PUT https://<nsx-mgr>/api/v1/node/services/ntp { "service_name": "ntp", "service_properties": { "servers": [ "0.ubuntu.pool.ntp.org", "1.ubuntu.pool.ntp.org", "2.ubuntu.pool.ntp.org", "3.ubuntu.pool.ntp.org", "ntp.ubuntu.com", "192.168.110.10" ] } } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeNtpServiceProperties+

Example Response: { "_schema": "NodeNtpServiceProperties", "_self": "/node/services/ntp", "service_name": "ntp", "service_properties": { "servers": [ "0.ubuntu.pool.ntp.org", "1.ubuntu.pool.ntp.org", "2.ubuntu.pool.ntp.org", "3.ubuntu.pool.ntp.org", "ntp.ubuntu.com", "192.168.110.10" ] } } Required Permissions: crud Feature: system_administration Additional Errors:

Read NTP service properties

Request:
Method:
GET
URI Path:
/api/v1/node/services/ntp
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/ntp Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeNtpServiceProperties+

Example Response: { "_schema": "NodeNtpServiceProperties", "_self": "/node/services/ntp", "service_name": "ntp", "service_properties": { "servers": [ "0.ubuntu.pool.ntp.org", "1.ubuntu.pool.ntp.org", "2.ubuntu.pool.ntp.org", "3.ubuntu.pool.ntp.org", "ntp.ubuntu.com" ] } } Required Permissions: read Feature: system_administration Additional Errors:

Read NTP service status

Request:
Method:
GET
URI Path:
/api/v1/node/services/ntp/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/ntp/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": "/node/services/ntp/status", "pids": [ 6270, 6272 ], "runtime_state": "running" } Required Permissions: read Feature: system_administration Additional Errors:

Restart, start or stop the NTP service

Request:
Method:
POST
URI Path:
/api/v1/node/services/ntp?action=restart|start|stop
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/services/ntp?action=restart Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": "/node/services/ntp", "pids": [ 6035, 6270, 6272 ], "runtime_state": "running" } Required Permissions: crud Feature: system_administration Additional Errors:

Read NSX Search service properties

Request:
Method:
GET
URI Path:
/api/v1/node/services/search
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceProperties+

Required Permissions: read Feature: system_administration Additional Errors:

Read NSX Search service status

Request:
Method:
GET
URI Path:
/api/v1/node/services/search/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Required Permissions: read Feature: system_administration Additional Errors:

Restart, start or stop the NSX Search service

Request:
Method:
POST
URI Path:
/api/v1/node/services/search?action=restart|start|stop
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Required Permissions: crud Feature: system_administration Additional Errors:

Read SNMP service properties

Request:
Method:
GET
URI Path:
/api/v1/node/services/snmp
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/snmp Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceProperties+

Example Response: { "_schema": "NodeServiceProperties", "_self": "/node/services/snmp", "service_name": "snmp" "service_properties": { "start_on_boot": true } } Required Permissions: read Feature: system_administration Additional Errors:

Update SNMP service properties

Request:
Method:
PUT
URI Path:
/api/v1/node/services/snmp
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NodeSnmpServiceProperties+

Example Request: PUT https://<nsx-mgr>/api/v1/node/services/snmp { "service_name": "snmp", "service_properties": { "communities": [{"access": "read_only", "community_string": "snmpcommunity"}], "start_on_boot": true } } { "service_name": "snmp", "service_properties": { "communities": [ ], "start_on_boot": true } } { "service_name": "snmp", "service_properties": { "start_on_boot": false } } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeSnmpServiceProperties+

Example Response: { "_schema": "NodeServiceProperties", "_self": "/node/services/snmp", "service_name": "snmp" "service_properties": { "start_on_boot": false } } Required Permissions: crud Feature: system_administration Additional Errors:

Read SNMP service status

Request:
Method:
GET
URI Path:
/api/v1/node/services/snmp/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/snmp/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": "/node/services/snmp/status", "pids": [ 16754 ], "runtime_state": "running" } Required Permissions: read Feature: system_administration Additional Errors:

Restart, start or stop the SNMP service

Request:
Method:
POST
URI Path:
/api/v1/node/services/snmp?action=restart|start|stop
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/services/snmp?action=restart Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": "/node/services/snmp", "pids": [ 16361 ], "runtime_state": "running" } Required Permissions: crud Feature: system_administration Additional Errors:

Read ssh service properties

Request:
Method:
GET
URI Path:
/api/v1/node/services/ssh
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/ssh Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeSshServiceProperties+

Example Response: { "_schema": "NodeSshServiceProperties", "_self": "/node/services/ssh", "service_name": "ssh", "service_properties": { "start_on_boot": true } } Required Permissions: read Feature: system_administration Additional Errors:

Update ssh service properties

Request:
Method:
PUT
URI Path:
/api/v1/node/services/ssh
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NodeSshServiceProperties+

Example Request: PUT https://<nsx-mgr>/api/v1/node/services/ssh { "service_name": "ssh", "service_properties": { "start_on_boot": false } } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeSshServiceProperties+

Example Response: { "_schema": "NodeSshServiceProperties", "_self": "/node/services/ssh", "service_name": "ssh", "service_properties": { "start_on_boot": false } } Required Permissions: crud Feature: system_administration Additional Errors:

Read ssh service status

Request:
Method:
GET
URI Path:
/api/v1/node/services/ssh/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/ssh/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": "/node/services/ssh/status", "pids": [ 868 ], "runtime_state": "running" } Required Permissions: read Feature: system_administration Additional Errors:

Remove a host's fingerprint from known hosts file

Request:
Method:
POST
URI Path:
/api/v1/node/services/ssh?action=remove_host_fingerprint
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
KnownHostParameter+

Example Request: POST https://<nsx-mgr>/api/v1/node/services/ssh?action=remove_host_fingerprint { "host": "192.168.110.105" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: system_administration Additional Errors:

Restart, start or stop the ssh service

Request:
Method:
POST
URI Path:
/api/v1/node/services/ssh?action=start|stop|restart
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/services/ssh?action=start Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": "/node/services/ssh", "pids": [ 15930 ], "runtime_state": "running" } Required Permissions: crud Feature: system_administration Additional Errors:

Read syslog service properties

Request:
Method:
GET
URI Path:
/api/v1/node/services/syslog
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/syslog Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceProperties+

Example Response: { "_schema": "NodeServiceProperties", "_self": { "href": "/node/services/syslog", "rel": "self" }, "service_name": "syslog" } Required Permissions: read Feature: system_administration Additional Errors:

List node syslog exporters

Returns the collection of registered syslog exporter rules, if any. The
rules specify the collector IP address and port, and the protocol to use.
Request:
Method:
GET
URI Path:
/api/v1/node/services/syslog/exporters
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/syslog/exporters Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeSyslogExporterPropertiesListResult+

Example Response: { "result_count": 2, "results": [ { "exporter_name": "syslog1", "level": "INFO", "port": 514, "protocol": "TCP", "server": "192.168.0.2" }, { "exporter_name": "syslog2", "level": "CRIT", "port": 514, "protocol": "TCP", "server": "192.168.0.1" } ] } Required Permissions: read Feature: system_log Additional Errors:

Add node syslog exporter

Adds a rule for exporting syslog information to a specified server. The
required parameters are the rule name (exporter_name); severity level
(emerg, alert, crit, and so on); transmission protocol (TCP or UDP); and
server IP address or hostname. The optional parameters are the syslog port
number, which can be 1 through 65,535 (514, by default); facility level to
use when logging messages to syslog (kern, user, mail, and so on); and
message IDs (msgids), which identify the types of messages to export.
Request:
Method:
POST
URI Path:
/api/v1/node/services/syslog/exporters
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NodeSyslogExporterProperties+

Example Request: POST https://<nsx-mgr>/api/v1/node/services/syslog/exporters { "exporter_name": "syslog4", "facilities": ["KERN", "USER"], "level": "INFO", "msgids": ["tcpin", "tcpout"], "port": 514, "protocol": "TCP", "server": "192.168.0.4" } Successful Response:
Response Code:
201 Created
Response Headers:
Content-type: application/json
Response Body:
NodeSyslogExporterProperties+

Example Response: { "exporter_name": "syslog4", "facilities": [ "KERN", "USER" ], "level": "INFO", "msgids": [ "tcpin", "tcpout" ], "port": 514, "protocol": "TCP", "server": "192.168.0.4" } Required Permissions: crud Feature: system_log Additional Errors:

Delete node syslog exporter

Removes a specified rule from the collection of syslog exporter rules.
Request:
Method:
DELETE
URI Path:
/api/v1/node/services/syslog/exporters/<exporter-name>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https://<nsx-mgr>/api/v1/node/services/syslog/exporters/syslog4 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: system_log Additional Errors:

Read node syslog exporter

Returns information about a specific syslog collection point. Request:
Method:
GET
URI Path:
/api/v1/node/services/syslog/exporters/<exporter-name>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/syslog/exporters/syslog1 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeSyslogExporterProperties+

Example Response: { "exporter_name": "syslog1", "level": "CRIT", "port": 514, "protocol": "TCP", "server": "192.168.0.1" } Required Permissions: read Feature: system_log Additional Errors:

Read syslog service status

Request:
Method:
GET
URI Path:
/api/v1/node/services/syslog/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/services/syslog/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Example Response: { "_schema": "NodeServiceStatusProperties", "_self": { "href": "/node/services/syslog/status", "rel": "self" }, "pids": [ 661 ], "runtime_state": "running" } Required Permissions: read Feature: system_administration Additional Errors:

Restart, start or stop the syslog service

Request:
Method:
POST
URI Path:
/api/v1/node/services/syslog?action=restart|start|stop
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node/services/syslog?action=restart Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeServiceStatusProperties+

Required Permissions: crud Feature: system_administration Additional Errors:

Read node status

Returns information about the NSX Manager appliance's file system, CPU,
memory, disk usage, and uptime.
Request:
Method:
GET
URI Path:
/api/v1/node/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeStatusProperties+

Example Response: { "cpu_cores": 2, "file_systems": [ { "file_system": "/dev/sda2", "mount": "/", "total": 4790588, "type": "ext4", "used": 1402060 }, ...[content omitted for brevity] ], "load_average": [ 0.09, 0.1, 0.07 ], "mem_cache": 530348, "mem_total": 16430712, "mem_used": 3488064, "swap_total": 3997692, "swap_used": 0, "system_time": 1442278302776, "uptime": 22474490 } Required Permissions: read Feature: system_administration Additional Errors:

Read node support bundle

Request:
Method:
GET
URI Path:
/api/v1/node/support-bundle
Request Headers:
n/a
Query Parameters:
SupportBundleQueryParameters+
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/support-bundle Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/octet-stream
Response Body:
n/a

Example Response: Headers Content-Disposition : attachment;filename=nsx_support_bundle_20170818_002715.tgz Content-Type : application/x-tar Date : Thu, 18 Aug 2017 00:28:07 GMT Server : NSX Manager Transfer-Encoding : chunked Vmw-Task-Id : 421b38aa-e390-64b9-3fff-7ad6ebf59c40_10b1b5d6-0786-49a4-a61c-a1f64428b40e Required Permissions: read Feature: system_support_bundle Additional Errors:

List appliance management tasks

Request:
Method:
GET
URI Path:
/api/v1/node/tasks
Request Headers:
n/a
Query Parameters:
ApplianceManagementTaskQueryParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ApplianceManagementTaskListResult+

Required Permissions: read Feature: system_administration Additional Errors:

Read task properties

Request:
Method:
GET
URI Path:
/api/v1/node/tasks/<task-id>
Request Headers:
n/a
Query Parameters:
ApplianceManagementSuppressRedirectQueryParameter+
Request Body:
n/a

Successful Response:
Response Code:
200 OK, 303 See Other
Response Headers:
Content-type: application/json
Response Body:
ApplianceManagementTaskProperties+

Required Permissions: read Feature: system_administration Additional Errors:

Delete task

Request:
Method:
DELETE
URI Path:
/api/v1/node/tasks/<task-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: read Feature: system_administration Additional Errors:

Read asynchronous task response

Request:
Method:
GET
URI Path:
/api/v1/node/tasks/<task-id>/response
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK, 201 Created, 202 Accepted, 204 No Content, 303 See Other
Response Headers:
n/a
Response Body:
n/a

Required Permissions: read Feature: system_administration Additional Errors:

Cancel specified task

Request:
Method:
POST
URI Path:
/api/v1/node/tasks/<task-id>?action=cancel
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: read Feature: system_administration Additional Errors:

List node users

Returns the list of users configued to log in to the NSX Manager appliance.
Request:
Method:
GET
URI Path:
/api/v1/node/users
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/users Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeUserPropertiesListResult+

Example Response: { "result_count": 3, "results": [ { "full_name": "root", "userid": 0, "username": "root" }, { "full_name": "", "userid": 10000, "username": "admin" }, { "full_name": "", "userid": 10002, "username": "audit" } ] } Required Permissions: read Feature: system_administration Additional Errors:

Update node user

Updates attributes of an existing NSX Manager appliance user. This method
cannot be used to add a new user. Modifiable attributes include the
username, full name of the user, and password. If you specify a password in
a PUT request, it is not returned in the response. Nor is it returned in a
GET request.
Request:
Method:
PUT
URI Path:
/api/v1/node/users/<userid>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
NodeUserProperties+

Example Request: PUT https://<nsx-mgr>/api/v1/node/users/10000 { "full_name": "Jane L. Doe", "username": "admin1" } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeUserProperties+

Example Response: { "full_name": "Jane L. Doe" "userid": 10000, "username": "admin1" } Required Permissions: crud Feature: system_administration Additional Errors:

Read node user

Returns information about a specified user who is configued to log in to the
NSX Manager appliance
Request:
Method:
GET
URI Path:
/api/v1/node/users/<userid>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/users/10000 Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
NodeUserProperties+

Example Response: { "full_name": "", "userid": 10000, "username": "admin" } Required Permissions: read Feature: system_administration Additional Errors:

List SSH keys from authorized_keys file for node user

Returns a list of all SSH keys from authorized_keys file for node user
Request:
Method:
GET
URI Path:
/api/v1/node/users/<userid>/ssh-keys
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/node/users/10000/ssh-keys Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SshKeyPropertiesListResult+

Example Response: { "result_count": 2, "results": [ { "label": "user1@domain1" "type": "ssh-rsa" "value": "AAAAB3NzaC1yc2EAAAABIwAAAIEAywWhrwq4FjHt+UuwZcZePxtjtZOENFpOjufycaYso2nTlzNwnAQEQRfbqsUxKVtOtGxgApIkUvjRIjNBdJE6iOzvBXZhhJrM0GUDJragw7SMVIs/5xJBGAyHKJ1YUMGO7+nJTmsCLx6PFOlQYveuriiVVCCZerGCLH+UtSXK3z+l7hx9NiDg3/ylOLc3f3SLxrJKn0gMTgK7BHJFXo4PguuPjWZLVdUDX+XKiqtT2n4IsYs6N9qVFG3zUgNlEjZM47NK/ytAC0max98pK+QNzsuaQOo/IShJ1TOw5wwScflPArVJ2AyROqAe7cfQg7q12I9olASFd3U5NazfZCTYAvWA1kz9UZEWLJ1Br1XOkPqOleMM8KCp/PXzz8H0kISkMIji0/QuiZOPEBsKlszXjlALcXR8Mg1uiZVWy48i9JheyXyj1ToCj6cPScpgFHp3DAGSlKKbE1EFaVfeeyGAnHESuXC9wkSeFZCEyMJ+RgJxMkBXNZmyycbwsSqAeGJpMEUDlwzu2GD0obBz0HXqg9J1Xallop5AVDKfeszZcc=" }, { "label": "user2@domain2" "type": "ssh-rsa" "value": "AAAAB3NzaC1yc2EAAAABIwAAAIEA0KJDLOiiXj9XdMxiCT9KvaKfuxFQi+CIiklaN5hHsNgYOu7TijqyONEu5fONLoAo/cshLa+KuargyTrtizwcP4TPcTXZhhJrM0GUDJragw7SMVIs/5xJBGAyHKJ1YUMGO7+nJTmsCLx6PFOlQYveuriiVVCCZerGCLH+UtSXK3z+l7hx9NiDg3/ylOLc3f3SLxrJKn0gMTgK7BHJFXo4PguuPjWZLVdUDX+XKiqtT2n4IsYs6N9qVFG3zUgNlEjZM47NK/ytAC0max98pK+QNzsuaQOo/IShJ1TOw5wwScflPArVJ2AyROqAe7cfQg7q12I9olASFd3U5NazfZCTYAvWA1kz9UZEWLJ1Br1XOkPqOleMM8KCp/PXzz8H0kISkMIji0/QuiZOPEBsKlszXjlALcXR8Mg1uiZVWy48i9JheyXyj1ToCj6cPScpgFHp3DAGSlKKbE1EFaVfeeyGAnHESlnDDg3Gq5xSsB9Okqm3V5t8GpFaJbV68BxQ4BK6HJ21A3CinV4LdV3hR/OBUbDG2EcI+ZKRDjlpJuu4YU=" } ] } Required Permissions: read Feature: system_administration Additional Errors:

Add SSH public key to authorized_keys file for node user

Request:
Method:
POST
URI Path:
/api/v1/node/users/<userid>/ssh-keys?action=add_ssh_key
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
SshKeyProperties+

Example Request: POST https://<nsx-mgr>/api/v1/node/users/10000/ssh-keys?action=add_ssh_key { "label": "user1@domain1", "type": "ssh-rsa", "value": "AAAAB3NzaC1yc2EAAAABIwAAAIEAywWhrwq4FjHt+UuwZcZePxtjtZOENFpOjufycaYso2nTlzNwnAQEQRfbqsUxKVtOtGxgApIkUvjRIjNBdJE6iOzvBXZhhJrM0GUDJragw7SMVIs/5xJBGAyHKJ1YUMGO7+nJTmsCLx6PFOlQYveuriiVVCCZerGCLH+UtSXK3z+l7hx9NiDg3/ylOLc3f3SLxrJKn0gMTgK7BHJFXo4PguuPjWZLVdUDX+XKiqtT2n4IsYs6N9qVFG3zUgNlEjZM47NK/ytAC0max98pK+QNzsuaQOo/IShJ1TOw5wwScflPArVJ2AyROqAe7cfQg7q12I9olASFd3U5NazfZCTYAvWA1kz9UZEWLJ1Br1XOkPqOleMM8KCp/PXzz8H0kISkMIji0/QuiZOPEBsKlszXjlALcXR8Mg1uiZVWy48i9JheyXyj1ToCj6cPScpgFHp3DAGSlKKbE1EFaVfeeyGAnHESuXC9wkSeFZCEyMJ+RgJxMkBXNZmyycbwsSqAeGJpMEUDlwzu2GD0obBz0HXqg9J1Xallop5AVDKfeszZcc=", "password": "Pa$$w0rd" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: system_administration Additional Errors:

Remove SSH public key from authorized_keys file for node user

Request:
Method:
POST
URI Path:
/api/v1/node/users/<userid>/ssh-keys?action=remove_ssh_key
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
SshKeyBaseProperties+

Example Request: POST https://<nsx-mgr>/api/v1/node/users/10000/ssh-keys?action=remove_ssh_key { "label": "user1@domain1", "password": "Pa$$w0rd" } Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: system_administration Additional Errors:

Restart or shutdown node

Restarts or shuts down the NSX Manager appliance. Request:
Method:
POST
URI Path:
/api/v1/node?action=restart|shutdown
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: POST https://<nsx-mgr>/api/v1/node?action=restart Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: system_administration Additional Errors:

Nsx Component Administration: Backup Restore Management

Nsx Component Administration: Backup Restore Management: Restore

Associated URIs:

Query Restore Request Status

Returns status information for the specified NSX cluster restore request.
Request:
Method:
GET
URI Path:
/api/v1/cluster/restore/status
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https://<nsx-mgr>/api/v1/cluster/restore/status Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ClusterRestoreStatus+

Example Response: { "id": "86e81e05-bc3c-4216-a0a2-3bf46ece68a3", "backup_timestamp": 1415830945573, "restore_start_time": 1415830945573, "restore_end_time": 1415830947433, "step": { "step_number": 7, "value": "MANAGER_RESTARTING", "description": "Restarting manager", "status": { "value": "RUNNING", "description": "The manager is restarting" } }, "status": { "value": "RUNNING", "description": "The operation is currently running" }, "total_steps": 11, #TODO: Fill in endpoints when state machine is finalized. "endpoints": [], "instructions": [ { "id": "48F45150-038C-4664-B468-36FFE1B356F9", "name": "Reset Fabric Nodes", "actions": [ "Log into these fabric nodes with root access and run reset_nsx_after_mp_restore.sh", "Restart node agent" ], "fields": ["display_name", "id", "resource_type", "IP"] }, { ... } ] } Required Permissions: read Feature: utilities_backup Additional Errors:

Policy

Associated URIs:

Read infra (Experimental)

Read infra. Returns only the infra related properties. Inner object
are not populated.
Request:
Method:
GET
URI Path:
/policy/api/v1/infra
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Infra+

Required Permissions: read Additional Errors:

Update the infra including all the nested entities (Experimental)

Update the infra including all the nested entities Request:
Method:
POST
URI Path:
/policy/api/v1/infra
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Infra+

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Additional Errors:

List CommunicationProfiles (Experimental)

Paginated list of CommunicationProfiles.
Request:
Method:
GET
URI Path:
/policy/api/v1/infra/communication-profiles
Request Headers:
n/a
Query Parameters:
CommunicationProfileListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
CommunicationProfileListResult+

Required Permissions: read Additional Errors:

Read CommunicationProfile (Experimental)

Read a CommunicationProfile.
Request:
Method:
GET
URI Path:
/policy/api/v1/infra/communication-profiles/<communication-profile-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
CommunicationProfile+

Required Permissions: read Additional Errors:

Create or update a CommunicationProfile (Experimental)

Create a new CommunicationProfile if a CommunicationProfile with the given ID does not already
exist. Creates new CommunicationProfileEntries if populated in the CommunicationProfile.
If a CommunicationProfile with the given ID already exists, update the CommunicationProfile
including the nested CommunicationProfileEntries. This is a full replace.
This is the ONLY way to create CommunicationProfileEntries and to add them to a
CommunicationProfile.
Request:
Method:
POST
URI Path:
/policy/api/v1/infra/communication-profiles/<communication-profile-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
CommunicationProfile+

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Additional Errors:

Delete CommunicationProfile (Experimental)

Delete CommunicationProfile Request:
Method:
DELETE
URI Path:
/policy/api/v1/infra/communication-profiles/<communication-profile-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Additional Errors:

List CommunicationProfileEntries for CommunicationProfile (Experimental)

Paginated list of CommunicationProfileEntries for the given CommunicationProfile.
Request:
Method:
GET
URI Path:
/policy/api/v1/infra/communication-profiles/<communication-profile-id>/communication-profile-entries
Request Headers:
n/a
Query Parameters:
CommunicationProfileEntryListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
CommunicationProfileEntryListResult+

Required Permissions: read Additional Errors:

Delete CommunicationProfileEntry (Experimental)

Delete CommunicationProfileEntry Request:
Method:
DELETE
URI Path:
/policy/api/v1/infra/communication-profiles/<communication-profile-id>/communication-profile-entries/<communication-profile-entry-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Additional Errors:

Read CommunicationProfileEntry (Experimental)

Read CommunicationProfileEntry Request:
Method:
GET
URI Path:
/policy/api/v1/infra/communication-profiles/<communication-profile-id>/communication-profile-entries/<communication-profile-entry-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
CommunicationProfileEntry+

Required Permissions: read Additional Errors:

Create or update a CommunicationProfileEntry (Experimental)

Update the CommunicationProfileEntry. If a CommunicationProfileEntry with the communication-profile-entry-id
is not already present, this API fails with a 404. Creation of CommunicationProfileEntries
is not allowed using this API.
Request:
Method:
POST
URI Path:
/policy/api/v1/infra/communication-profiles/<communication-profile-id>/communication-profile-entries/<communication-profile-entry-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
CommunicationProfileEntry+

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Additional Errors:

List domains for infra (Experimental)

Paginated list of all domains for infra.
Request:
Method:
GET
URI Path:
/policy/api/v1/infra/domains
Request Headers:
n/a
Query Parameters:
DomainListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DomainListResult+

Required Permissions: read Additional Errors:

Read domain (Experimental)

Read a domain.
Request:
Method:
GET
URI Path:
/policy/api/v1/infra/domains/<domain-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Domain+

Required Permissions: read Additional Errors:

Create or update a domain (Experimental)

If a domain with the domain-id is not already present, create a new
domain. If it already exists, update the domain including the nested
groups. This is a full replace
Request:
Method:
POST
URI Path:
/policy/api/v1/infra/domains/<domain-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Domain+

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Additional Errors:

Delete Domain and all the entities contained by this domain (Experimental)

Delete the domain along with all the entities contained by this domain.
The groups that are a part of this domain are also deleted along with
the domain.
Request:
Method:
DELETE
URI Path:
/policy/api/v1/infra/domains/<domain-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Additional Errors:

Read communication-map (Experimental)

Read communication-map for a domain.
Request:
Method:
GET
URI Path:
/policy/api/v1/infra/domains/<domain-id>/communication-map
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
CommunicationMap+

Required Permissions: read Additional Errors:

Update communication map (Experimental)

Update the communication map for a domain. This is a full replace.
All the CommunicationEntries are replaced.
Request:
Method:
POST
URI Path:
/policy/api/v1/infra/domains/<domain-id>/communication-map
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
CommunicationMap+

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Additional Errors:

List CommunicationEntries (Experimental)

List CommunicationEntries Request:
Method:
GET
URI Path:
/policy/api/v1/infra/domains/<domain-id>/communication-map/communication-entries
Request Headers:
n/a
Query Parameters:
CommunicationEntryListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
CommunicationEntryListResult+

Required Permissions: read Additional Errors:

Read CommunicationEntry (Experimental)

Read CommunicationEntry Request:
Method:
GET
URI Path:
/policy/api/v1/infra/domains/<domain-id>/communication-map/communication-entries/<communication-entry-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
CommunicationEntry+

Required Permissions: read Additional Errors:

Create or update a CommunicationEntry (Experimental)

Update the CommunicationEntry. If a CommunicationEntry with the communication-entry-id
is not already present, this API fails with a 404. Creation of CommunicationEntries
is not allowed using this API.
Request:
Method:
POST
URI Path:
/policy/api/v1/infra/domains/<domain-id>/communication-map/communication-entries/<communication-entry-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
CommunicationEntry+

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Additional Errors:

Delete CommunicationEntry (Experimental)

Delete CommunicationEntry Request:
Method:
DELETE
URI Path:
/policy/api/v1/infra/domains/<domain-id>/communication-map/communication-entries/<communication-entry-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Additional Errors:

Revise the positioninng of communication maps (Experimental)

This is used to set a precedence of a communication map w.r.t others.
Request:
Method:
POST
URI Path:
/policy/api/v1/infra/domains/<domain-id>/communication-map?action=revise
Request Headers:
n/a
Query Parameters:
CommunicationMapInsertParameters+
Request Body:
CommunicationMap+

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Additional Errors:

List Groups for a domain (Experimental)

List Groups for a domain Request:
Method:
GET
URI Path:
/policy/api/v1/infra/domains/<domain-id>/groups
Request Headers:
n/a
Query Parameters:
GroupListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
GroupListResult+

Required Permissions: read Additional Errors:

Create or update a group (Experimental)

If a group with the group-id is not already present, create a new group.
If it already exists, update the group.
Request:
Method:
POST
URI Path:
/policy/api/v1/infra/domains/<domain-id>/groups/<group-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Group+

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Additional Errors:

Delete Group (Experimental)

Delete Group Request:
Method:
DELETE
URI Path:
/policy/api/v1/infra/domains/<domain-id>/groups/<group-id>
Request Headers:
n/a
Query Parameters:
GroupDeleteRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Additional Errors:

Read group (Experimental)

Read group Request:
Method:
GET
URI Path:
/policy/api/v1/infra/domains/<domain-id>/groups/<group-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Group+

Required Permissions: read Additional Errors:

List Services for infra (Experimental)

Paginated list of Services for infra.
Request:
Method:
GET
URI Path:
/policy/api/v1/infra/services
Request Headers:
n/a
Query Parameters:
ServiceListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ServiceListResult+

Required Permissions: read Additional Errors:

Delete Service (Experimental)

Delete Service Request:
Method:
DELETE
URI Path:
/policy/api/v1/infra/services/<service-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Additional Errors:

Read a service (Experimental)

Read a service Request:
Method:
GET
URI Path:
/policy/api/v1/infra/services/<service-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
Service+

Required Permissions: read Additional Errors:

Create or update a Service (Experimental)

Create a new service if a service with the given ID does not already
exist. Creates new service entries if populated in the service.
If a service with the given ID already exists, update the service
including the nested service entries. This is a full replace.
Request:
Method:
POST
URI Path:
/policy/api/v1/infra/services/<service-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
Service+

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Additional Errors:

List Service entries for the given service (Experimental)

Paginated list of Service entries for the given service
Request:
Method:
GET
URI Path:
/policy/api/v1/infra/services/<service-id>/service-entries
Request Headers:
n/a
Query Parameters:
ServiceEntryListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ServiceEntryListResult+

Required Permissions: read Additional Errors:

Create or update a ServiceEntry (Experimental)

If a service entry with the service-entry-id is not already present,
create a new service entry. If it already exists, update the service
entry.
Request:
Method:
POST
URI Path:
/policy/api/v1/infra/services/<service-id>/service-entries/<service-entry-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
ALGTypeServiceEntry+
EtherTypeServiceEntry+
ICMPTypeServiceEntry+
IGMPTypeServiceEntry+
IPProtocolServiceEntry+
L4PortSetServiceEntry+

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Additional Errors:

Delete Service entry (Experimental)

Delete Service entry Request:
Method:
DELETE
URI Path:
/policy/api/v1/infra/services/<service-id>/service-entries/<service-entry-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Additional Errors:

Service entry (Experimental)

Service entry Request:
Method:
GET
URI Path:
/policy/api/v1/infra/services/<service-id>/service-entries/<service-entry-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ALGTypeServiceEntry+
EtherTypeServiceEntry+
ICMPTypeServiceEntry+
IGMPTypeServiceEntry+
IPProtocolServiceEntry+
L4PortSetServiceEntry+

Required Permissions: read Additional Errors:

Policy: Infra

Associated URIs:

List Deployment Zones for infra (Experimental)

Paginated list of all Deployment zones for infra.
Request:
Method:
GET
URI Path:
/policy/api/v1/infra/deployment-zones
Request Headers:
n/a
Query Parameters:
DeploymentZoneListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DeploymentZoneListResult+

Required Permissions: read Additional Errors:

Read a DeploymentZone (Experimental)

Read a Deployment Zone
Request:
Method:
GET
URI Path:
/policy/api/v1/infra/deployment-zones/<deployment-zone-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
DeploymentZone+

Required Permissions: read Additional Errors:

List enforcementpoints for infra (Experimental)

Paginated list of all enforcementpoints for infra.
Request:
Method:
GET
URI Path:
/policy/api/v1/infra/deployment-zones/<deployment-zone-id>/enforcement-points
Request Headers:
n/a
Query Parameters:
EnforcementPointListRequestParameters+
Request Body:
n/a

Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
EnforcementPointListResult+