Order Equinix Internet Access with Network Edge
Equinix Internet Access (EIA) provides blended internet access using multiple tier-1 internet service providers (ISPs) and Equinix Internet Exchanges (IX) to deliver high availability, reliability, and speed.
Equinix Internet Access with Network Edge is available to organizations onboarded to Equinix Identity and Access Management. If your organization hasn't been onboarded to Equinix Identity and Access Management, you can order Equinix Internet Access with Dedicated Port.
Prerequisites
To place an order for Equinix Internet Access with Network Edge:
- Your organization must be transitioned to Equinix Identity and Access Management.
- Equinix Fabric Manager role must be assigned to the account used to send API requests. For more information, see Assign and Unassign Roles to Users.
- Network Edge Connections Manager and Network Edge Device Manager roles must be assigned to the account used to send API requests. For more information, see Assign and Unassign Roles to Users.
Step 1: Authenticate
Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.
Sample curl request
curl -X
POST 'https://api.equinix.com/oauth2/v1/token'
-H 'content-type: application/json'
-d '{
"grant_type": "password",
"client_id": "ABCDE12345",
"client_secret": "FGHIJ67890",
"user_name": "john.doe@example.com",
"user_password": "jd1@#$"
}'
Refer to Generating Client ID and Client Secret for instructions on how to create client ID and client secret. For further details on how to authorize your API requests, see Requesting Access and Refresh tokens.
If you don't know your user credentials for Equinix Customer Portal, contact your local Equinix Service Desk.
Step 2: Get Attribute Information
Determine Equinix Internet Access Availability
Use the Get IBX Data Centers API request to list IBX data centers where Equinix Internet Access with Network Edge is available.
Sample curl request
curl -X GET 'https://api.equinix.com/internetAccess/v1/ibxs?service.connection.type=IA_VC&connection.aside.accessPoint.type=VD&offset=0&limit=20'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
Sample response
{
"pagination": {
"offset": 0,
"limit": 20,
"total": 1
},
"data": [
{
"countryCode": "US",
"region": "AMER",
"metroCode": "DC",
"metroName": "Washington D.C.",
"ibx": "DC5",
"geoCoordinates": {
"latitude": 39.015958,
"longitude": -77.461263
}
}
]
}
Retrieve Network Edge Virtual Devices
Use the Get Virtual Devices to get information on your virtual devices available in the select metro.
Sample curl request
curl -X GET 'https://api.equinix.com/ne/v1/devices?offset=0&limit=20&metroCode=DC&status=PROVISIONED'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
Sample response
{
"accountName": "ABC INC",
"accountNumber": "133911",
"createdBy": "cust0001",
"createdDate": "2018-01-30T10:30:31.387Z",
"deviceSerialNo": "53791666484",
"deviceTypeCategory": "ROUTER",
"diverseFromDeviceName": "My-Other-Device",
"diverseFromDeviceUuid": "4cfb5675-5c3f-4275-adba-0c9e3c26c96b",
"deviceTypeCode": "C8000V",
"deviceTypeName": "C8000v router",
"expiry": 1549497600,
"region": "AMER",
"deviceTypeVendor": "Cisco",
"hostName": "VR-SV-C8000V-cust0001-1",
"uuid": "abc1854c-9adf-42bd-bbf0-d0f137ccdd1e",
"lastUpdatedBy": "cust0002",
"lastUpdatedDate": "2018-01-30T10:30:31.387Z",
"licenseFileId": "abc1854c-9adf-42bd-bbf0-d0f137ccdd1e",
"licenseName": "Bring your own license",
"licenseStatus": "REGISTERED",
"licenseType": "BYOL",
"metroCode": "SV",
"metroName": "Silicon Valley",
"name": "AWS-Azure-Router-c8000v",
"notifications": [
"test@equinix.com"
],
"packageCode": "SEC",
"packageName": "Security",
"version": "16.09.02",
"purchaseOrderNumber": "PO1223",
"redundancyType": "PRIMARY",
"redundantUuid": "xxxxx191-xx70-xxxx-xx04-xxxxxxxa67xx",
"connectivity": "INTERNET-ACCESS",
"sshIpAddress": "10.195.11.23",
"sshIpFqdn": "test-device-168-201-97-149.eis.lab.equinix.com",
"sshIpFqdnStatus": "ASSIGNED",
"status": "PROVISIONED",
"throughput": 500,
"throughputUnit": "Mbps",
"core": {
"core": 4,
"memory": 4,
"unit": "GB",
"tier": 2
},
"pricingDetails": {
"termLength": 36,
"orderNumber": "1-198735018693",
"core": 4,
"throughput": 1,
"ThroughputUnit": "Gbps",
"packageCode": "AX",
"additionalBandwidth": 100,
"primary": {
"currency": "USD",
"charges": [
{
"description": "VIRTUAL_DEVICE",
"monthlyRecurringCharges": 200
}
]
},
"secondary": {
"currency": "USD",
"charges": [
{
"description": "VIRTUAL_DEVICE",
"monthlyRecurringCharges": 200
}
]
}
},
"interfaceCount": 10,
"deviceManagementType": "EQUINIX-CONFIGURED",
"userPublicKey": {
"username": "test-user-1",
"publicKeyName": "test-pk-2",
"publicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU\\nGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3\\nPbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA\\nt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88Xypsamplesample"
},
"managementIp": "10.195.237.228/26",
"managementGatewayIp": "10.195.237.254",
"publicIp": "149.97.198.95/31",
"publicGatewayIp": "149.97.198.94",
"primaryDnsName": "4.0.0.53",
"secondaryDnsName": "129.250.35.250",
"termLength": 12,
"additionalBandwidth": 200,
"siteId": "12345",
"systemIpAddress": "192.168.2.5",
"vendorConfig": {
"siteId": 567,
"systemIpAddress": "192.164.0.0",
"licenseKey": "6735-vwe64568-6a91-4112-8734-bea12d91f7y7",
"licenseSecret": "h5j0i45e83324pblbfca764532c4a640e7801f0",
"localId": "branch1@example.com",
"remoteId": "companyController1@example.com",
"managementType": "FMC",
"controller1": "54.219.248.29",
"controller2": "54.177.220.115",
"serialNumber": 4545454,
"adminPassword": "ZQeIDI7sUd",
"activationKey": "GJUK-JM2X-59BJ-2TDJ",
"controllerFqdn": "demo.velocloud.net",
"rootPassword": "myPassw0rd!",
"accountName": "accountName",
"hostname": "myHostname",
"accountKey": "Primary Account Key1",
"applianceTag": "applianceTag",
"userName": "string",
"connectToCloudVision": true,
"cvpType": "As-a-Service",
"cvpFqdn": "www.NetworkSolutions.com",
"cvpIpAddress": "192.168.0.10",
"cvaasPort": 443,
"cvpPort": 443,
"cvpToken": 123
},
"interfaces": [
{
"id": 1,
"name": "ethernet1",
"status": "ASSIGNED",
"operationStatus": "DOWN",
"macAddress": "fa16.3e1c.a8d8",
"ipAddress": "2.2.2.2",
"assignedType": "Equinix Managed",
"type": "DATA"
}
],
"asn": 1029,
"channelPartner": "SDCI"
}
If you don't have a suitable Network Edge device, you can create one using API or the Fabric and Network Edge portal.
Step 3: Get Contractual Context Information
Retrieve Operational Units
Use the Get Operational Units API request to retrieve the information on the legal entity operating the specified IBX data center.
Note that by ordering Equinix Internet Access service instance you enter a legal agreement with the entity that operates a given IBX data center.
Sample curl request
curl -X GET 'https://api.equinix.com/internetAccess/v1/operationalUnits?location.ibx=DC5'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
Sample response
{
"pagination": {
"offset": 0,
"limit": 50,
"total": 1
},
"data": [
{
"name": "EQUINIX - US",
"address": {
"address1": "Equinix LLC, on behalf of itself and its U.S. Affiliates",
"address2": "One Lagoon Drive, 4th Floor",
"city": "Redwood City",
"countryCode": "US",
"country": "United States",
"zipCode": "94065"
},
"location": {
"ibx": "DC5",
"metroCode": "DC"
}
}
]
}
Retrieve Terms and Conditions
Use the Get Terms and Conditions API request to retrieve terms and conditions applicable to your order.
Ordering Equinix Internet Access service instance using the Create Equinix Internet Access Service API request means that you have read and accepted these terms and conditions.
Sample curl request
curl -X GET 'https://api.equinix.com/internetAccess/v1/terms?account.accountNumber=123456&location.ibx=DC5&connectivitySource.type=COLO&product=IA_VC'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
Sample response
{
"pagination": {
"offset": 0,
"limit": 50,
"total": 1
},
"data": [
{
"version": "a2Z7i000000BgLaEAK",
"location": {
"ibx": "DC5"
},
"account": {
"accountNumber": "200051"
},
"connectivitySource": {
"type": "COLO"
},
"type": "TERMS_AND_CONDITIONS",
"product": "IA_VC",
"language": "en"
}
]
}
Step 4: Get Price
Use the Retrieve Pricing API request to establish the price of the Equinix Internet Access service in a specified configuration.
Sample curl request
curl -X POST 'https://api.equinix.com/internetAccess/v1/prices/search'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '{
"filter": {
"and": [
{
"property": "/type",
"operator": "=",
"values": [
"INTERNET_ACCESS_PRODUCT"
]
},
{
"property": "/account/accountNumber",
"operator": "=",
"values": [
"2004"
]
},
{
"property": "/service/type",
"operator": "=",
"values": [
"SINGLE_PORT"
]
},
{
"property": "/service/useCase",
"operator": "=",
"values": [
"MAIN"
]
},
{
"property": "/service/bandwidth",
"operator": "=",
"values": [
500
]
},
{
"property": "/service/billing",
"operator": "=",
"values": [
"FIXED"
]
},
{
"property": "/service/connection/type",
"operator": "=",
"values": [
"IA_VC"
]
},
{
"property": "/service/connection/aSide/accessPoint/type",
"operator": "=",
"values": [
"VD"
]
},
{
"property": "/service/connection/aSide/accessPoint/location/ibx",
"operator": "=",
"values": [
"DC5"
]
},
{
"property": "/service/routingProtocol/ipv4/customerRoute/ipBlock/prefixLength",
"operator": "=",
"values": [
27
]
}
]
}
}'
Sample response
{
"data": [
{
"text": "<html>\r\n\t<head>\r\n\t</head>\r\n\t\r\n\t<body>\r\n\t\r\n\t\t<div>\r\n\t\t\tVersion: February 14, 2022[...]</html>",
"href": "https://api.equinix.com/internetAccess/v1/prices/search",
"type": "INTERNET_ACCESS_PRODUCT",
"code": "EC00016.PROD",
"name": "Internet Access Service Product",
"description": "Internet Access Service",
"account": {
"accountNumber": "2004"
},
"currency": "USD",
"category": "CUSTOMER",
"charges": [
{
"type": "MONTHLY_RECURRING",
"price": 1000,
"unit": "ITEM",
"product": {
"type": "INTERNET_ACCESS_PRODUCT",
"code": "EC00016.PROD",
"name": "Internet Access Service Product",
"description": "Internet Access Service"
}
},
{
"type": "MONTHLY_RECURRING",
"price": 201.6,
"unit": "ITEM",
"product": {
"type": "IP_BLOCK_PRODUCT",
"code": "EC00006.PROD",
"name": "Internet Access IP Addressing Product",
"description": "Internet Access IP Addressing"
}
},
{
"type": "NON_RECURRING",
"price": 50,
"unit": "ITEM",
"product": {
"type": "IP_BLOCK_PRODUCT",
"code": "EC00006.PROD",
"name": "Internet Access IP Addressing Product",
"description": "Internet Access IP Addressing"
}
}
],
"summary": {
"charges": [
{
"type": "MONTHLY_RECURRING",
"price": 1201.6,
"unit": "ITEM"
},
{
"type": "NON_RECURRING",
"price": 50,
"unit": "ITEM"
}
],
"totalCharge": {
"price": 1251.6
}
},
"service": {
"type": "SINGLE_PORT",
"bandwidth": 500,
"billing": "FIXED",
"useCase": "MAIN",
"connection": {
"type": "IA_VC",
"aSide": {
"accessPoint": {
"type": "VD",
"location": {
"ibx": "DC5"
}
}
}
},
"routingProtocol": {
"ipv4": {
"customerRoute": {
"ipBlock": {
"prefixLength": 27
}
}
}
}
}
}
],
"pagination": {
"offset": 0,
"limit": 50,
"total": 1
}
}
Step 5: Create Equinix Fabric Connection
Use the Create Connection API request to create a Fabric connection between your Network Edge virtual device and the Equinix Internet Access service profile.
- Fabric connection between your Network Edge device and the Equinix Internet Access service profile is provided free of charge.
- When you deprovision your EIA with Network Edge service instance, the associated Fabric connection is also deprovisioned.
- In case the there's an issue with provisioning an EIA service instance, the associated Fabric connection is deprovisioned automatically.
Sample curl request
curl -X POST 'https://api.equinix.com/fabric/v4/connections'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '{
"type": "IA_VC",
"name": "connectingToInterwebz",
"bandwidth": 10,
"aSide": {
"accessPoint": {
"type": "VD",
"virtualDevice": {
"type": "EDGE",
"uuid": "abc1854c-9adf-42bd-bbf0-d0f137ccdd1e"
},
"interface": {
"type": "CLOUD",
"id": 3
}
}
},
"zSide": {
"accessPoint": {
"type": "SP",
"profile": {
"type": "IA_PROFILE",
"uuid": "e8797df8-57aa-4ff9-abc2-5b6025ba8fc6"
},
"location": {
"metroCode": "DC"
}
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"jane@doe.com"
]
}
]
}'
Sample response
{
"type": "IA_VC",
"href": "https://uatapi.npclouda.equinix.com/fabric/v4/connections/f2e85156-4e5b-43b5-8d5b-40fd58e0d355",
"uuid": "asdf5156-4e5b-43b5-8d5b-40fd58e0d355",
"name": "connectingToInterwebz",
"operation": {
"providerStatus": "NOT_AVAILABLE",
"equinixStatus": "PROVISIONING"
},
"order": {
"billingTier": "Up to 10 MB"
},
"notifications": [
{
"type": "ALL",
"emails": [
"jane@doe.com"
]
}
],
"changeLog": {
"createdBy": "janeDoe",
"createdByFullName": "Jane Doe",
"createdByEmail": "jane@doe.com",
"createdDateTime": "2024-03-08T08:57:31.252Z",
"updatedBy": "janeDoe",
"updatedByFullName": "Jane Doe",
"updatedByEmail": "jane@doe.com",
"updatedDateTime": "2024-03-08T08:57:31.252Z"
},
"bandwidth": 10,
"redundancy": {
"group": "6cc1f92d-89be-490e-8ecd-14c5ba9df59d",
"priority": "PRIMARY"
},
"aSide": {
"accessPoint": {
"interface": {
"uuid": "e8797df8-57aa-4ff9-abc2-5b6025ba8fc6",
"id": 10,
"type": "CLOUD"
},
"location": {
"metroCode": "DC"
},
"linkProtocol": {
"type": "DOT1Q",
"vlanTag": 11205
},
"virtualDevice": {
"uuid": "8af881c8-c14b-47a0-9a71-871593d9531b",
"type": "EDGE"
}
}
},
"zSide": {
"accessPoint": {
"location": {
"metroCode": "DC"
},
"profile": {
"href": "https://uatapi.npclouda.equinix.com/fabric/v4/serviceProfiles/32d81829-0bf8-45d5-84e2-7289a553dbb6",
"type": "IA_PROFILE",
"name": "Equinix Internet Access",
"uuid": "32d81829-0bf8-45d5-84e2-7289a553dbb6"
}
}
}
}
Step 6: Create Equinix Internet Access Service Instance
Use the Create Equinix Internet Access Service API request to create an Equinix Internet Access service instance.
Ordering Equinix Internet Access service instance using the Create Equinix Internet Access Service Instance API request means that you have read and accepted:
- Service terms and conditions. Use the Get Terms and Conditions API request to retrieve terms and conditions applicable to your order.
- Pricing information that you acknowledge and agree, on behalf of the company account specified in this Order (“Customer”), that the Pricing Information obtained using the Get Pricing API request: (1) is calculated pursuant to the Master Country Agreement, Pricing Agreement, or other similar agreement (“Agreement”) effective between Equinix and Customer; and (2) does not include taxes and may vary depending upon the options selected by Customer in the Order and the applicable tax jurisdiction.
Sample curl request - single connection, static routing
curl -X POST 'https://api.equinix.com/internetAccess/v2/services'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '{
"connections": [
"asdf5156-4e5b-43b5-8d5b-40fd58e0d355"
],
"name": "internetAccess",
"routingProtocol": {
"type": "STATIC",
"ipv4": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": 30
}
}
]
},
"ipv6": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": 64
}
}
]
}
},
"type": "SINGLE"
}'
When ordering EIA with Network Edge service instance located in one of our IBX data center in the
APAC region, make sure to add addressingPlans
information to the
ipBlock
object.
Sample curl request - single connection, static routing - APAC region
curl -X POST 'https://api.equinix.com/internetAccess/v2/services'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '{
"connections": [
"asdf5156-4e5b-43b5-8d5b-40fd58e0d355"
],
"name": "internetAccess",
"routingProtocol": {
"type": "STATIC",
"ipv4": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": 30,
"addressingPlans": [
{
"immediate": 2,
"afterThreeMonths": 4,
"size": 4,
"purpose": "Core routers"
}
],
"questions": [
{
"type": "PRIVATE_SPACE_CONSIDERED",
"answer": "NO"
},
{
"type": "REFUSED_PREVIOUSLY",
"answer": "NO"
},
{
"type": "RETURNING_ADDRESS_SPACE",
"answer": "NO"
}
]
}
}
]
},
"ipv6": {
"customerRoutes": [
{
"ipBlock": {
"prefixLength": 64,
"addressingPlans": [
{
"immediate": 2,
"afterThreeMonths": 4,
"size": 4,
"purpose": "Core routers"
}
],
"questions": [
{
"type": "PRIVATE_SPACE_CONSIDERED",
"answer": "NO"
},
{
"type": "REFUSED_PREVIOUSLY",
"answer": "NO"
},
{
"type": "RETURNING_ADDRESS_SPACE",
"answer": "NO"
}
]
}
}
]
}
},
"type": "SINGLE"
}'
Note the owner of the user account used to obtain access token will be set up as the contact person for technical inquiries, order processing purposes and notifications related to the asset's lifecycle.
Sample response
{
"uuid": "2abfbf60-566d-42e6-b88f-3bf66b4c867c",
"type": "SINGLE",
"bandwidth": 10,
"account": {
"accountNumber": "12345"
},
"changeLog": {
"createdBy": "janeDoe",
"createdByFullName": "Jane Doe",
"createdByEmail": "jane@doe.com",
"createdDateTime": "2024-03-08T08:57:43.976583868Z",
"updatedBy": "janeDoe",
"updatedByFullName": "Jane Doe",
"updatedByEmail": "jane@doe.com",
"updatedDateTime": "2024-03-08T08:57:43.976584888Z"
},
"links": [
{
"href": "https://api.equinix.com/internetAccess/v2/services/2abfbf60-566d-42e6-b88f-3bf66b4c867c",
"authenticate": false
}
],
"order": {
"href": "https://api.equinix.com/internetAccess/v2/orders/06cb0588-0747-4dd0-bd06-83fa3b483b02",
"uuid": "06cb0588-0747-4dd0-bd06-83fa3b483b02",
"type": "AMENDMENT"
},
"project": {
"href": "https://api.equinix.com/resourceManager/v2/projects/4f855852-eb47-4721-8e40-b386a3676abf",
"projectId": "4f855852-eb47-4721-8e40-b386a3676abf"
},
"state": "PROVISIONING"
}
To view the details of your Equinix Internet Access service instance, you can use the Get Specified Equinix Internet Access Service Instance API request
curl -X GET 'https://api.equinix.com/internetAccess/v1/services/2abfbf60-566d-42e6-b88f-3bf66b4c867c'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
or log into the Equinix portal and navigate to the Internet Access inventory.
In case the there's an issue with provisioning an EIA service instance, the associated Fabric connection is deprovisioned automatically.