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.


Connect Network Edge Device Using Service Token

Establish a connection between your Network Edge Device and a service token.

Step 1: Authenticate

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

 

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

 

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

Step 2: Get Attribute Information

  1. Retrieve your Network Edge devices information using the Get Virtual Devices API request. There will be just one connection even if your device is a redundant or a cluster device. In case of a redundant device, choose the unique Id of the primary or the secondary device. Similarly, for a cluster device, choose the unique Id of the node0 or the node1.

  2. Use the Get All Service Tokens to retrieve available service tokens along with the allowed connection settings.

Step 3: Create Connection

Use POST /fabric/v4/connections API request to create a connection.

 

A service token can be dispatched to a number of recipients and it's valid for a single use by any of them.

 POST /fabric/v4/connections
MethodPOST
Endpoint/fabric/v4/connections
HeadersAuthorization, Content-Type
Path ParametersNot applicable
Query ParametersNot applicable
Body Parameterstype, name, order, redundancy, bandwidth, aSide, zSide, notifications
 

Use the Retrieve Pricing API request to retrieve connection price estimate.


Sample curl request - connection from a Network Edge device to a third-party defined by a service token

curl -X
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '{
"type": "EVPL_VC",
"name": "Conn-1",
"order": {
"purchaseOrderNumber": "1-129105284100"
},
"bandwidth": 1000,
"aSide": {
"accessPoint": {
"type": "VD",
"virtualDevice": {
"type": "EDGE",
"uuid": "fd5342f3-d067-4683-a24f-be952279630b"
},
"interface": {
"type": "NETWORK",
"id": 5
}
}
},
"zSide": {
"serviceToken": {
"uuid": "20d32a80-0d61-4333-bc03-707b591ae2f4"
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test2@equinix.com"
]
}
]
}'

Body parameters

ParameterMandatoryTypeExample valuesApplicable valuesDescription
typeYesstringEVPL_VCEVPL_VCConnection type.

EVPL_VC - Ethernet virtual private line connection type used for tagged layer 2 connections.
nameYesstringConn-1Maximum: 24 characters
Allowed characters: alpha-numeric, hyphens ('-') and underscores ('_')
Connection name.
orderNoobject--Order details.
order.purchaseOrderNumberNostring1-129105284100-Subscriber's purchase order identifier.
redundancyConditionalobject--Redundancy details. This object is not mandatory for primary connections. However, you must provide the redundancy details for secondary connections.
redundancy.priorityConditionalstringSECONDARYPRIMARY, SECONDARYWhether the connection is PRIMARY or SECONDARY. Don't provide a redundancy group for a PRIMARY connection.
redundancy.groupConditionalstring7a58dd05-f46d-4b1d-a154-2e85c396ea63Unique Id of the redundancy group. This is only required for secondary connections. If you are creating a secondary connection, enter the group of the PRIMARY. You can find the group of the primary connection by calling Get Specified Connection or by checking the "group" field in the response you receive when creating primary connection.
bandwidthYesinteger1000
 

Use the Get Specified Service Token API to retrieve details on available connection speeds.

Connection bandwidth in Mbps.
aSideYesobject--Object with aSide details.
aSide.accessPointYesobject--Object with virtual device details.
accessPoint.typeYesstringVDVDConnection endpoint type.

VD - Virtual Device.  
accessPoint.virtualDeviceYesobjectVirtual device details.
 
virtualDevice.typeYesstringEDGEEDGENetwork Edge device.
 
virtualDevice.uuidYesstringfd5342f3-d067-4683-a24f-be952279630bfd5342f3-d067-4683-a24f-be952279630bThe unique Id of a Network Edge device.
 
accessPoint.interfaceYesobjectInterface details of the virtual device.
 
interface.typeYesstringNETWORKNETWORKType of interface.
 
interface.idYesstring55Any available interface of the Network Edge device.
 
