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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          allOf:
          - $ref: '#/components/schemas/Content-Type'
          - description: Content-Type
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/Content-Type'
      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:
          $ref: '#/components/schemas/UserPublicKey'
        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:
          $ref: '#/components/schemas/Action'
        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:
          $ref: '#/components/schemas/PricingDetails'
        interfaceCount:
          type: integer
          format: int32
          example: 10
        deviceManagementType:
          type: string
          example: EQUINIX-CONFIGURED
        userPublicKey:
          $ref: '#/components/schemas/UserPublicKey'
        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:
          $ref: '#/components/schemas/Primary2'
        secondary:
          $ref: '#/components/schemas/Secondary2'
      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
    Content-Type:
      title: Content-Type
      enum:
      - application/json
      type: string
    PricingDetails:
      title: PricingDetails
      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:
          $ref: '#/components/schemas/Primary2'
        secondary:
          $ref: '#/components/schemas/Secondary2'
    Primary2:
      title: Primary2
      type: object
      properties:
        currency:
          type: string
          description: The currency of the charges.
          example: USD
        charges:
          type: array
          items:
            $ref: '#/components/schemas/Charges'
          description: ''
    Secondary2:
      title: Secondary2
      type: object
      properties:
        currency:
          type: string
          description: The currency of the charges.
          example: USD
        charges:
          type: array
          items:
            $ref: '#/components/schemas/Charges'
          description: ''
    UserPublicKey:
      title: UserPublicKey
      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
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: ''
