vmc-app API Guide

NSX 2.2.0

Table of Contents

  1. Overview
  2. API Methods
    1. Vmc
  3. API Types
  4. API Type Schemas
  5. API Errors


Overview

Introduction

vmc-app 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 vmc-app 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.

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 vmc-app API

You can get an OpenAPI specification of the vmc-app API with one of the following calls:



API Methods

Toggle all tables +

Vmc

Associated URIs:

Get SDDC account information.

Retrieve the shadow account and linked VPC account information from VMC provider. This API is a live query to VMC provider. Request:
Method:
GET
URI Path:
/cloud-service/api/v1/accounts
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https:///cloud-service/api/v1/accounts/ Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
VMCAccounts+

Example Response: { shadow_account: "482663666969", linked_vpc_account: "909992878262" } Required Permissions: read Feature: vmc_user_features Additional Errors:

List linked VPC information.

Request:
Method:
GET
URI Path:
/cloud-service/api/v1/linked-vpcs
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https:///cloud-service/api/v1/linked-vpcs Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LinkedVpcsListResult+

Example Response: { "result_count": 1, "results": [ { "linked_vpc_id":"vpc-efeda78a", "linked_vpc_addresses":[ "172.31.0.0/16" ], "linked_vpc_subnet_addresses":[ "172.31.32.0/20" ], "route_table_ids":[ "rtb-588ad73d" ], "arn_role":"arn:aws:iam::122674636182:role/vmware-sddc-formation-493513ce-6488-476-RemoteRole-E38OM4XJOCLD", "linked_vpc_nat_ips":[ "172.31.32.159" ], "external_id":"vmware-vmc", "linked_account":"122674636182" } ] } Required Permissions: read Feature: vmc_user_features Additional Errors:

Get linked VPC information.

Request:
Method:
GET
URI Path:
/cloud-service/api/v1/linked-vpcs/<linked-vpc-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https:///cloud-service/api/v1/linked-vpcs/vpc-efeda78a Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
LinkedVpcInfo+

Required Permissions: read Feature: vmc_user_features Additional Errors:

List services connected to this linked vpc

List services connected to this linked vpc, for example, S3. The response consist of all available services along with their status. Request:
Method:
GET
URI Path:
/cloud-service/api/v1/linked-vpcs/<linked-vpc-id>/connected-services
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https:///cloud-service/api/v1/linked-vpcs/vpc-01/connected-services Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ConnectedServiceListResult+

Example Response: { "results": [{ "name": "s3", "enabled" : true }] } Required Permissions: read Feature: vmc_user_features Additional Errors:

Connect/Disconnect the service to this linked vpc

Connect/Disconnect the service to the given linked vpc. For example, connect S3. The user will know what services are available through the GET call. If the user is trying to connect/disconnect an unknown service, the POST call will throw a 400 Bad Request error. Request:
Method:
PUT
URI Path:
/cloud-service/api/v1/linked-vpcs/<linked-vpc-id>/connected-services/<service-name>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
ConnectedServiceStatus+

Example Request: PUT https:///cloud-service/api/v1/linked-vpcs/vpc-01/connected-services/s3 { "name": "s3", "enabled" : true } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
ConnectedServiceStatus+

Example Response: { "name": "s3", "enabled" : true } Required Permissions: crud Feature: vmc_user_features Additional Errors:

List Management VM information.

Request:
Method:
GET
URI Path:
/cloud-service/api/v1/mgmt-vms
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https:///cloud-service/api/v1/mgmt-vms Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
MgmtVmsListResult+

Example Response: { "result_count": 2, "results": [ { "dispaly_name": "vm101", "ip": "10.0.224.10", "id": "vm101", "ports": [ 443 ], "protocols": [ "ICMP" ] }, { "dispaly_name": "vm104", "ip": "10.0.224.10", "id": "vm104", "ports": [ 443 ], "protocols": [ "ICMP" ] } ] } Required Permissions: read Feature: vmc_user_features Additional Errors:

Get management VM access information.

Get management VM access information. Request:
Method:
GET
URI Path:
/cloud-service/api/v1/mgmt-vms/<vm-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https:///cloud-service/api/v1/mgmt-vms/ Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
MgmtVmInfo+

Example Response: { "display_name":"VC", "ips": ["10.0.224.10/32", "10.0.1.2/24"], "protocols": ["ICMP"], "ports": ["443"] } Required Permissions: read Feature: vmc_user_features Additional Errors:

List all Public IPs

List all public IPs obtained in the SDDC. Request:
Method:
GET
URI Path:
/cloud-service/api/v1/public-ips
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https:///cloud-service/api/v1/public-ips/ Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PublicIpsListResult+

Example Response: { "result_count": 2, "results": [ { "ip": "34.212.160.142", "id": "nsx-public-ip", "display_name": "nsx-public-ip" }, { "ip": "34.218.111.236", "id": "nsx-public-ip-2", "display_name": "nsx-public-ip-2" } ] } Required Permissions: read Feature: vmc_user_features Additional Errors:

Delete a public IP

Delete a public IP. The IP will be released in VMC provider. Request:
Method:
DELETE
URI Path:
/cloud-service/api/v1/public-ips/<public-ip-id>
Request Headers:
n/a
Query Parameters:
DeleteRequestParameters+
Request Body:
n/a

Example Request: DELETE https:///cloud-service/api/v1/public-ips/nsx-public-ip DELETE https:///cloud-service/api/v1/public-ips/nsx-public-ip?force=true Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: vmc_user_features Additional Errors:

Get the public IP information.

Get the public IP information. Request:
Method:
GET
URI Path:
/cloud-service/api/v1/public-ips/<public-ip-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https:///cloud-service/api/v1/public-ips/nsx-public-ip Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PublicIp+

Example Response: { "ip": "34.212.160.142", "id": "nsx-public-ip", "display_name": "nsx-public-ip" } Required Permissions: read Feature: vmc_user_features Additional Errors:

Create or update a public IP.

This API is used to create or update a public IP. In creating, the API allocates a new public IP from VMC provider. In updating, only the display name can be modified, the IP is read-only. Request:
Method:
PUT
URI Path:
/cloud-service/api/v1/public-ips/<public-ip-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
PublicIp+

Example Request: PUT https:///cloud-service/v1/public-ips/nsx-public-ip { "id": "nsx-public-ip", "display_name":"nsx-public-ip" } Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
PublicIp+

Example Response: { "ip": "34.212.160.142", "id": "nsx-public-ip", "display_name": "nsx-public-ip" } Required Permissions: crud Feature: vmc_user_features Additional Errors:

Get BGP routes from Direct Connect.

Retrieve BGP routes that are populated by Direct Connect from VMC provider. This API is a live query to VMC provider. Request:
Method:
GET
URI Path:
/cloud-service/api/v1/routes
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https:///cloud-service/api/v1/routes Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
BGPRoutes+

Example Response: { bgp_routes: ["0.0.0.0/0"] } Required Permissions: read Feature: vmc_user_features Additional Errors:

Get the user-level SDDC configuration parameters

Get the user-level SDDC configuration parameters Request:
Method:
GET
URI Path:
/cloud-service/api/v1/sddc-user-config
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https:///cloud-service/api/v1/sddc-user-config Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
SddcUserConfiguration+

Example Response: { "sddc_infra_addresses": ["10.0.0.1/24"], "mgmt_addresses": ["10.0.0.2/24"], "vpn_internet_ip": "10.161.10.53", "compute_gateway": "cgw", "linked_vpc_interface_label": "cgw-cross-vpc", "management_gateway": "mgw", "provider_name": "vmc", "public_interface_label": "cgw-public", "dx_interface_label": "cgw-direct-connect" } Required Permissions: read Feature: vmc_user_features Additional Errors:

List all Direct Connect VIFs (Virtual Interface) available in the SDDC

Return all non-connected VIFs (with states "avalible", "down", "pending" and "confirming") and connected VIFs that are available to the SDDC. Request:
Method:
GET
URI Path:
/cloud-service/api/v1/vifs
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: GET https:///cloud-service/api/v1/vifs/ Successful Response:
Response Code:
200 OK
Response Headers:
Content-type: application/json
Response Body:
VifsListResult+

Example Response: { "results": [{ "id": "dxvif-fglqwzf5", "name": "vmc-sddc-1", "state": "CONNECTED", "direct_connect_id" : "dxcon-17e8147e", "bgp_status" : "DOWN" }] } Required Permissions: read Feature: vmc_user_features Additional Errors:

