Skip to main content

Effective 10 September 2024, API Documentation can be found on our Equinix Product Documentation site.
The content on this page will not be updated after 1 Oct 2024 and will be inaccessible after 31st Dec 2024.


Add Secondary Device

Before adding a secondary device to an existing device, please keep in mind the following:

1) Some attributes of the secondary device must be the same as that of the primary, including the device configuration, licensing, device resources, software package, and license throughput. However, you have the option to select the version, hostname, notification list, list of ssh users, Access IP addresses, and additional bandwidth.
2) The term length of the secondary must be the same as that of the primary if both the devices belong to the same account.
3) The payload to add a secondary will vary based on the device type of the existing device. Check out the sample payloads under Step 3.
4) While the secondary device is being provisioned, the status of the primary device will change to "WAITING_FOR_SECONDARY." If the secondary fails to provision, the primary will move back to the provisioned state. If the secondary provisions, then the status of both the devices will change to "PROVISIONED."

Step 1: Authenticate

Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.

 

See Generating Client id and Client Secret under the Getting Access Token section for instructions to create a client ID and client secret. See Requesting Access and Refresh tokens for instructions to call the Oauth API to validate and authenticate your credentials.

 

If you are unaware of your user credentials, contact your local Equinix Service Desk.

Step 2: Get Primary Device

Call Get Virtual Devices to get the unique ID of the primary device and to check out other attributes.

Step 3: Add Secondary Device

 POST /ne/v1/devices
MethodPOST
URL or End Point/ne/v1/devices
HeadersAuthorization token, Content-Type
Query ParametersNA
Body ParametersprimaryDeviceUuid, secondary {accountNumber, version, accountReferenceId, additionalBandwidth, metroCode, notifications[...], aclDetails[{uuid, interfaceType}], termLength,
virtualDeviceName, hostNamePrefix}

To add a secondary device to an existing device, find the required fields for your device type by checking out the use cases: Launch Equinix-Configured Device, Launch Self-Configured Device, Launch SDWAN Device, Launch Cluster Device. Below are a few sample requests.

A sample curl request to add a secondary device to a Fortinet device.

curl -X
POST "https://api.equinix.com/ne/v1/devices?draft=false"
-H "content-type: application/json"
-H "Authorization: Bearer jnSoUKaJHpzMnU0toROpUHmqnwEP"
-d '
{
"primaryDeviceUuid": "7e54b32f-53e4-4903-82b8-df0e9d73fae9",
"secondary": {
"metroCode": "DC",
"version": "6.0.4",
"virtualDeviceName": "fgvm-1-secondary",
"hostNamePrefix": "test-a23-1-secondary",
"notifications": [
"test@equinix.com"
],
"termLength": 1,
"aclDetails": [
{
"uuid": "fb2e69bb-cbd7-40c4-bc01-8bcc5fa741c2",
"interfaceType": "WAN"
}
],
"userPublicKey": {
"username": "testuser1",
"keyName": "E2E-AutomationDemo-300721012659695"
},

"accountNumber": "270217"
}
}
'

A sample curl request to add a secondary device to a Juniper device.

curl -X
POST "https://api.equinix.com/ne/v1/devices?draft=false"
-H "content-type: application/json"
-H "Authorization: Bearer jnSoUKaJHpzMnU0toROpUHmqnwEP"
-d '
{
  "primaryDeviceUuid": "3267e6a9-8391-411e-b347-c9cf9089d2c4",
  "secondary": {
    "metroCode": "DC",

    "version": "19.1R1.6",
    "virtualDeviceName": "vsrx-test-1-secondary",
    "hostNamePrefix": "test-a23-1-secondary",
    "notifications": [
      "test@equinix.com"
    ],
    "termLength": 1,

    "aclDetails": [
       {
         "uuid": "fb2e69bb-cbd7-40c4-bc01-8bcc5fa741c2",
         "interfaceType": "WAN"
       }
    ],
    "userPublicKey": {
      "username": "testuser1",
      "keyName": "E2E-AutomationDemo-300721012659695"
    },
    "licenseFileId": "bcb6bc25-853d-4dbe-8f49-63bac77be9ce",
    "accountNumber": "270217"
  }
}
'

Body parameters:

Body Parameter NameMandatoryTypeExamplePossible ValuesDescription
primaryDeviceUuidYesstring08036464-1c51-4190-bec2-b2c46e60046cThe unique ID of the device to which you want to add a secondary device.
secondaryYesobjectThe object containing the secondary device details.
accountNumberNostring10478397Account number. Either an account number or an account referenceId is required to add a device. Note to resellers adding a device for a customer: Your (reseller's) account will get billed, however, you must send the customer's account number to this API to add a device for your customer.
versionNostring16.09.03The version of the software. If you do not provide a version, we will take the version of the primary device.
accountReferenceIdNostring791281Account reference Id. This is a temporary ID that can be used to add a device when your account is still pending, not active. Either an account number or an account referenceId is required to add a virtual device.
hostNamePrefixYesstringmySRHostname prefix. This gets included as part of an FQDN that ensures 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.
virtualDeviceNameYesstringCiscoSTROYThe virtual device name for identification. This should be a minimum of 3 and a maximum of 50 characters long.
orderingContactNostringsubuser01Username of a reseller's customer. This field is mandatory in case a reseller is adding a device for one of its customers. This contact will receive order and cancellation notifications.
metroCodeYesstringSVMetro code. The metro code need not be the same as the metro of the primary device. However, if you are a reseller adding a device for your customer, choose a metro in the same country as the primary device. This restriction is necessary as a customer is associated with a reseller's billing account.
notificationsYesarraytest1@example.comEmail addresses for device life-cycle notification. We need a minimum of 1 and no more than 5 email addresses. You do not need to have the same notification list as your primary device.
aclDetailsYesarrayAn array of ACLs.
aclDetails.uuidYesstring49289456-a63e-47d4-927c-5161cfb77501The template id of a device ACL template created using Create ACL Template.
aclDetails.interfaceTypeYesstringWANInterface type, either WAN or MGMT. Only some device types support MGMT interface ACL.
additionalBandwidthNointeger100Additional bandwidth. You do not need to have the same additional bandwidth as your primary device.

Sample response.

202: Request accepted.

{
"uuid": "fabf99bd-044b-4256-bafb-a7e1cd92b608",
"secondaryUuid": "dc9aa21f-a43f-4e55-b40c-26e3f309742f",
"deviceIds": null,
"clusterId": null
}

Response payload:

FieldTypeExample ValuesDescription
uuidstringb43ba509-a7d9-4334-8dee-dc4f29bf2e77Unique identifier of the existing virtual device.
secondaryUuidstring92c2e49d-2c35-432d-a9af-016920bef70cUnique identifier of the newly added secondary virtual device.