zSideYesobject--An object that has zSide connection details.
zSide.serviceTokenYesobject--Authorization token created by the provider (Z-side) to allow the subscriber (A-side) to establish a connection.
serviceToken.uuidYesobject20d32a80-0d61-4333-bc03-707b591ae2f4-Unique ID of a service token.
notificationsyesarray[object]--Notification preferences.
notifications.typeyesstringALLALLNotification preferences for specified assets such as a service token, port, access point, or profile.
notifications.emailsyesarray[string]["john@equinix.com", "jenkins@equinix.com"]Minimum: 1
Maximum: 12
List of up to 12 recipients.
 

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


Sample response - connection from a virtual device to a third-party defined by a service token

{
"type": "EVPL_VC",
"href": "http://qa3api.corp.equinix.com/fabric/v4/connections/ebc37e2e-c36b-4e93-86a4-fc4efce7abc8",
"uuid": "ebc37e2e-c36b-4e93-86a4-fc4efce7abc8",
"name": "Test ST",
"state": "ACTIVE",
"operation": {
"providerStatus": "AVAILABLE",
"equinixStatus": "PROVISIONED"
},
"notifications": [
{
"type": "ALL",
"emails": [
"testNEuser2@equinix.com"
]
}
],
"account": {
"accountNumber": 270235,
"orgId": 92794,
"globalOrgId": "0016u000003JZ55AAG"
},
"changeLog": {
"createdBy": "testNEuser2",
"createdDateTime": "2022-10-05T19:37:12.748Z",
"updatedBy": "testNEuser2",
"updatedDateTime": "2022-10-05T19:37:12.748Z"
},
"bandwidth": 50,
"redundancy": {
"group": "b64dad2a-2763-4084-bc50-b36ef4f67137",
"priority": "PRIMARY"
},
"isRemote": true,
"direction": "INTERNAL",
"aSide": {
"accessPoint": {
"interface": {
"uuid": "11fd6067-149f-4142-a5b4-54a8dd6f53fe",
"id": 6,
"type": "CLOUD"
},
"type": "VD",
"account": {
"accountNumber": 270217,
"organizationName": "eqx-nfv"
},
"location": {
"region": "AMER",
"metroName": "Ashburn",
"metroCode": "DC"
},
"virtualDevice": {
"href": "https://api.equinix.com/ne/v1/devices/3539f96c-7f67-4696-90f3-7b6d2fdcde5f",
"uuid": "3539f96c-7f67-4696-90f3-7b6d2fdcde5f",
"name": "testing1234",
"type": "EDGE"
}
}
},
"zSide": {
"serviceToken": {
"uuid": "e05f4f23-d098-4d7c-a9ca-c2897b465107",
"account": {
"orgId": 92794
}
},
"accessPoint": {
"type": "COLO",
"account": {
"accountNumber": 270235,
"organizationName": "testNEuser2-270235"
},
"location": {
"region": "AMER",
"metroName": "Ashburn",
"metroCode": "DC"
},
"port": {
"href": "http://qa3api.corp.equinix.com/fabric/v4/ports/c791f8cb-59d0-9d00-8ce0-306a5c00a4ee",
"uuid": "c791f8cb-59d0-9d00-8ce0-306a5c00a4ee",
"name": "testNEuser2-DC6-NL-Dot1q-STD-SEC-10G-JN-216"
},
"linkProtocol": {
"type": "DOT1Q",
"vlanTag": 553
}
}
}
}



Response payload body description

 

Response payload includes configuration parameters defined in the request body. The following table contains descriptions of additional information included in the response payload. For descriptions of the remaining fields, refer to the Body parameters section.