Delete a Direct Connect VIF (Virtual Interface).

Detach and delete a Direct Connect VIF (Virtual Interface) from the SDDC. Detach and delete are one operation in VMC provider, a Direct Connect VIF will be deleted after detached. Request:
Method:
DELETE
URI Path:
/cloud-service/api/v1/vifs/<vif-id>
Request Headers:
n/a
Query Parameters:
n/a
Request Body:
n/a

Example Request: DELETE https:///cloud-service/api/v1/vifs/dxvif-fglqwzf5 Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: vmc_user_features Additional Errors:

Attach a Direct Connect VIF (Virtual Interface) to the SDDC.

Perform the attach operation in VMC provider to attach the specified VIF (Virtual Interface) to the SDDC. Request:
Method:
POST
URI Path:
/cloud-service/api/v1/vifs/<vif-id>
Request Headers:
n/a
Query Parameters:
VifAction+
Request Body:
n/a

Example Request: POST https:///cloud-service/api/v1/vifs/dxvif-fglqwzf5?action=ATTACH Successful Response:
Response Code:
200 OK
Response Headers:
n/a
Response Body:
n/a

Required Permissions: crud Feature: vmc_user_features Additional Errors:


API Types


ApiError (schema)

Detailed information about an API error

Name Description Type Notes
details Further details about the error string
error_code A numeric error code integer
error_data Additional data about the error object
error_message A description of the error string
module_name The module name where the error occurred string
related_errors Other errors related to this error array of ApiError

BGPRoutes (schema)

BGP routes

Name Description Type Notes
bgp_routes BGP routes array of IPv4CIDRBlock Required

ConnectedServiceListResult (schema)

List result for connected service(s) related to a linked vpc

A list of status of 'Enabled/Disabled' for a service connected to a linked vpc

Name Description Type Notes
_links References related to this resource

The server will populate this field when returing the resource. Ignored on PUT and POST.
array of ResourceLink Readonly
_schema Schema for this resource string Readonly
_self Link to this resource SelfResourceLink Readonly
cursor Opaque cursor to be used for getting next page of records (supplied by current result page) string Readonly
result_count Count of results found (across all pages), set only on first page integer Readonly
results Connected service status list array of ConnectedServiceStatus Required
sort_ascending If true, results are sorted in ascending order boolean Readonly
sort_by Field by which records are sorted string Readonly

ConnectedServiceStatus (schema)

Connected service status

Status of 'Enabled/Disabled' for a service connected to a linked vpc

Name Description Type Notes
enabled status of service boolean Required
Readonly
name service name string Required
Readonly

DeleteRequestParameters (schema)

Parameters that affect how delete operations are processed

Name Description Type Notes
force Force delete the resource even if it is being used somewhere

If true, deleting the resource succeeds even if it is being
referred as a resource reference.
boolean Default: "False"

DiscoveredResource (schema)

Base class for resources that are discovered and automatically updated

Name Description Type Notes
_last_sync_time Timestamp of last modification EpochMsTimestamp Readonly
Sortable
_links References related to this resource

The server will populate this field when returing the resource. Ignored on PUT and POST.
array of ResourceLink Readonly
_schema Schema for this resource string Readonly
_self Link to this resource SelfResourceLink Readonly
description Description of this resource string Maximum length: 1024
Sortable
display_name Identifier to use when displaying entity in logs or GUI

Defaults to ID if not set
string Maximum length: 255
Sortable
resource_type The type of this resource. string
tags Opaque identifiers meaningful to the API user array of Tag Maximum items: 30

EmbeddedResource (schema)

Base class for resources that are embedded in other resources

Name Description Type Notes
_links References related to this resource

The server will populate this field when returing the resource. Ignored on PUT and POST.
array of ResourceLink Readonly
_owner Owner of this resource OwnerResourceLink Readonly
_revision Generation of this resource config

The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected.
int Readonly
_schema Schema for this resource string Readonly
_self Link to this resource SelfResourceLink Readonly
description Description of this resource string Maximum length: 1024
Sortable
display_name Identifier to use when displaying entity in logs or GUI

Defaults to ID if not set
string Maximum length: 255
Sortable
id Identifier of the resource string Readonly
resource_type The type of this resource. string

EpochMsTimestamp (schema)

Timestamp in milliseconds since epoch

Name Description Type Notes
EpochMsTimestamp Timestamp in milliseconds since epoch integer

IPv4Address (schema)

IPv4 address

Name Description Type Notes
IPv4Address IPv4 address string

IPv4CIDRBlock (schema)

IPv4 CIDR Block

Name Description Type Notes
IPv4CIDRBlock IPv4 CIDR Block string

InterfaceStatistics (schema)

Statistics for a network interface

Name Description Type Notes
_links References related to this resource

The server will populate this field when returing the resource. Ignored on PUT and POST.
array of ResourceLink Readonly
_schema Schema for this resource string Readonly
_self Link to this resource SelfResourceLink Readonly
rx_bytes Count of bytes received on this port integer Readonly
rx_errors Count of receive errors occurring on this port integer Readonly
rx_packets Count of packets received on this port integer Readonly
tx_bytes Count of bytes transmitted on this port integer Readonly
tx_errors Count of transmit errors occurring on this port integer Readonly
tx_packets Count of packets transmitted on this port integer Readonly

IpAttachmentPair (schema)

Name Description Type Notes
attachment_id Attachment id which maps to management VM IP string Required
ip Management VM IP Address IPv4Address Required

LinkedVpcInfo (schema)

Linked VPC info

Name Description Type Notes
arn_role ARN role for linked VPC operations string Required
external_id External identifier for ARN role string Required
linked_account Linked VPC account number string Required
linked_vpc_addresses Linked VPC CIDRs array of IPv4CIDRBlock Required
linked_vpc_id Linked VPC identifier string
linked_vpc_nat_ips The IPs of linked VPC NAT rule for service access. array of IPv4Address Required
linked_vpc_subnet_addresses Linked VPC ENIs subnet CIDRs array of IPv4CIDRBlock Required
route_table_ids The identifiers of route tables to be dynamically updated with SDDC networks array of string Required
service_arn_role service ARN role string

LinkedVpcsListResult (schema)

Linked VPC list query result

Name Description Type Notes
_links References related to this resource

The server will populate this field when returing the resource. Ignored on PUT and POST.
array of ResourceLink Readonly
_schema Schema for this resource string Readonly
_self Link to this resource SelfResourceLink Readonly
cursor Opaque cursor to be used for getting next page of records (supplied by current result page) string Readonly
result_count Count of results found (across all pages), set only on first page integer Readonly
results Linked VPCs list array of LinkedVpcInfo
sort_ascending If true, results are sorted in ascending order boolean Readonly
sort_by Field by which records are sorted string Readonly

ListResult (schema)

Base class for list results from collections

Name Description Type Notes
_links References related to this resource

The server will populate this field when returing the resource. Ignored on PUT and POST.
array of ResourceLink Readonly
_schema Schema for this resource string Readonly
_self Link to this resource SelfResourceLink Readonly
cursor Opaque cursor to be used for getting next page of records (supplied by current result page) string Readonly
result_count Count of results found (across all pages), set only on first page integer Readonly
sort_ascending If true, results are sorted in ascending order boolean Readonly
sort_by Field by which records are sorted string Readonly

ManagedResource (schema)

Base type for resources that are managed by API clients

Name Description Type Notes
_create_time Timestamp of resource creation EpochMsTimestamp Readonly
Sortable
_create_user ID of the user who created this resource string Readonly
_last_modified_time Timestamp of last modification EpochMsTimestamp Readonly
Sortable
_last_modified_user ID of the user who last modified this resource string Readonly
_links References related to this resource

The server will populate this field when returing the resource. Ignored on PUT and POST.
array of ResourceLink Readonly
_protection Indicates protection status of this resource

Protection status is one of the following:
PROTECTED - the client who retrieved the entity is not allowed
to modify it.
NOT_PROTECTED - the client who retrieved the entity is allowed
to modify it
REQUIRE_OVERRIDE - the client who retrieved the entity is a super
user and can modify it, but only when providing
the request header X-Allow-Overwrite=true.
UNKNOWN - the _protection field could not be determined for this
entity.
string Readonly
_revision Generation of this resource config

