{
  "openapi": "3.0.0",
  "info": {
    "title": "Network Edge APIs",
    "description": "Network Edge (NE) is a platform that allows customers to deploy and run virtual network services and appliances such as routers, load balancers, and firewalls on a generic device instead of additional dedicated hardware, CapEx and colo space. The Network Edge REST APIs allow you to interact with the Equinix Platform to programmatically create a virtual device and add services. Details on specific use cases can be found in the documentation available on the developer portal.",
    "contact": {
      "name": "Equinix API Support",
      "email": "api-support@equinix.com"
    },
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.equinix.com",
      "variables": {}
    }
  ],
  "paths": {
    "/ne/v1/deviceTypes": {
      "get": {
        "tags": [
          "Setup"
        ],
        "summary": "getVirtualDevicesUsingGET",
        "description": "Returns device types (e.g., routers and firewalls) that can be launched on the NE platform.",
        "operationId": "getVirtualDevicesUsingGET",
        "parameters": [
          {
            "name": "deviceTypeCode",
            "in": "query",
            "description": "Device type code (e.g., CSR1000V)",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "in": "query",
            "description": "Category. One of FIREWALL, ROUTER or SDWAN",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Specifies where to start a page. It is the starting point of the collection returned from the server.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "default": "0"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Specifies the page size.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "default": "20"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PageResponseDto-VirtualDeviceType"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/metros": {
      "get": {
        "tags": [
          "Setup"
        ],
        "summary": "getMetrosUsingGET",
        "description": "Gets the available list of metros where NE platform is available. Please note that an account must be created for each country where virtual devices are being purchased.",
        "operationId": "getMetrosUsingGET",
        "parameters": [
          {
            "name": "region",
            "in": "query",
            "description": "Name of the region for which you want metros (e.g., AMER)",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Specifies where to start a page. It is the starting point of the collection returned from the server.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "default": "0"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Specifies the page size.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "default": "20"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PageResponseDto-MetroResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/accounts/{metro}": {
      "get": {
        "tags": [
          "Setup"
        ],
        "summary": "getAccountsWithStatusUsingGET",
        "description": "Gets accounts by metro. You must have an account in a metro to create a virtual device there. To create an account go to \"accountCreateUrl\".",
        "operationId": "getAccountsWithStatusUsingGET",
        "parameters": [
          {
            "name": "metro",
            "in": "path",
            "description": "Metro region for which you want to check your account status",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountUcmId",
            "in": "query",
            "description": "Unique ID of an account",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the account details",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PageResponseDto-MetroAccountResponse"
                }
              }
            }
          },
          "401": {
            "description": "You are not authorized to view the resource",
            "headers": {},
            "content": {}
          },
          "403": {
            "description": "Accessing the resource you were trying to reach is forbidden",
            "headers": {},
            "content": {}
          },
          "404": {
            "description": "Resource not found",
            "headers": {},
            "content": {}
          },
          "500": {
            "description": "500 message",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/agreements/accounts": {
      "get": {
        "tags": [
          "Setup"
        ],
        "summary": "getAgreementStatusUsingGET",
        "description": "Call this API to find out the status of your agreement, whether it is valid or not, or to just read the agreement terms.",
        "operationId": "getAgreementStatusUsingGET",
        "parameters": [
          {
            "name": "account_number",
            "in": "query",
            "description": "account_number",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved Status",
            "headers": {},
            "content": {
              "*/*": {
                "schema": {}
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "headers": {},
            "content": {}
          },
          "500": {
            "description": "500 message",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Setup"
        ],
        "summary": "sendAgreementUsingPOST_1",
        "description": "Call this API to post an agreement. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.",
        "operationId": "sendAgreementUsingPOST_1",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "agreementAcceptRequest",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/AgreementAcceptRequest"
                  },
                  {
                    "description": "agreementAcceptRequest"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successfully posted terms",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgreementAcceptResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/agreements/vendors": {
      "get": {
        "tags": [
          "Setup"
        ],
        "summary": "getVendorTermsUsingGET",
        "description": "Returns a link to your vendor's terms of agreement. The term \"vendor\" here refers to the vendor of the virtual device on the Network Edge platform.",
        "operationId": "getVendorTermsUsingGET",
        "parameters": [
          {
            "name": "vendorPackage",
            "in": "query",
            "description": "vendorPackage",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "licenseType",
            "in": "query",
            "description": "licenseType",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved vendor terms",
            "headers": {},
            "content": {
              "*/*": {
                "schema": {}
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "headers": {},
            "content": {}
          },
          "500": {
            "description": "500 message",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/agreements/orders": {
      "get": {
        "tags": [
          "Setup"
        ],
        "summary": "getOrderTermsUsingGET",
        "description": "This API retrieves the Network Edge Order Terms and Conditions, which the user needs to read and understand before proceeding to place an order",
        "operationId": "getOrderTermsUsingGET",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved Status",
            "headers": {},
            "content": {
              "*/*": {
                "schema": {}
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "headers": {},
            "content": {}
          },
          "500": {
            "description": "500 message",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/prices": {
      "get": {
        "tags": [
          "Setup"
        ],
        "summary": "retrievePriceUsingGET",
        "description": "Returns the price of a virtual device and license based on account number and other fields. Please note that the listed price does not include the price of any optional features added to the device, some of which are charged.",
        "operationId": "retrievePriceUsingGET",
        "parameters": [
          {
            "name": "accountNumber",
            "in": "query",
            "description": "Account number",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "metro",
            "in": "query",
            "description": "Metro",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "vendorPackage",
            "in": "query",
            "description": "Vendor package",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "licenseType",
            "in": "query",
            "description": "License type",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "softwarePackage",
            "in": "query",
            "description": "Software package",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "throughput",
            "in": "query",
            "description": "Throughput",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "throughputUnit",
            "in": "query",
            "description": "Throughput unit",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "termLength",
            "in": "query",
            "description": "Term length (in months)",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "additionalBandwidth",
            "in": "query",
            "description": "Additional bandwidth (in Mbps)",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "virtualDeviceUuid",
            "in": "query",
            "description": "Virtual device unique Id (only required if existing device is being modified)",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deviceManagementType",
            "in": "query",
            "description": "The device management type",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "core",
            "in": "query",
            "description": "The number of cores",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "secondaryAccountNumber",
            "in": "query",
            "description": "The secondary account number (for HA)",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "secondaryMetro",
            "in": "query",
            "description": "Secondary metro (for HA)",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "secondaryAdditionalBandwidth",
            "in": "query",
            "description": "Secondary additional bandwidth (in Mbps for HA)",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "accountUcmId",
            "in": "query",
            "description": "Account unique ID",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderingContact",
            "in": "query",
            "description": "Reseller customer username",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompositePriceResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/orderSummaries": {
      "get": {
        "tags": [
          "Setup"
        ],
        "summary": "getOrderSummaryUsingGET",
        "description": "Gets the order summary as a printable pdf file. This API helps customers who have to go through a PO process at their end to make a purchase and need a formal quote",
        "operationId": "getOrderSummaryUsingGET",
        "parameters": [
          {
            "name": "accountNumber",
            "in": "query",
            "description": "Account number",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "metro",
            "in": "query",
            "description": "Metro",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "vendorPackage",
            "in": "query",
            "description": "Vendor package",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "licenseType",
            "in": "query",
            "description": "License type",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "softwarePackage",
            "in": "query",
            "description": "Software package",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "throughput",
            "in": "query",
            "description": "Throughput",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "throughputUnit",
            "in": "query",
            "description": "Throughput unit",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "termLength",
            "in": "query",
            "description": "Term length (in months)",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "additionalBandwidth",
            "in": "query",
            "description": "Additional bandwidth (in Mbps)",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "virtualDeviceUuid",
            "in": "query",
            "description": "Virtual device unique Id (only required if existing device is being modified)",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deviceManagementType",
            "in": "query",
            "description": "The device management type",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "core",
            "in": "query",
            "description": "The number of cores",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "secondaryAccountNumber",
            "in": "query",
            "description": "Secondary account number (for HA)",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "secondaryMetro",
            "in": "query",
            "description": "Secondary metro (for HA)",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "secondaryAdditionalBandwidth",
            "in": "query",
            "description": "Secondary additional bandwidth (in Mbps for HA)",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "accountUcmId",
            "in": "query",
            "description": "Account unique ID",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orderingContact",
            "in": "query",
            "description": "Reseller customer username",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderSummaryResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/dnsLookup": {
      "post": {
        "tags": [
          "Setup"
        ],
        "summary": "sendDnsLookupPOST_1",
        "description": "Call this method to lookup IP addresses associated with domains of a metro or a virtual device.",
        "operationId": "sendDnsLookupPOST_1",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "dnsLookupRequest",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DNSLookupRequest"
                  },
                  {
                    "description": "dnsLookupRequest"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successfully posted terms",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DNSLookupResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/publicKeys": {
      "get": {
        "tags": [
          "Setup"
        ],
        "summary": "getPublicKeysUsingGET",
        "description": "This method returns the SSH public keys associated with this organization. If you are a reseller, please pass the account number of you customer to get the public keys.",
        "operationId": "getPublicKeysUsingGET",
        "parameters": [
          {
            "name": "accountUcmId",
            "in": "query",
            "description": "This field is for resellers. Please pass the accountUcmId of your customer to get the public keys.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PageResponse-PublicKeys"
                  },
                  "description": ""
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Setup"
        ],
        "summary": "postPublicKeyUsingPOST",
        "description": "You can use this API to post an SSH public key. If you are a reseller, pass the account number of your customer to post a key-name and key-value pair.",
        "operationId": "postPublicKeyUsingPOST",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "keyName and keyValue pair",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PublicKeyRequest"
                  },
                  {
                    "description": "keyName and keyValue pair"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "headers": {},
            "content": {}
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource Not Found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/devices/licenseFiles": {
      "post": {
        "tags": [
          "Virtual Device & Licensing"
        ],
        "summary": "uploadLicenseUsingPOST",
        "description": "In case you want to bring your own license (BYOL), you can use this API to post a license file before creating a virtual device.",
        "operationId": "uploadLicenseUsingPOST",
        "parameters": [
          {
            "name": "metroCode",
            "in": "query",
            "description": "metroCode",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deviceTypeCode",
            "in": "query",
            "description": "deviceTypeCode",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "licenseType",
            "in": "query",
            "description": "licenseType",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "encoding": {},
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "description": "file",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicenseUploadResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/devices/licenseFiles/{uuid}": {
      "post": {
        "tags": [
          "Virtual Device & Licensing"
        ],
        "summary": "uploadLicenseForDeviceUsingPOST",
        "description": "In case you want to bring your own license and have already created a virtual device, use this API to post a license file. You can also use this API to renew a license that is about to expire.",
        "operationId": "uploadLicenseForDeviceUsingPOST",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "Unique Id of a virtual device",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "encoding": {},
              "schema": {
                "required": [
                  "file"
                ],
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "description": "License file",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicenseUploadResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/devices/{uuid}/licenseTokens": {
      "put": {
        "tags": [
          "Virtual Device & Licensing"
        ],
        "summary": "updateLicenseUsingPOST",
        "description": "If you want to bring your own license (BYOL), you can use this API to post or update a license token after a virtual device is created.",
        "operationId": "updateLicenseUsingPOST",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "Unique Id of a virtual device",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "License token",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LicenseUpdateRequest"
                  },
                  {
                    "description": "License token"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicenseUploadResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource Not Found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/devices": {
      "post": {
        "tags": [
          "Virtual Device & Licensing"
        ],
        "summary": "createVirtualDeviceUsingPOST",
        "description": "Creates a virtual device. You must provide your own account number (check Get account status API). This API can be used for <br />1. Create a Virtual Device  <br />2. Create a Virtual Device Draft by sending draft = true <br />3. Create a Virtual Device From Draft",
        "operationId": "createVirtualDeviceUsingPOST",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "draft",
            "in": "query",
            "description": "draft",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "draftUuid",
            "in": "query",
            "description": "draftUuid",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Create a virtual device (e.g., a router or a firewall)",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/VirtualDeviceRequest"
                  },
                  {
                    "description": "Create a virtual device (e.g., a router or a firewall)"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Request accepted. To check the status of your device, please call Get virtual device {uuid} API.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualDeviceCreateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Virtual Device & Licensing"
        ],
        "summary": "getVirtualDevicesUsingGET_1",
        "description": "Returns all the available virtual devices, i.e. routers and routers, on the Network Edge platform.",
        "operationId": "getVirtualDevicesUsingGET_1",
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Specifies where to start a page. It is the starting point of the collection returned from the server.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "default": "0"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Specifies the page size.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "default": "20"
            }
          },
          {
            "name": "metroCode",
            "in": "query",
            "description": "metroCode",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "status",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showOnlySubCustomerDevices",
            "in": "query",
            "description": "Resellers may mark this Yes to see sub customer devices.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "accountUcmId",
            "in": "query",
            "description": "Unique ID of the account.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualDevicePageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/devices/{uuid}": {
      "get": {
        "tags": [
          "Virtual Device & Licensing"
        ],
        "summary": "getVirtualDeviceUsingGET",
        "description": "Returns the virtual device details of an existing device on the Network Edge platform. You must provide the unique ID of the existing device as a path parameter.",
        "operationId": "getVirtualDeviceUsingGET",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "uuid",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualDeviceDetailsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource Not found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "patch": {
        "tags": [
          "Virtual Device & Licensing"
        ],
        "summary": "updateVirtualDeviceUsingPATCH_1",
        "description": "This API can be used to update certain fields of a virtual device. Authorization checks are performed on the API users making this request.",
        "operationId": "updateVirtualDeviceUsingPATCH_1",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "The unique Id of the device.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VirtualDeviceInternalPatchRequestDto"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Accepted",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualDeviceCreateResponseDto"
                }
              }
            }
          },
          "202": {
            "description": "Accepted",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualDeviceCreateResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Virtual Device & Licensing"
        ],
        "summary": "deleteVRouterUsingDELETE",
        "description": "Delete a virtual device by its unique Id. For some device types (e.g. for Palo Alto devices), you also need to provide a deactivation key as a body parameter. For HA devices, the deleteRedundantDevice field must be marked True to delete both devices.",
        "operationId": "deleteVRouterUsingDELETE",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "Unique ID of the virtual device.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deleteRedundantDevice",
            "in": "query",
            "description": "Optional parameter in case you have a secondary device for high availability (HA). As both primary and secondary devices are deleted simultaneously, this field must be marked True for Equinix to successfully delete a device that has a secondary device.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The deletion is in progress. Call Get virtual device {uuid} API to check the status of your deletion.",
            "headers": {},
            "content": {}
          },
          "403": {
            "description": "Forbidden",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Virtual Device & Licensing"
        ],
        "summary": "updateVirtualDeviceUsingPUT",
        "description": "This API is for updating a virtual device draft <br/>and does not support device update as of now.",
        "operationId": "updateVirtualDeviceUsingPUT",
        "parameters": [
          {
            "name": "draft",
            "in": "query",
            "description": "draft",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "uuid",
            "in": "path",
            "description": "Unique Id of a Virtual Device",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Update virtual device details",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/VirtualDeviceRequest"
                  },
                  {
                    "description": "Update virtual device details"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {},
            "content": {}
          },
          "400": {
            "description": "Bad request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/devices/{uuid}/additionalBandwidths": {
      "put": {
        "tags": [
          "Virtual Device & Licensing"
        ],
        "summary": "updateAdditionalBandwidth",
        "description": "You can use this method to change or add additional bandwidth to a virtual device.",
        "operationId": "updateAdditionalBandwidth",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "The unique Id of a virtual device",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Additional Bandwidth",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/AdditionalBandwidthRequest"
                  },
                  {
                    "description": "Additional Bandwidth"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {},
            "content": {}
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource Not Found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/devices/{uuid}/interfaces": {
      "get": {
        "tags": [
          "Virtual Device & Licensing"
        ],
        "summary": "getVirtualDeviceInterfacesUsingGET",
        "description": "Returns the interface details by the unique Id of an existing virtual device on the Network Edge platform.",
        "operationId": "getVirtualDeviceInterfacesUsingGET",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "uuid",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InterfaceBasicInfoResponse"
                  },
                  "description": ""
                }
              }
            }
          },
          "404": {
            "description": "Resource Not found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/devices/{uuid}/ping": {
      "get": {
        "tags": [
          "Virtual Device & Licensing"
        ],
        "summary": "pingDeviceUsingGET",
        "description": "It pings a virtual device to ensure it's reachable. You must pass the unique Id of the device as the path parameter.",
        "operationId": "pingDeviceUsingGET",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "Virtual Device unique Id",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/aclTemplates": {
      "post": {
        "tags": [
          "ACL Template"
        ],
        "summary": "createDeviceACLTemplateUsingPost",
        "description": "This API is used to create a device ACL template. The response is the unique ID of the ACL template.",
        "operationId": "createDeviceACLTemplateUsingPost",
        "parameters": [
          {
            "name": "accountUcmId",
            "in": "query",
            "description": "A reseller creating a device ACL template for a customer can pass the accountUcmId of the customer.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Create a device ACL template.",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DeviceACLTemplateRequest"
                  },
                  {
                    "description": "Create a device ACL template."
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Device ACL template created. The response is the unique ID of the device ACL template.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualDeviceCreateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource Not found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "ACL Template"
        ],
        "summary": "getDeviceACLTemplateUsingGET_1",
        "description": "Returns all the device ACL templates. The ACL templates list the networks that require access to the device.",
        "operationId": "getDeviceACLTemplateUsingGET_1",
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Specifies where to start a page. It is the starting point of the collection returned from the server.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "default": "0"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Specifies the page size.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "default": "20"
            }
          },
          {
            "name": "accountUcmId",
            "in": "query",
            "description": "Unique ID of the account. A reseller querying for the device ACLs of a customer should input the accountUcmId of the customer.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceACLPageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/aclTemplates/{uuid}": {
      "get": {
        "tags": [
          "ACL Template"
        ],
        "summary": "getDeviceTemplatebyUuid",
        "description": "Returns the ACL Template details of any existing template. You must provide the unique ID of an existing template as a path parameter.",
        "operationId": "getDeviceTemplatebyUuid",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "Unique Id of a device ACL template",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountUcmId",
            "in": "query",
            "description": "A reseller creating a device ACL template for a customer can pass the accountUcmId of the customer.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceACLDetailsResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource Not found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "ACL Template"
        ],
        "summary": "deletedeviceACLUsingDELETE",
        "description": "Deletes a device ACL template. You must provide the unique Id of the ACL template.",
        "operationId": "deletedeviceACLUsingDELETE",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "Unique ID of a device ACL template",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountUcmId",
            "in": "query",
            "description": "A reseller deleting a device ACL template for a customer must pass the accountUcmId of the customer.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The deletion is in progress.",
            "headers": {},
            "content": {}
          },
          "403": {
            "description": "Forbidden",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "ACL Template"
        ],
        "summary": "updateDeviceACLTemplateUsingPUT",
        "description": "Updates a device ACL template. You must pass the unique Id of the ACL template as a path parameter.",
        "operationId": "updateDeviceACLTemplateUsingPUT",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "Unique ID of a device ACL template",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountUcmId",
            "in": "query",
            "description": "A reseller updating a device ACL template for a customer must pass the accountUcmId of the customer.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Create a device ACL template.",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DeviceACLTemplateRequest"
                  },
                  {
                    "description": "Create a device ACL template."
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content",
            "headers": {},
            "content": {}
          },
          "400": {
            "description": "Bad request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/links": {
      "post": {
        "tags": [
          "Device Link"
        ],
        "summary": "createLinkGroupUsingPOST",
        "description": "Call this API to create a device link between virtual devices. You can include any devices that are registered and provisioned.",
        "operationId": "createLinkGroupUsingPOST",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "New Device Link Group",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DeviceLinkRequest"
                  },
                  {
                    "description": "New Device Link Group"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Unique ID of the device link group.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceLinkGroupResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Device Link"
        ],
        "summary": "getLinkGroupsUsingGET_1",
        "description": "This method returns device links. You can link two or more devices that are registered and provisioned.",
        "operationId": "getLinkGroupsUsingGET_1",
        "parameters": [
          {
            "name": "metro",
            "in": "query",
            "description": "Metro Code",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "virtualDeviceUuid",
            "in": "query",
            "description": "Unique Id of a virtual device.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountUcmId",
            "in": "query",
            "description": "Unique Id of the account. A reseller querying for a customer's link groups can pass the accountUcmId of the customer's account. To get the accountUcmId of your customer's account, please check the Equinix account creation portal (ECP) or call Get account API.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "Page number. Default value=1",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "Results per page. Default value=100",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DeviceLinkGroupDto"
                  },
                  "description": ""
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/links/{uuid}": {
      "get": {
        "tags": [
          "Device Link"
        ],
        "summary": "getLinkGroupByUUIDUsingGET",
        "description": "This API will return a device link by its unique Id. Authorization checks are performed on the users of this API.",
        "operationId": "getLinkGroupByUUIDUsingGET",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "Unique Id of a device link group.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceLinkGroupDto"
                }
              }
            }
          },
          "404": {
            "description": "Resource Not Found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "patch": {
        "tags": [
          "Device Link"
        ],
        "summary": "updateLinkGroupUsingPATCH",
        "description": "Call this API to update a device link. Authorization checks are performed on the users of this API.",
        "operationId": "updateLinkGroupUsingPATCH",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "Unique Id of a device link group.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Device Link Group",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/DeviceLinkRequest"
                  },
                  {
                    "description": "Device Link Group"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Request fulfilled.",
            "headers": {},
            "content": {}
          },
          "400": {
            "description": "Bad request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Device Link"
        ],
        "summary": "deleteLinkGroupUsingDELETE",
        "description": "This method deletes a device link group. Authorization checks are performed on the users of this API.",
        "operationId": "deleteLinkGroupUsingDELETE",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "Unique Id of a device link group.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Request fulfilled.",
            "headers": {},
            "content": {}
          },
          "403": {
            "description": "Forbidden",
            "headers": {},
            "content": {
              "*/*": {
                "schema": {}
              }
            }
          },
          "404": {
            "description": "Resource not found",
            "headers": {},
            "content": {
              "*/*": {
                "schema": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "*/*": {
                "schema": {}
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/l2/serviceprofiles/services": {
      "get": {
        "tags": [
          "Layer 2 Connections & Service Profiles"
        ],
        "summary": "getProfilesByMetroUsingGET",
        "description": "Get the list of all active and valid Layer 2 service profiles to which connections can be created.",
        "operationId": "getProfilesByMetroUsingGET",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "metroCode",
            "in": "query",
            "description": "metroCode",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "page number",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "total number of records",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 20
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetServProfServicesResp"
                }
              }
            }
          },
          "204": {
            "description": "No Content",
            "headers": {},
            "content": {}
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErrorResponse"
                  },
                  "description": ""
                }
              }
            }
          },
          "404": {
            "description": "Record Not Found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/l2/serviceprofiles/services/{uuid}": {
      "get": {
        "tags": [
          "Layer 2 Connections & Service Profiles"
        ],
        "summary": "getProfileByIdUsingGET",
        "description": "Get all the pertinent details for a Layer 2 service profile specified by its uuid.",
        "operationId": "getProfileByIdUsingGET",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "uuid",
            "in": "path",
            "description": "uuid",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetServProfServicesResp"
                }
              }
            }
          },
          "204": {
            "description": "No Content",
            "headers": {},
            "content": {}
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErrorResponse"
                  },
                  "description": ""
                }
              }
            }
          },
          "404": {
            "description": "Record Not Found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/l2/connections/validateAuthorizationKey": {
      "get": {
        "tags": [
          "Layer 2 Connections & Service Profiles"
        ],
        "summary": "validateAuthorizationKeyUsingGET",
        "description": "Validates authorization/service key or account ID to connect to cloud service providers. The participant must first use the provider console to establish a connection and obtain a valid account or service which could then be used to create connections to CSPs. Participants may validate their keys using this API.",
        "operationId": "validateAuthorizationKeyUsingGET",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "authorizationKey",
            "in": "query",
            "description": "Could be AWS Account ID or Azure Service Key or Google Pairing Key or Oracle connection Id or any other authorization key",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "metroCode",
            "in": "query",
            "description": "metroCode",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "profileId",
            "in": "query",
            "description": "profileId",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "region",
            "in": "query",
            "description": "region",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "Content-Type",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetValidateAuthKeyRes"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErrorResponse"
                  },
                  "description": ""
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/l2/connections": {
      "post": {
        "tags": [
          "Layer 2 Connections & Service Profiles"
        ],
        "summary": "createConnectionUsingPOST",
        "description": "Create a new Layer 2 connection on a virtual device to a cloud service provider, another ECX participant or to your own assets in another metro.",
        "operationId": "createConnectionUsingPOST",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "request",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PostConnectionRequest"
                  },
                  {
                    "description": "request"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "success",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PostConnectionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErrorResponse"
                  },
                  "description": ""
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/l2/connections/{uuid}": {
      "patch": {
        "tags": [
          "Layer 2 Connections & Service Profiles"
        ],
        "summary": "performUserActionUsingPATCH",
        "description": "Update (or approve) connection to complete the provisioning or to perform any updates to the Layer 2 connection. It is typically used to accept a hosted connection.",
        "operationId": "performUserActionUsingPATCH",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "action",
            "in": "query",
            "description": "action",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "uuid",
            "in": "path",
            "description": "connId",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "request",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PatchRequest"
                  },
                  {
                    "description": "request"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "success",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteConnectionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErrorResponse"
                  },
                  "description": ""
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Layer 2 Connections & Service Profiles"
        ],
        "summary": "getConnectionByUuidUsingGET",
        "description": "Get connection details including its status, allocated bandwidth, VLAN tag, the service profile (or cloud provider) the connection has been created to etc.",
        "operationId": "getConnectionByUuidUsingGET",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "uuid",
            "in": "path",
            "description": "Connection UUID",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GETConnectionByUuidResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content",
            "headers": {},
            "content": {}
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErrorResponse"
                  },
                  "description": ""
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Layer 2 Connections & Service Profiles"
        ],
        "summary": "deleteConnectionUsingDELETE",
        "description": "Deletes a virtual connection specified by its unique Id. Once a connection has been successfully deleted, billing for that connections will also be stopped.",
        "operationId": "deleteConnectionUsingDELETE",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "uuid",
            "in": "path",
            "description": "connId",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteConnectionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErrorResponse"
                  },
                  "description": ""
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/bgp": {
      "post": {
        "tags": [
          "BGP"
        ],
        "summary": "addBgpConfigurationUsingPOST",
        "description": "Creates a BGP session to establish a point-to-point connection between your virtual device and cloud service provider. To create BGP peers, you must have a virtual device that is provisioned and registered and a provisioned connection.",
        "operationId": "addBgpConfigurationUsingPOST",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "BGP configuration details",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BgpConfigAddRequest"
                  },
                  {
                    "description": "BGP configuration details"
                  }
                ]
              }
            }
          },
          "required": false
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BgpAsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource Not Found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "BGP"
        ],
        "summary": "getBgpConfigurationsUsingGET",
        "description": "Returns BGP configurations on the Network Edge platform. Authorization checks are performed on the users of this API.",
        "operationId": "getBgpConfigurationsUsingGET",
        "parameters": [
          {
            "name": "virtualDeviceUuid",
            "in": "query",
            "description": "Unique Id of a virtual device",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "connectionUuid",
            "in": "query",
            "description": "Unique Id of a connection",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Provisioning status of BGP Peering",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountUcmId",
            "in": "query",
            "description": "Unique Id of an account. A reseller querying for a customer's devices can input the accountUcmId of the customer's account.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Specifies where to start a page. It is the starting point of the collection returned from the server.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "default": "0"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Specifies the page size.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "default": "20"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BgpInfo"
                }
              }
            }
          },
          "404": {
            "description": "Resource Not Found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/bgp/{uuid}": {
      "put": {
        "tags": [
          "BGP"
        ],
        "summary": "updateBgpConfigurationUsingPUT",
        "description": "Updates an existing BGP peering configuration identified by its unique Id. Authorization checks are performed on the users of this API.",
        "operationId": "updateBgpConfigurationUsingPUT",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "uuid",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "BGP config",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BgpUpdateRequest"
                  },
                  {
                    "description": "BGP config"
                  }
                ]
              }
            }
          },
          "required": false
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BgpAsyncResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource Not Found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "BGP"
        ],
        "summary": "getBgpConfigurationUsingGET",
        "description": "Gets a BGP peering configuration by its unique Id. Authorization checks are performed on the users of this API.",
        "operationId": "getBgpConfigurationUsingGET",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "uuid",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BgpInfo"
                }
              }
            }
          },
          "404": {
            "description": "Resource Not Found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/vpn": {
      "post": {
        "tags": [
          "VPN"
        ],
        "summary": "createVpnUsingPOST",
        "description": "Creates a VPN configuration. You must have a provisioned virtual device with a registered license to create a VPN.",
        "operationId": "createVpnUsingPOST",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "VPN info",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Vpn"
                  },
                  {
                    "description": "VPN info"
                  }
                ]
              }
            }
          },
          "required": false
        },
        "responses": {
          "201": {
            "description": "Created Successfully",
            "headers": {},
            "content": {}
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized User",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource Not Found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "VPN"
        ],
        "summary": "getVpnsUsingGET",
        "description": "Gets all VPN configurations by user name and specified parameter(s). Authorization checks are performed on the users of this API.",
        "operationId": "getVpnsUsingGET",
        "parameters": [
          {
            "name": "statusList",
            "in": "query",
            "description": "One or more desired status",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/statusList"
              }
            }
          },
          {
            "name": "virtualDeviceUuid",
            "in": "query",
            "description": "Unique Id of a virtual device",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Specifies where to start a page. It is the starting point of the collection returned from the server.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "default": "0"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Specifies the page size.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "default": "20"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VpnResponseDto"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized User",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/vpn/{uuid}": {
      "get": {
        "tags": [
          "VPN"
        ],
        "summary": "getVpnByUuidUsingGET",
        "description": "Gets a VPN configuration by its unique Id. Authorization checks are performed on the users of this API.",
        "operationId": "getVpnByUuidUsingGET",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "uuid",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Read Successfully",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VpnResponse"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized User",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource Not found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getVpnByUuidUsingGETResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "VPN"
        ],
        "summary": "updateVpnConfigurationUsingPut",
        "description": "Update a VPN configuration by its unique Id. Authorization checks are performed on the users of this API.",
        "operationId": "updateVpnConfigurationUsingPut",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "uuid",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "VPN info",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Vpn"
                  },
                  {
                    "description": "VPN info"
                  }
                ]
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {}
          },
          "204": {
            "description": "No Content",
            "headers": {},
            "content": {}
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized User",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "VPN"
        ],
        "summary": "removeVpnConfigurationUsingDELETE",
        "description": "Deletes a VPN configuration by its unique Id. Authorization checks are performed on the users of this API.",
        "operationId": "removeVpnConfigurationUsingDELETE",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "uuid",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {}
          },
          "204": {
            "description": "No Content",
            "headers": {},
            "content": {}
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized User",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/sshUsers": {
      "get": {
        "tags": [
          "SSH User"
        ],
        "summary": "getSshUsersUsingGET",
        "description": "Returns a list of all SSH Users associated with this account. Authorization checks are performed on the users of this API.",
        "operationId": "getSshUsersUsingGET",
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "description": "SSH user name",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "virtualDeviceUuid",
            "in": "query",
            "description": "Virtual Device unique Id",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "verbose",
            "in": "query",
            "description": "Is detailed info required",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "accountUcmId",
            "in": "query",
            "description": "Unique ID of an account",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Specifies where to start a page. It is the starting point of the collection returned from the server.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "default": "0"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Specifies the page size.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "default": "20"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SshUserPageResponse"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized User",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "SSH User"
        ],
        "summary": "createSshUserUsingPOST",
        "description": "Create a new SSH user and associate the user to a virtual device. Authorization checks are performed on users of this API.",
        "operationId": "createSshUserUsingPOST",
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "SSH user info",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SshUserCreateRequest"
                  },
                  {
                    "description": "SSH user info"
                  }
                ]
              }
            }
          },
          "required": false
        },
        "responses": {
          "201": {
            "description": "Created Successfully",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SshUserCreateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized User",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/sshUsers/availability": {
      "get": {
        "tags": [
          "SSH User"
        ],
        "summary": "isSshUserAvailableForCreationUsingGET",
        "description": "Call this API to check whether a username is available for use. Failed response indicates that the given user name already exists or is restricted.",
        "operationId": "isSshUserAvailableForCreationUsingGET",
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "description": "user name",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The username is available",
            "headers": {},
            "content": {}
          },
          "400": {
            "description": "Invalid input",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/sshUsers/{uuid}": {
      "get": {
        "tags": [
          "SSH User"
        ],
        "summary": "getSshUserUsingGET",
        "description": "Returns ssh user details by unique Id. Authorization checks are performed on the users of this API.",
        "operationId": "getSshUserUsingGET",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "uuid",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Read Successfully",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SshUserInfoVerbose"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized User",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource Not found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/getSshUserUsingGETResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "SSH User"
        ],
        "summary": "updateSshUserUsingPUT",
        "description": "Update password for an SSH user. At this time password is the only information that is available for modification.",
        "operationId": "updateSshUserUsingPUT",
        "parameters": [
          {
            "name": "uuid",
            "in": "path",
            "description": "uuid",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "SSH user info",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SshUserUpdateRequest"
                  },
                  {
                    "description": "SSH user info"
                  }
                ]
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {}
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized User",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource Not Found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ne/v1/sshUsers/{sshUserUuid}/devices/{deviceUuid}": {
      "delete": {
        "tags": [
          "SSH User"
        ],
        "summary": "dissociateDeviceUsingDELETE",
        "description": "The given SSH user is dissociated from the given device. The ssh user is deleted if there are no other devices associated with this user.",
        "operationId": "dissociateDeviceUsingDELETE",
        "parameters": [
          {
            "name": "sshUserUuid",
            "in": "path",
            "description": "uuid",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deviceUuid",
            "in": "path",
            "description": "device unique Id",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SshUserInfoDissociateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized User",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource Not Found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "SSH User"
        ],
        "summary": "associateDeviceUsingPOST",
        "description": "Call this API to associate a device to an SSH user. The ssh user should be able to log onto the device if this operation is successful.",
        "operationId": "associateDeviceUsingPOST",
        "parameters": [
          {
            "name": "sshUserUuid",
            "in": "path",
            "description": "The id of the SSH user",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deviceUuid",
            "in": "path",
            "description": "The unique Id of the device",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "The OAuth Bearer token. Please add the prefix 'Bearer ' before the token.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "style": "simple",
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created Successfully",
            "headers": {},
            "content": {}
          },
          "400": {
            "description": "Bad Request",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized User",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Resource Not Found",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldErrorResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessageResponse"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "components": {
    "schemas": {
      "AgreementStatusResponse": {
        "title": "AgreementStatusResponse",
        "type": "object",
        "properties": {
          "errorMessage": {
            "type": "string"
          },
          "isValid": {
            "type": "string"
          },
          "terms": {
            "type": "string"
          },
          "termsVersionID": {
            "type": "string"
          }
        }
      },
      "DNSLookupRequest": {
        "title": "DNSLookupRequest",
        "type": "object",
        "properties": {
          "fqdns": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Domain names",
            "example": [
              "velocloud.net"
            ]
          },
          "uuid": {
            "type": "string",
            "description": "The unique Id of a virtual device",
            "example": "4cfb5675-5c3f-4275-adba-0c9e3c26c96b"
          },
          "metroCode": {
            "type": "string",
            "description": "Metro code",
            "example": "SY"
          }
        }
      },
      "DNSLookupResponse": {
        "title": "DNSLookupResponse",
        "type": "object",
        "properties": {
          "additionalProp": {
            "$ref": "#/components/schemas/DNSLookupResponseDetails"
          }
        }
      },
      "DNSLookupResponseDetails": {
        "title": "DNSLookupResponseDetails",
        "type": "object",
        "properties": {
          "cdn": {
            "type": "boolean",
            "description": "True or false",
            "example": true
          },
          "ips": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Domain names",
            "example": [
              "104.24.100.23/32",
              "104.24.101.23/32",
              "172.67.218.217/32"
            ]
          }
        }
      },
      "AgreementAcceptRequest": {
        "title": "AgreementAcceptRequest",
        "type": "object",
        "properties": {
          "accountNumber": {
            "type": "string"
          },
          "apttusId": {
            "type": "string"
          }
        }
      },
      "AgreementAcceptResponse": {
        "title": "AgreementAcceptResponse",
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          }
        }
      },
      "versionDetails": {
        "title": "versionDetails",
        "type": "object",
        "properties": {
          "cause": {
            "$ref": "#/components/schemas/versionDetails"
          },
          "version": {
            "type": "string",
            "example": "16.09.02"
          },
          "imageName": {
            "type": "string",
            "example": "csr-16.09.02"
          },
          "versionDate": {
            "type": "string",
            "example": {
              "date": 1,
              "day": 2,
              "hours": 8,
              "minutes": 0,
              "month": 0,
              "seconds": 0,
              "time": 1546300800000,
              "timezoneOffset": -480,
              "year": 119
            }
          },
          "status": {
            "type": "string",
            "example": "ACTIVE"
          },
          "stableVersion": {
            "type": "string",
            "example": "true"
          },
          "allowedUpgradableVersions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": ""
          }
        }
      },
      "SshUserCreateRequest": {
        "title": "SshUserCreateRequest",
        "required": [
          "username",
          "password",
          "deviceUuid"
        ],
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "description": "At least 3 and upto a maximum of 32 alphanumeric characters. The only special characters allowed are - _",
            "example": "user1"
          },
          "password": {
            "type": "string",
            "description": "At least 6 and upto a maximum of 12 alphanumeric characters. The only special characters allowed are - _ $ @",
            "example": "pass12"
          },
          "deviceUuid": {
            "type": "string",
            "description": "The unique Id of a virtual device.",
            "example": "3da0a663-20d9-4b8f-8c5d-d5cf706840c8"
          }
        }
      },
      "SshUserCreateResponse": {
        "title": "SshUserCreateResponse",
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "example": "12828472-e6e9-4f2b-98f7-b79cf0fab4ff"
          }
        }
      },
      "SshUserInfoVerbose": {
        "title": "SshUserInfoVerbose",
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "example": "The unique Id of the ssh user."
          },
          "username": {
            "type": "string",
            "example": "The user name of the ssh user."
          },
          "deviceUuids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The devices associated with this ssh user."
          },
          "metroStatusMap": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/MetroStatus"
            },
            "description": "Status and error messages corresponding to the metros this user exists on"
          }
        }
      },
      "SshUserUpdateRequest": {
        "title": "SshUserUpdateRequest",
        "required": [
          "password"
        ],
        "type": "object",
        "properties": {
          "password": {
            "type": "string",
            "description": "At least 6 and upto a maximum of 12 alphanumeric characters. The only special characters allowed are - _ $ @",
            "example": "pass12"
          }
        }
      },
      "SshUserInfoDissociateResponse": {
        "title": "SshUserInfoDissociateResponse",
        "type": "object",
        "properties": {
          "sshUserDeleted": {
            "type": "boolean",
            "description": "true = the ssh user has been deleted since there are no more devices associated to this userfalse = the ssh user has not been deleted since some associations to devices exist.",
            "example": false
          },
          "sshUserToDeviceAssociationDeleted": {
            "type": "boolean",
            "example": true
          }
        }
      },
      "MetroStatus": {
        "title": "MetroStatus",
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Whether the ssh user is active, pending, or failed in the metro.",
            "example": "ACTIVE"
          }
        }
      },
      "VirtualDeviceDeleteRequest": {
        "title": "VirtualDeviceDeleteRequest",
        "type": "object",
        "properties": {
          "deactivationKey": {
            "type": "string",
            "description": "Some devices, e.g. Palo Alto devices, require a mandatory deactivation key for Equinix to successfully process the request.",
            "example": "8dfbd5ba3610234d9e550032603cc34762af140533e2c1de0111d3451d16eefd"
          },
          "secondary": {
            "$ref": "#/components/schemas/SecondaryDeviceDeleteRequest"
          }
        }
      },
      "SecondaryDeviceDeleteRequest": {
        "title": "SecondaryDeviceDeleteRequest",
        "type": "object",
        "properties": {
          "deactivationKey": {
            "type": "string",
            "description": "Object that holds the secondary deactivation key for HA (high availability) devices.",
            "example": "8dfbd5ba3610234d9e550032603cc34762af140533e2c1de0111d3451d16eefd"
          }
        }
      },
      "VirtualDeviceCreateResponse": {
        "title": "VirtualDeviceCreateResponse",
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "example": "877a3aa2-c49a-4af1-98a6-007424e737ae"
          }
        }
      },
      "ErrorMessageResponse": {
        "title": "ErrorMessageResponse",
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "string"
          },
          "errorMessage": {
            "type": "string"
          },
          "moreInfo": {
            "type": "string"
          },
          "property": {
            "type": "string"
          }
        }
      },
      "PageResponseDto-VirtualDeviceType": {
        "title": "PageResponseDto-VirtualDeviceType",
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceType"
            },
            "description": "Array of available virtual device types"
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationResponseDto"
          }
        }
      },
      "Throughput": {
        "title": "Throughput",
        "type": "object",
        "properties": {
          "throughput": {
            "type": "integer",
            "format": "int32",
            "example": 500
          },
          "throughputUnit": {
            "type": "string",
            "example": "Mbps"
          },
          "metroCodes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Metros where the license is available"
          }
        }
      },
      "Throwable": {
        "title": "Throwable",
        "type": "object",
        "properties": {
          "cause": {
            "$ref": "#/components/schemas/Throwable"
          },
          "localizedMessage": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "stackTrace": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StackTraceElement"
            },
            "description": ""
          },
          "suppressed": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Throwable"
            },
            "description": ""
          }
        }
      },
      "sshUsers": {
        "title": "sshUsers",
        "type": "object",
        "properties": {
          "sshUsername": {
            "type": "string",
            "description": "sshUsername. This should be minimum 3 and maximum 32 characters and include alphanumeric characters, dash, and underscore.",
            "example": "cust0001_DC"
          },
          "sshPassword": {
            "type": "string",
            "description": "sshPassword",
            "example": "projPass"
          },
          "sshUserUuid": {
            "type": "string",
            "description": "sshUserUuid",
            "example": "999a3aa2-c49a-dddd-98a6-007424e73777"
          },
          "action": {
            "type": "string",
            "description": "action",
            "example": "CREATE"
          }
        }
      },
      "SoftwarePackage": {
        "title": "SoftwarePackage",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Software package name",
            "example": "Security"
          },
          "packageCode": {
            "type": "string",
            "description": "Software package code",
            "example": "SEC"
          },
          "licenseType": {
            "type": "string",
            "description": "Software package license type",
            "example": "appx"
          },
          "versionDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/versionDetails"
            },
            "description": ""
          }
        }
      },
      "StackTraceElement": {
        "title": "StackTraceElement",
        "type": "object",
        "properties": {
          "className": {
            "type": "string"
          },
          "fileName": {
            "type": "string"
          },
          "lineNumber": {
            "type": "integer",
            "format": "int32"
          },
          "methodName": {
            "type": "string"
          },
          "nativeMethod": {
            "type": "boolean"
          }
        }
      },
      "VirtualDeviceType": {
        "title": "VirtualDeviceType",
        "type": "object",
        "properties": {
          "deviceTypeCode": {
            "type": "string",
            "description": "The type of the device.",
            "example": "CSR1000V"
          },
          "name": {
            "type": "string",
            "description": "The name of the device.",
            "example": "CSR 1000V"
          },
          "description": {
            "type": "string",
            "description": "The description of the device.",
            "example": "Extend your enterprise network to public and private clouds with the CSR 1000V series."
          },
          "vendor": {
            "type": "string",
            "description": "The vendor of the device.",
            "example": "Cisco"
          },
          "category": {
            "type": "string",
            "description": "The type of the virtual device, whether router or firewall.",
            "example": "ROUTER"
          },
          "maxInterfaceCount": {
            "type": "integer",
            "description": "The maximum available number of interfaces.",
            "format": "int32"
          },
          "defaultInterfaceCount": {
            "type": "integer",
            "description": "The default number of interfaces.",
            "format": "int32"
          },
          "clusterMaxInterfaceCount": {
            "type": "integer",
            "description": "The maximum number of available interfaces in case you are clustering.",
            "format": "int32"
          },
          "clusterDefaultInterfaceCount": {
            "type": "integer",
            "description": "The default number of available interfaces in case you are clustering.",
            "format": "int32"
          },
          "availableMetros": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Metro"
            },
            "description": "An array of metros where the device is available."
          },
          "softwarePackages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SoftwarePackage"
            },
            "description": "An array of available software packages"
          },
          "deviceManagementTypes": {
            "$ref": "#/components/schemas/DeviceManagementTypes"
          }
        }
      },
      "AvailableZones": {
        "title": "AvailableZones",
        "type": "object",
        "properties": {
          "zoneCode": {
            "type": "string",
            "description": "The zone code",
            "example": "Zone1"
          },
          "zoneName": {
            "type": "string",
            "description": "The zone name",
            "example": "Zone 1"
          },
          "clusterSupported": {
            "type": "boolean",
            "description": "Whether this zone supports cluster devices",
            "example": false
          }
        }
      },
      "LicenseOptions": {
        "title": "LicenseOptions",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The license name",
            "example": "Subscription"
          },
          "type": {
            "type": "string",
            "description": "The license type",
            "example": "Sub"
          },
          "metroCodes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The metros where the license is available"
          }
        }
      },
      "DeviceACLTemplateRequest": {
        "title": "DeviceACLTemplateRequest",
        "required": [
          "name",
          "description",
          "metroCode",
          "inBoundRules"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The device ACL template name.",
            "example": "Test Template"
          },
          "description": {
            "type": "string",
            "description": "The device ACL template description.",
            "example": "Test Template Description"
          },
          "metroCode": {
            "type": "string",
            "description": "Metro code.",
            "example": "DC"
          },
          "inBoundRules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InboundRules"
            },
            "description": "An array of inbound rules."
          }
        }
      },
      "InboundRules": {
        "title": "InboundRules",
        "type": "object",
        "properties": {
          "srcType": {
            "type": "string",
            "description": "Source type.",
            "example": "DOMAIN"
          },
          "protocol": {
            "type": "string",
            "description": "Protocol.",
            "example": "DNS"
          },
          "srcPort": {
            "type": "string",
            "description": "Source port.",
            "example": "53"
          },
          "dstPort": {
            "type": "string",
            "description": "Destination port.",
            "example": "any"
          },
          "fqdn": {
            "type": "string",
            "description": "This field is mandatory in case the source type is DOMAIN.",
            "example": "equinix.com"
          },
          "subets": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "An array of subnets."
          },
          "seqNo": {
            "type": "integer",
            "description": "The sequence number of the inbound rule.",
            "format": "int32",
            "example": 1
          }
        }
      },
      "VirtualDeviceRequest": {
        "title": "VirtualDeviceRequest",
        "required": [
          "deviceTypeCode",
          "hostNamePrefix",
          "licenseMode",
          "metroCode",
          "version",
          "virtualDeviceName",
          "notifications",
          "deviceManagementType",
          "core"
        ],
        "type": "object",
        "properties": {
          "accountNumber": {
            "type": "string",
            "description": "Account number. Either an account number or accountReferenceId is required.",
            "example": "10478397"
          },
          "accountReferenceId": {
            "type": "string",
            "description": "AccountReferenceId. This is a temporary ID that can be used to create a device when the account status is still pending, not active. Either an account number or accountReferenceId is required.",
            "example": "209809"
          },
          "deviceTypeCode": {
            "type": "string",
            "description": "Virtual device type (device type code)",
            "example": "CSR1000V"
          },
          "hostNamePrefix": {
            "type": "string",
            "description": "Host name prefix for identification. Only a-z, A-Z, 0-9 and hyphen(-) are allowed. It should start with a letter and end with a letter or a digit. Also, it should be minimum 2 and maximum 10 characters long.",
            "example": "mySR"
          },
          "licenseFileId": {
            "type": "string",
            "description": "For Juniper devices you need to provide a licenseFileId if you want to BYOL (Bring Your Own License). You get a licenseFileId when you upload a license file by calling license upload API (Upload a license file before creating a virtual device). For Cisco devices, you do not need to provide a licenseFileId at the time of device creation. Once the device is provisioned, you can get the deviceSerialNo by calling Get virtual device {uuid} API. With the deviceSerialNo you can generate a license file on Cisco site. Afterward, you can upload the license file by calling license upload API (Upload a license file after creating a virtual device).",
            "example": "d6e21e0c-86dd-11e8-adc0-fa7ae01bbebc"
          },
          "licenseMode": {
            "type": "string",
            "description": "License type. One of SUB (Subscription) or BYOL (Bring Your Own License)",
            "example": "SUB"
          },
          "licenseToken": {
            "type": "string",
            "description": "In case you want to BYOL (Bring Your Own License) for a Palo Alto device, you must provide a license token. This field must have 8 alphanumeric characters.",
            "example": "V74191621"
          },
          "metroCode": {
            "type": "string",
            "description": "Metro code",
            "example": "SV"
          },
          "zoneCode": {
            "type": "string",
            "description": "Zone code",
            "example": "Zone1"
          },
          "packageCode": {
            "type": "string",
            "description": "Software package code",
            "example": "IPBASE"
          },
          "version": {
            "type": "string",
            "example": "16.09.03"
          },
          "sshUsers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/sshUsers"
            },
            "description": "An array of sshUsernames and passwords"
          },
          "throughput": {
            "type": "integer",
            "description": "Device throughput. This is required for Cisco and Juniper devices.",
            "format": "int32",
            "example": 1
          },
          "throughputUnit": {
            "type": "string",
            "description": "Throughput unit. This is required for Cisco and Juniper devices.",
            "example": "Gbps"
          },
          "virtualDeviceName": {
            "type": "string",
            "description": "Virtual device name for identification. This should be minimum 3 and maximum 50 characters long.",
            "example": "Router1-csr1000v"
          },
          "orderingContact": {
            "type": "string",
            "example": "subuser01"
          },
          "notifications": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Email addresses for notification. We need a minimum of 1 and no more than 5 email addresses.",
            "example": [
              "test1@equinix.com",
              "test2@equinix.com"
            ]
          },
          "aclTemplateUuid": {
            "type": "string",
            "description": "The unique Id of a device ACL template.",
            "example": "49289456-a63e-47d4-927c-5161cfb77501"
          },
          "additionalBandwidth": {
            "type": "integer",
            "description": "Secondary additional bandwidth to be configured (in Mbps for HA). Default bandwidth provided is 15 Mbps.",
            "format": "int32",
            "example": 100
          },
          "deviceManagementType": {
            "type": "string",
            "description": "Whether the device is SELF-CONFIGURED or EQUINIX-CONFIGURED",
            "example": "EQUINIX-CONFIGURED"
          },
          "core": {
            "type": "integer",
            "format": "int32"
          },
          "interfaceCount": {
            "type": "integer",
            "format": "int32"
          },
          "siteId": {
            "type": "string",
            "example": "12345"
          },
          "systemIpAddress": {
            "type": "string",
            "example": "192.168.2.5"
          },
          "vendorConfig": {
            "$ref": "#/components/schemas/VendorConfig"
          },
          "userPublicKey": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UserPublicKeyConfig"
              },
              {
                "description": "An object with public key details of a self-configured device."
              }
            ]
          },
          "sshInterfaceId": {
            "type": "integer",
            "description": "You may specify any available interface on the device as the sshInterfaceId. This field is only applicable to self-configured devices.",
            "format": "int32",
            "example": 4
          },
          "clusterDetails": {
            "$ref": "#/components/schemas/ClusterDetailsConfig"
          },
          "secondary": {
            "$ref": "#/components/schemas/VirtualDevicHARequest"
          }
        }
      },
      "VirtualDevicHARequest": {
        "title": "VirtualDevicHARequest",
        "required": [
          "metroCode",
          "notifications",
          "virtualDeviceName",
          "hostNamePrefix"
        ],
        "type": "object",
        "properties": {
          "accountNumber": {
            "type": "string",
            "example": "10478398"
          },
          "accountReferenceId": {
            "type": "string",
            "example": "209805"
          },
          "additionalBandwidth": {
            "type": "integer",
            "description": "Secondary additional bandwidth to be configured (in Mbps for HA). Default bandwidth provided is 15 Mbps.",
            "format": "int32",
            "example": 100
          },
          "licenseFileId": {
            "type": "string",
            "example": "d6e21e0c-86dd-11e8-adc0-fa7ae01bbebc"
          },
          "licenseToken": {
            "type": "string",
            "example": "V74191621"
          },
          "metroCode": {
            "type": "string",
            "example": "SV"
          },
          "zoneCode": {
            "type": "string",
            "description": "Zone code",
            "example": "Zone1"
          },
          "notifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Notification"
            },
            "description": ""
          },
          "aclTemplateUuid": {
            "type": "string",
            "description": "The unique Id of a device ACL template.",
            "example": "39289456-a63e-47d4-927c-5161cfb77500"
          },
          "sshUsers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SshUserOperationRequest"
            },
            "description": ""
          },
          "virtualDeviceName": {
            "type": "string",
            "description": "Virtual Device Name",
            "example": "Router1-csr1000v"
          },
          "hostNamePrefix": {
            "type": "string",
            "description": "Host name prefix for identification. Only a-z, A-Z, 0-9 and hyphen(-) are allowed. It should start with a letter and end with a letter or a digit. Also, it should be minimum 2 and maximum 10 characters long.",
            "example": "mySR"
          },
          "siteId": {
            "type": "string",
            "example": "12345"
          },
          "systemIpAddress": {
            "type": "string",
            "example": "192.168.2.5"
          },
          "vendorConfig": {
            "$ref": "#/components/schemas/VendorConfig"
          },
          "sshInterfaceId": {
            "type": "integer",
            "description": "You may specify any available interface on the device as the sshInterfaceId. This field is only applicable to self-configured devices.",
            "format": "int32",
            "example": 4
          }
        }
      },
      "ClusterDetailsConfig": {
        "title": "ClusterDetailsConfig",
        "type": "object",
        "properties": {
          "clusterName": {
            "type": "string",
            "description": "The cluster name.",
            "example": "My Cluster"
          },
          "hostNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "An array with two hostnames."
          }
        }
      },
      "SshUserOperationRequest": {
        "title": "SshUserOperationRequest",
        "required": [
          "action"
        ],
        "type": "object",
        "properties": {
          "sshUserUuid": {
            "type": "string",
            "description": "Required for DELETE operation.",
            "example": "999a3aa2-c49a-dddd-98a6-007424e73777"
          },
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Action"
              },
              {
                "description": "SSH operation to be performed",
                "example": "CREATE"
              }
            ]
          },
          "sshUsername": {
            "type": "string",
            "description": "SSH User name",
            "example": "cust0001_DC"
          },
          "sshPassword": {
            "type": "string",
            "description": "SSH Password",
            "example": "projPass"
          }
        }
      },
      "FieldErrorResponse": {
        "title": "FieldErrorResponse",
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "string"
          },
          "errorMessage": {
            "type": "string"
          },
          "moreInfo": {
            "type": "string"
          },
          "property": {
            "type": "string"
          },
          "status": {
            "type": "string"
          }
        }
      },
      "Charges": {
        "title": "Charges",
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "The description of the charge, whether it is for the virtual device, the device license, or the additional bandwidth.",
            "example": "VIRTUAL_DEVICE"
          },
          "monthlyRecurringCharges": {
            "type": "string",
            "description": "The monthly charges.",
            "example": "200"
          }
        }
      },
      "Metro": {
        "title": "Metro",
        "type": "object",
        "properties": {
          "metroCode": {
            "type": "string",
            "description": "Metro code",
            "example": "DC"
          },
          "metroDescription": {
            "type": "string",
            "description": "Metro description",
            "example": "Ashburn"
          },
          "region": {
            "type": "string",
            "description": "A region have several metros.",
            "example": "AMER"
          },
          "availableZones": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AvailableZones"
            },
            "description": "An array of available zones in the metro."
          }
        }
      },
      "PageResponse": {
        "title": "PageResponse",
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object"
            },
            "description": ""
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationResponseDto"
          }
        }
      },
      "PageResponse-PublicKeys": {
        "title": "PageResponse-PublicKeys",
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "description": "The unique Id of the keyName and keyValue combination",
            "example": "877a3aa2-c49a-4af1-98a6-007424e737ae"
          },
          "keyName": {
            "type": "string",
            "description": "Key name",
            "example": "myKeyName"
          },
          "keyValue": {
            "type": "string",
            "description": "Key value",
            "example": "myKeyValue"
          }
        }
      },
      "PublicKeyRequest": {
        "title": "PublicKeyRequest",
        "type": "object",
        "properties": {
          "accountUcmId": {
            "type": "string",
            "description": "This field is for resellers adding a public key for a customer",
            "example": "678967"
          },
          "keyName": {
            "type": "string",
            "description": "Key name",
            "example": "myKeyName"
          },
          "keyValue": {
            "type": "string",
            "description": "Key value",
            "example": "myKeyValue"
          }
        }
      },
      "VirtualDeviceDetailsResponse": {
        "title": "VirtualDeviceDetailsResponse",
        "type": "object",
        "properties": {
          "accountName": {
            "type": "string",
            "example": "ABC INC"
          },
          "accountNumber": {
            "type": "string",
            "example": "133911"
          },
          "createdBy": {
            "type": "string",
            "example": "cust0001"
          },
          "createdDate": {
            "type": "string",
            "example": "2018-01-30T10:30:31.387Z"
          },
          "deviceSerialNo": {
            "type": "string",
            "example": "53791666484"
          },
          "deviceTypeCategory": {
            "type": "string",
            "example": "ROUTER"
          },
          "deviceTypeCode": {
            "type": "string",
            "example": "CSR1000V"
          },
          "deviceTypeName": {
            "type": "string",
            "example": "CSR 1000v"
          },
          "expiry": {
            "type": "string",
            "example": {
              "date": 7,
              "day": 4,
              "hours": 8,
              "minutes": 0,
              "month": 1,
              "seconds": 0,
              "time": 1549497600000,
              "timezoneOffset": -480,
              "year": 119
            }
          },
          "region": {
            "type": "string",
            "example": "AMER"
          },
          "deviceTypeVendor": {
            "type": "string",
            "example": "Cisco"
          },
          "hostName": {
            "type": "string",
            "example": "VR-SV-CSR1000V-cust0001-1"
          },
          "uuid": {
            "type": "string",
            "example": "877a3aa2-c49a-4af1-98a6-007424e737ae"
          },
          "lastUpdatedBy": {
            "type": "string",
            "example": "cust0002"
          },
          "lastUpdatedDate": {
            "type": "string",
            "example": "2018-01-30T10:30:31.387Z"
          },
          "licenseFileId": {
            "type": "string",
            "example": "877a3aa2-c49a-4af1-98a6-007424e737ae"
          },
          "licenseName": {
            "type": "string",
            "example": "Bring your own license"
          },
          "licenseStatus": {
            "type": "string",
            "example": "REGISTERED"
          },
          "licenseType": {
            "type": "string",
            "example": "BYOL"
          },
          "metroCode": {
            "type": "string",
            "example": "SV"
          },
          "metroName": {
            "type": "string",
            "example": "Silicon Valley"
          },
          "zoneCode": {
            "type": "string",
            "description": "Zone code",
            "example": "zone1"
          },
          "zoneName": {
            "type": "string",
            "description": "Zone name",
            "example": "Zone 1"
          },
          "name": {
            "type": "string",
            "example": "AWS-Azure-Router-csr1000v"
          },
          "notifications": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": ""
          },
          "packageCode": {
            "type": "string",
            "example": "SEC"
          },
          "packageName": {
            "type": "string",
            "example": "Security"
          },
          "version": {
            "type": "string",
            "example": "16.09.02"
          },
          "purchaseOrderNumber": {
            "type": "string",
            "example": "PO1223"
          },
          "redundancyType": {
            "type": "string",
            "example": "PRIMARY"
          },
          "redundantUuid": {
            "type": "string",
            "example": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa67xx"
          },
          "sshIpAddress": {
            "type": "string",
            "example": "10.195.11.23"
          },
          "sshIpFqdn": {
            "type": "string",
            "example": "test-device-168-201-97-149.eis.lab.equinix.com"
          },
          "status": {
            "type": "string",
            "example": "PROVISIONED"
          },
          "throughput": {
            "type": "integer",
            "format": "int32",
            "example": 500
          },
          "throughputUnit": {
            "type": "string",
            "example": "Mbps"
          },
          "aclTemplateUuid": {
            "type": "string",
            "example": "49289456-a63e-47d4-927c-5161cfb77501"
          },
          "core": {
            "$ref": "#/components/schemas/CoresDisplayConfig"
          },
          "pricingDetails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PricingSiebelConfig"
              },
              {
                "description": "An object that has the pricing and other details of a Siebel order."
              }
            ]
          },
          "interfaceCount": {
            "type": "integer",
            "format": "int32",
            "example": 10
          },
          "deviceManagementType": {
            "type": "string",
            "example": "EQUINIX-CONFIGURED"
          },
          "userPublicKey": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UserPublicKeyConfig"
              },
              {
                "description": "An object with public key details of a self-configured device."
              }
            ]
          },
          "managementIp": {
            "type": "string",
            "example": "10.195.237.228/26"
          },
          "managementGatewayIp": {
            "type": "string",
            "example": "10.195.237.254"
          },
          "publicIp": {
            "type": "string",
            "example": "149.97.198.95/31"
          },
          "publicGatewayIp": {
            "type": "string",
            "example": "149.97.198.94"
          },
          "primaryDnsName": {
            "type": "string",
            "example": "4.0.0.53"
          },
          "secondaryDnsName": {
            "type": "string",
            "example": "129.250.35.250"
          },
          "termLength": {
            "type": "string",
            "example": "12"
          },
          "additionalBandwidth": {
            "type": "string",
            "example": "200"
          },
          "siteId": {
            "type": "string",
            "example": "12345"
          },
          "systemIpAddress": {
            "type": "string",
            "example": "192.168.2.5"
          },
          "vendorConfig": {
            "$ref": "#/components/schemas/VendorConfig"
          },
          "interfaces": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InterfaceBasicInfoResponse"
            },
            "description": ""
          },
          "asn": {
            "type": "number",
            "description": "The ASN number.",
            "example": 1029
          }
        }
      },
      "UserPublicKeyConfig": {
        "title": "UserPublicKeyConfig",
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "description": "The username of a self-configured device.",
            "example": "test-user-1"
          },
          "publicKeyName": {
            "type": "string",
            "description": "The public key name of a self-configured device.",
            "example": "test-pk-2"
          },
          "publicKey": {
            "type": "string",
            "description": "The public key of a self-configured device.",
            "example": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU\\nGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3\\nPbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA\\nt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw"
          }
        },
        "description": "An object with public key details of a self-configured device."
      },
      "PricingSiebelConfig": {
        "title": "PricingSiebelConfig",
        "type": "object",
        "properties": {
          "termLength": {
            "type": "string",
            "description": "The termlength of the Siebel order.",
            "example": "36"
          },
          "orderNumber": {
            "type": "string",
            "description": "The order number.",
            "example": "1-198735018693"
          },
          "core": {
            "type": "integer",
            "description": "The core selection on Siebel.",
            "format": "int32",
            "example": 4
          },
          "throughput": {
            "type": "string",
            "description": "Throughput.",
            "example": "1"
          },
          "ThroughputUnit": {
            "type": "string",
            "description": "The throughput unit.",
            "example": "Gbps"
          },
          "packageCode": {
            "type": "string",
            "description": "The software package code.",
            "example": "AX"
          },
          "additionalBandwidth": {
            "type": "string",
            "description": "The additional bandwidth selection on Siebel.",
            "example": "100"
          },
          "primary": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Primary"
              },
              {
                "description": "An object that has the charges associated with the primary device."
              }
            ]
          },
          "secondary": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Secondary"
              },
              {
                "description": "An object that has the charges associated with the secondary device."
              }
            ]
          }
        },
        "description": "An object that has the pricing and other details of a Siebel order."
      },
      "CoresDisplayConfig": {
        "title": "CoresDisplayConfig",
        "type": "object",
        "properties": {
          "core": {
            "type": "integer",
            "description": "The number of cores.",
            "format": "int32",
            "example": 4
          },
          "memory": {
            "type": "integer",
            "description": "The amount of memory.",
            "format": "int32",
            "example": 4
          },
          "unit": {
            "type": "string",
            "description": "The unit of memory.",
            "example": "GB"
          }
        }
      },
      "InterfaceBasicInfoResponse": {
        "title": "InterfaceBasicInfoResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "example": 1
          },
          "ipv4Mask": {
            "type": "string",
            "example": "255.255.255.0"
          },
          "ipv4Subnet": {
            "type": "string",
            "example": "192.168.0.5"
          },
          "name": {
            "type": "string",
            "example": "ethernet1"
          },
          "status": {
            "type": "string",
            "example": "ASSIGNED"
          },
          "operationStatus": {
            "type": "string",
            "example": "DOWN"
          },
          "macAddress": {
            "type": "string",
            "example": "fa16.3e1c.a8d8"
          },
          "ipAddress": {
            "type": "string",
            "example": "2.2.2.2"
          },
          "assignedType": {
            "type": "string",
            "example": "Equinix Managed"
          },
          "type": {
            "type": "string",
            "description": "The type of interface.",
            "example": "DATA"
          }
        }
      },
      "PageResponseDto-MetroResponse": {
        "title": "PageResponseDto-MetroResponse",
        "type": "object",
        "properties": {
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetroResponse"
            },
            "description": ""
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationResponseDto"
          },
          "data": {
            "example": 1
          }
        }
      },
      "PageResponseDto-MetroAccountResponse": {
        "title": "PageResponseDto-MetroAccountResponse",
        "type": "object",
        "properties": {
          "accountCreateUrl": {
            "type": "string",
            "description": "accountCreateUrl"
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetroAccountResponse"
            },
            "description": ""
          },
          "totalCount": {
            "type": "integer",
            "description": "Total count",
            "format": "int64"
          },
          "errorMessage": {
            "type": "string",
            "description": "error Message"
          },
          "errorCode": {
            "type": "string",
            "description": "error Code"
          }
        }
      },
      "MetroAccountResponse": {
        "title": "MetroAccountResponse",
        "type": "object",
        "properties": {
          "accountName": {
            "type": "string",
            "description": "account Name",
            "example": "nfv1"
          },
          "accountNumber": {
            "type": "integer",
            "description": "account number",
            "format": "int32",
            "example": 2252619
          },
          "accountUcmId": {
            "type": "string",
            "description": "account UcmId",
            "example": "92D27009-EA33-4b60-B4FB-D3C4ED589649"
          },
          "accountStatus": {
            "type": "string",
            "description": "account status",
            "example": "Active"
          },
          "referenceId": {
            "type": "string",
            "description": "referenceId"
          }
        }
      },
      "PageResponseDto": {
        "title": "PageResponseDto",
        "type": "object",
        "properties": {
          "content": {
            "type": "array",
            "items": {
              "type": "object"
            },
            "description": ""
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object"
            },
            "description": ""
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationResponseDto"
          }
        }
      },
      "DeviceACLPageResponse": {
        "title": "DeviceACLPageResponse",
        "type": "object",
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/PaginationResponseDto"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeviceACLDetailsResponse"
            },
            "description": ""
          }
        }
      },
      "DeviceACLDetailsResponse": {
        "title": "DeviceACLDetailsResponse",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the device ACL template.",
            "example": "New template"
          },
          "uuid": {
            "type": "string",
            "description": "The unique Id of the device ACL template.",
            "example": "be7ef79e-31e7-4769-be5b-e192496f48aa"
          },
          "description": {
            "type": "string",
            "description": "The description of the device ACL template.",
            "example": "My description"
          },
          "inBoundRules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InboundRules"
            },
            "description": "An array of inbound rules"
          },
          "metroCode": {
            "type": "string",
            "description": "The metro code",
            "example": "SV"
          },
          "metroName": {
            "type": "string",
            "description": "The metro name",
            "example": "Silicon Valley"
          },
          "virtualDeviceName": {
            "type": "string",
            "description": "The name of the virtual device associated with this template.",
            "example": "Test Device"
          },
          "virtualDeviceUuid": {
            "type": "string",
            "description": "The unique Id of the virtual device associated with this template.",
            "example": "ce7ef79e-31e7-4769-be5b-e192496f48ab"
          },
          "deviceACLstatus": {
            "type": "string",
            "description": "Device ACL status",
            "example": "PROVISIONING"
          },
          "createdBy": {
            "type": "string",
            "description": "Created by",
            "example": "nfvsit01"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date",
            "example": "2020/10/03T19:41:17.976Z"
          }
        }
      },
      "VirtualDevicePageResponse": {
        "title": "VirtualDevicePageResponse",
        "type": "object",
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/PaginationResponseDto"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VirtualDeviceDetailsResponse"
            },
            "description": ""
          }
        }
      },
      "PaginationResponseDto": {
        "title": "PaginationResponseDto",
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "description": "It is the starting point of the collection returned fromt the server",
            "format": "int32",
            "example": 0
          },
          "limit": {
            "type": "integer",
            "description": "The page size",
            "format": "int32",
            "example": 20
          },
          "total": {
            "type": "integer",
            "description": "The total number of results",
            "format": "int32",
            "example": 1
          }
        }
      },
      "SshUserPageResponse": {
        "title": "SshUserPageResponse",
        "type": "object",
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/PaginationResponseDto"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SshUserInfoVerbose"
            },
            "description": ""
          }
        }
      },
      "PriceResponse": {
        "title": "PriceResponse",
        "type": "object",
        "properties": {
          "billingCommencementDate": {
            "type": "string"
          },
          "billingEnabled": {
            "type": "boolean"
          },
          "charges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Charges"
            },
            "description": "An array of the monthly recurring charges."
          },
          "currency": {
            "type": "string"
          }
        }
      },
      "CompositePriceResponse": {
        "title": "CompositePriceResponse",
        "type": "object",
        "properties": {
          "primary": {
            "$ref": "#/components/schemas/PriceResponse"
          },
          "secondary": {
            "$ref": "#/components/schemas/PriceResponse"
          },
          "termLength": {
            "type": "string",
            "example": "24"
          }
        }
      },
      "LicenseUploadResponse": {
        "title": "LicenseUploadResponse",
        "type": "object",
        "properties": {
          "fileId": {
            "type": "string"
          }
        }
      },
      "LicenseUpdateRequest": {
        "title": "LicenseUpdateRequest",
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "example": "A1025025"
          }
        }
      },
      "AdditionalBandwidthRequest": {
        "title": "AdditionalBandwidthRequest",
        "type": "object",
        "properties": {
          "additionalBandwidth": {
            "type": "integer",
            "format": "int32",
            "example": 100
          }
        }
      },
      "MetroResponse": {
        "title": "MetroResponse",
        "type": "object",
        "properties": {
          "metroCode": {
            "type": "string",
            "description": "Metro code",
            "example": "SV"
          },
          "metroDescription": {
            "type": "string",
            "description": "Metro description",
            "example": "Silicon Valley"
          },
          "availableZones": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AvailableZones"
            },
            "description": "An array of available zones in the metro."
          },
          "region": {
            "type": "string",
            "description": "Region within which the metro is located",
            "example": "AMER"
          }
        }
      },
      "PostConnectionRequest": {
        "title": "PostConnectionRequest",
        "type": "object",
        "properties": {
          "primaryName": {
            "type": "string",
            "example": "v3-api-test-pri"
          },
          "virtualDeviceUuid": {
            "type": "string",
            "example": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx"
          },
          "profileUUID": {
            "type": "string",
            "example": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx"
          },
          "authorizationKey": {
            "type": "string",
            "example": "444111000222"
          },
          "speed": {
            "type": "integer",
            "format": "int32",
            "example": 50
          },
          "speedUnit": {
            "type": "string",
            "example": "MB"
          },
          "notifications": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": ""
          },
          "purchaseOrderNumber": {
            "type": "string",
            "example": "312456323"
          },
          "sellerMetroCode": {
            "type": "string",
            "example": "SV"
          },
          "interfaceId": {
            "type": "integer",
            "format": "int32",
            "example": 5
          },
          "secondaryName": {
            "type": "string",
            "example": "v3-api-test-sec1"
          },
          "namedTag": {
            "type": "string",
            "example": "Private"
          },
          "secondaryVirtualDeviceUuid": {
            "type": "string",
            "example": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx"
          },
          "secondaryProfileUUID": {
            "type": "string",
            "example": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx"
          },
          "secondaryAuthorizationKey": {
            "type": "string",
            "example": "444111000222"
          },
          "secondarySellerMetroCode": {
            "type": "string",
            "example": "SV"
          },
          "secondarySpeed": {
            "type": "integer",
            "format": "int32",
            "example": 50
          },
          "secondarySpeedUnit": {
            "type": "string",
            "example": "MB"
          },
          "secondaryNotifications": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": ""
          },
          "secondaryInterfaceId": {
            "type": "integer",
            "format": "int32",
            "example": 6
          },
          "primaryZSideVlanCTag": {
            "type": "integer",
            "format": "int32",
            "example": 101
          },
          "secondaryZSideVlanCTag": {
            "type": "integer",
            "format": "int32",
            "example": 102
          },
          "primaryZSidePortUUID": {
            "type": "string",
            "example": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx"
          },
          "primaryZSideVlanSTag": {
            "type": "integer",
            "format": "int32",
            "example": 301
          },
          "secondaryZSidePortUUID": {
            "type": "string",
            "example": "xxxxx192-xx70-xxxx-xx04-xxxxxxxa37xx"
          },
          "secondaryZSideVlanSTag": {
            "type": "integer",
            "format": "int32",
            "example": 302
          }
        }
      },
      "PostConnectionResponse": {
        "title": "PostConnectionResponse",
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Connection created successfully"
          },
          "primaryConnectionId": {
            "type": "string",
            "example": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx"
          },
          "secondaryConnectionId": {
            "type": "string",
            "example": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx"
          },
          "status": {
            "type": "string",
            "example": "SUCCESS"
          }
        }
      },
      "BgpConnectionInfo": {
        "title": "BgpConnectionInfo",
        "type": "object",
        "properties": {
          "bgpStatus": {
            "type": "string"
          },
          "isPrimary": {
            "type": "boolean"
          },
          "metro": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "providerStatus": {
            "type": "string"
          },
          "redundantConnection": {
            "$ref": "#/components/schemas/BgpConnectionInfo"
          },
          "redundantUUID": {
            "type": "string"
          },
          "sellerOrganizationName": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "uuid": {
            "type": "string"
          }
        }
      },
      "BgpConfigAddRequest": {
        "title": "BgpConfigAddRequest",
        "type": "object",
        "properties": {
          "authenticationKey": {
            "type": "string",
            "description": "Provide a key value that you can use later to authenticate.",
            "example": "pass123"
          },
          "connectionUuid": {
            "type": "string",
            "description": "The unique Id of a connection between the virtual device and the cloud service provider",
            "example": "f79eead8-b837-41d3-9095-9b15c2c4996d"
          },
          "localAsn": {
            "type": "integer",
            "description": "Local ASN (autonomous system network). This is the ASN of the virtual device.",
            "format": "int64",
            "example": 10012
          },
          "localIpAddress": {
            "type": "string",
            "description": "Local IP Address. This is the IP address of the virtual device in CIDR format.",
            "example": "100.210.1.221/30"
          },
          "remoteAsn": {
            "type": "integer",
            "description": "Remote ASN (autonomous system network). This is the ASN of the cloud service provider.",
            "format": "int64",
            "example": 10013
          },
          "remoteIpAddress": {
            "type": "string",
            "description": "Remote IP Address. This is the IP address of the cloud service provider.",
            "example": "100.210.1.31"
          }
        }
      },
      "BgpInfo": {
        "title": "BgpInfo",
        "type": "object",
        "properties": {
          "authenticationKey": {
            "type": "string"
          },
          "connectionUuid": {
            "type": "string"
          },
          "createdBy": {
            "type": "string"
          },
          "createdByEmail": {
            "type": "string"
          },
          "createdByFullName": {
            "type": "string"
          },
          "createdDate": {
            "type": "string"
          },
          "deletedBy": {
            "type": "string"
          },
          "deletedByEmail": {
            "type": "string"
          },
          "deletedByFullName": {
            "type": "string"
          },
          "deletedDate": {
            "type": "string"
          },
          "lastUpdatedBy": {
            "type": "string"
          },
          "lastUpdatedByEmail": {
            "type": "string"
          },
          "lastUpdatedByFullName": {
            "type": "string"
          },
          "lastUpdatedDate": {
            "type": "string"
          },
          "localAsn": {
            "type": "integer",
            "format": "int64"
          },
          "localIpAddress": {
            "type": "string"
          },
          "provisioningStatus": {
            "type": "string"
          },
          "remoteAsn": {
            "type": "integer",
            "format": "int64"
          },
          "remoteIpAddress": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "uuid": {
            "type": "string"
          },
          "virtualDeviceUuid": {
            "type": "string"
          }
        }
      },
      "BgpAsyncResponse": {
        "title": "BgpAsyncResponse",
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string"
          }
        }
      },
      "Vpn": {
        "title": "Vpn",
        "required": [
          "siteName",
          "virtualDeviceUuid",
          "peerIp",
          "peerSharedKey",
          "remoteAsn",
          "remoteIpAddress",
          "password",
          "tunnelIp"
        ],
        "type": "object",
        "properties": {
          "siteName": {
            "type": "string",
            "example": "Chicago"
          },
          "virtualDeviceUuid": {
            "type": "string",
            "description": "The unique Id of the primary device.",
            "example": "f79eead8-b837-41d3-9095-9b15c2c4996d"
          },
          "configName": {
            "type": "string",
            "example": "Traffic from AWS cloud"
          },
          "peerIp": {
            "type": "string",
            "example": "110.11.12.222"
          },
          "peerSharedKey": {
            "type": "string",
            "example": "5bb2424e888bd"
          },
          "remoteAsn": {
            "type": "integer",
            "description": "Remote Customer ASN - Customer side",
            "format": "int64",
            "example": 65413
          },
          "remoteIpAddress": {
            "type": "string",
            "description": "Remote Customer IP Address - Customer side",
            "example": "100.210.1.31"
          },
          "password": {
            "type": "string",
            "description": "BGP Password",
            "example": "pass123"
          },
          "localAsn": {
            "type": "integer",
            "description": "Local ASN - Equinix side",
            "format": "int64",
            "example": 65414
          },
          "tunnelIp": {
            "type": "string",
            "description": "Local Tunnel IP Address in CIDR format",
            "example": "192.168.7.2/30"
          },
          "secondary": {
            "$ref": "#/components/schemas/VpnRequest"
          }
        }
      },
      "VpnRequest": {
        "title": "VpnRequest",
        "required": [
          "peerIp",
          "peerSharedKey",
          "remoteAsn",
          "remoteIpAddress",
          "password",
          "tunnelIp"
        ],
        "type": "object",
        "properties": {
          "configName": {
            "type": "string",
            "example": "Traffic from AWS cloud"
          },
          "peerIp": {
            "type": "string",
            "example": "110.11.12.222"
          },
          "peerSharedKey": {
            "type": "string",
            "example": "5bb2424e888bd"
          },
          "remoteAsn": {
            "type": "integer",
            "description": "Remote Customer ASN - Customer side",
            "format": "int64",
            "example": 65413
          },
          "remoteIpAddress": {
            "type": "string",
            "description": "Remote Customer IP Address - Customer side",
            "example": "100.210.1.31"
          },
          "password": {
            "type": "string",
            "description": "BGP Password",
            "example": "pass123"
          },
          "localAsn": {
            "type": "integer",
            "description": "Local ASN - Equinix side",
            "format": "int64",
            "example": 65414
          },
          "tunnelIp": {
            "type": "string",
            "description": "Local Tunnel IP Address in CIDR format",
            "example": "192.168.7.2/30"
          }
        }
      },
      "VpnResponseDto": {
        "title": "VpnResponseDto",
        "type": "object",
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/PaginationResponseDto"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VpnResponse"
            },
            "description": ""
          }
        }
      },
      "VpnResponse": {
        "title": "VpnResponse",
        "required": [
          "siteName",
          "virtualDeviceUuid",
          "peerIp",
          "peerSharedKey",
          "remoteAsn",
          "remoteIpAddress",
          "password",
          "tunnelIp"
        ],
        "type": "object",
        "properties": {
          "siteName": {
            "type": "string",
            "example": "Chicago"
          },
          "uuid": {
            "type": "string",
            "example": "877a3aa2-c49a-4af1-98a6-007424e737ae"
          },
          "virtualDeviceUuid": {
            "type": "string",
            "example": "f79eead8-b837-41d3-9095-9b15c2c4996d"
          },
          "configName": {
            "type": "string",
            "example": "Traffic from AWS cloud"
          },
          "status": {
            "type": "string",
            "example": "PROVISIONED"
          },
          "peerIp": {
            "type": "string",
            "example": "110.11.12.222"
          },
          "peerSharedKey": {
            "type": "string",
            "example": "5bb2424e888bd"
          },
          "remoteAsn": {
            "type": "integer",
            "description": "Remote Customer ASN - Customer side",
            "format": "int64",
            "example": 65413
          },
          "remoteIpAddress": {
            "type": "string",
            "description": "Remote Customer IP Address - Customer side",
            "example": "100.210.1.31"
          },
          "password": {
            "type": "string",
            "description": "BGP Password",
            "example": "pass123"
          },
          "localAsn": {
            "type": "integer",
            "description": "Local ASN - Equinix side",
            "format": "int64",
            "example": 65414
          },
          "tunnelIp": {
            "type": "string",
            "description": "Local Tunnel IP Address in CIDR format",
            "example": "192.168.7.2/30"
          },
          "bgpState": {
            "type": "string",
            "example": "ESTABLISHED"
          },
          "inboundBytes": {
            "type": "string",
            "example": "8780"
          },
          "inboundPackets": {
            "type": "string",
            "example": "8780"
          },
          "outboundBytes": {
            "type": "string",
            "example": "8765"
          },
          "outboundPackets": {
            "type": "string",
            "example": "8765"
          },
          "tunnelStatus": {
            "type": "string",
            "example": "UP"
          },
          "custOrgId": {
            "type": "integer",
            "format": "int64",
            "example": 65555
          },
          "createdDate": {
            "type": "string",
            "example": "2018-05-18 06:34:26"
          },
          "createdByFirstName": {
            "type": "string",
            "example": "John"
          },
          "createdByLastName": {
            "type": "string",
            "example": "Smith"
          },
          "createdByEmail": {
            "type": "string",
            "example": "alpha@beta.com"
          },
          "createdByUserKey": {
            "type": "integer",
            "format": "int64",
            "example": 123
          },
          "createdByAccountUcmId": {
            "type": "integer",
            "format": "int64",
            "example": 456
          },
          "createdByUserName": {
            "type": "string",
            "example": "jsmith"
          },
          "createdByCustOrgId": {
            "type": "integer",
            "format": "int64",
            "example": 7863
          },
          "createdByCustOrgName": {
            "type": "string",
            "example": "My Awesome Org"
          },
          "createdByUserStatus": {
            "type": "string",
            "example": "ACTIVATED"
          },
          "createdByCompanyName": {
            "type": "string",
            "example": "My Awesome Company"
          },
          "lastUpdatedDate": {
            "type": "string",
            "example": "2018-07-21 05:20:20"
          },
          "updatedByFirstName": {
            "type": "string",
            "example": "John"
          },
          "updatedByLastName": {
            "type": "string",
            "example": "Smith"
          },
          "updatedByEmail": {
            "type": "string",
            "example": "alpha@beta.com"
          },
          "updatedByUserKey": {
            "type": "integer",
            "format": "int64",
            "example": 123
          },
          "updatedByAccountUcmId": {
            "type": "integer",
            "format": "int64",
            "example": 456
          },
          "updatedByUserName": {
            "type": "string",
            "example": "jsmith"
          },
          "updatedByCustOrgId": {
            "type": "integer",
            "format": "int64",
            "example": 7863
          },
          "updatedByCustOrgName": {
            "type": "string",
            "example": "My Awesome Org"
          },
          "updatedByUserStatus": {
            "type": "string",
            "example": "ACTIVATED"
          },
          "updatedByCompanyName": {
            "type": "string",
            "example": "My Awesome Company"
          }
        }
      },
      "BgpUpdateRequest": {
        "title": "BgpUpdateRequest",
        "type": "object",
        "properties": {
          "authenticationKey": {
            "type": "string",
            "description": "Authentication Key",
            "example": "pass123"
          },
          "localAsn": {
            "type": "integer",
            "description": "Local ASN",
            "format": "int64",
            "example": 10012
          },
          "localIpAddress": {
            "type": "string",
            "description": "Local IP Address with subnet",
            "example": "100.210.1.221/30"
          },
          "remoteAsn": {
            "type": "integer",
            "description": "Remote ASN",
            "format": "int64",
            "example": 10013
          },
          "remoteIpAddress": {
            "type": "string",
            "description": "Remote IP Address",
            "example": "100.210.1.31"
          }
        }
      },
      "ErrorResponse": {
        "title": "ErrorResponse",
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "string",
            "example": "ErrorCode"
          },
          "errorMessage": {
            "type": "string",
            "example": "Error message"
          },
          "moreInfo": {
            "type": "string",
            "example": "More Info"
          },
          "property": {
            "type": "string",
            "example": "Property"
          }
        }
      },
      "GetValidateAuthKeyRes": {
        "title": "GetValidateAuthKeyRes",
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Authorization key provided is valid"
          },
          "status": {
            "type": "string",
            "example": "VALID"
          },
          "primary": {
            "$ref": "#/components/schemas/GetValidateAuthkeyresPrimary"
          },
          "secondary": {
            "$ref": "#/components/schemas/GetValidateAuthkeyresSecondary"
          }
        }
      },
      "GetValidateAuthkeyresPrimary": {
        "title": "GetValidateAuthkeyresPrimary",
        "type": "object",
        "properties": {
          "bandwidth": {
            "type": "string",
            "example": "50MB"
          }
        }
      },
      "GetValidateAuthkeyresSecondary": {
        "title": "GetValidateAuthkeyresSecondary",
        "type": "object",
        "properties": {
          "bandwidth": {
            "type": "string",
            "example": "50MB"
          }
        }
      },
      "GetServProfServicesResp": {
        "title": "GetServProfServicesResp",
        "type": "object",
        "properties": {
          "isLastPage": {
            "type": "boolean",
            "example": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32",
            "example": 55
          },
          "isFirstPage": {
            "type": "boolean",
            "example": true
          },
          "pageSize": {
            "type": "integer",
            "format": "int32",
            "example": 1000
          },
          "pageNumber": {
            "type": "integer",
            "format": "int32",
            "example": 1
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetServProfServicesRespContent"
            },
            "description": ""
          }
        }
      },
      "GetServProfServicesRespContent": {
        "title": "GetServProfServicesRespContent",
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "example": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx"
          },
          "name": {
            "type": "string",
            "example": "test"
          },
          "authKeyLabel": {
            "type": "string",
            "example": "Authorization Key"
          },
          "connectionNameLabel": {
            "type": "string",
            "example": "Connection Name"
          },
          "requiredRedundancy": {
            "type": "boolean",
            "example": false
          },
          "allowCustomSpeed": {
            "type": "boolean",
            "example": false
          },
          "speedBands": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SpeedBand"
            },
            "description": ""
          },
          "metros": {
            "$ref": "#/components/schemas/GetServProfServicesRespContentMetros"
          },
          "createdDate": {
            "type": "string",
            "example": "2018-03-22T04:34:48.231Z"
          },
          "createdBy": {
            "type": "string",
            "example": "Sandbox User"
          },
          "lastUpdatedDate": {
            "type": "string",
            "example": "2018-04-03T00:30:57.055Z"
          },
          "lastUpdatedBy": {
            "type": "string",
            "example": "Sandbox User"
          },
          "vlanSameAsPrimary": {
            "type": "boolean",
            "example": false
          },
          "tagType": {
            "type": "string",
            "example": "CTAGED"
          },
          "ctagLabel": {
            "type": "string",
            "example": "Seller-Side C-Tag"
          },
          "apiAvailable": {
            "type": "boolean",
            "example": false
          },
          "selfProfile": {
            "type": "boolean",
            "example": false
          },
          "profileEncapsulation": {
            "type": "string",
            "example": "Dot1q"
          },
          "authorizationKey": {
            "type": "string",
            "example": "535235"
          },
          "organizationName": {
            "type": "string",
            "example": "Equinix-ADMIN"
          },
          "private": {
            "type": "boolean",
            "example": false
          },
          "features": {
            "$ref": "#/components/schemas/GetServProfServicesRespContentfeatures"
          }
        }
      },
      "SpeedBand": {
        "title": "SpeedBand",
        "type": "object",
        "properties": {
          "speed": {
            "type": "number",
            "example": 50
          },
          "unit": {
            "type": "string",
            "example": "MB"
          }
        }
      },
      "GetServProfServicesRespContentMetros": {
        "title": "GetServProfServicesRespContentMetros",
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "example": "SV"
          },
          "name": {
            "type": "string",
            "example": "Silicon Valley"
          },
          "ibxs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": ""
          },
          "inTrail": {
            "type": "boolean",
            "example": false
          },
          "displayName": {
            "type": "string",
            "example": "Silicon Valley"
          }
        }
      },
      "GetServProfServicesRespContentfeatures": {
        "title": "GetServProfServicesRespContentfeatures",
        "type": "object",
        "properties": {
          "cloudReach": {
            "type": "boolean",
            "example": true
          },
          "testProfile": {
            "type": "boolean",
            "example": false
          }
        }
      },
      "PatchRequest": {
        "title": "PatchRequest",
        "type": "object",
        "properties": {
          "accessKey": {
            "type": "string",
            "example": "AKIAIXKQARIFBC3QJKYQ"
          },
          "secretKey": {
            "type": "string",
            "example": "ARIFW1lWbqNSOqSkCAOXAhep22UGyLJvkDBAIG"
          }
        }
      },
      "DeleteConnectionResponse": {
        "title": "DeleteConnectionResponse",
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "example": "Message"
          },
          "primaryConnectionId": {
            "type": "string",
            "example": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx"
          }
        }
      },
      "GETConnectionByUuidResponse": {
        "title": "GETConnectionByUuidResponse",
        "type": "object",
        "properties": {
          "buyerOrganizationName": {
            "type": "string",
            "example": "Forsythe Solutions Group, Inc."
          },
          "uuid": {
            "type": "string",
            "example": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx"
          },
          "name": {
            "type": "string",
            "example": "Test-123"
          },
          "vlanSTag": {
            "type": "integer",
            "format": "int32",
            "example": 1015
          },
          "portUUID": {
            "type": "string",
            "example": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx"
          },
          "portName": {
            "type": "string",
            "example": "TEST-CH2-CX-SEC-01"
          },
          "asideEncapsulation": {
            "type": "string",
            "example": "dot1q"
          },
          "metroCode": {
            "type": "string",
            "example": "CH"
          },
          "metroDescription": {
            "type": "string",
            "example": "Chicago"
          },
          "providerStatus": {
            "type": "string",
            "example": "PROVISIONED"
          },
          "status": {
            "type": "string",
            "example": "PROVISIONED"
          },
          "billingTier": {
            "type": "string",
            "example": "Up to 500MB"
          },
          "authorizationKey": {
            "type": "string",
            "example": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx"
          },
          "speed": {
            "type": "integer",
            "format": "int32",
            "example": 500
          },
          "speedUnit": {
            "type": "string",
            "example": "MB"
          },
          "redundancyType": {
            "type": "string",
            "example": "secondary"
          },
          "redundancyGroup": {
            "type": "string",
            "example": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx"
          },
          "sellerMetroCode": {
            "type": "string",
            "example": "CH"
          },
          "sellerMetroDescription": {
            "type": "string",
            "example": "Chicago"
          },
          "sellerServiceName": {
            "type": "string",
            "example": "XYZ Cloud Service"
          },
          "sellerServiceUUID": {
            "type": "string",
            "example": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx"
          },
          "sellerOrganizationName": {
            "type": "string",
            "example": "EQUINIX-CLOUD-EXCHANGE"
          },
          "notifications": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": ""
          },
          "purchaseOrderNumber": {
            "type": "string",
            "example": "O-1234567890"
          },
          "namedTag": {
            "type": "string",
            "example": "Private"
          },
          "createdDate": {
            "type": "string",
            "example": "2017-09-26T22:46:24.312Z"
          },
          "createdBy": {
            "type": "string",
            "example": "sandboxuser@example-company.com"
          },
          "createdByFullName": {
            "type": "string",
            "example": "Sandbox User"
          },
          "createdByEmail": {
            "type": "string",
            "example": "sandboxuser@example-company.com"
          },
          "lastUpdatedBy": {
            "type": "string",
            "example": "sandboxuser@example-company.com"
          },
          "lastUpdatedDate": {
            "type": "string",
            "example": "2017-09-26T23:01:46Z"
          },
          "lastUpdatedByFullName": {
            "type": "string",
            "example": "Sandbox User"
          },
          "lastUpdatedByEmail": {
            "type": "string",
            "example": "sandboxuser@example-company.com"
          },
          "zSidePortName": {
            "type": "string",
            "example": "TEST-CHG-06GMR-Tes-2-TES-C"
          },
          "zSidePortUUID": {
            "type": "string",
            "example": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx"
          },
          "zSideVlanCTag": {
            "type": "integer",
            "format": "int32",
            "example": 515
          },
          "zSideVlanSTag": {
            "type": "integer",
            "format": "int32",
            "example": 2
          },
          "remote": {
            "type": "boolean",
            "example": false
          },
          "private": {
            "type": "boolean"
          },
          "self": {
            "type": "boolean"
          },
          "redundantUuid": {
            "type": "string",
            "example": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx"
          }
        }
      },
      "OrderTermsResponse": {
        "title": "OrderTermsResponse",
        "type": "object",
        "properties": {
          "terms": {
            "type": "string"
          }
        }
      },
      "OrderSummaryResponse": {
        "title": "OrderSummaryResponse",
        "type": "object",
        "properties": {
          "accountNumber": {
            "type": "integer",
            "format": "int32"
          },
          "agreementId": {
            "type": "string"
          },
          "charges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeviceElement"
            },
            "description": ""
          },
          "currency": {
            "type": "string"
          },
          "errorCode": {
            "type": "string"
          },
          "errorMessage": {
            "type": "string"
          },
          "esignAgreementId": {
            "type": "string"
          },
          "ibxCountry": {
            "type": "string"
          },
          "ibxRegion": {
            "type": "string"
          },
          "initialTerm": {
            "type": "integer",
            "format": "int32"
          },
          "metro": {
            "type": "string"
          },
          "monthlyRecurringCharges": {
            "type": "number"
          },
          "nonRecurringCharges": {
            "type": "number"
          },
          "nonRenewalNotice": {
            "type": "string"
          },
          "orderTerms": {
            "type": "string"
          },
          "piPercentage": {
            "type": "string"
          },
          "productDescription": {
            "type": "string"
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "quoteContentType": {
            "type": "string"
          },
          "quoteFileName": {
            "type": "string"
          },
          "referenceId": {
            "type": "string"
          },
          "renewalPeriod": {
            "type": "integer",
            "format": "int32"
          },
          "requestSignType": {
            "type": "string"
          },
          "signStatus": {
            "type": "string"
          },
          "signType": {
            "type": "string"
          },
          "speed": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "totalCharges": {
            "type": "number"
          }
        }
      },
      "DeviceElement": {
        "title": "DeviceElement",
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "monthlyRecurringCharges": {
            "type": "number"
          },
          "nonRecurringCharges": {
            "type": "number"
          },
          "productCode": {
            "type": "string"
          }
        }
      },
      "DeviceLinkRequest": {
        "title": "DeviceLinkRequest",
        "required": [
          "groupName",
          "subnet"
        ],
        "type": "object",
        "properties": {
          "groupName": {
            "type": "string",
            "description": "Group name.",
            "example": "linkGroup"
          },
          "subnet": {
            "type": "string",
            "description": "Subnet of the link group.",
            "example": "192.164.0.0/29"
          },
          "linkDevices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkDeviceInfo"
            },
            "description": "An array of devices to link."
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkInfo"
            },
            "description": "An array of links."
          }
        }
      },
      "MetroDeviceInfo": {
        "title": "MetroDeviceInfo",
        "type": "object",
        "properties": {
          "devices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeviceInfo"
            },
            "description": "An array of devices that are part of a device link group."
          },
          "metro": {
            "type": "string",
            "description": "Name of the metro.",
            "example": "Dallas"
          },
          "metroCode": {
            "type": "string",
            "description": "Metro Code",
            "example": "DA"
          },
          "throughput": {
            "type": "string",
            "description": "Throughput of the metro.",
            "example": "500"
          },
          "throughputUnit": {
            "type": "string",
            "description": "Throughput unit.",
            "example": "Mbps"
          }
        }
      },
      "DeviceInfo": {
        "title": "DeviceInfo",
        "type": "object",
        "properties": {
          "aside": {
            "$ref": "#/components/schemas/JsonNode"
          },
          "category": {
            "type": "string",
            "description": "Category of the device.",
            "example": "ROUTER"
          },
          "cloudProfileProvisioningStatus": {
            "type": "string",
            "example": "PROVISIONED"
          },
          "connectionStatus": {
            "type": "string"
          },
          "connectionUuid": {
            "type": "string"
          },
          "deviceName": {
            "type": "string",
            "description": "Name of the device.",
            "example": "CSR-Device01"
          },
          "deviceTypeCode": {
            "type": "string",
            "description": "Device type code.",
            "example": "CSR1000V"
          },
          "deviceUUID": {
            "type": "string",
            "description": "Unique Id of the device.",
            "example": "9ea5a0e4-2bf7-45c2-9aa7-e846a8cd5560"
          },
          "interfaceId": {
            "type": "string",
            "example": "123"
          },
          "interfaceOverlayStatus": {
            "type": "string",
            "example": "PROVISIONED"
          },
          "interfaceUUID": {
            "type": "string",
            "description": "Unique Id of the interface used to link the device.",
            "example": "6d5b942a-429e-494e-87e0-993845951cf"
          },
          "ipAssigned": {
            "type": "string",
            "description": "Assigned IP address of the device.",
            "example": "10.0.0.2/27"
          },
          "networkDetails": {
            "$ref": "#/components/schemas/JsonNode"
          },
          "status": {
            "type": "string",
            "description": "Status of the device.",
            "example": "PROVISIONING"
          },
          "throughput": {
            "type": "string",
            "description": "Throughput of the device.",
            "example": "500"
          },
          "throughputUnit": {
            "type": "string",
            "description": "Throughput unit of the device.",
            "example": "Mbps"
          },
          "vxlan": {
            "type": "string",
            "example": "123"
          }
        }
      },
      "JsonNode": {
        "title": "JsonNode",
        "type": "object",
        "properties": {
          "array": {
            "type": "boolean"
          },
          "bigDecimal": {
            "type": "boolean"
          },
          "bigInteger": {
            "type": "boolean"
          },
          "binary": {
            "type": "boolean"
          },
          "boolean": {
            "type": "boolean"
          },
          "containerNode": {
            "type": "boolean"
          },
          "double": {
            "type": "boolean"
          },
          "float": {
            "type": "boolean"
          },
          "floatingPointNumber": {
            "type": "boolean"
          },
          "int": {
            "type": "boolean"
          },
          "integralNumber": {
            "type": "boolean"
          },
          "long": {
            "type": "boolean"
          },
          "missingNode": {
            "type": "boolean"
          },
          "nodeType": {
            "$ref": "#/components/schemas/NodeType"
          },
          "null": {
            "type": "boolean"
          },
          "number": {
            "type": "boolean"
          },
          "object": {
            "type": "boolean"
          },
          "pojo": {
            "type": "boolean"
          },
          "short": {
            "type": "boolean"
          },
          "textual": {
            "type": "boolean"
          },
          "valueNode": {
            "type": "boolean"
          }
        }
      },
      "LinkInfo": {
        "title": "LinkInfo",
        "type": "object",
        "properties": {
          "accountNumber": {
            "type": "string",
            "description": "Account number. Either an account number or an accountreferenceId is required to create a link group.",
            "example": "345678"
          },
          "throughput": {
            "type": "string",
            "description": "Metro Throughput.",
            "example": "1000"
          },
          "throughputUnit": {
            "type": "string",
            "description": "Throughput unit.",
            "example": "Mbps"
          },
          "sourceMetroCode": {
            "type": "string",
            "description": "Source metro code.",
            "example": "SY"
          },
          "sourceZoneCode": {
            "type": "string",
            "description": "Source zone code.",
            "example": "Zone1"
          },
          "destinationMetroCode": {
            "type": "string",
            "description": "Destination metro code.",
            "example": "SY"
          },
          "destinationZoneCode": {
            "type": "string",
            "description": "Destination metro code.",
            "example": "Zone2"
          }
        }
      },
      "LinkDeviceInfo": {
        "title": "LinkDeviceInfo",
        "required": [
          "deviceUuid"
        ],
        "type": "object",
        "properties": {
          "asn": {
            "type": "integer",
            "description": "The ASN number of the device. The request will fail if you provide a new ASN for a device that already has an ASN.",
            "format": "int64",
            "example": 25658
          },
          "deviceUuid": {
            "type": "string",
            "description": "device",
            "example": "70754e55-a064-40c3-a911-6dc1f14b96fd"
          },
          "interfaceId": {
            "type": "integer",
            "description": "Any available interface of the device.",
            "format": "int32",
            "example": 6
          }
        },
        "description": "Unique Id of a device."
      },
      "DeviceLinkGroupResponse": {
        "title": "DeviceLinkGroupResponse",
        "type": "object",
        "properties": {
          "uuid": {
            "type": "string",
            "example": "a5d9182d-c529-451d-b137-3742d5a742ce"
          }
        }
      },
      "DeviceLinkGroupDto": {
        "title": "DeviceLinkGroupDto",
        "type": "object",
        "properties": {
          "accountName": {
            "type": "string",
            "description": "Account name.",
            "example": "Samsung"
          },
          "createdBy": {
            "type": "string",
            "description": "Created by username.",
            "example": "nfv-sit1"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date.",
            "example": "2019-09-15T10:30:31.387Z"
          },
          "groupName": {
            "type": "string",
            "description": "Group name.",
            "example": "vik-chain"
          },
          "id": {
            "type": "integer",
            "format": "int64",
            "example": 1130
          },
          "lastUpdatedBy": {
            "type": "string",
            "example": "reg2-acc1"
          },
          "lastUpdatedDate": {
            "type": "string",
            "example": "2019-09-16T10:30:31.387Z"
          },
          "metroDevices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MetroDeviceInfo"
            },
            "description": "An array of metros and the devices in the metros belonging to the group."
          },
          "source": {
            "type": "string",
            "example": "API"
          },
          "status": {
            "type": "string",
            "description": "Status of the device.",
            "example": "PROVISIONING"
          },
          "subnet": {
            "type": "string",
            "description": "Subnet of the link group.",
            "example": "10.0.0.0/27"
          },
          "uuid": {
            "type": "string",
            "description": "Unique Id of the linked group.",
            "example": "6ea5a0e4-2bf7-45c2-9aa7-e846a8cd5567"
          }
        }
      },
      "EquinixConfiguredConfig": {
        "title": "EquinixConfiguredConfig",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Whether the device is EQUINIX-CONFIGURED or SELF-MANAGED.",
            "example": "EQUINIX-CONFIGURED"
          },
          "licenseOptions": {
            "$ref": "#/components/schemas/LicenseOptions3"
          },
          "supportedServices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupportedServicesConfig"
            },
            "description": ""
          },
          "additionalFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdditionalFieldsConfig"
            },
            "description": ""
          },
          "clusteringDetails": {
            "$ref": "#/components/schemas/ClusteringDetails"
          }
        }
      },
      "SelfConfiguredConfig": {
        "title": "SelfConfiguredConfig",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Whether the device is EQUINIX-CONFIGURED or SELF-MANAGED.",
            "example": "SELF-CONFIGURED"
          },
          "licenseOptions": {
            "$ref": "#/components/schemas/LicenseOptions1"
          },
          "supportedServices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupportedServicesConfig"
            },
            "description": ""
          },
          "additionalFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdditionalFieldsConfig"
            },
            "description": ""
          },
          "defaultAcls": {
            "$ref": "#/components/schemas/DefaultAclsConfig"
          },
          "clusteringDetails": {
            "$ref": "#/components/schemas/ClusteringDetails"
          }
        }
      },
      "ClusteringDetails": {
        "title": "ClusteringDetails",
        "type": "object",
        "properties": {
          "clusteringEnabled": {
            "type": "boolean",
            "description": "Whether this device management type supports clustering."
          },
          "maxAllowedNodes": {
            "type": "integer",
            "description": "The number of nodes you can have for a cluster device.",
            "format": "int32"
          }
        }
      },
      "DefaultAclsConfig": {
        "title": "DefaultAclsConfig",
        "type": "object",
        "properties": {
          "dnsServers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": ""
          },
          "ntpServers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": ""
          }
        }
      },
      "AdditionalFieldsConfig": {
        "title": "AdditionalFieldsConfig",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of field."
          },
          "required": {
            "type": "boolean",
            "description": "Whether or not the field is required at the time of device creation."
          },
          "isSameValueAllowedForPrimaryAndSecondary": {
            "type": "boolean",
            "description": "Whether or not you need two distinct values for primary and secondary devices at the time of device creation. This field is only useful for HA devices."
          }
        }
      },
      "SupportedServicesConfig": {
        "title": "SupportedServicesConfig",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of supported service."
          },
          "required": {
            "type": "boolean",
            "description": "Whether or not this supported service is a required input at the time of device creation."
          },
          "packageCodes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": ""
          },
          "supportedForClustering": {
            "type": "boolean",
            "description": "Whether the service is available for cluster devices."
          }
        }
      },
      "licenseOptionsConfig": {
        "title": "licenseOptionsConfig",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The type of the license."
          },
          "name": {
            "type": "string",
            "description": "The name of the license."
          },
          "fileUploadSupportedCluster": {
            "type": "boolean",
            "description": "Whether you can upload a license file for cluster devices."
          },
          "cores": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CoresConfig"
            },
            "description": ""
          }
        }
      },
      "CoresConfig": {
        "title": "CoresConfig",
        "type": "object",
        "properties": {
          "core": {
            "type": "integer",
            "description": "The number of cores.",
            "format": "int32",
            "example": 4
          },
          "memory": {
            "type": "integer",
            "description": "The amount of memory.",
            "format": "int32",
            "example": 4
          },
          "unit": {
            "type": "string",
            "description": "The unit of memory.",
            "example": "GB"
          },
          "flavor": {
            "type": "string",
            "description": "Small, medium or large.",
            "example": "Small"
          },
          "packageCodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PackageCodes"
            },
            "description": "An array that has all the software packages and throughput options."
          },
          "supported": {
            "type": "boolean",
            "description": "Whether or not this core is supported."
          }
        }
      },
      "PackageCodes": {
        "title": "PackageCodes",
        "type": "object",
        "properties": {
          "packageCode": {
            "type": "string",
            "description": "The type of package.",
            "example": "APPX"
          },
          "excludedVersions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": ""
          },
          "excludedClusterVersions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": ""
          },
          "throughputs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ThroughputConfig"
            },
            "description": ""
          },
          "supported": {
            "type": "boolean",
            "description": "Whether this software package is supported."
          }
        }
      },
      "ThroughputConfig": {
        "title": "ThroughputConfig",
        "type": "object",
        "properties": {
          "supported": {
            "type": "boolean",
            "description": "Whether this throughput is supported."
          },
          "throughput": {
            "type": "string",
            "description": "Throughput."
          },
          "throughputUnit": {
            "type": "string",
            "description": "Throughput unit."
          }
        }
      },
      "VendorConfig": {
        "title": "VendorConfig",
        "type": "object",
        "properties": {
          "siteId": {
            "type": "string",
            "description": "Physical location within the Viptela overlay network, such as a branch office, or a campus (relevant only for Cisco SDWANs)",
            "example": "567"
          },
          "systemIpAddress": {
            "type": "string",
            "description": "IP assigned to CSRSDWAN router and vSmart controller (relevant only for Cisco SDWANs)",
            "example": "192.164.0.0"
          },
          "licenseKey": {
            "type": "string",
            "example": "6735-vwe64568-6a91-4112-8734-bea12d91f7y7"
          },
          "licenseSecret": {
            "type": "string",
            "example": "h5j0i45e83324pblbfca764532c4a640e7801f0"
          },
          "localId": {
            "type": "string",
            "example": "branch1@example.com"
          },
          "remoteId": {
            "type": "string",
            "example": "companyController1@example.com"
          },
          "controller1": {
            "type": "string",
            "example": "54.219.248.29"
          },
          "controller2": {
            "type": "string",
            "example": "54.177.220.115"
          },
          "serialNumber": {
            "type": "string",
            "example": "4545454"
          },
          "adminPassword": {
            "type": "string",
            "example": "5678909"
          },
          "activationKey": {
            "type": "string",
            "example": "GJUK-JM2X-59BJ-2TDJ"
          },
          "controllerFqdn": {
            "type": "string",
            "example": "demo.velocloud.net"
          },
          "rootPassword": {
            "type": "string",
            "example": "myPassw0rd!"
          },
          "accountName": {
            "type": "string",
            "description": "The name of account.",
            "example": "accountName"
          },
          "hostname": {
            "type": "string",
            "description": "The host name.",
            "example": "hostName"
          },
          "accountKey": {
            "type": "string",
            "description": "The account key.",
            "example": "Primary Account Key1"
          },
          "applianceTag": {
            "type": "string",
            "description": "The appliance tag.",
            "example": "applianceTag"
          }
        }
      },
      "VirtualDeviceInternalPatchRequestDto": {
        "title": "VirtualDeviceInternalPatchRequestDto",
        "type": "object",
        "properties": {
          "notifications": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": ""
          },
          "termLength": {
            "type": "integer",
            "description": "Term length in months. Please keep in mind that you cannot downgrade the term length.",
            "format": "int32",
            "example": 4
          },
          "virtualDeviceName": {
            "type": "string",
            "description": "Virtual device name. This should be minimum 3 and maximum 50 characters long.",
            "example": "RCiscoSTROY"
          },
          "clusterName": {
            "type": "string",
            "description": "Cluster name. This should be minimum 3 and maximum 50 characters long.",
            "example": "myCluster0123"
          },
          "status": {
            "type": "string",
            "description": "Status of the device",
            "example": "PROVISIONED"
          }
        }
      },
      "VirtualDeviceCreateResponseDto": {
        "title": "VirtualDeviceCreateResponseDto",
        "type": "object",
        "properties": {
          "secondaryUuid": {
            "type": "string"
          },
          "uuid": {
            "type": "string",
            "example": "877a3aa2-c49a-4af1-98a6-007424e737ae"
          }
        }
      },
      "Action": {
        "title": "Action",
        "enum": [
          "CREATE",
          "DELETE",
          "REUSE"
        ],
        "type": "string",
        "description": "SSH operation to be performed",
        "example": "CREATE"
      },
      "DeviceManagementTypes": {
        "title": "DeviceManagementTypes",
        "type": "object",
        "properties": {
          "EQUINIX-CONFIGURED": {
            "$ref": "#/components/schemas/EquinixConfiguredConfig"
          },
          "SELF-CONFIGURED": {
            "$ref": "#/components/schemas/SelfConfiguredConfig"
          }
        }
      },
      "getSshUserUsingGETResponse": {
        "title": "getSshUserUsingGETResponse",
        "enum": [
          "INTERNAL_SERVER_ERROR",
          "INVALID_JSON_FORMAT",
          "RESOURCE_NOT_FOUND",
          "UNAUTHORIZED_USER",
          "INVALID_REQUEST_FORMAT",
          "ZONE_NOT_FOUND",
          "SOURCE_ZONE_NOT_FOUND",
          "DESTINATION_ZONE_NOT_FOUND",
          "ZONES_NOT_PART_SAME_DEVICE",
          "CONNECTION_ALREADY_PART_OF_ZONE",
          "ZONE_PART_OF_FIREWALL",
          "CONNECTION_NOT_AVAILABLE",
          "ZONE_ALREADY_EXISTS",
          "FIREWALL_NOT_FOUND",
          "FIREWALL_ALREADY_EXISTS",
          "RULE_ALREADY_EXISTS",
          "RULE_NOT_FOUND",
          "RULE_NOT_PART_OF_FIREWALL",
          "VIRTUAL_DEVICE_NOT_FOUND",
          "VIRTUAL_DEVICE_NOT_PROVISIONED",
          "DEVICE_LICENSE_NOT_REGISTERED",
          "MGMT_INTERFACE_NOT_AVAILABLE",
          "INTERFACE_NOT_AVAILABLE",
          "INTERFACE_NOT_PROVISIONED",
          "NAT_CONFIG_ALREADY_EXISTS",
          "NAT_CONFIG_NOT_FOUND",
          "ADD_NAT_CONFIG_FAILED",
          "EDIT_NAT_CONFIG_FAILED",
          "REMOVE_NAT_CONFIG_FAILED",
          "NAT_POOL_TYPE_CHANGE_DISABLED",
          "INVALID_ACTION_TYPE",
          "INVALID_ADD_ACTION",
          "INVALID_MODIFY_ACTION",
          "INVALID_STATIC_NAT_UUID",
          "OVERLAP_IP_CONFLICT",
          "CONNECTION_NOT_FOUND",
          "BGP_NOT_FOUND",
          "INVALID_IP_ADDRESS",
          "INVALID_NETWORK_SERVICE_TYPE",
          "ERROR_DELETING_CONNECTION",
          "IBX_NOT_FOUND",
          "PRICE_SERVICE_REQUEST_INVALID",
          "PRICE_SERVICE_REQUEST_FAILED",
          "BGP_CONFIG_NOT_FOUND",
          "BGP_NEIGHBOR_INFO_NOT_FOUND",
          "LOCAL_IP_ADDRESS_NOT_IN_RANGE",
          "REMOTE_IP_ADDRESS_NOT_IN_RANGE",
          "CONNECTION_DEVICE_NOT_FOUND",
          "CONNECTION_NOT_PROVISIONED",
          "BROADCAST_ADDRESS_NOT_ALLOWED",
          "NETWORK_ADDRESS_NOT_ALLOWED",
          "OVERLAP_LOCAL_IP_ADDRESS",
          "DATA_INTERFACE_NOT_AVAILABLE",
          "ADD_BGP_CONFIG_FAILED",
          "REMOVE_BGP_CONFIG_FAILED",
          "INTERFACE_NOT_FOUND",
          "UPDATE_BGP_CONFIG_FAILED",
          "EXISTING_CONNECTION_BGP",
          "BGP_EXISTING_NAT_SERVICES",
          "BGP_EXISTING_FIREWALL_SERVICES",
          "BGP_UPDATE_NOT_ALLOWED",
          "BGP_EXISTING_VPN_SERVICES",
          "REMOTE_LOCAL_SAME_IP_ADDRESS",
          "BGP_FAILED_ASN_UPDATE",
          "BGP_FAILED_INTERFACE_DESC",
          "BGP_NSO_FAILED_FETCH",
          "BGP_NSO_FAILED_UPDATE",
          "BGP_FAILED_VPN_UPDATE",
          "BGP_RETRY_FAILED",
          "BGP_NOT_SUPPORTED",
          "BGP_MULTI_ASN_NOT_SUPPORTED",
          "VPN_NAME_ALREADY_IN_USE",
          "VPN_DEVICE_NOT_FOUND",
          "VPN_DEVICE_CUST_ORG_MISMATCH",
          "VPN_DEVICE_NOT_REGISTERED",
          "VPN_NO_CONFIGURED_CLOUD_BGP_FOUND",
          "VPN_DEVICE_ASN_NOT_CONFIGURED",
          "VPN_MATCHING_ASN",
          "VPN_LIMIT_EXCEEDED",
          "VPN_NO_INTERFACES_FOUND",
          "VPN_SSH_INTERFACE_ID_NOT_FOUND",
          "VPN_INVALID_SSH_INTERFACE_ID",
          "VPN_CONFIG_NOT_FOUND",
          "VPN_NSO_CREATE_TRANSIENT_FAILURE",
          "VPN_NSO_CREATE_PERMANENT_FAILURE",
          "VPN_NSO_DELETE_TRANSIENT_FAILURE",
          "VPN_NSO_DELETE_PERMANENT_FAILURE",
          "VPN_PEER_IP_ALREADY_IN_USE",
          "VPN_DEVICE_MISSING_IPSEC_PACKAGE",
          "VPN_INVALID_STATUS_LIST",
          "VPN_RESTRICTED_ASN",
          "VPN_UNAUTHORIZED_ACCESS",
          "VPN_ALREADY_DELETED",
          "VPN_RESTRICTED_IP_ADDRESS",
          "VPN_NSO_UPDATE_TRANSIENT_FAILURE",
          "VPN_NSO_UPDATE_PERMANENT_FAILURE",
          "VPN_IN_PROVISIONING_STATE",
          "VPN_TUNNEL_IP_OVERLAPS_DATA_BGP",
          "VPN_TUNNEL_IP_OVERLAP",
          "VPN_REMOTE_IP_SAME_AS_EXISTING_DATA_BGP",
          "VPN_REMOTE_IP_ALREADY_IN_USE",
          "VPN_REMOTE_IP_INVALID_FIRST_OCTET",
          "VPN_TUNNEL_IP_INVALID_FIRST_OCTET",
          "VPN_DEVICE_SSH_NOT_CONFIGURED",
          "VPN_HA_SECONDARY_REQUEST_REQUIRED",
          "VPN_HA_SECONDARY_DEVICE_REQUIRED",
          "VPN_HA_ROLLED_BACK",
          "VPN_HA_REDUNDANT_VPN_DELETED",
          "VPN_STATUS_UPDATE_FAILED",
          "VPN_STATUS_UPDATE_PROCESS_FAILED",
          "VPN_DEVICE_CLOUD_SEQ_ID_NOT_CONFIGURED",
          "SSH_CREATE_USER_FAILED",
          "SSH_DELETE_USER_FAILED",
          "TACACS_GET_USERS_FAILED",
          "SSH_GET_USER_FAILED",
          "SSH_UPDATE_USER_FAILED",
          "SSH_REPLACE_DEVICE_ASSOCIATION_FAILED",
          "SSH_APPEND_DEVICE_ASSOCIATION_FAILED",
          "SSH_USER_ALREADY_EXISTS",
          "SSH_USER_PARTIAL_FAILURE",
          "SSH_USER_SERVICE_NOT_SUPPORTED",
          "SSH_USER_UNAUTHORIZED_ACCESS",
          "SSH_USER_DELETE_FAILED_ASSOCIATIONS_EXIST",
          "SSH_USER_DEVICE_NOT_REGISTERED",
          "SSH_USER_DEVICE_STATE_NOT_VALID",
          "SSH_USER_PER_DEVICE_LIMIT_EXCEEDED",
          "SSH_USER_DEVICE_IP_ADDRESS_NOT_SET",
          "UNABLE_TO_GET_DEVICE_COUNT"
        ],
        "type": "string"
      },
      "getVpnByUuidUsingGETResponse": {
        "title": "getVpnByUuidUsingGETResponse",
        "enum": [
          "INTERNAL_SERVER_ERROR",
          "INVALID_JSON_FORMAT",
          "RESOURCE_NOT_FOUND",
          "UNAUTHORIZED_USER",
          "INVALID_REQUEST_FORMAT",
          "ZONE_NOT_FOUND",
          "SOURCE_ZONE_NOT_FOUND",
          "DESTINATION_ZONE_NOT_FOUND",
          "ZONES_NOT_PART_SAME_DEVICE",
          "CONNECTION_ALREADY_PART_OF_ZONE",
          "ZONE_PART_OF_FIREWALL",
          "CONNECTION_NOT_AVAILABLE",
          "ZONE_ALREADY_EXISTS",
          "FIREWALL_NOT_FOUND",
          "FIREWALL_ALREADY_EXISTS",
          "RULE_ALREADY_EXISTS",
          "RULE_NOT_FOUND",
          "RULE_NOT_PART_OF_FIREWALL",
          "VIRTUAL_DEVICE_NOT_FOUND",
          "VIRTUAL_DEVICE_NOT_PROVISIONED",
          "DEVICE_LICENSE_NOT_REGISTERED",
          "MGMT_INTERFACE_NOT_AVAILABLE",
          "INTERFACE_NOT_AVAILABLE",
          "INTERFACE_NOT_PROVISIONED",
          "NAT_CONFIG_ALREADY_EXISTS",
          "NAT_CONFIG_NOT_FOUND",
          "ADD_NAT_CONFIG_FAILED",
          "EDIT_NAT_CONFIG_FAILED",
          "REMOVE_NAT_CONFIG_FAILED",
          "NAT_POOL_TYPE_CHANGE_DISABLED",
          "INVALID_ACTION_TYPE",
          "INVALID_ADD_ACTION",
          "INVALID_MODIFY_ACTION",
          "INVALID_STATIC_NAT_UUID",
          "OVERLAP_IP_CONFLICT",
          "CONNECTION_NOT_FOUND",
          "BGP_NOT_FOUND",
          "INVALID_IP_ADDRESS",
          "INVALID_NETWORK_SERVICE_TYPE",
          "IBX_NOT_FOUND",
          "PRICE_SERVICE_REQUEST_INVALID",
          "PRICE_SERVICE_REQUEST_FAILED",
          "BGP_CONFIG_NOT_FOUND",
          "BGP_NEIGHBOR_INFO_NOT_FOUND",
          "LOCAL_IP_ADDRESS_NOT_IN_RANGE",
          "REMOTE_IP_ADDRESS_NOT_IN_RANGE",
          "CONNECTION_DEVICE_NOT_FOUND",
          "CONNECTION_NOT_PROVISIONED",
          "BROADCAST_ADDRESS_NOT_ALLOWED",
          "NETWORK_ADDRESS_NOT_ALLOWED",
          "OVERLAP_LOCAL_IP_ADDRESS",
          "DATA_INTERFACE_NOT_AVAILABLE",
          "ADD_BGP_CONFIG_FAILED",
          "REMOVE_BGP_CONFIG_FAILED",
          "INTERFACE_NOT_FOUND",
          "UPDATE_BGP_CONFIG_FAILED",
          "EXISTING_CONNECTION_BGP",
          "BGP_EXISTING_NAT_SERVICES",
          "BGP_EXISTING_FIREWALL_SERVICES",
          "BGP_UPDATE_NOT_ALLOWED",
          "BGP_EXISTING_VPN_SERVICES",
          "REMOTE_LOCAL_SAME_IP_ADDRESS",
          "BGP_FAILED_ASN_UPDATE",
          "BGP_FAILED_INTERFACE_DESC",
          "BGP_NSO_FAILED_FETCH",
          "BGP_NSO_FAILED_UPDATE",
          "BGP_FAILED_VPN_UPDATE",
          "BGP_RETRY_FAILED",
          "VPN_NAME_ALREADY_IN_USE",
          "VPN_DEVICE_NOT_FOUND",
          "VPN_DEVICE_USER_KEY_MISMATCH",
          "VPN_DEVICE_NOT_REGISTERED",
          "VPN_NO_CONFIGURED_CLOUD_BGP_FOUND",
          "VPN_DEVICE_ASN_NOT_CONFIGURED",
          "VPN_MATCHING_ASN",
          "VPN_LIMIT_EXCEEDED",
          "VPN_NO_INTERFACES_FOUND",
          "VPN_SSH_INTERFACE_ID_NOT_FOUND",
          "VPN_INVALID_SSH_INTERFACE_ID",
          "VPN_CONFIG_NOT_FOUND",
          "VPN_NSO_CREATE_TRANSIENT_FAILURE",
          "VPN_NSO_CREATE_PERMANENT_FAILURE",
          "VPN_NSO_DELETE_TRANSIENT_FAILURE",
          "VPN_NSO_DELETE_PERMANENT_FAILURE",
          "VPN_PEER_IP_ALREADY_IN_USE",
          "VPN_DEVICE_MISSING_IPSEC_PACKAGE",
          "VPN_INVALID_STATUS_LIST",
          "VPN_RESTRICTED_ASN",
          "VPN_UNAUTHORIZED_ACCESS",
          "VPN_ALREADY_DELETED",
          "VPN_RESTRICTED_IP_ADDRESS",
          "VPN_DEVICE_NOT_IN_READY_STATE"
        ],
        "type": "string"
      },
      "LicenseOptions1": {
        "title": "LicenseOptions1",
        "type": "object",
        "properties": {
          "SUB": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/licenseOptionsConfig"
            },
            "description": ""
          },
          "BYOL": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/licenseOptionsConfig"
            },
            "description": ""
          }
        }
      },
      "LicenseOptions3": {
        "title": "LicenseOptions3",
        "type": "object",
        "properties": {
          "SUB": {
            "$ref": "#/components/schemas/licenseOptionsConfig"
          },
          "BYOL": {
            "$ref": "#/components/schemas/licenseOptionsConfig"
          }
        }
      },
      "NodeType": {
        "title": "NodeType",
        "enum": [
          "ARRAY",
          "BINARY",
          "BOOLEAN",
          "MISSING",
          "NULL",
          "NUMBER",
          "OBJECT",
          "POJO",
          "STRING"
        ],
        "type": "string"
      },
      "Notification": {
        "title": "Notification",
        "enum": [
          "test1@example.com",
          "test2@example.com"
        ],
        "type": "string"
      },
      "Primary": {
        "title": "Primary",
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "The currency of the charges.",
            "example": "USD"
          },
          "charges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Charges"
            },
            "description": ""
          }
        },
        "description": "An object that has the charges associated with the primary device."
      },
      "Secondary": {
        "title": "Secondary",
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "The currency of the charges.",
            "example": "USD"
          },
          "charges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Charges"
            },
            "description": ""
          }
        },
        "description": "An object that has the charges associated with the secondary device."
      },
      "statusList": {
        "title": "statusList",
        "enum": [
          "PROVISIONED",
          "PROVISIONING",
          "PROVISIONING_RETRYING",
          "UPDATING",
          "PROVISIONING_UPDATE_RETRYING",
          "DEPROVISIONED",
          "DEPROVISIONING",
          "DEPROVISIONING_RETRYING",
          "PROVISIONING_FAILED",
          "PROVISIONING_UPDATE_FAILED",
          "DEPROVISIONING_FAILED"
        ],
        "type": "string"
      }
    }
  },
  "tags": [
    {
      "name": "Setup",
      "description": ""
    },
    {
      "name": "Virtual Device & Licensing",
      "description": ""
    },
    {
      "name": "ACL Template",
      "description": ""
    },
    {
      "name": "Device Link",
      "description": ""
    },
    {
      "name": "Layer 2 Connections & Service Profiles",
      "description": ""
    },
    {
      "name": "BGP",
      "description": ""
    },
    {
      "name": "VPN",
      "description": ""
    },
    {
      "name": "SSH User",
      "description": ""
    }
  ]
}