Skip to main content
Index

Virtual Device & Licensing

POST A License File Before Creating a Virtual Device (BYOL)

POST /ne/v1/device/license/file

 Method  POST
 URL or End Point  /ne/v1/device/license/file
 Headers  Authorization, Content-Type
 Query Parameter  metroCode, deviceTypeCode, licenseType
 Form Data  file

 

Posts the license file from your vendors in case you want to BYOL (bring your own license) for new virtual devices on the Network Edge platform. For Juniper and Fortinet devices, you must post a license before creating a virtual device. The response includes a fileID that can be used to create a virtual device. 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Sample curl request: 

POST "https://api.equinix.com/ne/v1/device/license/file?metroCode=SV&deviceTypeCode=CSRSDWAN&licenseType=BYOL"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-H "content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW"
-F "file=@C:\Users\sroy\Desktop\Documents-equinix\CSR-FA819DC1-96FE-497A-89B4-FE3C897C981F.cfg"

 

Query parameters:

Query Parameter Name Mandatory Type Example Applicable Values Description
metroCode Yes string SV

 

Metro code. Metro location for which you want to post a license file.
deviceTypeCode Yes string CSRSDWAN   Device type code. Find deviceTypeCode by calling Get device types. 
licenseType Yes string BYOL BYOL License type. 

 

 

Form Parameter Name Mandatory Type Example Applicable Values Description
formData Yes file CSR-FA819DC1-96FE-497A-89B4-FE3C897C981F.cfg   License file that your vendor has provided.
 

 

Sample response:

{
    "fileId": "e0578172-7461-458f-91db-634f865fcaf5"
}

 

Description of the response payload:

Field Type Example Values Description
fileId string e0578172-7461-458f-91db-634f865fcaf5 File Id. You can use this ID to create a virtual device on the Network Edge platform.

 

If you get “Access Denied” error, contact your local Equinix Service Desk for Equinix Cloud Exchange Fabric Portal access.

GET Virtual Devices

GET /ne/v1/device

 Method  GET
 URL or End Point  /ne/v1/device
 Headers  Authorization, Content-Type
 Query Parameters  page, size, metroCode, status, accountUcmId
 Body  Not applicable

 

Returns the details of the virtual devices on the Equinix platform.

 

To retrieve drafts, query with the status=DRAFT.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Sample curl request: 

curl -X

GET "https://api.equinix.com/ne/v1/device?page=1&size=20&metroCode=DC&status=PROVISIONED"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Query parameters:

Query Parameter Name Mandatory Type Example Applicable Values Description
page No string 1   Page number. Default value=1
size No string 100   Results per page. Default value=100
metroCode No string DC   Metro for which you want virtual devices.
status No string INITIALIZING INITIALIZING, PENDING_ACCOUNT, PROVISIONING, WAITING_FOR_PRIMARY, WAITING_FOR_SECONDARY, WAITING_FOR_REPLICA_CLUSTER_NODES, CLUSTER_SETUP_IN_PROGRESS, CLUSTER_SETUP_FAILED, PROVISIONED, FAILED, DEPROVISIONING, DEPROVISIONED, DRAFT The status of the virtual device. 
accountUcmId No string 678907   Unique Id of the account. A reseller querying for a customer's devices can input the accountUcmId of the customer's account. To find out the accountUcmId of your customer's account, please check the Equinix account creation portal (ECP) or call Get account API.   

 

Sample response: 

{
    "totalCount": 1,
    "pageNumber": 1,
    "pageSize": 20,
    "content": [
        {
            "uuid": "8ea7a280-7df9-4dca-8426-61cdd0c9b3bc",
            "name": "l3_pod5_fin_27",
            "deviceTypeCode": "CSR1000V",
            "deviceTypeName": "CSR 1000V",
            "deviceTypeVendor": "Cisco",
            "deviceTypeCategory": "ROUTER",
            "status": "PROVISIONED",
            "licenseStatus": "REGISTERED",
            "metroCode": "DC",
            "metroName": "Ashburn",

            "zoneCode": "Zone2",

            "zoneName": "Zone 2",
            "ibx": "DC11",
            "region": "AMER",
            "throughput": "1",
            "throughputUnit": "Gbps",
            "hostName": "myhost-2",
            "packageCode": "SEC",
            "packageName": "Security",
            "version": "16.09.05",
            "licenseType": "Sub",
            "licenseName": "Subscription",
            "createdBy": "nfvsit01",
            "createdDate": "2020-08-27T07:33:16.266Z",
            "lastUpdatedBy": "nfvsit01",
            "lastUpdatedDate": "2020-08-27T09:13:01.609Z",
            "sshIpAddress": "64.191.210.70",
            "deviceSerialNo": "9YV1XIJ7J9X",
            "sshIpFqdn": "myhost-2-70-210-191-64-DC.nfv-uat1.eis.lab.equinix.com",
            "accountNumber": "200541",
            "accountName": "nfv-sit1",
            "notifications": [
                "anarausetty@equinix.com"
            ],
            "redundancyType": "PRIMARY",
            "termLength": 1,
            "billingCommencementDate": "09/10/2020 07:34:36",
            "additionalBandwidth": 200,
            "interfaceCount": 24,
            "core": {
                "core": 2,
                "memory": 4,
                "unit": "GB"
            },
            "deviceManagementType": "EQUINIX-CONFIGURED",
            "networkScope": "DEVICE",
            "interfaces": [
                {
                    "id": 1,
                    "name": "GigabitEthernet1",
                    "status": null,
                    "operationalStatus": null,
                    "macAddress": null,
                    "ipAddress": null,
                    "assignedType": "Equinix Managed",
                    "type": "MGMT"
                },
                {
                    "id": 2,
                    "name": "GigabitEthernet2",
                    "status": null,
                    "operationalStatus": null,
                    "macAddress": null,
                    "ipAddress": null,
                    "assignedType": "Equinix Managed",
                    "type": "SSH"
                },
                {
                    "id": 3,
                    "name": "GigabitEthernet3",
                    "status": "ASSIGNED",
                    "operationalStatus": "up",
                    "macAddress": "fa16.3e96.c969",
                    "ipAddress": "172.16.111.101/30",
                    "assignedType": "conn_3(nfv-sp-DC1)",
                    "type": "DATA"
                },
                {
                    "id": 4,
                    "name": "GigabitEthernet4",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e8f.d5d5",
                    "ipAddress": null,
                    "assignedType": "",
                    "type": "DATA"
                },
                {
                    "id": 5,
                    "name": "GigabitEthernet5",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e48.e21f",
                    "ipAddress": null,
                    "assignedType": "",
                    "type": "DATA"
                },
                {
                    "id": 6,
                    "name": "GigabitEthernet6",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e42.31c5",
                    "ipAddress": null,
                    "assignedType": "",
                    "type": "DATA"
                },
                {
                    "id": 7,
                    "name": "GigabitEthernet7",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e1d.921e",
                    "ipAddress": null,
                    "assignedType": "",
                    "type": "DATA"
                },
                {
                    "id": 8,
                    "name": "GigabitEthernet8",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3ebe.86be",
                    "ipAddress": null,
                    "assignedType": "",
                    "type": "DATA"
                },
                {
                    "id": 9,
                    "name": "GigabitEthernet9",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e6d.27ea",
                    "ipAddress": null,
                    "assignedType": "",
                    "type": "DATA"
                },
                {
                    "id": 10,
                    "name": "GigabitEthernet10",
                    "status": "ASSIGNED",
                    "operationalStatus": "up",
                    "macAddress": "fa16.3e17.50e6",
                    "ipAddress": "172.16.111.105/30",
                    "assignedType": "conn_1(nfv-sp-DC1)",
                    "type": "DATA"
                },
                {
                    "id": 11,
                    "name": "GigabitEthernet11",
                    "status": "ASSIGNED",
                    "operationalStatus": "up",
                    "macAddress": "fa16.3e68.b59b",
                    "ipAddress": "172.16.111.113/30",
                    "assignedType": "conn_2(nfv-sp-DC1)",
                    "type": "DATA"
                },
                {
                    "id": 12,
                    "name": "GigabitEthernet12",
                    "status": "ASSIGNED",
                    "operationalStatus": "up",
                    "macAddress": "fa16.3ee4.95e9",
                    "ipAddress": "67.223.183.107/31",
                    "assignedType": "conn_l3_orc(L3-ORACLE-DC)",
                    "type": "DATA"
                },
                {
                    "id": 13,
                    "name": "GigabitEthernet13",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e1c.f576",
                    "ipAddress": null,
                    "assignedType": "",
                    "type": "DATA"
                },
                {
                    "id": 14,
                    "name": "GigabitEthernet14",
                    "status": "ASSIGNED",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e87.65ca",
                    "ipAddress": "67.223.183.115/31",
                    "assignedType": "conn_l3_sfdc_1(L3-SFDC-DC1)",
                    "type": "DATA"
                },
                {
                    "id": 15,
                    "name": "GigabitEthernet15",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e15.9f7a",
                    "ipAddress": null,
                    "assignedType": "",
                    "type": "DATA"
                },
                {
                    "id": 16,
                    "name": "GigabitEthernet16",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e26.b03a",
                    "ipAddress": null,
                    "assignedType": "",
                    "type": "DATA"
                },
                {
                    "id": 17,
                    "name": "GigabitEthernet17",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e7e.599a",
                    "ipAddress": null,
                    "assignedType": "",
                    "type": "DATA"
                },
                {
                    "id": 18,
                    "name": "GigabitEthernet18",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3eb4.e6d0",
                    "ipAddress": null,
                    "assignedType": "",
                    "type": "DATA"
                },
                {
                    "id": 19,
                    "name": "GigabitEthernet19",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3efa.0151",
                    "ipAddress": null,
                    "assignedType": "",
                    "type": "DATA"
                },
                {
                    "id": 20,
                    "name": "GigabitEthernet20",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e40.ea6c",
                    "ipAddress": null,
                    "assignedType": "",
                    "type": "DATA"
                },
                {
                    "id": 21,
                    "name": "GigabitEthernet21",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3ebc.1fa0",
                    "ipAddress": null,
                    "assignedType": "",
                    "type": "DATA"
                },
                {
                    "id": 22,
                    "name": "GigabitEthernet22",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e69.5fe6",
                    "ipAddress": null,
                    "assignedType": "",
                    "type": "DATA"
                },
                {
                    "id": 23,
                    "name": "GigabitEthernet23",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e9d.f37f",
                    "ipAddress": null,
                    "assignedType": "",
                    "type": "DATA"
                },
                {
                    "id": 24,
                    "name": "GigabitEthernet24",
                    "status": "AVAILABLE",
                    "operationalStatus": "down",
                    "macAddress": "fa16.3e31.4482",
                    "ipAddress": null,
                    "assignedType": "",
                    "type": "DATA"
                }
            ],
            "asn": 1013
        }
       ]
}

 