The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected.
int Readonly
_schema Schema for this resource string Readonly
_self Link to this resource SelfResourceLink Readonly
_system_owned Indicates system owned resource boolean Readonly
description Description of this resource string Maximum length: 1024
Sortable
display_name Identifier to use when displaying entity in logs or GUI

Defaults to ID if not set
string Maximum length: 255
Sortable
id Unique identifier of this resource string Readonly
Sortable
resource_type The type of this resource. string
tags Opaque identifiers meaningful to the API user array of Tag Maximum items: 30

MgmtServiceEntry (schema)

Management VM service entry

Service entry describes the detail of a network service. Either a existing
service path or TCP/UDP/ICMP protocol/ports details could be specified.

Name Description Type Notes
display_name Display name for this service string
name Name of service entry

Service entry name which was based on protocol 'TCP'. The good
example is 'HTTP', 'HTTPS' etc. If no specification, a default
name will be generated in format protocol_port, ex. 'TCP_8080'.
string
path Service path in policy manager string
ports Ports to provide this service

Service ports is required if resource_type is 'TCPEntry' or 'UDPEntry'.
array of int
resource_type string Enum: ICMPEntry, TCPEntry, UDPEntry

MgmtVmInfo (schema)

Management VM access information

Name Description Type Notes
display_name Management VM name string
group_path Group path in policy manager

For each management VM, a dedicated policy group will be created.
This property will reflect its group path.
string Readonly
id Management VM identifier string Readonly
ip_attachment_pairs IP address and attachment id pairs for tagging managment VM array of IpAttachmentPair
ips Local IPs of a management VM array of IPv4CIDRBlock
services Services which will be provided in this management VM

Details about protocols and ports which services will be provided.
array of MgmtServiceEntry

MgmtVmsListResult (schema)

Management VM list query result

Name Description Type Notes
_links References related to this resource

The server will populate this field when returing the resource. Ignored on PUT and POST.
array of ResourceLink Readonly
_schema Schema for this resource string Readonly
_self Link to this resource SelfResourceLink Readonly
cursor Opaque cursor to be used for getting next page of records (supplied by current result page) string Readonly
result_count Count of results found (across all pages), set only on first page integer Readonly
results Management VMs list array of MgmtVmInfo
sort_ascending If true, results are sorted in ascending order boolean Readonly
sort_by Field by which records are sorted string Readonly

NoRestRequestParameters (schema)

Parameter definition for requests that do not allow parameters.

Name Description Type Notes
NoRestRequestParameters Parameter definition for requests that do not allow parameters. object

OwnerResourceLink (schema)

Link to this resource

The server will populate this field when returing the resource. Ignored on PUT and POST.

Name Description Type Notes
action Optional action string Readonly
href Link to resource string Required
Readonly
rel Link relation type

Custom relation type (follows RFC 5988 where appropriate definitions exist)
string Required
Readonly

PrefixInfo (schema)

Service IP prefixes information

Name Description Type Notes
display_name Display name string Required
Readonly
prefixes Service IP prefixes array of IPv4CIDRBlock Required

PrefixesListResult (schema)

Service Prefix list query result

Name Description Type Notes
_links References related to this resource

The server will populate this field when returing the resource. Ignored on PUT and POST.
array of ResourceLink Readonly
_schema Schema for this resource string Readonly
_self Link to this resource SelfResourceLink Readonly
cursor Opaque cursor to be used for getting next page of records (supplied by current result page) string Readonly
result_count Count of results found (across all pages), set only on first page integer Readonly
results Service Prefixes list array of PrefixInfo
sort_ascending If true, results are sorted in ascending order boolean Readonly
sort_by Field by which records are sorted string Readonly

PublicIp (schema)

Name Description Type Notes
display_name string
id Public IP identifier string Readonly
ip IPv4Address Readonly

PublicIpsListResult (schema)

Public IP list

Name Description Type Notes
_links References related to this resource

The server will populate this field when returing the resource. Ignored on PUT and POST.
array of ResourceLink Readonly
_schema Schema for this resource string Readonly
_self Link to this resource SelfResourceLink Readonly
cursor Opaque cursor to be used for getting next page of records (supplied by current result page) string Readonly
result_count Count of results found (across all pages), set only on first page integer Readonly
results Public IP list array of PublicIp
sort_ascending If true, results are sorted in ascending order boolean Readonly
sort_by Field by which records are sorted string Readonly

Resource (schema)

Base class for resources

Name Description Type Notes
_links References related to this resource

The server will populate this field when returing the resource. Ignored on PUT and POST.
array of ResourceLink Readonly
_schema Schema for this resource string Readonly
_self Link to this resource SelfResourceLink Readonly

ResourceLink (schema)

A link to a related resource

Name Description Type Notes
action Optional action string Readonly
href Link to resource string Required
Readonly
rel Link relation type

Custom relation type (follows RFC 5988 where appropriate definitions exist)
string Required
Readonly

RevisionedResource (schema)

A base class for types that track revisions

Name Description Type Notes
_links References related to this resource

The server will populate this field when returing the resource. Ignored on PUT and POST.
array of ResourceLink Readonly
_revision Generation of this resource config

The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected.
int Readonly
_schema Schema for this resource string Readonly
_self Link to this resource SelfResourceLink Readonly

SddcUserConfiguration (schema)

SDDC configuration parameters for users

SDDC configuration parameters for users. User-level addresses/CIDRs are provided.

Name Description Type Notes
compute_gateway Compute gateway name string Required
dx_interface_label DirectConnect interface label name string Required
linked_vpc_interface_label Linked VPC interface label name string Required
management_gateway Management gateway name string Required
mgmt_addresses Management VMs CIDRs array of IPv4CIDRBlock Required
provider_name Provider Name string Required
public_interface_label Public interface label name string Required
sddc_infra_addresses SDDC Infra CIDRs array of IPv4CIDRBlock Required
vpn_dx_ips Local IPs for VPN tunnel over Direct Connect array of IPv4Address
vpn_internet_ips Public IPs for VPN tunnel over internet array of IPv4Address

SelfResourceLink (schema)

Link to this resource

The server will populate this field when returing the resource. Ignored on PUT and POST.

Name Description Type Notes
action Optional action string Readonly
href Link to resource string Required
Readonly
rel Link relation type

Custom relation type (follows RFC 5988 where appropriate definitions exist)
string Required
Readonly

Tag (schema)

Arbitrary key-value pairs that may be attached to an entity

Name Description Type Notes
scope Tag scope

Tag searches may optionally be restricted by scope
string Maximum length: 30
Default: ""
tag Tag value

Identifier meaningful to user
string Maximum length: 65
Default: ""

TaskProperties (schema)

Task properties

Name Description Type Notes
_links References related to this resource

The server will populate this field when returing the resource. Ignored on PUT and POST.
array of ResourceLink Readonly
_schema Schema for this resource string Readonly
_self Link to this resource SelfResourceLink Readonly
async_response_available True if response for asynchronous request is available boolean Readonly
cancelable True if this task can be canceled boolean Readonly
description Description of the task string Readonly
end_time The end time of the task in epoch milliseconds EpochMsTimestamp Readonly
id Identifier for this task string Readonly
message A message describing the disposition of the task string Readonly
progress Task progress if known, from 0 to 100 integer Readonly
Minimum: 0
Maximum: 100
request_method HTTP request method string Readonly
request_uri URI of the method invocation that spawned this task string Readonly
start_time The start time of the task in epoch milliseconds EpochMsTimestamp Readonly
status Current status of the task TaskStatus Readonly
user Name of the user who created this task string Readonly

TaskStatus (schema)

Current status of the task

Name Description Type Notes
TaskStatus Current status of the task string Enum: running, error, success, canceling, canceled, killed

VMCAccounts (schema)

Shadow account and linked VPC account

Name Description Type Notes
linked_vpc_account linked VPC account number string
shadow_account Shadow VPC account number string Required

VifAction (schema)

Name Description Type Notes
action Direct Connect VIF (Virtual Interface) action string Required
Enum: ATTACH

VifsListResult (schema)

Direct Connect VIFs (Virtual Interface) list query result

Name Description Type Notes
_links References related to this resource