ParameterTypeExample valuesDescription
hrefstringhttps://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62An absolute URL that returns the specified connection.
uuidstring3a58dd05-f46d-4b1d-a154-2e85c396ea62Equinix-assigned connection identifier.
statestringPROVISIONINGStatus of the connection.
order.billingTierstringUp to 1 GbpsBilling tier for connection bandwidth.
bandwidthinteger1000Bandwidth of the connection in Mbps.
accountobjectObject containing account details of the connection owner.
account.accountNumberinteger270235Account number of the connection owner.
account.orgIdinteger92287Org Id of the account.
account.globalOrgIdstring0016u0000033Z53AAGGlobal org Id of the account.
redundancyobjectObject containing redundancy details.
redundancy.groupstring7a58dd05-f46d-4b1d-a154-2e85c396ea63Unique Id of the redundancy group.
redundancy.prioritystringPRIMARYWhether the connection is primary or secondary.
isRemotebooleantrueWhether the connection is remote. The connection is remote if the endpoints are in two different locations.
directionstringINTERNALDirection of the connection (from the requestor's point of view).
aSideobjectObject containing aSide details.
aSide.accessPointobjectObject containing aSide endpoint configuration.
accessPoint.interfaceobjectObject containing details of the interface.
interface.uuidstring3a58dd05-f46d-4b1d-a154-2e85c396ea62Unique identifier of the interface.
interface.idstring5The interface id of the virtual device that hosts the connection.
interface.typestringCLOUDType of interface.
accessPoint.typestringVDVD: Virtual Device.
accessPoint.accountobjectObject containing account details of the aSide account.
account.accountNumberinteger277689Account number of the aSide account.
account.organizationNamestringeqx-nfvOrganization name.
locationobjectAn object that has the location details of the aSide connection.
location.regionstringAMERRegion.
location.metroNamestringAshburnMetro name.
location.metroCodestringDCMetro code.
virtualDeviceobjectAn object that has the virtual device details.
virtualDevice.hrefstringhttps://api.equinix.com/ne/v1/devices/5a58dd05-f46d-4b1d-a154-2e85c396ea63Virtual device.
virtualDevice.uuidstring5a58dd05-f46d-4b1d-a154-2e85c396ea63Unique Id of the virtual device.
virtualDevice.namestringsroy-deviceName of the virtual device.
virtualDevice.typestringEDGEType of virtual device.
zSideobjectObject containing zSide details.
zSide.serviceTokenobjectObject containing serviceToken details.
serviceToken.uuidstring5a58dd05-f46d-4b1d-a154-2e85c396ea63Unique Id of the service token.
serviceToken.accountobjectAn object that has the orgId.
account.orgIdinteger92794Organization Id.
zSide.accessPointobjectObject containing zSide connection endpoint configuration.
accessPoint.typestringCOLOConnection endpoint type. COLO - Colocation - space in an IBX data center.
accessPoint.accountobjectObject containing account details of the zSide account.
account.accountNumberinteger277688Account number of the zSide account.
account.organizationNamestringawsOrganization name.
locationobjectAn object that has the location details of the zSide connection.
location.regionstringAMERRegion.
location.metroNamestringAshburnMetro name.
location.metroCodestringDCMetro code.
portobjectAn object that has the port details.
port.hrefstringhttps://api.equinix.com/ne/v1/devices/5a58dd05-f46d-4b1d-a154-2e85c396ea63
port.uuidstring5a58dd05-f46d-4b1d-a154-2e85c396ea63Unique Id of the port.
port.namestringsroy-deviceName of the port.
linkProtocolobjectAn object that has the link protocol.
linkProtocol.typestringDOT1QType of link protocol.
linkProtocol.vlanTaginteger553Vlan tag.
notificationsarrayAn array that has notification details.
notifications.typestringALLType of notification.
notifications.emailsarraytest@equinix.com, test2@equinix.comThe list of emails to be notified.
operationobject-Preferences and specifications for connection operations.
operation.equinixStatusstringPROVISIONINGThe connection is provisioning.
operation.providerStatusstringNOT_AVAILABLEProvider's status towards provisioning a specified connection.
changeLogobject-A permanent record of asset creation, modification, or deletion.
changeLog.createdBystringtestNEuser2Created by.
changeLog.createdDateTimestring2021-07-15T19:30:29.526ZConnection creation timestamp in the IETF ISO 8601 extended date/time format:
 
YYYY-MM-DDTHH:MM:SS.000+0000
changeLog.updatedBystringtestNEuser2Updated by.
changeLog.updatedDateTimestring2021-07-15T19:30:29.526ZUpdate timestamp in the IETF ISO 8601 extended date/time format:
 
YYYY-MM-DDTHH:MM:SS.000+0000
 

Use the Get Specified Connection API request to monitor connection status.