The description of the response:

Field Name Type Example Values Description
pageSize integer 20 Results per page.
pageNumber integer 5 The page number.
totalCount integer 200 The total count.
content array   An array of virtual device objects.
uuid string ec68e425-f973-452e-a866-76be5844d0ba The unique ID of the virtual device (UUID).
name string Test-device-003-SROY The name of the virtual device.
deviceTypeCode string CSR1000V Device type code.
deviceTypeName string CSR 1000V Device type name.
deviceTypeVendor string Cisco The vendor of the device.
deviceTypeCategory string ROUTER The category of the device.
status string PROVISIONED The status of the device. 
licenseStatus string REGISTERED The status of the license. 
expiry string Never License expiry.
metroCode string DC The metro where the device is located.
metroName string Ashburn The name of the metro.
zoneName string Zone 2 The name of the zone.
zoneCode string Zone2 The zone code.
ibx string DC1 Name of Equinix exchange. One metro may have several exchanges.
region string AMER The region in which the metro is located
throughput integer 500 Throughput of the device
throughputUnit string Mbps Throughput unit.
hostName string TC12 Host name.
packageCode string SEC Software package code.
packageName string Security Software package name.
version string 16.09.02 The version of the software.
licenseType string BYOL The type of the license, BYOL or subscription.
licenseName string Bring Your Own License The name of the license.
licenseFileld string 9125e24a-708b-4c6e-8694-2c3ca727b081 The license file Id. You get a licenseFileId when you upload the license file from your vendor to the Equinix platform.
createdBy string myna Created by.
createdDate string 2019-05-03T03:11:44.127Z Creation date.
lastUpdatedBy string myna Last updated by.
lastUpdatedDate string 2019-05-03T03:11:44.127Z Last update date.
sshIpAddress string 64.191.210.44 SshIpAddress of the device.
deviceSerialNo string 92CONAW32JC The serial number of the device.
sshIpFqdn string myhost-2-44-210-191-64-DC.nfv-uat1.eis.lab.equinix.com SshIpFqdn of the device.
accountNumber string 2252619 Account number.
accountName string nfv-sit1 Account name.
notifications array[] test@equinix.com The list of email addresses that will receive device life-cycle notifications.
purchaseOrderNumber string 3456778 Customer's purchase order number.
redundancyType string PRIMARY Whether this device is primary or secondary. Secondary (HA) devices are redundant devices that ensure high availability. For cluster devices, the redundancy type is CLUSTER. 
redundantUUID string 086d0425-69b7-4c8e-8a29-a3d5a1e543da Unique Id of the redundant device. If this device is primary, then this field will have the unique Id of the secondary (HA) device. Otherwise, if this device is a secondary device, then this will field will have the unique Id of the primary device. 
managementIp string 10.198.251.54/24 Management IP. This optional parameter is relevant for SD-WAN devices. 
managementGatewayIp string 10.198.251.1 Management Gateway IP. This optional parameter is relevant for SD-WAN devices. 
publicIp string 149.97.198.97/31 Public IP. This optional parameter is relevant for SD-WAN devices. 
publicGatewayIp string 149.97.198.96 Public Gateway IP. This optional parameter is relevant for SD-WAN devices. 
primaryDnsName string 4.0.0.53 Primary DNS name. This optional parameter is relevant for SD-WAN devices. 
secondaryDnsName string 129.250.35.250 Secondary DNS name. This optional parameter is relevant for SD-WAN devices. 
termLength integer 24 The length of the contract.
billingCommencementDate string 09/07/2020 21:16:49 Billing commencement date.
additionalBandwidth integer 100 Additional bandwidth in Mbps.
pricingDetails object   An object that has the pricing details of a quote created for Network Edge on Siebel.
termLength string 36 The term length of a quote created for Network Edge on Siebel.
orderNumber string 1-198735018693 The order number of a quote created for Network Edge on Siebel.
core integer 4 The number of cores on a quote created for Network Edge on Siebel.
throughput integer 1 The throughput on a quote created for Network Edge on Siebel.
throughputUnit string Gbps The throughput unit on a quote created for Network Edge on Siebel.
packageCode string AX The software package on a quote created for Network Edge on Siebel.
additionalBandwidth string 100 The additional bandwidth on a quote created for Network Edge on Siebel.
primary object   An object with the pricing details of the primary device. 
charges array   An array with the charges.
description string VIRTUAL_DEVICE The description of the price.
monthlyRecurringCharges string 200 The monthly recurring charges.
currency string USD The currency of the price.
secondary object   An object with the pricing details of the secondary device.
interfaceCount integer 24 The total number of interfaces.
core object   An object with the details of the core.
core integer 2 The number of cores.
memory integer 4 The amount of memory.
unit string GB The unit of memory.
deviceManagementType string EQUINIX-CONFIGURED Whether the device is EQUINIX-CONFIGURED or SELF-CONFIGURED.
vendorConfig object vendorConfig {siteId, systemIpAddress } The vendor config object has parameters that are specific to vendors. A Cisco SD-WAN device will have siteId and systemIpAddress. 
siteId string 567 Site Id. Relevant only for Cisco SD-WAN devices. A siteId is a particular physical location within the Viptela overlay network, such as a branch office, or a campus. 
systemIpAddress string 2.2.2.2 System IP address. Relevant only for Cisco SD-WAN devices. Each CSRSDWAN router and vSmart controller is assigned a system IP address. 
licenseKey string 1404-991d81bb-2567-43e5-a14c-1493ace58046 License key (ION key). Relevant only for CloudGenix devices.
licenseSecret string d29dceeef2d2b494c9eb76937a361890786e609d License secret (Secret key). Relevant only for CloudGenix devices. 
localId string SDWAN-Branch@Versa.com Email address of the branch location. Relevant only for Versa SD-WAN devices.
remoteId string Controller-01-staging@Versa.com Email address of the controller side. Relevant only for Versa SD-WAN devices.
controller1 string 54.219.248.29 Ip address of the SD-WAN controller1. Relevant only for Versa SD-WAN devices.
controller2 string 54.177.220.115 Ip address of the SD-WAN controller2. Relevant only for Versa SD-WAN devices.
userPublicKey object   An object that has the SSH public key details. Relevant only for self-configured devices.
username string test-user1 The SSH username. Relevant only for self-configured devices.
publicKeyName string test-pk-2 The SSH publicKeyName. Relevant only for self-configured devices.
publicKey string ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU\n The SSH publicKey. Relevant only for self-configured devices.
clusterDetails object   An object that has the cluster details. This field is only relevant for cluster devices.
clusterId string 34b7838c-ec82-4166-ac19-efa03b4e34fe The Id of the cluster. This field is only relevant for cluster devices.
clusterName string myClusterDevice The name of the cluster device. This field is only relevant for cluster devices.
numOfNodes integer 2 The number of nodes in the cluster. This field is only relevant for cluster devices.
adminPwd   ZQelDI7sUd The administrative password of the cluster device is autogenerated by the system. You can change the password and use it to have console access. This field is only relevant for cluster devices.
nodes array   An array that has the cluster nodes. This field is only relevant for cluster devices.
name string myClusterDevice-Node0 The name of the node. This field is only relevant for cluster devices.
uuid string 34b7838c-ec82-4166-ac19-efa03b4e34fe The unique Id of the node. This field is only relevant for cluster devices.
node integer 0 The sequence number of the node. This field is only relevant for cluster devices.
serialNumber string 4545454 The customer selects a serial number when setting up the device template on Versa director. Relevant only for Versa SD-WAN devices. 
interfaces array[object]   An array of interface objects. 
id integer 1 The Id of the interface.
name string GigabitEthernet1 The name of the interface.
status string AVAILABLE Status of the interface, whether it is AVAILABLE, RESERVED, or ASSIGNED. Assigned interfaces are already in use. Reserved interfaces can only be used to bring your own connection (BYOC) from your Network Service Providers. 
operationStatus string down The operation status of the interface, whether it is up or not.
macAddress string fa16.3e1c.a8d8 Media access control address. It is the hardware identification number that uniquely identifies each device on a network. 
ipAddress string 2.2.2.2 Ip address.
assignedType string Equinix Managed Equinix managed interfaces are not available to create connections. 
type string MGMT The type of interface.
asn integer 1029 Global ASN of the device.

 