The server will populate this field when returing the resource. Ignored on PUT and POST.
array of ResourceLink Readonly
_schema Schema for this resource string Readonly
_self Link to this resource SelfResourceLink Readonly
cursor Opaque cursor to be used for getting next page of records (supplied by current result page) string Readonly
result_count Count of results found (across all pages), set only on first page integer Readonly
results VIFs list array of VirtualInterface
sort_ascending If true, results are sorted in ascending order boolean Readonly
sort_by Field by which records are sorted string Readonly

VirtualInterface (schema)

Name Description Type Notes
bgp_status BGP status string Required
Enum: UP, DOWN
direct_connect_id Identifier for the Direct Connect string Required
id VIF (Virtual Interface) identifier

Identifier for the virtual interface
string Required
name VIF name string Required
state VIF State string Required
Enum: CONFIRMING, VERIFYING, PENDING, AVAILABLE, DOWN, DELETING, DELETED, REJECTED, ATTACHED, ATTACHING, ERROR



API Type Schemas

Request and response bodies for API Methods are specified using the proposed JSON Schema format (revision 03) documented at http://json-schema.org/ . All data returned by API methods references the schema being used through the an attribute of the top-level object named "_schema". These will refer to the schema definitions provided as described in the Embedded API Documentation methods of the API. The schemas make use of JSON referencing to reduce restatement of the same schema information in multiple places.

JsonSchema

As defined in http://tools.ietf.org/html/draft-zyp-json-schema-03.

ApiError (type)

{
  "id": "ApiError", 
  "module_id": "Common", 
  "properties": {
    "details": {
      "title": "Further details about the error", 
      "type": "string"
    }, 
    "error_code": {
      "title": "A numeric error code", 
      "type": "integer"
    }, 
    "error_data": {
      "title": "Additional data about the error", 
      "type": "object"
    }, 
    "error_message": {
      "title": "A description of the error", 
      "type": "string"
    }, 
    "module_name": {
      "title": "The module name where the error occurred", 
      "type": "string"
    }, 
    "related_errors": {
      "items": {
        "$ref": "ApiError"+
      }, 
      "title": "Other errors related to this error", 
      "type": "array"
    }
  }, 
  "title": "Detailed information about an API error", 
  "type": "object"
}

BGPRoutes (type)

{
  "id": "BGPRoutes", 
  "module_id": "VMC", 
  "properties": {
    "bgp_routes": {
      "items": {
        "$ref": "IPv4CIDRBlock"+
      }, 
      "required": true, 
      "title": "BGP routes", 
      "type": "array"
    }
  }, 
  "title": "BGP routes", 
  "type": "object"
}

ConnectedServiceListResult (type)

{
  "description": "A list of status of 'Enabled/Disabled' for a service connected to a linked vpc", 
  "extends": {
    "$ref": "ListResult"+
  }, 
  "id": "ConnectedServiceListResult", 
  "module_id": "VMC", 
  "properties": {
    "_links": {
      "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
      "items": {
        "$ref": "ResourceLink"+
      }, 
      "readonly": true, 
      "title": "References related to this resource", 
      "type": "array"
    }, 
    "_schema": {
      "readonly": true, 
      "title": "Schema for this resource", 
      "type": "string"
    }, 
    "_self": {
      "$ref": "SelfResourceLink"+, 
      "readonly": true, 
      "title": "Link to this resource"
    }, 
    "cursor": {
      "readonly": true, 
      "title": "Opaque cursor to be used for getting next page of records (supplied by current result page)", 
      "type": "string"
    }, 
    "result_count": {
      "readonly": true, 
      "title": "Count of results found (across all pages), set only on first page", 
      "type": "integer"
    }, 
    "results": {
      "items": {
        "$ref": "ConnectedServiceStatus"+
      }, 
      "required": true, 
      "title": "Connected service status list", 
      "type": "array"
    }, 
    "sort_ascending": {
      "readonly": true, 
      "title": "If true, results are sorted in ascending order", 
      "type": "boolean"
    }, 
    "sort_by": {
      "readonly": true, 
      "title": "Field by which records are sorted", 
      "type": "string"
    }
  }, 
  "title": "List result for connected service(s) related to a linked vpc", 
  "type": "object"
}

ConnectedServiceStatus (type)

{
  "description": "Status of 'Enabled/Disabled' for a service connected to a linked vpc", 
  "id": "ConnectedServiceStatus", 
  "module_id": "VMC", 
  "properties": {
    "enabled": {
      "readonly": true, 
      "required": true, 
      "title": "status of service", 
      "type": "boolean"
    }, 
    "name": {
      "readonly": true, 
      "required": true, 
      "title": "service name", 
      "type": "string"
    }
  }, 
  "title": "Connected service status", 
  "type": "object"
}

DeleteRequestParameters (type)

{
  "additionalProperties": {}, 
  "id": "DeleteRequestParameters", 
  "module_id": "Common", 
  "properties": {
    "force": {
      "default": false, 
      "description": "If true, deleting the resource succeeds even if it is being\nreferred as a resource reference.\n", 
      "title": "Force delete the resource even if it is being used somewhere\n", 
      "type": "boolean"
    }
  }, 
  "title": "Parameters that affect how delete operations are processed", 
  "type": "object"
}

DiscoveredResource (type)

{
  "abstract": true, 
  "extends": {
    "$ref": "Resource"+
  }, 
  "id": "DiscoveredResource", 
  "module_id": "Common", 
  "polymorphic-type-descriptor": {
    "property-name": "resource_type"
  }, 
  "properties": {
    "_last_sync_time": {
      "$ref": "EpochMsTimestamp"+, 
      "can_sort": true, 
      "description": "Timestamp of last modification", 
      "readonly": true
    }, 
    "_links": {
      "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
      "items": {
        "$ref": "ResourceLink"+
      }, 
      "readonly": true, 
      "title": "References related to this resource", 
      "type": "array"
    }, 
    "_schema": {
      "readonly": true, 
      "title": "Schema for this resource", 
      "type": "string"
    }, 
    "_self": {
      "$ref": "SelfResourceLink"+, 
      "readonly": true, 
      "title": "Link to this resource"
    }, 
    "description": {
      "can_sort": true, 
      "maxLength": 1024, 
      "title": "Description of this resource", 
      "type": "string"
    }, 
    "display_name": {
      "can_sort": true, 
      "description": "Defaults to ID if not set", 
      "maxLength": 255, 
      "title": "Identifier to use when displaying entity in logs or GUI", 
      "type": "string"
    }, 
    "resource_type": {
      "description": "The type of this resource.", 
      "readonly": false, 
      "type": "string"
    }, 
    "tags": {
      "items": {
        "$ref": "Tag"+
      }, 
      "maxItems": 30, 
      "title": "Opaque identifiers meaningful to the API user", 
      "type": "array"
    }
  }, 
  "title": "Base class for resources that are discovered and automatically updated", 
  "type": "object"
}

EmbeddedResource (type)

{
  "abstract": true, 
  "extends": {
    "$ref": "RevisionedResource"+
  }, 
  "id": "EmbeddedResource", 
  "module_id": "Common", 
  "polymorphic-type-descriptor": {
    "property-name": "resource_type"
  }, 
  "properties": {
    "_links": {
      "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
      "items": {
        "$ref": "ResourceLink"+
      }, 
      "readonly": true, 
      "title": "References related to this resource", 
      "type": "array"
    }, 
    "_owner": {
      "$ref": "OwnerResourceLink"+, 
      "readonly": true, 
      "title": "Owner of this resource"
    }, 
    "_revision": {
      "description": "The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected.", 
      "readonly": true, 
      "title": "Generation of this resource config", 
      "type": "int"
    }, 
    "_schema": {
      "readonly": true, 
      "title": "Schema for this resource", 
      "type": "string"
    }, 
    "_self": {
      "$ref": "SelfResourceLink"+, 
      "readonly": true, 
      "title": "Link to this resource"
    }, 
    "description": {
      "can_sort": true, 
      "maxLength": 1024, 
      "title": "Description of this resource", 
      "type": "string"
    }, 
    "display_name": {
      "can_sort": true, 
      "description": "Defaults to ID if not set", 
      "maxLength": 255, 
      "title": "Identifier to use when displaying entity in logs or GUI", 
      "type": "string"
    }, 
    "id": {
      "description": "Identifier of the resource", 
      "readonly": true, 
      "required": false, 
      "type": "string"
    }, 
    "resource_type": {
      "description": "The type of this resource.", 
      "readonly": false, 
      "type": "string"
    }
  }, 
  "title": "Base class for resources that are embedded in other resources", 
  "type": "object"
}

