Connect Network Edge Device to Other Service Providers
Establish a direct, layer 2 connection to Other Service Providers from your Network Edge Device.
Step 1: Determine A-side NE device information
You need a provisioned Equinix Virtual Device/Redundant Devices/Cluster with a registered license. Check your available virtual devices by calling Get Virtual Devices or Get Virtual Device {uuid}. You may choose any available interface of the device for your connection. However, Equinix will select an interface if you do not specify any.
Step 2: Create Connection
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.
2. Choose Z-side metro location
Use the Get All Metros API request to find all metros where Equinix Fabric is available and determine destination location.
3. Identify service profile
Call Retrieve Service Profiles API to search for a specific service profile or use the Get Service Profiles API request to list all available service profiles, and identify the profile you want to connect to.
4. Establish connection
Use the POST /fabric/v4/connections API request to create a connection.
POST /fabric/v4/connections | |
---|---|
Method | POST |
Endpoint | /fabric/v4/connections |
Headers | Authorization, Content-Type |
Path Parameters | Not applicable |
Query Parameters | Not applicable |
Body Parameters | type, name, order, bandwidth, aSide, zSide, notifications |
Use the Retrieve Pricing API request to retrieve connection price estimate.
Sample curl request - connection to Other Service Providers from a Network Edge Device
curl -X
POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '{
"type": "EVPL_VC",
"name": "vd2other-sp-0412a",
"bandwidth": 1000,
"aSide": {
"accessPoint": {
"type": "VD",
"virtualDevice": {
"type": "EDGE",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXX"
}
}
},
"zSide": {
"accessPoint": {
"type": "SP",
"profile": {
"type": "L2_PROFILE",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
},
"location": {
"metroCode": "DC"
}
}
},
"project": {
"projectId": "16799d66-ef43-445c-ba29-d17522d8a137"
},
"order": {
"purchaseOrderNumber": "1-129105284100"
},
"notifications": [
{
"type": "ALL",
"emails": [
"x@gmail.com"
]
}
]
}'
Body parameters
Parameter | Description |
---|---|
type string REQUIRED | Connection type.
|
name string REQUIRED | Connection name. Applicable values:
|
order object OPTIONAL | Order details. |
purchaseOrderNumber string OPTIONAL | Subscriber's purchase order identifier. Example: 1-129105284100 |
bandwidth integer REQUIRED | Connection speed in Mbps. Applicable values:
|
project object CONDITIONAL | Project details. Required for CRH-enabled users. |
projectId string CONDITIONAL | Unique Id of the project. Required for CRH-enabled users. Example: 16799d66-ef43-445c-ba29-d17522XXXXXX |
aSide object REQUIRED | Source definition. |
accessPoint object REQUIRED | Connection endpoint configuration from the A-Side. |
type string REQUIRED | Connection endpoint type.
|
virtualDevice object REQUIRED | Object containing the virtual device details. |
type string REQUIRED | Type of virtual device.
|
uuid string REQUIRED | Unique Id of virtual device. Example: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
interface object OPTIONAL | Object containing the interface details of the virtual device. |
type string OPTIONAL | Type of interface.
|
id string OPTIONAL | Id of interface. You can choose any available interface of your device for your connection. However, Equinix will select an interface if you do not specify any. Example: 7 |
zSide object REQUIRED | Z-side details. |
accessPoint object REQUIRED | Connection endpoint configuration. |
type string REQUIRED | Connection endpoint type.
|
profile object REQUIRED | A named provider service and its network connectivity requirements. Applicable to SP type access points.Call Retrieve Service Profiles API to search for service profiles and determine their identifiers and available locations. |
uuid string REQUIRED | Service profile identifier. Example: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
type string OPTIONAL | Service profile type. Example:
|
location object REQUIRED | Connection endpoint location information. Applicable to SP type access points. |
metroCode string REQUIRED | Metropolitan area identifier. Call Get Specified Service Profile API to determine where a given service is available. |
notifications array[object] REQUIRED | Notification settings for messages. |
type string REQUIRED | Notification messages category. Applicable values:
|
emails array[string] REQUIRED | Email addresses of up to 12 recipients. Example: ["x@mx.com","x@x.com"] |
Sample response - connection to Other Service Providers from a Network Edge Device
{
"type": "EVPL_VC",
"href": "https://api.equinix.com/fabric/v4/connections/53c89f1a-0be7-44a1-9c03-28059632a72d",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"name": "vd2other-sp-0425a",
"operation": {
"providerStatus": "PROVISIONING",
"equinixStatus": "PROVISIONING"
},
"order": {
"purchaseOrderNumber": "1-129105284100",
"billingTier": "Up to 1G"
},
"notifications": [
{
"type": "ALL",
"emails": [
"x@gmail.com"
]
}
],
"changeLog": {
"createdBy": "fabricamcrh1",
"createdByFullName": "fabric amcrh1",
"createdByEmail": "x@gmail.com",
"createdDateTime": "2024-04-25T20:40:40.676Z",
"updatedBy": "fabricamcrh1",
"updatedByFullName": "fabric amcrh1",
"updatedByEmail": "x@gmail.com",
"updatedDateTime": "2024-04-25T20:40:40.677Z"
},
"bandwidth": 1000,
"redundancy": {
"group": "43009a55-87ee-4dff-8ae4-70ccb7c3d4e9",
"priority": "PRIMARY"
},
"aSide": {
"accessPoint": {
"interface": {
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"id": 5,
"type": "CLOUD"
},
"location": {
"metroCode": "DC"
},
"virtualDevice": {
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"type": "EDGE"
}
}
},
"zSide": {
"accessPoint": {
"location": {
"metroCode": "DC"
},
"profile": {
"href": "https://api.equinix.com/fabric/v4/serviceProfiles/60ef0382-cdaa-44e7-bd36-b803731816b8",
"type": "L2_PROFILE",
"name": "Other Service Provider",
"uuid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
}
}
}
Response description
Parameter | Description |
---|---|
type string | Type of connection. Example: EVPL_VC |
href string | An absolute URL that returns the specified connection. Example: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 |
uuid string | Equinix-assigned connection Id. Example: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
name string | Name of the connection. Example: Test-aws-to-vd-api |
order object | Order information. |
billingTier string | Billing tier of connection bandwidth. Example: Up to 1 Gbps |
bandwidth string | Bandwidth. Example: Up to 1 Gbps |
redundancy object | Redundancy details. |
group string | Unique Id of the redundancy group. |
priority string | Whether the connection is PRIMARY or SECONDARY. |
aSide object | Source definition. |
accessPoint object | Connection endpoint configuration from the A-side. |
interface object | Object containing interface details. |
uuid string | Unique id of the interface. Example: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
id string | Id of the interface. Example: 7 |
type string | Type of interface. Example: NETWORK |
location object | Object containing A-side location details. |
metroCode string | A-side Metropolitan area identifier. Example: AM |
virtualDevice object | Object containing virtual device details. |
type string | Type of virtual device. Example: EDGE |
uuid string | Unique Id of the virtual device. Example: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
zSide object | Destination definition. |
accessPoint object | Connection endpoint configuration from the Z-side. |
profile object | The service profile associated with this access point. |
href string | An absolute URL that returns complete specification of the given entity. Example: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f |
type string | Service profile type. Example:
|
name string | Name of the service profile. Example: AWS Direct Connect |
uuid string | Unique Id of the service profile. Example: XXXXXXXXXXXXXXXXXXXXXXXXXXX |
location object | Connection endpoint location information. |
metroCode string | Metropolitan area identifier. Example: DA |
notifications array[object] | Notification settings for messages. |
type string | Notification messages category. Example: ALL |
emails array[string] | Email addresses of up to 12 recipients. Example: ["x@x.com","x@x.com"] |
operation object | Connection operational data. |
equinixStatus string | Status of the connection on the Equinix side. Example: PROVISIONING |
providerStatus string | Status of the connection on the provider side. Example: NOT_AVAILABLE |
changeLog object | A permanent record of asset creation, modification, or deletion. |
createdBy string | Identity of the asset creator. Example: AverageJoe |
createdDateTime string | Asset creation timestamp in the IETF ISO 8601 extended date/time format: YYYY-MM-DDTHH:MM:SS.000+0000 Example: 2021-07-15T19:30:29.526Z |
Use the Get Specified Connection API request to monitor connection status.
equinixStatus parameter values | providerStatus attribute values | Description |
PROVISIONING | PROVISIONING | Connection request has not been sent to Oracle yet. |
PROVISIONED | PROVISIONING | Connection establishment in progress. |
PROVISIONED | PROVISIONED | Connection established. |