If you get “Access Denied” error, contact your local Equinix Service Desk for Portal access.

POST A License File After Creating a Virtual Device (BYOL)

POST /ne/v1/device/license/file/{uuid}

 Method  POST
 URL or End Point  /ne/v1/device/license/file/{uuid}
 Headers  Authorization, Content-Type
 Path Parameter  UUID
 Form Data  file

 

Re-posts a license file in case a provisioned device experiences a license registration failure (REGISTRATION_FAILED). For HA devices, you must upload two license files, once for each device.

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Sample curl request:

curl -X

POST "https://api.equinix.com/ne/v1/device/license/file/299ad92a-70ed-4410-91b1-bb99dbb7b9ad"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-H "content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW" 
-F "file=@C:\Users\sroy\Desktop\Documents-equinix\licenseFile.lic"

 

Path parameter:

Path Parameter Name Mandatory Type Example Applicable Values Description
UUID Yes string ef673cd4-9fc2-4ab4-810e-7274aaf7bc2d

 

Unique ID of a virtual device.

 

Form Parameter Name Mandatory Type Example Applicable Values Description
formData Yes file sroyt.lic   License file.
 

 

Sample response:

{
    "fileId": "469240e0-7376-49ce-90ea-8d254b69d2bd"
}

 

The description of the response payload:

Field Type Example Values Description
fileId string 6651aef5-e738-411f-8675-5f6b7b9cd429 File Id

 

If you get an “Access Denied” error, contact your local Equinix Service Desk for Equinix Cloud Exchange Fabric Portal access.

POST A License Token/Code/ID (BYOL)

POST /ne/v1/device/license/{virtualDeviceUUID}

 Method  POST
 URL or End Point  /ne/v1/device/license/{virtualDeviceUUID}
 Headers  Authorization, Content-Type
 Path Parameter  virtualDeviceUUID
 Body Parameter  token

 

Updates a license token/code/ID in case your license fails to register (REGISTRATION_FAILED) at the time of device creation. This API primarily addresses Cisco and Palo Alto devices that require a token to BYOL (bring your own license).

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Curl request:

curl -X

POST "https://api.equinix.com/ne/v1/device/license/9a47a75e-164b-4c1c-8678-7b3605d4dd32"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d "{
"token": "V74191621"
}"

 

Path parameter:

Path Parameter Name Mandatory Type Example Applicable Values Description
VirtualDeviceUUID Yes string 9a47a75e-164b-4c1c-8678-7b3605d4dd32

 

UUID of virtual device
 

 

Body parameter:

Body Parameter Name Mandatory Type Example Applicable Values Description
token Yes string V74191621   License token/Code/ID. This field must have 8 alphanumeric characters.

 

Sample response:

202 Accepted

 

The description of the response payload:

HTTP status Type Example Values Description
202 Accepted     Token/code/ID was accepted. 

 

If you get “Access Denied” error, contact your local Equinix Service Desk for Equinix Cloud Exchange Fabric Portal access.

GET Virtual Device {UUID}

GET /ne/v1/device/{uuid}

 Method  GET
 URL or End Point  /ne/v1/device/{uuid}
 Headers  Authorization, Content-Type
 Path Parameter  UUID
 Body  Not applicable

 

Returns the details of a virtual device on the Network Edge platform by its unique Id (UUID).

 

To retrieve a draft, provide the unique Id of the draft (draftUUID).

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Sample curl request:

curl -X

GET "https://api.equinix.com/ne/v1/device/01425e3b-0e37-4539-af09-5b26cb9bad18"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Path parameter:

Path Parameter Name Mandatory Type Example Applicable Values Description
UUID Yes string ec68e425-f973-452e-a866-76be5844d0ba   Unique ID of the virtual device. To retrieve a draft, provide the unique Id of the draft (draftUUID).

 

Sample response: 