EpochMsTimestamp (type)

{
  "id": "EpochMsTimestamp", 
  "module_id": "Common", 
  "title": "Timestamp in milliseconds since epoch", 
  "type": "integer"
}

IPv4Address (type)

{
  "format": "ipv4", 
  "id": "IPv4Address", 
  "module_id": "Common", 
  "title": "IPv4 address", 
  "type": "string"
}

IPv4CIDRBlock (type)

{
  "format": "ipv4-cidr-block", 
  "id": "IPv4CIDRBlock", 
  "module_id": "Common", 
  "title": "IPv4 CIDR Block", 
  "type": "string"
}

InterfaceStatistics (type)

{
  "additionalProperties": false, 
  "extends": {
    "$ref": "Resource"+
  }, 
  "id": "InterfaceStatistics", 
  "module_id": "Common", 
  "properties": {
    "_links": {
      "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
      "items": {
        "$ref": "ResourceLink"+
      }, 
      "readonly": true, 
      "title": "References related to this resource", 
      "type": "array"
    }, 
    "_schema": {
      "readonly": true, 
      "title": "Schema for this resource", 
      "type": "string"
    }, 
    "_self": {
      "$ref": "SelfResourceLink"+, 
      "readonly": true, 
      "title": "Link to this resource"
    }, 
    "rx_bytes": {
      "display": {
        "order": 1
      }, 
      "readonly": true, 
      "title": "Count of bytes received on this port", 
      "type": "integer"
    }, 
    "rx_errors": {
      "display": {
        "order": 5
      }, 
      "readonly": true, 
      "title": "Count of receive errors occurring on this port", 
      "type": "integer"
    }, 
    "rx_packets": {
      "display": {
        "order": 2
      }, 
      "readonly": true, 
      "title": "Count of packets received on this port", 
      "type": "integer"
    }, 
    "tx_bytes": {
      "display": {
        "order": 3
      }, 
      "readonly": true, 
      "title": "Count of bytes transmitted on this port", 
      "type": "integer"
    }, 
    "tx_errors": {
      "display": {
        "order": 6
      }, 
      "readonly": true, 
      "title": "Count of transmit errors occurring on this port", 
      "type": "integer"
    }, 
    "tx_packets": {
      "display": {
        "order": 4
      }, 
      "readonly": true, 
      "title": "Count of packets transmitted on this port", 
      "type": "integer"
    }
  }, 
  "title": "Statistics for a network interface", 
  "type": "object"
}

IpAttachmentPair (type)

{
  "id": "IpAttachmentPair", 
  "module_id": "VMC", 
  "properties": {
    "attachment_id": {
      "required": true, 
      "title": "Attachment id which maps to management VM IP", 
      "type": "string"
    }, 
    "ip": {
      "$ref": "IPv4Address"+, 
      "required": true, 
      "title": "Management VM IP Address"
    }
  }, 
  "type": "object"
}

LinkedVpcInfo (type)

{
  "id": "LinkedVpcInfo", 
  "module_id": "VMC", 
  "properties": {
    "arn_role": {
      "required": true, 
      "title": "ARN role for linked VPC operations", 
      "type": "string"
    }, 
    "external_id": {
      "required": true, 
      "title": "External identifier for ARN role", 
      "type": "string"
    }, 
    "linked_account": {
      "required": true, 
      "title": "Linked VPC account number", 
      "type": "string"
    }, 
    "linked_vpc_addresses": {
      "items": {
        "$ref": "IPv4CIDRBlock"+
      }, 
      "required": true, 
      "title": "Linked VPC CIDRs", 
      "type": "array"
    }, 
    "linked_vpc_id": {
      "required": false, 
      "title": "Linked VPC identifier", 
      "type": "string"
    }, 
    "linked_vpc_nat_ips": {
      "items": {
        "$ref": "IPv4Address"+
      }, 
      "required": true, 
      "title": "The IPs of linked VPC NAT rule for service access.", 
      "type": "array"
    }, 
    "linked_vpc_subnet_addresses": {
      "items": {
        "$ref": "IPv4CIDRBlock"+
      }, 
      "required": true, 
      "title": "Linked VPC ENIs subnet CIDRs", 
      "type": "array"
    }, 
    "route_table_ids": {
      "items": {
        "type": "string"
      }, 
      "required": true, 
      "title": "The identifiers of route tables to be dynamically updated with SDDC networks", 
      "type": "array"
    }, 
    "service_arn_role": {
      "required": false, 
      "title": "service ARN role", 
      "type": "string"
    }
  }, 
  "title": "Linked VPC info", 
  "type": "object"
}

LinkedVpcsListResult (type)

{
  "extends": {
    "$ref": "ListResult"+
  }, 
  "id": "LinkedVpcsListResult", 
  "module_id": "VMC", 
  "properties": {
    "_links": {
      "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
      "items": {
        "$ref": "ResourceLink"+
      }, 
      "readonly": true, 
      "title": "References related to this resource", 
      "type": "array"
    }, 
    "_schema": {
      "readonly": true, 
      "title": "Schema for this resource", 
      "type": "string"
    }, 
    "_self": {
      "$ref": "SelfResourceLink"+, 
      "readonly": true, 
      "title": "Link to this resource"
    }, 
    "cursor": {
      "readonly": true, 
      "title": "Opaque cursor to be used for getting next page of records (supplied by current result page)", 
      "type": "string"
    }, 
    "result_count": {
      "readonly": true, 
      "title": "Count of results found (across all pages), set only on first page", 
      "type": "integer"
    }, 
    "results": {
      "items": {
        "$ref": "LinkedVpcInfo"+
      }, 
      "required": false, 
      "title": "Linked VPCs list", 
      "type": "array"
    }, 
    "sort_ascending": {
      "readonly": true, 
      "title": "If true, results are sorted in ascending order", 
      "type": "boolean"
    }, 
    "sort_by": {
      "readonly": true, 
      "title": "Field by which records are sorted", 
      "type": "string"
    }
  }, 
  "title": "Linked VPC list query result", 
  "type": "object"
}

ListResult (type)

{
  "abstract": true, 
  "additionalProperties": false, 
  "extends": {
    "$ref": "Resource"+
  }, 
  "id": "ListResult", 
  "module_id": "Common", 
  "properties": {
    "_links": {
      "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
      "items": {
        "$ref": "ResourceLink"+
      }, 
      "readonly": true, 
      "title": "References related to this resource", 
      "type": "array"
    }, 
    "_schema": {
      "readonly": true, 
      "title": "Schema for this resource", 
      "type": "string"
    }, 
    "_self": {
      "$ref": "SelfResourceLink"+, 
      "readonly": true, 
      "title": "Link to this resource"
    }, 
    "cursor": {
      "readonly": true, 
      "title": "Opaque cursor to be used for getting next page of records (supplied by current result page)", 
      "type": "string"
    }, 
    "result_count": {
      "readonly": true, 
      "title": "Count of results found (across all pages), set only on first page", 
      "type": "integer"
    }, 
    "sort_ascending": {
      "readonly": true, 
      "title": "If true, results are sorted in ascending order", 
      "type": "boolean"
    }, 
    "sort_by": {
      "readonly": true, 
      "title": "Field by which records are sorted", 
      "type": "string"
    }
  }, 
  "title": "Base class for list results from collections", 
  "type": "object"
}

ManagedResource (type)