{
    "uuid": "f7cb93ac-df6d-4df4-92c2-557d36664341",
    "name": "Test_device#2",
    "deviceTypeCode": "CSR1000V",
    "deviceTypeName": "CSR 1000V",
    "deviceTypeVendor": "Cisco",
    "deviceTypeCategory": "ROUTER",
    "status": "PROVISIONED",
    "licenseStatus": "REGISTERED",
    "metroCode": "DC",
    "metroName": "Ashburn",

    "zoneCode": "Zone2",

    "zoneName": "Zone 2",

    "ibx": "DC11",
    "region": "AMER",
    "throughput": "500",
    "throughputUnit": "Mbps",
    "hostName": "TestDevice",
    "packageCode": "APPX",
    "packageName": "AppX",
    "version": "16.09.03",
    "licenseType": "Sub",
    "licenseName": "Subscription",
    "createdBy": "nfvsit01",
    "createdDate": "2020-09-08T17:30:12.392Z",
    "lastUpdatedBy": "nfvsit01",
    "lastUpdatedDate": "2020-09-08T17:41:19.005Z",
    "acl": [],
    "sshIpAddress": "64.191.210.254",
    "deviceSerialNo": "9U8K0JYXT6W",
    "sshIpFqdn": "TestDevice-254-210-191-64-DC.nfv-uat1.eis.lab.equinix.com",
    "accountNumber": "200541",
    "accountName": "nfv-sit1",
    "notifications": [
        "test@test.com"
    ],
    "deviceOrderNumber": "1-198877551881",
    "redundancyType": "PRIMARY",
    "termLength": 1,
    "billingCommencementDate": "09/22/2020 17:31:14",
    "additionalBandwidth": 0,
    "orderingContact": {
        "username": "nfvsit01",
        "email": "kkolla@equinix.com",
        "firstName": "nfvsit01",
        "lastName": "nfvsit01"
    },
    "interfaceCount": 10,
    "core": {
        "core": 2,
        "memory": 4,
        "unit": "GB"
    },
    "deviceManagementType": "EQUINIX-CONFIGURED",
    "networkScope": "DEVICE",
    "interfaces": [
        {
            "id": 1,
            "name": "GigabitEthernet1",
            "status": null,
            "operationalStatus": null,
            "macAddress": null,
            "ipAddress": null,
            "assignedType": "Equinix Managed",
            "type": "MGMT"
        },
        {
            "id": 2,
            "name": "GigabitEthernet2",
            "status": null,
            "operationalStatus": null,
            "macAddress": null,
            "ipAddress": null,
            "assignedType": "Equinix Managed",
            "type": "SSH"
        },
        {
            "id": 3,
            "name": "GigabitEthernet3",
            "status": "RESERVED",
            "operationalStatus": "down",
            "macAddress": "fa16.3ec5.ae7e",
            "ipAddress": null,
            "assignedType": "Connection to Network Service Provider",
            "type": "DATA"
        },
        {
            "id": 4,
            "name": "GigabitEthernet4",
            "status": "AVAILABLE",
            "operationalStatus": "down",
            "macAddress": "fa16.3eef.ae56",
            "ipAddress": null,
            "assignedType": "",
            "type": "DATA"
        },
        {
            "id": 5,
            "name": "GigabitEthernet5",
            "status": "AVAILABLE",
            "operationalStatus": "down",
            "macAddress": "fa16.3e03.ee0b",
            "ipAddress": null,
            "assignedType": "",
            "type": "DATA"
        },
        {
            "id": 6,
            "name": "GigabitEthernet6",
            "status": "AVAILABLE",
            "operationalStatus": "down",
            "macAddress": "fa16.3ea3.bee5",
            "ipAddress": null,
            "assignedType": "",
            "type": "DATA"
        },
        {
            "id": 7,
            "name": "GigabitEthernet7",
            "status": "AVAILABLE",
            "operationalStatus": "down",
            "macAddress": "fa16.3eb6.86f0",
            "ipAddress": null,
            "assignedType": "",
            "type": "DATA"
        },
        {
            "id": 8,
            "name": "GigabitEthernet8",
            "status": "AVAILABLE",
            "operationalStatus": "down",
            "macAddress": "fa16.3e48.4c07",
            "ipAddress": null,
            "assignedType": "",
            "type": "DATA"
        },
        {
            "id": 9,
            "name": "GigabitEthernet9",
            "status": "AVAILABLE",
            "operationalStatus": "down",
            "macAddress": "fa16.3eca.19fc",
            "ipAddress": null,
            "assignedType": "",
            "type": "DATA"
        },
        {
            "id": 10,
            "name": "GigabitEthernet10",
            "status": "ASSIGNED",
            "operationalStatus": "down",
            "macAddress": "fa16.3e94.1577",
            "ipAddress": null,
            "assignedType": "test_approval_vikrant(nfv-sp-DC1)",
            "type": "DATA"
        }
    ],
}

 

The description of the response:

Field Name Type Example Values Description
uuid string ec68e425-f973-452e-a866-76be5844d0ba Unique ID of the virtual device (UUID).
name string Test-device-003-SROY Name of the virtual device.
deviceTypeCode string CSR1000V Device type code.
deviceTypeName string CSR 1000V Device type name.
deviceTypeVendor string Cisco Vendor of the device.
deviceTypeCategory string ROUTER Category of the device.
status string PROVISIONED Status of the device. 
licenseStatus string REGISTERED Status of the license. 
metroCode string DC Metro where the device is located.
metroName string Ashburn Metro name.
zoneName string Zone 2 The name of the zone.
zoneCode string Zone2 The zone code.
ibx string DC1 Name of the Equinix exchange. A metro location may have several exchanges. 
region string AMER The region in which the metro is located
throughput integer 500 Throughput of the device
throughputUnit string Mbps Throughput unit.
hostName string TC12 Host name.
packageCode string SEC Software package code.
packageName string Security Software package name.
version string 16.09.02 Version of the software.
licenseType string BYOL Type of license, whether BYOL or subscription.
licenseName string Bring Your Own License Name of license.
licenseFileld string 9125e24a-708b-4c6e-8694-2c3ca727b081 License file Id. You get a licenseFileId when you upload a license file from your vendor to Equinix.
createdBy string myna Created by.
createdDate string 2019-05-03T03:11:44.127Z Creation date.
lastUpdatedBy string myna Last updated by.
lastUpdatedDate string 2019-05-03T03:11:44.127Z Last update date.
acl array[] acl [14.2.2.10] Access control list. These IP addresses can access the device.
sshIpAddress string 101.97.33.201 Ip Address of the device. 
deviceSerialNo string 92CONAW32JC The serial number of the device.
sshIpFqdn string

testhost-201-33-97-101-SY.eis.lab.equinix.com

The fully qualified domain name of the device. 
accountNumber string 2252619 Account number.
accountName string nfv-sit1 Account name.
notifications array[] test@equinix.com List of email addresses that will receive notifications.
purchaseOrderNumber string 3456778 Customer's purchase order number.
redundancyType string PRIMARY Whether this device is primary or secondary. Secondary (HA) devices are redundant devices that ensure high availability.
redundantUUID string 086d0425-69b7-4c8e-8a29-a3d5a1e543da Unique Id of the redundant device. If this device is primary, then this field will have the unique Id of the secondary (HA) device. Otherwise, if this device is a secondary device, then this will field will have the unique Id of the primary device. 
managementIp string 10.198.251.54/24 Management IP. This is an optional parameter relevant for SDWAN devices. 
managementGatewayIp string 10.198.251.1 Management Gateway IP. This is an optional parameter relevant for SDWAN devices. 
publicIp string 149.97.198.97/31 Public IP. This is an optional parameter relevant for SDWAN devices. 
publicGatewayIp string 149.97.198.96 Public Gateway IP. This is an optional parameter relevant for SDWAN devices. 
primaryDnsName string 4.0.0.53 Primary DNS name. This is an optional parameter relevant for SDWAN devices. 
secondaryDnsName string 129.250.35.250 Secondary DNS name. This is an optional parameter relevant for SDWAN devices. 
termLength integer 24 The term length of the contract.
billingCommencementDate string 09/07/2020 21:16:49 Billing commencement date.
additionalBandwidth integer 100 Additional bandwidth in Mbps.
pricingDetails object   An object that has the pricing details of a quote created for Network Edge on Siebel.
termLength string 36 The term length of a quote created for Network Edge on Siebel.
orderNumber string 1-198735018693 The order number of a quote created for Network Edge on Siebel.
core integer 4 The number of cores on a quote created for Network Edge on Siebel.
throughput integer 1 The throughput on a quote created for Network Edge on Siebel.
throughputUnit string Gbps The throughput unit on a quote created for Network Edge on Siebel.
packageCode string AX The software package on a quote created for Network Edge on Siebel.
additionalBandwidth string 100 The additional bandwidth on a quote created for Network Edge on Siebel.
primary object   An object with the pricing details of the primary device. 
charges array   An array with all the charges.
description string VIRTUAL_DEVICE The description of the price.
monthlyRecurringCharges string 200 The monthly recurring charges.
currency string USD The currency of the price.
secondary object   An object with the pricing details of the secondary device.
interfaceCount integer 24 The total number of interfaces.
core object   An object with the details of the core.
core integer 2 The number of cores.
memory integer 4 The amount of memory.
unit string GB The unit of memory.
deviceManagementType string EQUINIX-CONFIGURED Whether the device is EQUINIX-CONFIGURED or SELF-CONFIGURED.
vendorConfig object vendorConfig {siteId, systemIpAddress } The vendor config object has parameters that are specific to vendors. A Cisco SD-WAN device will have siteId and systemIpAddress. 
siteId string 567 Site Id. Relevant only for Cisco SD-WAN devices. A siteId is a particular physical location within the Viptela overlay network, such as a branch office, or a campus. 
systemIpAddress string 2.2.2.2 System IP address. Relevant only for Cisco SD-WAN devices. Each CSRSDWAN router and vSmart controller is assigned a system IP address. 
licenseKey string 1404-991d81bb-2567-43e5-a14c-1493ace58046 License key (ION key). Relevant only for CloudGenix devices.
licenseSecret string d29dceeef2d2b494c9eb76937a361890786e609d License secret (Secret key). Relevant only for CloudGenix devices. 
localId string SDWAN-Branch@Versa.com Email address of the branch location. Relevant only for Versa SD-WAN devices.
remoteId string Controller-01-staging@Versa.com Email address of the controller side. Relevant only for Versa SD-WAN devices.
controller1 string 54.219.248.29 Ip address of the SD-WAN controller1. Relevant only for Versa SD-WAN devices.
controller2 string 54.177.220.115 Ip address of the SD-WAN controller2. Relevant only for Versa SD-WAN devices.
userPublicKey object   An object that has the SSH public key details. Relevant only for self-configured devices.
username string test-user1 The SSH username. Relevant only for self-configured devices.
publicKeyName string test-pk-2 The SSH publicKeyName. Relevant only for self-configured devices.
publicKey string ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU\n The SSH publicKey. Relevant only for self-configured devices.
clusterDetails object   An object that has the cluster details. This field is only relevant for cluster devices.
clusterId string 34b7838c-ec82-4166-ac19-efa03b4e34fe The Id of the cluster. This field is only relevant for cluster devices.
clusterName string myClusterDevice The name of the cluster device. This field is only relevant for cluster devices.
numOfNodes integer 2 The number of nodes in the cluster. This field is only relevant for cluster devices.
adminPwd   ZQelDI7sUd The administrative password of the cluster device. This field is only relevant for cluster devices.
nodes array   An array that has the cluster nodes. This field is only relevant for cluster devices.
name string myClusterDevice-Node0 The name of the node. This field is only relevant for cluster devices.
uuid string 34b7838c-ec82-4166-ac19-efa03b4e34fe The unique Id of the node. This field is only relevant for cluster devices.
node integer 0 The sequence number of the node. This field is only relevant for cluster devices.
serialNumber string 4545454 The customer selects a serial number when setting up the device template on Versa director. Relevant only for Versa SD-WAN devices. 
interfaces array[object]   An array of interface objects. 
id integer 1 Id of the interface.
name string GigabitEthernet1 Name of the interface.
status string AVAILABLE Status of the interface, whether it is AVAILABLE, RESERVED, or ASSIGNED. Assigned interfaces are already in use. Reserved interfaces can only be used to bring your own connection (BYOC) from your Network Service Providers. 
operationStatus string down Operation status of the interface, whether it is up or down.
macAddress string fa16.3e1c.a8d8 Media access control address. It is the hardware identification number that uniquely identifies each device on a network. 
ipAddress string 2.2.2.2 Ip address.
assignedType string Equinix Managed Equinix managed interfaces are not available to create connections. 
type string MGMT The type of interface.
asn integer 1029 Global ASN of the device.

 

If you get “Access Denied” error, contact your local Equinix Service Desk for Portal access.

DELETE Virtual Device {UUID}

DELETE /ne/v1/device/{uuid}

 Method  DELETE
 URL or End Point  /ne/v1/device/{uuid}
 Headers  Authorization, Content-Type
 Query Parameter  deleteRedundantDevice
 Path Parameter  uuid
 Body  deactivationKey

 

Deletes a virtual device on the Equinix platform. For some devices, like Cisco CSR1000V, you only need to pass the device UUID as a path parameter and for others, like Palo Alto devices, you must also provide a deactivation key as a body parameter. 

For HA devices, the deleteRedundantDevice query parameter must be marked "True" so Equinix deletes both devices simultaneously.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Sample curl request to delete a Palo Alto device. 

curl -X

DELETE "https://api.equinix.com/ne/v1/device/5f888d91-d2c5-45bb-9b51-fed99f57f0ac?deleteRedundantDevice=True"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{
  "deactivationKey": "9dfbd5ba4721345d9e660143713cc34762af140533e2c1de0111d3451d17eefd",
  "secondary": {
    "deactivationKey": "9dfbd5ba4721345d9e660143713cc34762af140533e2c1de0111d3451d17eefd"
  }
}'

 

Sample curl request to delete a Cisco device. 

curl -X

DELETE "https://api.equinix.com/ne/v1/device/6f888d91-d2c5-45bb-9b51-fed99f57f0ac?deleteRedundantDevice=True"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Path parameter:

Path Parameter Name Mandatory Type Example Applicable Values Description
UUID Yes string 5f888d91-d2c5-45bb-9b51-fed99f57f0ac   Unique ID of the virtual device.

 

Query parameter:

Query Parameter Name Mandatory Type Example Applicable Values Description
deleteRedundantDevice No Boolean True   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.

 

Body parameter:

Body Parameter Name Mandatory Type Example Applicable Values Description
deactivationKey No string

8dfbd5ba3610234d9e550032603cc34762af1

40533e2c1de0111d3451d16eefd

  Some devices, e.g. Palo Alto devices, require a mandatory deactivation key for Equinix to successfully process the request. 
 
secondary No object     Object that holds the secondary deactivation key for HA (high availability) devices. 

 

Sample response: 

204 No Content : Deletion request accepted.

 

The description of the response is as follows:

HTTP status Description
204 No Content Deletion request successfully accepted.

 

If you get “Access Denied” error, contact your local Equinix Service Desk for Portal access.

PUT Device Draft {UUID}

PUT /ne/v1/device/{UUID}

 Method  PUT
 URL or End Point  /ne/v1/device/{uuid}
 Headers  Authorization, Content-Type
 Query Parameters  draft
 Path Parameters  uuid
 Body Parameters

 additionalBandwidth, deviceTypeCode, hostNamePrefix, licenseFileId, licenseKey, licenseMode, licenseSecret, licenseToken, metroCode, 

 notifications[...], packageCode, siteId, sshUsers[sshUserUuid, action, sshUsername, sshPassword], systemIpAddress, termLength,

 throughput, throughputUnit, virtualDeviceName,   acl[...], accountNumber, accountReferenceId, 

 purchaseOrderNumber, secondary   {accountNumber, accountReferenceId, acl[...], additionalBandwidth, licenseFileId, licenseKey, licenseSecret,

 licenseToken, metroCode, notifications[...], siteId, 

 sshUsers[{sshUserUuid, action, sshUsername, sshPassword}], systemIpAddress, virtualDeviceName"}

 

Updates a draft device. 

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Sample curl request (non-HA device):

curl -X

PUT "https://api.equinix.com/ne/v1/device/fa02d9df-75c2-4763-b9f7-89a06bf6376a?draft=true"
-H "content-type: application/json"
-H "Authorization: Bearer jnSoUKaJHpzMnU0toROpUHmqnwEP"
-d '{
  "additionalBandwidth": 100,
  "deviceTypeCode": "CSR1000V",
  "hostNamePrefix": "myhostSR",
  "licenseToken": "ZTRjZTdlYmYtZjQ3Zi00MGI5LWJhMjMtNjQ0MWZiZWNhZWEyLTE1OTQ5NjU2%0ANzQwMTV8VFh5NDVZRFcvVHhid0NPTFFER0Y3K1BZSHp4WVFhRlFEcDNJenRt%0AaU1Qdz0%3D%0A",
  "licenseMode": "BYOL",
  "metroCode": "DC",
  "notifications": [
    "test1@example.com"
  ],
  "packageCode": "IPBASE",
  "sshUsers": [
    {
      "sshUserUuid": "",
      "action": "CREATE",
      "sshUsername": "cust0001_DC",
      "sshPassword": "projPass"
    }
  ],
  "termLength": 1,
  "throughput": 500,
  "throughputUnit": "Mbps",
  "virtualDeviceName": "Router1-csr1000v",
  "acl": [
    "192.168.1.1/29"
  ],
  "accountNumber": "708979",
  "purchaseOrderNumber": "123456"
}'

 

 