{
  "abstract": true, 
  "extends": {
    "$ref": "RevisionedResource"+
  }, 
  "id": "ManagedResource", 
  "module_id": "Common", 
  "polymorphic-type-descriptor": {
    "property-name": "resource_type"
  }, 
  "properties": {
    "_create_time": {
      "$ref": "EpochMsTimestamp"+, 
      "can_sort": true, 
      "description": "Timestamp of resource creation", 
      "readonly": true
    }, 
    "_create_user": {
      "description": "ID of the user who created this resource", 
      "readonly": true, 
      "type": "string"
    }, 
    "_last_modified_time": {
      "$ref": "EpochMsTimestamp"+, 
      "can_sort": true, 
      "description": "Timestamp of last modification", 
      "readonly": true
    }, 
    "_last_modified_user": {
      "description": "ID of the user who last modified this resource", 
      "readonly": true, 
      "type": "string"
    }, 
    "_links": {
      "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
      "items": {
        "$ref": "ResourceLink"+
      }, 
      "readonly": true, 
      "title": "References related to this resource", 
      "type": "array"
    }, 
    "_protection": {
      "description": "Protection status is one of the following:\nPROTECTED - the client who retrieved the entity is not allowed\n            to modify it.\nNOT_PROTECTED - the client who retrieved the entity is allowed\n                to modify it\nREQUIRE_OVERRIDE - the client who retrieved the entity is a super\n                   user and can modify it, but only when providing\n                   the request header X-Allow-Overwrite=true.\nUNKNOWN - the _protection field could not be determined for this\n          entity.\n", 
      "readonly": true, 
      "title": "Indicates protection status of this resource", 
      "type": "string"
    }, 
    "_revision": {
      "description": "The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected.", 
      "readonly": true, 
      "title": "Generation of this resource config", 
      "type": "int"
    }, 
    "_schema": {
      "readonly": true, 
      "title": "Schema for this resource", 
      "type": "string"
    }, 
    "_self": {
      "$ref": "SelfResourceLink"+, 
      "readonly": true, 
      "title": "Link to this resource"
    }, 
    "_system_owned": {
      "description": "Indicates system owned resource", 
      "readonly": true, 
      "type": "boolean"
    }, 
    "description": {
      "can_sort": true, 
      "maxLength": 1024, 
      "title": "Description of this resource", 
      "type": "string"
    }, 
    "display_name": {
      "can_sort": true, 
      "description": "Defaults to ID if not set", 
      "maxLength": 255, 
      "title": "Identifier to use when displaying entity in logs or GUI", 
      "type": "string"
    }, 
    "id": {
      "can_sort": true, 
      "readonly": true, 
      "title": "Unique identifier of this resource", 
      "type": "string"
    }, 
    "resource_type": {
      "description": "The type of this resource.", 
      "readonly": false, 
      "type": "string"
    }, 
    "tags": {
      "items": {
        "$ref": "Tag"+
      }, 
      "maxItems": 30, 
      "title": "Opaque identifiers meaningful to the API user", 
      "type": "array"
    }
  }, 
  "title": "Base type for resources that are managed by API clients", 
  "type": "object"
}

MgmtServiceEntry (type)

{
  "description": "Service entry describes the detail of a network service. Either a existing\nservice path or TCP/UDP/ICMP protocol/ports details could be specified.\n", 
  "id": "MgmtServiceEntry", 
  "module_id": "VMC", 
  "properties": {
    "display_name": {
      "required": false, 
      "title": "Display name for this service", 
      "type": "string"
    }, 
    "name": {
      "description": "Service entry name which was based on protocol 'TCP'. The good\nexample is 'HTTP', 'HTTPS' etc. If no specification, a default\nname will be generated in format protocol_port, ex. 'TCP_8080'.\n", 
      "required": false, 
      "title": "Name of service entry", 
      "type": "string"
    }, 
    "path": {
      "required": false, 
      "title": "Service path in policy manager", 
      "type": "string"
    }, 
    "ports": {
      "description": "Service ports is required if resource_type is 'TCPEntry' or 'UDPEntry'.\n", 
      "items": {
        "maximum": 65535, 
        "minimum": 0, 
        "type": "int"
      }, 
      "required": false, 
      "title": "Ports to provide this service", 
      "type": "array"
    }, 
    "resource_type": {
      "enum": [
        "ICMPEntry", 
        "TCPEntry", 
        "UDPEntry"
      ], 
      "required": false, 
      "type": "string"
    }
  }, 
  "title": "Management VM service entry", 
  "type": "object"
}

MgmtVmInfo (type)

{
  "id": "MgmtVmInfo", 
  "module_id": "VMC", 
  "properties": {
    "display_name": {
      "readonly": false, 
      "required": false, 
      "title": "Management VM name", 
      "type": "string"
    }, 
    "group_path": {
      "description": "For each management VM, a dedicated policy group will be created.\nThis property will reflect its group path.\n", 
      "readonly": true, 
      "required": false, 
      "title": "Group path in policy manager", 
      "type": "string"
    }, 
    "id": {
      "readonly": true, 
      "required": false, 
      "title": "Management VM identifier", 
      "type": "string"
    }, 
    "ip_attachment_pairs": {
      "items": {
        "$ref": "IpAttachmentPair"+
      }, 
      "required": false, 
      "title": "IP address and attachment id pairs for tagging managment VM", 
      "type": "array"
    }, 
    "ips": {
      "items": {
        "$ref": "IPv4CIDRBlock"+
      }, 
      "required": false, 
      "title": "Local IPs of a management VM", 
      "type": "array"
    }, 
    "services": {
      "description": "Details about protocols and ports which services will be provided.\n", 
      "items": {
        "$ref": "MgmtServiceEntry"+
      }, 
      "required": false, 
      "title": "Services which will be provided in this management VM", 
      "type": "array"
    }
  }, 
  "title": "Management VM access information", 
  "type": "object"
}

MgmtVmsListResult (type)

{
  "extends": {
    "$ref": "ListResult"+
  }, 
  "id": "MgmtVmsListResult", 
  "module_id": "VMC", 
  "properties": {
    "_links": {
      "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
      "items": {
        "$ref": "ResourceLink"+
      }, 
      "readonly": true, 
      "title": "References related to this resource", 
      "type": "array"
    }, 
    "_schema": {
      "readonly": true, 
      "title": "Schema for this resource", 
      "type": "string"
    }, 
    "_self": {
      "$ref": "SelfResourceLink"+, 
      "readonly": true, 
      "title": "Link to this resource"
    }, 
    "cursor": {
      "readonly": true, 
      "title": "Opaque cursor to be used for getting next page of records (supplied by current result page)", 
      "type": "string"
    }, 
    "result_count": {
      "readonly": true, 
      "title": "Count of results found (across all pages), set only on first page", 
      "type": "integer"
    }, 
    "results": {
      "items": {
        "$ref": "MgmtVmInfo"+
      }, 
      "required": false, 
      "title": "Management VMs list", 
      "type": "array"
    }, 
    "sort_ascending": {
      "readonly": true, 
      "title": "If true, results are sorted in ascending order", 
      "type": "boolean"
    }, 
    "sort_by": {
      "readonly": true, 
      "title": "Field by which records are sorted", 
      "type": "string"
    }
  }, 
  "title": "Management VM list query result", 
  "type": "object"
}

NoRestRequestParameters (type)

{
  "additionalProperties": false, 
  "description": "Parameter definition for requests that do not allow parameters.", 
  "id": "NoRestRequestParameters", 
  "module_id": "Types", 
  "properties": {}, 
  "type": "object"
}

OwnerResourceLink (type)

{
  "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
  "extends": {
    "$ref": "ResourceLink"+
  }, 
  "id": "OwnerResourceLink", 
  "module_id": "Common", 
  "properties": {
    "action": {
      "readonly": true, 
      "title": "Optional action", 
      "type": "string"
    }, 
    "href": {
      "readonly": true, 
      "required": true, 
      "title": "Link to resource", 
      "type": "string"
    }, 
    "rel": {
      "description": "Custom relation type (follows RFC 5988 where appropriate definitions exist)", 
      "readonly": true, 
      "required": true, 
      "title": "Link relation type", 
      "type": "string"
    }
  }, 
  "title": "Link to this resource", 
  "type": "object"
}

PrefixInfo (type)

{
  "id": "PrefixInfo", 
  "module_id": "VMC", 
  "properties": {
    "display_name": {
      "readonly": true, 
      "required": true, 
      "title": "Display name", 
      "type": "string"
    }, 
    "prefixes": {
      "items": {
        "$ref": "IPv4CIDRBlock"+
      }, 
      "required": true, 
      "title": "Service IP prefixes", 
      "type": "array"
    }
  }, 
  "title": "Service IP prefixes information", 
  "type": "object"
}

PrefixesListResult (type)