Query parameter:

Query Parameter Name Mandatory Type Example Possible Values Description
draft Yes boolean True True To save a draft, set draft=true. You cannot create/update a provisioned device using this API. You must provide deviceTypeCode, accountNumber/accountReferenceId, and metroCode to save a draft. SshUsers and licenseFileId information will not be saved for drafts. Also, this API will not do access control list validation when you save a draft. 

 

Path parameter:

Path Parameter Name Mandatory Type Example Possible Values Description
uuid Yes string ec68e425-f973-452e-a866-76be5844d0ba   The unique Id of the draft (draftUUID). 

 

Body parameters:

Body Parameter Name Mandatory Type Example Possible Values Description
additionalBandwidth No integer 100   Additional bandwidth. You may have a different additional bandwidth for your secondary device, in case you have a secondary device for high availability.
deviceTypeCode Yes string CSR1000V

 

Virtual device type (device type code).
hostNamePrefix No string mySE   Host name prefix. This gets included as part of an FQDN that ensures that the device is reachable from approved sources, if desired. 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 a minimum of 2 and a maximum of 10 characters long. 
licenseFileID No string 6651aef5-e738-411f-8675-5f6b7b9cd429   License file Id is mandatory for some vendors-devices. If you select a subscription license model (SUB), then you do not need to provide a licenseFileId. For Juniper HA devices, you may use the same license file for both the devices. 
licenseKey No string 6735-vwe64568-6a91-4112-8734-bea12d91f7y7   License key (primarily for CloudGenix SDWAN devices).
licenseMode No string BYOL BYOL, SUB License type. One of SUB (subscription) or BYOL (bring your own license) from your vendor. 
licenseSecret No string h5j0i45e83324pblbfca764532c4a640e7801f0   License secret (primarily for CloudGenix SDWAN devices).
licenseToken No string V74191621   License token is mandatory for some vendor-devices that provide/accept a license token. It is not mandatory for Cisco BYOL devices. You do not need to provide a license token if you want a subscription model or if your vendor provides license files. 
metroCode Yes string  SV   Metro code. You do not need to provide two different metros for your HA device that has a secondary device for high availability, but you may if you want to.
notifications No array [test1@example.com]   Email addresses for notification. We need a minimum of 1 and no more than 5 email addresses. You may have a different notification list for your HA device that has a secondary device for high availability. 
packageCode No string VM100   Software package code.
siteId No string     Site Id. A siteId is a particular physical location within the Viptela overlay network, such as a branch office or a campus.
sshUsers No array[object] [{
        "sshUserUuid": "",
        "action": "CREATE",
        "sshUsername": "cust00011_DCT",
        "sshPassword": "projPass!"
      }]
  SSH users. You may have two distinct sets of ssh users in case you have an HA device with a secondary device for high availability. 
sshUserUuid No string ef673cd4-9fc2-4ab4-810e-7274aaf7bc2d   Required for DELETE, REUSE operations. In case you want to REUSE an existing user, please provide the unique Id of the user. 
action No string CREATE CREATE, DELETE, REUSE Action to be performed, whether you want to create a new user, delete a user, or reuse a user. 
sshUsername No string cust00011_DCT   SSH username.
sshPassword No string projPass!   SSH user password. 
systemIpAddress No string 192.168.1.5   System Ip Address. Mandatory for Cisco SDWAN devices. Each vEdge router and vSmart controller is assigned a system IP address. It should be in decimal four-part dotted notation, just like IPv4 address. 
termLength No integer 12   Billing term length in months.
throughput No integer 500   Throughput of the device.
throughputUnit No string Mbps   Throughput unit.
virtualDeviceName No string CiscoSTROY   Virtual device name for identification. This should be a minimum of 3 and a maximum of 50 characters long. 
acl No array[string] ["192.168.10.0/24"]   IP addresses, no more than 50, in CIDR format. You may have two distinct sets of ACLs in case you have an HA device with a secondary device for high availability.  
accountNumber No string 10478397

 

Account number. Either an account number or an account referenceId is required to create a draft device. 
accountReferenceId No string 791281   Account reference Id. This is a temporary ID that can be used to create a draft device when your account is still pending, not active. Either an account number or an account referenceId is required to create a draft device. 
purchaseOrderNumber No string 3456789   Purchase order number. Optional field that customers can use to track this device creation to their own purchase order number. 
secondary No object secondary{}   An object containing the optional HA device details to create a secondary device for high availability. 

 

Sample response (non-HA device).

204

 

The description of the response payload:

HTTP status Description
204 Request accepted.

 

 

Query the details of a draft by making a GET call to /ne/v1/device/{uuid}. You can delete a draft by making a DEL call to /ne/v1/device/{uuid}

GET Virtual Device Interfaces {UUID}

GET /ne/v1/device/{uuid}/interfaces

 Method  GET
 URL or End Point  /ne/v1/device/{uuid}/interfaces
 Headers  Authorization, Content-Type
 Path Parameter  UUID
 Body  Not applicable

 

Returns the status of the interfaces of a device.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Sample curl request: 

curl -X

GET "https://api.equinix.com/ne/v1/device/ec68e425-f973-452e-a866-76be5844d0ba/interfaces"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Path Parameter Name Mandatory Type Example Applicable Values Description
UUID Yes string ec68e425-f973-452e-a866-76be5844d0ba   Unique ID of a virtual device. 

 

Sample response: 

[

    {

        "id": 1,

        "name": "fxp0",

        "status": null,

        "operationalStatus": null,

        "macAddress": null,

        "ipAddress": null,

        "assignedType": "Equinix Managed",

        "type": "MGMT"

    },

    {

        "id": 2,

        "name": "ge-0/0/0",

        "status": null,

        "operationalStatus": null,

        "macAddress": null,

        "ipAddress": null,

        "assignedType": "Equinix Managed",

        "type": "SSH"

    },

    {

        "id": 3,

        "name": "ge-0/0/1",

        "status": "RESERVED",

        "operationalStatus": "up",

        "macAddress": "fa:16:3e:06:93:69",

        "ipAddress": null,

        "assignedType": "Connection to Network Service Provider",

        "type": "DATA"

    },

    {

        "id": 4,

        "name": "ge-0/0/2",

        "status": "AVAILABLE",

        "operationalStatus": "up",

        "macAddress": "fa:16:3e:e2:32:96",

        "ipAddress": null,

        "assignedType": "",

        "type": "DATA"

    },

    {

        "id": 5,

        "name": "ge-0/0/3",

        "status": "AVAILABLE",

        "operationalStatus": "up",

        "macAddress": "fa:16:3e:31:b3:01",

        "ipAddress": null,

        "assignedType": "",

        "type": "DATA"

    },

    {

        "id": 6,

        "name": "ge-0/0/4",

        "status": "AVAILABLE",

        "operationalStatus": "up",

        "macAddress": "fa:16:3e:42:a7:60",

        "ipAddress": null,

        "assignedType": "",

        "type": "DATA"

    },

    {

        "id": 7,

        "name": "ge-0/0/5",

        "status": "AVAILABLE",

        "operationalStatus": "up",

        "macAddress": "fa:16:3e:d8:4c:cc",

        "ipAddress": null,

        "assignedType": "",

        "type": "DATA"

    },

    {

        "id": 8,

        "name": "ge-0/0/6",

        "status": "AVAILABLE",

        "operationalStatus": "up",

        "macAddress": "fa:16:3e:5d:12:f8",

        "ipAddress": null,

        "assignedType": "",

        "type": "DATA"

    },

    {

        "id": 9,

        "name": "ge-0/0/7",

        "status": "AVAILABLE",

        "operationalStatus": "up",

        "macAddress": "fa:16:3e:07:f5:9f",

        "ipAddress": null,

        "assignedType": "",

        "type": "DATA"

    },

    {

        "id": 10,

        "name": "ge-0/0/8",

        "status": "AVAILABLE",

        "operationalStatus": "up",

        "macAddress": "fa:16:3e:63:f1:51",

        "ipAddress": null,

        "assignedType": "",

        "type": "DATA"

    }

]

 

 

The description of the response:

Field Name Type Example Values Possible Values Description
id string 10   Id of an interface.
ipv4Mask string 255.255.255.0   ipv4Mask of the interface.
ipv4Subnet string 192.168.0.5   ipv4Subnet of the interface.
name string ethernet1/9   Name of the interface.
status string AVAILABLE AVAILABLE, ASSIGNED, RESERVED Assigned interfaces are already in use. Reserved interfaces can only be used to bring your connection (BYOC) from your Network Service Provider. 
operationalStatus string down up, down Operational status of the interface, whether it is up or down.
macAddress string fa:16:3e:5f:41:06   Media access control address. 
ipAddress string     Ip address.
assignedType string test(AWS Direct Connect)   This field has the connection name and the service profile of the connection in brackets.
type string Data   Type of interface.
asn integer 1029   ASN number.

 

If you get “Access Denied” error, contact your local Equinix Service Desk for Portal access.

PATCH Virtual Device {uuid}

PATCH /ne/v1/device/{UUID}

 Method  PATCH
 URL or End Point  /ne/v1/device/{uuid}
 Headers  Authorization, Content-Type
 Path Parameters  uuid
 Body Parameters

 notifications[...], termLength, virtualDeviceName

 

Updates the name, term length, and notification list of a virtual device.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Sample curl request:

curl -X

PATCH "https://api.equinix.com/ne/v1/device/fa02d9df-75c2-4763-b9f7-89a06bf6376a"
-H "content-type: application/json"
-H "Authorization: Bearer jnSoUKaJHpzMnU0toROpUHmqnwEP"
-d '{

  "notifications": [

    "test@equinix.com"

  ],

  "termLength": 12,

  "virtualDeviceName": "Auto_SROY_11-21"

}

'

 

Path parameter:

Path Parameter Name Mandatory Type Example Possible Values Description
uuid Yes string ec68e425-f973-452e-a866-76be5844d0ba   The unique Id of the device. 

 

Body parameters:

Body Parameter Name Mandatory Type Example Possible Values Description
notifications No array [test1@example.com]   Email addresses for device life-cycle notifications. Equinix needs a minimum of 1 and no more than 5 email addresses. You may have a different notification list for your HA device that has a secondary device for high availability. 
termLength No integer 4   Term length in months. You cannot downgrade the term length.
virtualDeviceName No string CiscoSTROY   Virtual device name. This should be a minimum of 3 and a maximum of 50 characters. 

 

Sample response for a non-HA device.

204

 

Description of the response payload:

HTTP status Description
204 Request fulfilled.

DELETE Device ACL Template {UUID}

DELETE /ne/v1/device/acl-template/{uuid}

 Method  DELETE
 URL or End Point  /ne/v1/device/acl-template/{uuid}
 Headers  Authorization, Content-Type
 Query Parameter  accountUcmId
 Path Parameter  uuid

 

Deletes a device ACL template.  

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Sample curl request. 

curl -X

DELETE "https://api.equinix.com/ne/v1/device/acl-template/5f888d91-d2c5-45bb-9b51-fed99f57f0ac"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

 

Path parameter:

Path Parameter Name Mandatory Type Example Applicable Values Description
UUID Yes string 5f888d91-d2c5-45bb-9b51-fed99f57f0ac   The unique ID of the ACL template.

 

Query parameter:

Query Parameter Name Mandatory Type Example Applicable Values Description
accountUcmId No   True   The unique Id of the account. A reseller deleting a customer's template can pass the accountUcmId of the customer's account. 

 

Sample response: 

204 No Content: Deletion request accepted.

 

The description of the response is as follows:

HTTP status Description
204 No Content The deletion request was successfully accepted.

 

If you get “Access Denied” error, contact your local Equinix Service Desk for Portal access.

GET Device ACL Template {uuid}

GET /ne/v1/device/acl-template/{uuid}

 Method  GET
 URL or End Point  /ne/v1/device/acl-template/{uuid}
 Headers  Authorization, Content-Type
 Path Parameter  uuid
 Query Parameter  accountUcmId
 Body  Not applicable

 

Returns the details of a device ACL template.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Sample curl request: 

curl -X

GET "https://api.equinix.com/ne/v1/device/acl-template/6953b3d7-713d-4412-b6d7-0c5fc5e2a800"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Path parameter:

Path Parameter Name Mandatory Type Example Applicable Values Description
uuid Yes string 6953b3d7-713d-4412-b6d7-0c5fc5e2a800   The unique Id the Device ACL Template.  

 

 

Query parameter:

Query Parameter Name Mandatory Type Example Applicable Values Description
accountUcmId No string 678907   The unique Id of the account. A reseller querying for a customer's device ACLs can input the accountUcmId of the customer's account. To find out the accountUcmId of your customer's account, please check the Equinix account creation portal (ECP) or call Get Account {metro}.   

 

Sample response: 

{
    "name": "ACL_Template_1",
    "uuid": "6953b3d7-713d-4412-b6d7-0c5fc5e2a800",
    "description": "ACL_Template_1",
    "inboundRules": [
        {
            "srcType": "DOMAIN",
            "seqNo": 1,
            "fqdn": "equinix.com",
            "subnets": [
                "216.221.225.13/32"
            ],
            "protocol": "TCP",
            "srcPort": "any",
            "dstPort": "any"
        }
    ],
    "metroName": "Silicon Valley",
    "metroCode": "SV",
    "virtualDeviceName": "Test Tanuja",
    "virtualDeviceUUID": "55c1345f-fa59-4e39-813c-1a439a426ac3",
    "deviceAclstatus": "PROVISIONING",
    "createdBy": "nfvsit01",
    "createdDate": "2020-10-03T19:41:17.976Z"
}

 

The description of the response:

Field Name Type Example Values Description
name string new-template-with-fqdn The ACL template name.
uuid string ec68e425-f973-452e-a866-76be5844d0ba The unique ID of the ACL template.
description string New template description. The ACL template description.
inboundRules array   An array that has inboundRules. 
srcType string DOMAIN Source type description.
seqNo integer 1 The sequence number of inboundRules.
fqdn string equinix.com FQDN.
subnets array 216.221.225.13/32 An array of subnets.
protocol string SSH Protocol type.
srcPort string 22 Source port.
dstPort string any Destination port.
metroName string Ashburn The name of the metro.
metroCode string DC The metro code.
virtualDeviceName string Test Device The name of the virtual device associated with this ACL template.
virtualDeviceUUID string 55c1345f-fa59-4e39-813c-1a439a426ac3 The unique Id of the device associated with this ACL template.
deviceACLstatus string PROVISIONING The device ACL status.
createdBy string nfv-sit1 Created by.
createdDate string 2020-09-14T05:36:13:9812 Created date.

 