{
  "extends": {
    "$ref": "ListResult"+
  }, 
  "id": "PrefixesListResult", 
  "module_id": "VMC", 
  "properties": {
    "_links": {
      "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
      "items": {
        "$ref": "ResourceLink"+
      }, 
      "readonly": true, 
      "title": "References related to this resource", 
      "type": "array"
    }, 
    "_schema": {
      "readonly": true, 
      "title": "Schema for this resource", 
      "type": "string"
    }, 
    "_self": {
      "$ref": "SelfResourceLink"+, 
      "readonly": true, 
      "title": "Link to this resource"
    }, 
    "cursor": {
      "readonly": true, 
      "title": "Opaque cursor to be used for getting next page of records (supplied by current result page)", 
      "type": "string"
    }, 
    "result_count": {
      "readonly": true, 
      "title": "Count of results found (across all pages), set only on first page", 
      "type": "integer"
    }, 
    "results": {
      "items": {
        "$ref": "PrefixInfo"+
      }, 
      "required": false, 
      "title": "Service Prefixes list", 
      "type": "array"
    }, 
    "sort_ascending": {
      "readonly": true, 
      "title": "If true, results are sorted in ascending order", 
      "type": "boolean"
    }, 
    "sort_by": {
      "readonly": true, 
      "title": "Field by which records are sorted", 
      "type": "string"
    }
  }, 
  "title": "Service Prefix list query result", 
  "type": "object"
}

PublicIp (type)

{
  "id": "PublicIp", 
  "module_id": "VMC", 
  "properties": {
    "display_name": {
      "required": false, 
      "type": "string"
    }, 
    "id": {
      "readonly": true, 
      "required": false, 
      "title": "Public IP identifier", 
      "type": "string"
    }, 
    "ip": {
      "$ref": "IPv4Address"+, 
      "readonly": true, 
      "required": false
    }
  }, 
  "type": "object"
}

PublicIpsListResult (type)

{
  "extends": {
    "$ref": "ListResult"+
  }, 
  "id": "PublicIpsListResult", 
  "module_id": "VMC", 
  "properties": {
    "_links": {
      "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
      "items": {
        "$ref": "ResourceLink"+
      }, 
      "readonly": true, 
      "title": "References related to this resource", 
      "type": "array"
    }, 
    "_schema": {
      "readonly": true, 
      "title": "Schema for this resource", 
      "type": "string"
    }, 
    "_self": {
      "$ref": "SelfResourceLink"+, 
      "readonly": true, 
      "title": "Link to this resource"
    }, 
    "cursor": {
      "readonly": true, 
      "title": "Opaque cursor to be used for getting next page of records (supplied by current result page)", 
      "type": "string"
    }, 
    "result_count": {
      "readonly": true, 
      "title": "Count of results found (across all pages), set only on first page", 
      "type": "integer"
    }, 
    "results": {
      "items": {
        "$ref": "PublicIp"+
      }, 
      "required": false, 
      "title": "Public IP list", 
      "type": "array"
    }, 
    "sort_ascending": {
      "readonly": true, 
      "title": "If true, results are sorted in ascending order", 
      "type": "boolean"
    }, 
    "sort_by": {
      "readonly": true, 
      "title": "Field by which records are sorted", 
      "type": "string"
    }
  }, 
  "title": "Public IP list", 
  "type": "object"
}

Resource (type)

{
  "abstract": true, 
  "id": "Resource", 
  "module_id": "Common", 
  "properties": {
    "_links": {
      "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
      "items": {
        "$ref": "ResourceLink"+
      }, 
      "readonly": true, 
      "title": "References related to this resource", 
      "type": "array"
    }, 
    "_schema": {
      "readonly": true, 
      "title": "Schema for this resource", 
      "type": "string"
    }, 
    "_self": {
      "$ref": "SelfResourceLink"+, 
      "readonly": true, 
      "title": "Link to this resource"
    }
  }, 
  "title": "Base class for resources", 
  "type": "object"
}

ResourceLink (type)

{
  "additionalProperties": false, 
  "id": "ResourceLink", 
  "module_id": "Common", 
  "properties": {
    "action": {
      "readonly": true, 
      "title": "Optional action", 
      "type": "string"
    }, 
    "href": {
      "readonly": true, 
      "required": true, 
      "title": "Link to resource", 
      "type": "string"
    }, 
    "rel": {
      "description": "Custom relation type (follows RFC 5988 where appropriate definitions exist)", 
      "readonly": true, 
      "required": true, 
      "title": "Link relation type", 
      "type": "string"
    }
  }, 
  "title": "A link to a related resource", 
  "type": "object"
}

RevisionedResource (type)

{
  "abstract": true, 
  "extends": {
    "$ref": "Resource"+
  }, 
  "id": "RevisionedResource", 
  "module_id": "Common", 
  "properties": {
    "_links": {
      "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
      "items": {
        "$ref": "ResourceLink"+
      }, 
      "readonly": true, 
      "title": "References related to this resource", 
      "type": "array"
    }, 
    "_revision": {
      "description": "The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected.", 
      "readonly": true, 
      "title": "Generation of this resource config", 
      "type": "int"
    }, 
    "_schema": {
      "readonly": true, 
      "title": "Schema for this resource", 
      "type": "string"
    }, 
    "_self": {
      "$ref": "SelfResourceLink"+, 
      "readonly": true, 
      "title": "Link to this resource"
    }
  }, 
  "title": "A base class for types that track revisions", 
  "type": "object"
}

SddcUserConfiguration (type)

{
  "description": "SDDC configuration parameters for users. User-level addresses/CIDRs are provided.", 
  "id": "SddcUserConfiguration", 
  "module_id": "VMC", 
  "properties": {
    "compute_gateway": {
      "required": true, 
      "title": "Compute gateway name", 
      "type": "string"
    }, 
    "dx_interface_label": {
      "required": true, 
      "title": "DirectConnect interface label name", 
      "type": "string"
    }, 
    "linked_vpc_interface_label": {
      "required": true, 
      "title": "Linked VPC interface label name", 
      "type": "string"
    }, 
    "management_gateway": {
      "required": true, 
      "title": "Management gateway name", 
      "type": "string"
    }, 
    "mgmt_addresses": {
      "items": {
        "$ref": "IPv4CIDRBlock"+
      }, 
      "required": true, 
      "title": "Management VMs CIDRs", 
      "type": "array"
    }, 
    "provider_name": {
      "required": true, 
      "title": "Provider Name", 
      "type": "string"
    }, 
    "public_interface_label": {
      "required": true, 
      "title": "Public interface label name", 
      "type": "string"
    }, 
    "sddc_infra_addresses": {
      "items": {
        "$ref": "IPv4CIDRBlock"+
      }, 
      "required": true, 
      "title": "SDDC Infra CIDRs", 
      "type": "array"
    }, 
    "vpn_dx_ips": {
      "items": {
        "$ref": "IPv4Address"+
      }, 
      "required": false, 
      "title": "Local IPs for VPN tunnel over Direct Connect", 
      "type": "array"
    }, 
    "vpn_internet_ips": {
      "items": {
        "$ref": "IPv4Address"+
      }, 
      "required": false, 
      "title": "Public IPs for VPN tunnel over internet", 
      "type": "array"
    }
  }, 
  "title": "SDDC configuration parameters for users", 
  "type": "object"
}

SelfResourceLink (type)

{
  "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
  "extends": {
    "$ref": "ResourceLink"+
  }, 
  "id": "SelfResourceLink", 
  "module_id": "Common", 
  "properties": {
    "action": {
      "readonly": true, 
      "title": "Optional action", 
      "type": "string"
    }, 
    "href": {
      "readonly": true, 
      "required": true, 
      "title": "Link to resource", 
      "type": "string"
    }, 
    "rel": {
      "description": "Custom relation type (follows RFC 5988 where appropriate definitions exist)", 
      "readonly": true, 
      "required": true, 
      "title": "Link relation type", 
      "type": "string"
    }
  }, 
  "title": "Link to this resource", 
  "type": "object"
}

Tag (type)

{
  "id": "Tag", 
  "module_id": "Common", 
  "properties": {
    "scope": {
      "default": "", 
      "description": "Tag searches may optionally be restricted by scope", 
      "display": {
        "order": 1
      }, 
      "maxLength": 30, 
      "readonly": false, 
      "title": "Tag scope", 
      "type": "string"
    }, 
    "tag": {
      "default": "", 
      "description": "Identifier meaningful to user", 
      "display": {
        "order": 2
      }, 
      "maxLength": 65, 
      "readonly": false, 
      "title": "Tag value", 
      "type": "string"
    }
  }, 
  "title": "Arbitrary key-value pairs that may be attached to an entity", 
  "type": "object"
}