If you get “Access Denied” error, contact your local Equinix Service Desk for Portal access.

GET Device ACL Templates

GET /ne/v1/device/acl-template

 Method  GET
 URL or End Point  /ne/v1/device/acl-template
 Headers  Authorization, Content-Type
 Query Parameters  pageNumber, size, accountUcmId
 Body  Not applicable

 

Returns the details of device ACL templates.

 

To obtain an authorization key, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Sample curl request: 

curl -X

GET "https://api.equinix.com/ne/v1/device/acl-template"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

 

Query parameters:

Query Parameter Name Mandatory Type Example Applicable Values Description
pageNumber No string 1   Page number. Default value=1
size No string 100   Results per page. Default value=100
accountUcmId No string 678907   The unique Id of the account. A reseller querying for a customer's device ACLs can input the accountUcmId of the customer's account. To find out the accountUcmId of your customer's account, please check the Equinix account creation portal (ECP) or call Get account API.   

 

Sample response: 

{
    "totalCount": 1,
    "pageNumber": 0,
    "pageSize": 1,
    "content": [
        {
            "name": "new-tempalate-with-fqdn2",
            "uuid": "be7ef79e-31e7-4769-be5b-e192496f48aa",
            "description": "new template description for DC metro update",
            "inboundRules": [
                {
                    "srcType": "DOMAIN",
                    "seqNo": 1,
                    "fqdn": "equinix.com",
                    "subnets": [
                        "216.221.225.13/32"
                    ],
                    "protocol": "SSH",
                    "srcPort": "22",
                    "dstPort": "any"
                }
            ],
            "metroName": "Ashburn",
            "metroCode": "DC",
            "virtualDeviceName": "",
            "virtualDeviceUUID": "",
            "deviceAclstatus": "",
            "createdBy": "nfv-sit1",
            "createdDate": "2020-09-14T05:36:13.981Z"
        }
    ]
}

 

The description of the response:

Field Name Type Example Values Description
pageSize integer 20 Results per page.
pageNumber integer 5 The page number.
totalCount integer 200 The total count.
content array   An array of device ACLs.
name string new-template-with-fqdn The ACL template name.
uuid string ec68e425-f973-452e-a866-76be5844d0ba The unique ID of the ACL template.
description string New template description. The ACL template description.
inboundRules array   An array that has inboundRules. 
srcType string DOMAIN Source type description.
seqNo integer 1 The sequence number of inboundRules.
fqdn string equinix.com FQDN.
subnets array 216.221.225.13/32 An array of subnets.
protocol string SSH Protocol type.
srcPort string 22 Source port.
dstPort string any Destination port.
metroName string Ashburn The name of the metro.
metroCode string DC The metro code.
virtualDeviceName string   The name of the virtual device associated with this ACL template.
virtualDeviceUUID string   The unique Id of the device associated with this ACL template.
deviceACLstatus string   The device ACL status.
createdBy string nfv-sit1 Created by.
createdDate string 2020-09-14T05:36:13:9812 Created date.

 

If you get “Access Denied” error, contact your local Equinix Service Desk for Portal access.

POST Device ACL Template

POST /ne/v1/device/acl-tempate

 Method  POST
 URL or End Point  /ne/v1/device/acl-template
 Headers  Authorization, Content-Type
 Query Parameters  Not applicable
 Body  name, description, metroCode, inboundRules, srcType, protocol, srcPort, dstPort, fqdn, subnets, seqNo

 

Posts a Device ACL template. 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Sample curl request:

curl -X

POST "https://api.equinix.com/ne/v1/device/acl-template"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d "{
    "name": "testtemplate4",
    "description": "testtemplate4",
    "metroCode": "DA",
    "inboundRules": [
        {
            "srcType": "DOMAIN",
            "protocol": "TCP",
            "srcPort": "any",
            "dstPort": "any",
            "fqdn": "equinix.com",
            "subnets": [
                "216.221.225.13/32"
            ],
            "seqNo": 1
        },
        {
            "srcType": "SUBNET",
            "protocol": "DNS",
            "srcPort": "53",
            "dstPort": "any",
            "subnets": [
                "1.1.1.1/32"
            ],
            "seqNo": 2
        }
    ]
}"

 

Query parameter:

Query Parameter Name Mandatory Type Example Applicable Values Description
accountUcmId No string 2252619   A reseller creating a device ACL template for a customer can pass the accountUcmId of the customer.

 

Body Parameter Name Mandatory Type Example Applicable Values Description
name Yes string

My template name

  The device ACL template name.
description Yes string My template description   The device ACL template description
metroCode Yes string DC   Metro code.
inboundRules Yes array     An array of inboundRules.
srcType Yes string DOMAIN   Source type.
protocol Yes string DNS   Protocol.
srcPort Yes string 53   Source port.
dstPort Yes string any   Destination port.
fqdn No string equinix.com   This field is mandatory in case the source type is "DOMAIN."
subnets Yes array [tracecloud.com]   An array of subnets.
seqNo Yes integer 1   The sequence number of the inbound rule.

 

 

Sample response:

{
   "uuid": "be7ef79e-31e7-4769-be5b-e192496f48aa"
}

 

The description of the response payload:

Field name Type Example Description
uuid string
be7ef79e-31e7-4769-be5b-e192496f48aa
The unique ID of the ACL template.

 

If you get “Access Denied” error, contact your local Equinix Service Desk for Equinix Cloud Exchange Fabric Portal access.

PUT Device ACL Template {uuid}

PUT /ne/v1/device/acl-tempate/{uuid}

 Method  PUT
 URL or End Point  /ne/v1/device/acl-template/{uuid}
 Headers  Authorization, Content-Type
 Query Parameter  accountUcmId
 Path Parameter  uuid
 Body  name, description, metroCode, inboundRules, srcType, protocol, srcPort, dstPort, fqdn, subnets, seqNo

 

Puts a Device ACL template. 

 

To obtain an authorization token, refer to Requesting Access and Refresh tokens under the Getting Started section.

 

Sample curl request:

curl -X

PUT "https://api.equinix.com/ne/v1/device/acl-template/f1475-3c7f-447f-b0db-e3bb3af3de16"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d "{
    "name": "testtemplate4",
    "description": "testtemplate4",
    "metroCode": "DA",
    "inboundRules": [
        {
            "srcType": "DOMAIN",
            "protocol": "TCP",
            "srcPort": "any",
            "dstPort": "any",
            "fqdn": "equinix.com",
            "subnets": [
                "216.221.225.13/32"
            ],
            "seqNo": 1
        },
        {
            "srcType": "SUBNET",
            "protocol": "DNS",
            "srcPort": "53",
            "dstPort": "any",
            "subnets": [
                "1.1.1.1/32"
            ],
            "seqNo": 2
        }
    ]
}"

 

Query parameter:

Query Parameter Name Mandatory Type Example Applicable Values Description
accountUcmId No string 2252619   A reseller creating a device ACL template for a customer can pass the accountUcmId of the customer.

 

Body Parameter Name Mandatory Type Example Applicable Values Description
name Yes string

My template name

  The device ACL template name.
description Yes string My template description   The device ACL template description
metroCode Yes string DC   Metro code.
inboundRules Yes array     An array of inboundRules.
srcType Yes string DOMAIN   Source type.
protocol Yes string DNS   Protocol.
srcPort Yes string 53   Source port.
dstPort Yes string any   Destination port.
fqdn No string equinix.com   This field is mandatory in case the source type is "DOMAIN."
subnets Yes array [tracecloud.com]   An array of subnets.
seqNo Yes integer 1   The sequence number of the inbound rule.

 

 

Sample response:

{
   "uuid": "be7ef79e-31e7-4769-be5b-e192496f48aa"
}

 

The description of the response payload:

Field name Type Example Description
uuid string
be7ef79e-31e7-4769-be5b-e192496f48aa
The unique ID of the ACL template.

 

If you get “Access Denied” error, contact your local Equinix Service Desk for Equinix Cloud Exchange Fabric Portal access.