TaskProperties (type)

{
  "additionalProperties": false, 
  "extends": {
    "$ref": "Resource"+
  }, 
  "id": "TaskProperties", 
  "module_id": "Common", 
  "properties": {
    "_links": {
      "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
      "items": {
        "$ref": "ResourceLink"+
      }, 
      "readonly": true, 
      "title": "References related to this resource", 
      "type": "array"
    }, 
    "_schema": {
      "readonly": true, 
      "title": "Schema for this resource", 
      "type": "string"
    }, 
    "_self": {
      "$ref": "SelfResourceLink"+, 
      "readonly": true, 
      "title": "Link to this resource"
    }, 
    "async_response_available": {
      "display": {
        "order": 13
      }, 
      "readonly": true, 
      "title": "True if response for asynchronous request is available", 
      "type": "boolean"
    }, 
    "cancelable": {
      "display": {
        "order": 8
      }, 
      "readonly": true, 
      "title": "True if this task can be canceled", 
      "type": "boolean"
    }, 
    "description": {
      "display": {
        "order": 2
      }, 
      "readonly": true, 
      "title": "Description of the task", 
      "type": "string"
    }, 
    "end_time": {
      "$ref": "EpochMsTimestamp"+, 
      "display": {
        "order": 6
      }, 
      "readonly": true, 
      "title": "The end time of the task in epoch milliseconds"
    }, 
    "id": {
      "display": {
        "order": 1
      }, 
      "readonly": true, 
      "title": "Identifier for this task", 
      "type": "string"
    }, 
    "message": {
      "display": {
        "order": 4
      }, 
      "readonly": true, 
      "title": "A message describing the disposition of the task", 
      "type": "string"
    }, 
    "progress": {
      "display": {
        "order": 7
      }, 
      "maximum": 100, 
      "minimum": 0, 
      "readonly": true, 
      "title": "Task progress if known, from 0 to 100", 
      "type": "integer"
    }, 
    "request_method": {
      "display": {
        "order": 12
      }, 
      "readonly": true, 
      "title": "HTTP request method", 
      "type": "string"
    }, 
    "request_uri": {
      "display": {
        "order": 11
      }, 
      "readonly": true, 
      "title": "URI of the method invocation that spawned this task", 
      "type": "string"
    }, 
    "start_time": {
      "$ref": "EpochMsTimestamp"+, 
      "display": {
        "order": 5
      }, 
      "readonly": true, 
      "title": "The start time of the task in epoch milliseconds"
    }, 
    "status": {
      "$ref": "TaskStatus"+, 
      "display": {
        "order": 3
      }, 
      "readonly": true, 
      "title": "Current status of the task"
    }, 
    "user": {
      "display": {
        "order": 10
      }, 
      "readonly": true, 
      "title": "Name of the user who created this task", 
      "type": "string"
    }
  }, 
  "title": "Task properties", 
  "type": "object"
}

TaskStatus (type)

{
  "enum": [
    "running", 
    "error", 
    "success", 
    "canceling", 
    "canceled", 
    "killed"
  ], 
  "id": "TaskStatus", 
  "module_id": "Common", 
  "title": "Current status of the task", 
  "type": "string"
}

VMCAccounts (type)

{
  "id": "VMCAccounts", 
  "module_id": "VMC", 
  "properties": {
    "linked_vpc_account": {
      "required": false, 
      "title": "linked VPC account number", 
      "type": "string"
    }, 
    "shadow_account": {
      "required": true, 
      "title": "Shadow VPC account number", 
      "type": "string"
    }
  }, 
  "title": "Shadow account and linked VPC account", 
  "type": "object"
}

VifAction (type)

{
  "id": "VifAction", 
  "module_id": "VMC", 
  "properties": {
    "action": {
      "enum": [
        "ATTACH"
      ], 
      "required": true, 
      "title": "Direct Connect VIF (Virtual Interface) action", 
      "type": "string"
    }
  }, 
  "type": "object"
}

VifsListResult (type)

{
  "extends": {
    "$ref": "ListResult"+
  }, 
  "id": "VifsListResult", 
  "module_id": "VMC", 
  "properties": {
    "_links": {
      "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", 
      "items": {
        "$ref": "ResourceLink"+
      }, 
      "readonly": true, 
      "title": "References related to this resource", 
      "type": "array"
    }, 
    "_schema": {
      "readonly": true, 
      "title": "Schema for this resource", 
      "type": "string"
    }, 
    "_self": {
      "$ref": "SelfResourceLink"+, 
      "readonly": true, 
      "title": "Link to this resource"
    }, 
    "cursor": {
      "readonly": true, 
      "title": "Opaque cursor to be used for getting next page of records (supplied by current result page)", 
      "type": "string"
    }, 
    "result_count": {
      "readonly": true, 
      "title": "Count of results found (across all pages), set only on first page", 
      "type": "integer"
    }, 
    "results": {
      "items": {
        "$ref": "VirtualInterface"+
      }, 
      "required": false, 
      "title": "VIFs list", 
      "type": "array"
    }, 
    "sort_ascending": {
      "readonly": true, 
      "title": "If true, results are sorted in ascending order", 
      "type": "boolean"
    }, 
    "sort_by": {
      "readonly": true, 
      "title": "Field by which records are sorted", 
      "type": "string"
    }
  }, 
  "title": "Direct Connect VIFs (Virtual Interface) list query result", 
  "type": "object"
}

VirtualInterface (type)

{
  "id": "VirtualInterface", 
  "module_id": "VMC", 
  "properties": {
    "bgp_status": {
      "enum": [
        "UP", 
        "DOWN"
      ], 
      "required": true, 
      "title": "BGP status", 
      "type": "string"
    }, 
    "direct_connect_id": {
      "required": true, 
      "title": "Identifier for the Direct Connect", 
      "type": "string"
    }, 
    "id": {
      "description": "Identifier for the virtual interface", 
      "required": true, 
      "title": "VIF (Virtual Interface) identifier", 
      "type": "string"
    }, 
    "name": {
      "required": true, 
      "title": "VIF name", 
      "type": "string"
    }, 
    "state": {
      "enum": [
        "CONFIRMING", 
        "VERIFYING", 
        "PENDING", 
        "AVAILABLE", 
        "DOWN", 
        "DELETING", 
        "DELETED", 
        "REJECTED", 
        "ATTACHED", 
        "ATTACHING", 
        "ERROR"
      ], 
      "required": true, 
      "title": "VIF State", 
      "type": "string"
    }
  }, 
  "type": "object"
}


API Errors

301 - Moved Permanently

Request must be reissued to a different controller node.

The controller node has been replaced by a new node that should be used for this and all future requests.

Response Code 301 Moved Permanently
Response Headers Content-Type: text/plain
Location: <URI for new request>
Response Body Additional information about the error, if available.

307 - Temporary Redirect

Request should be reissued to a different controller node.

The controller node is requesting the client make further requests against the controller node specified in the Location header. Clients should continue to use the new server until directed otherwise by the new controller node.

Response Code 307 Temporary Redirect
Response Headers Content-Type: text/plain
Location: <URI for new request>
Response Body Additional information about the error, if available.

400 - Bad Request

Request was improperly formatted or contained an invalid parameter.

Response Code 400 Bad Request
Response Headers Content-Type: text/plain
Response Body Additional information about the error, if available.

403 - Forbidden

The client does not have sufficient privileges to execute the request.

The API is likely in read-only mode, or a request was made to modify a read-only property.

Response Code 403 Forbidden
Response Headers Content-Type: text/plain
Response Body Additional information about the error, if available.

404 - Not Found

An entity referenced in the request does not exist.

Create the referenced resource first, then reissue the request.

Response Code 404 Not Found
Response Headers Content-Type: text/plain
Response Body Additional information about the error, if available.

500 - Internal Server Error

An internal error occurred while executing the request. If the problem persists, perform diagnostic system tests, or contact your support representative.

Response Code 500 Internal Server Error
Response Headers Content-Type: text/plain
Response Body Additional information about the error, if available.

503 - Service Unavailable

The request can not be performed because the associatedresource could not be reached or is temporarily busy. Verify theassociated resource is connected, then reissue the request.

Response Code 503 Service Unavailable
Response Headers Content-Type: text/plain
Response Body Additional information about the error, if available.