Order Equinix Internet Access with Fabric

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 Fabric 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.

Currently, Equinix Internet Access with Fabric supports only MAIN use case and FIXED billing type.

Prerequisites

To place an order for Equinix Internet Access with Fabric:


Step 1: Authenticate

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

Sample curl request

Copy
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 Project Identifier

Projects are customer resource hierarchy entities. They enable convenient assignment and management of assets required for your end-customer or internal projects needs.

Determine project identifier using API

Use the Get Projects API request to list all projects under your root organization.

Sample curl request

Copy
curl -X GET 'https://api.equinix.com/resourceManager/v2/projects'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'

Sample response

Copy
{
    "pagination": {
        "offset": 0,
        "limit": 20,
        "total": 2
    },
    "data": [
        {
            "projectId": "173314000205617",
            "projectName": "Project-1",
            "labels": {
                "application": "Network Edge"
            },
            "parentOrganizationId": "799989000980371",
            "resourceSubType": "RESELLER",
            "rootOrgId": "316481000362970",
            "inboxResource": false,
            "silentProject": false,
        },
        {
            "projectId": "231316000716363",
            "projectName": "Project-1",
            "labels": {
                "application": "Network Edge"
            },
            "parentOrganizationId": "646712000889547",
            "resourceSubType": "END_CUSTOMER",
            "rootOrgId": "316481000362970",
            "inboxResource": false,
            "silentProject": false,
        }
    ]
}

Determine project identifier using the Equinix portal

  1. Log in to the Equinix portal.
  2. Click the global navigation menu in the top left corner, and select Identity & Access Management.
  3. In the Resources tab, identify and hover over the project under which you want to create your Equinix Internet Access service instance.
  4. Click options and select View Details.
  5. Take note of the project identifier.

Determine Equinix Internet Access Availability

Use the Get IBX Data Centers API request to list IBX data centers where Equinix Internet Access is available.

Sample curl request

Copy
curl -X GET 'https://api.equinix.com/internetAccess/v1/ibxs?service.connection.type=IA_VC&offset=0&limit=20'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'

Sample response

Copy
{
    "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 Billing Information

1. Get billing accounts.

Use Get Accounts API request to get the list of billing accounts available to you for ordering Equinix Internet Access in the given IBX data center and assigned to a specified project.

EIA with Fabric can be ordered using billing accounts that don't require a purchase order (billing.poBearing: false).

Sample curl request

Copy
curl -X GET 'https://api.equinix.com/internetAccess/v1/accounts?operationalUnits.ibxs.ibx=DC5&project.projectId=1234&offset=0&limit=50'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'

Sample response

Copy
{
    "pagination": {
        "offset": 0,
        "limit": 20,
        "total": 1
    },
    "data": [
        {
            "accountNumber": "123456",
            "accountName": "John Doe",
            "billing": {
                "signatureRequired": false,
                "poExempted": true,
                "poBearing": false,
                "currency": "USD"
            },
            "operationalUnits": [
                {
                    "ibxs": [
                        {
                            "ibx": "DC5"
                        }
                    ],
                    "metros": [
                        {
                            "metroCode": "DC"
                        }
                    ]
                }
            ],
            "orgId": "1232",
            "organizationName": "Equinix, Inc."
        }
    ]
}

2. Get billing agreements.

Use the Get Account Agreements API request to retrieve a list of agreements between you and Equinix for the given billing account and IBX data center.

Only accounts with valid agreements can be used to order Equinix Internet Access.

Sample curl request

Copy
curl -X GET 'https://api.equinix.com/internetAccess/v1/accounts/123456/agreements?ibx=DC5'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'

Sample response

Copy
{
    "pagination": {
        "offset": 0,
        "limit": 50,
        "total": 1
    },
    "data": [
        {
            "ibx": "DC5",
            "type": "MCA_GTC",
            "valid": true
        }
    ]
}


Establish Service Parameters

Establish what Equinix Internet Access service configurations are available in the given IBX data center.

1. Determine default service settings.

Use the Get Default Settings for EIA with Fabric API request to retrieve the recommended settings for each of the Equinix Internet Access with Fabric service use cases.

Sample curl request

Copy
curl -X GET 'https://api.equinix.com/internetAccess/v1/virtualConnectionDefaultConfigurations?connection.aside.accessPoint.location.ibx=DC5'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'

Sample response

Copy
{
    "pagination": {
        "offset": 0,
        "limit": 50,
        "total": 1
    },
    "data": [
        {
            "type": "SINGLE_PORT",
            "useCase": "MAIN",
            "billing": "FIXED",
            "bandwidth": 500,
            "connection": {
                "aside": {
                    "accessPoint": {
                        "location": {
                            "metroCode": "DC",
                            "ibx": "DC5"
                        }
                    }
                }
            },
            "routingProtocol": {
                "type": "STATIC",
                "ipv4": {
                    "customerRoute": {
                        "importPolicy": "PA",
                        "prefixLength": 27
                    }
                }
            }
        }
    ]
}

Skip to Determine Ports Information if the default configuration fulfills your needs.

2. Get available port bandwidth options.

Use the Get Bandwidth Configurations for EIA with Fabric API request to retrieve available port bandwidth options.

Sample curl request

Copy
curl -X GET 'https://api.equinix.com/internetAccess/v1/virtualBandwidthConfigurations?useCase=MAIN'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'

Sample response

Copy
{
    "pagination": {
        "offset": 0,
        "limit": 50,
        "total": 5
    },
    "data": [
        {
            "useCase": "MAIN",
            "billing": "FIXED",
            "bandwidth": 10
        },
        {
            "useCase": "MAIN",
            "billing": "FIXED",
            "bandwidth": 20
        },
        {
            "useCase": "MAIN",
            "billing": "FIXED",
            "bandwidth": 500
        },
        {
            "useCase": "MAIN",
            "billing": "FIXED",
            "bandwidth": 4000
        },
        {
            "useCase": "MAIN",
            "billing": "FIXED",
            "bandwidth": 4100
        }
    ]
}

3. Get available routing protocol options.

Use the Get Routing Protocol Configurations API request to retrieve available routing protocol options.

Sample curl request

Copy
curl -X GET 'https://api.equinix.com/internetAccess/v1/routingProtocolConfigurations?useCase=MAIN'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'

Sample response

Copy
{
    "pagination": {
        "offset": 0,
        "limit": 50,
        "total": 2
    },
    "data": [
        {
            "useCase": "MAIN",
            "type": "DUAL_PORT",
            "routingProtocol": {
                "type": "DIRECT",
                "ipv4": {
                    "customerRoute": {
                        "importPolicy": "PA"
                    },
                    "peering": {
                        "vrrpEnabled": true,
                        "peerSubnet": {
                            "prefixLength": 29,
                            "quantity": 1
                        }
                    }
                },
                "ipv6": {
                    "customerRoute": {
                        "importPolicy": "PA"
                    },
                    "peering": {
                        "vrrpEnabled": true,
                        "peerSubnet": {
                            "prefixLength": 64,
                            "quantity": 1
                        }
                    }
                }
            }
        },
        {
            "useCase": "MAIN",
            "type": "SINGLE_PORT",
            "routingProtocol": {
                "type": "BGP",
                "ipv4": {
                    "customerRoute": {
                        "importPolicy": "PI"
                    },
                    "peering": {
                        "vrrpEnabled": false,
                        "peerSubnet": {
                            "prefixLength": 30,
                            "quantity": 1
                        }
                    }
                },
                "ipv6": {
                    "customerRoute": {
                        "importPolicy": "PI"
                    },
                    "peering": {
                        "vrrpEnabled": false,
                        "peerSubnet": {
                            "prefixLength": 64,
                            "quantity": 1
                        }
                    }
                }
            }
        }
    ]
}

4. Get customer route configurations.

Use the Get Customer Route Configurations API request to retrieve available routing protocol options.

Sample curl request

Copy
curl -X GET 'https://api.equinix.com/internetAccess/v1/customerRouteConfigurations?useCase=MAIN'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'

Sample response

Copy
{
    "pagination": {
        "offset": 0,
        "limit": 20,
        "total": 481
    },
    "data": [
        {
            "useCase": "MAIN",
            "routingProtocol": {
                "type": "DIRECT",
                "ipv4": {
                    "customerRoute": {
                        "importPolicy": "PA",
                        "prefixLength": 27
                    },
                    "peering": {
                        "vrrpEnabled": true
                    }
                }
            },
            "type": "DUAL_PORT"
        },
        {
            "useCase": "MAIN",
            "routingProtocol": {
                "type": "DIRECT",
                "ipv4": {
                    "customerRoute": {
                        "importPolicy": "PA",
                        "prefixLength": 24
                    },
                    "peering": {
                        "vrrpEnabled": true
                    }
                }
            },
            "type": "DUAL_PORT"
        }
    ]
}

5. Get additional IP networking options.

Use the Get Additional IP Configurations API request to retrieve additional IP subnets that can be leased from Equinix.

Sample curl request

Copy
curl -X GET 'https://api.equinix.com/internetAccess/v1/additionalIpConfigurations?useCase=MAIN'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'

Sample response

Copy
{
    "pagination": {
        "offset": 0,
        "limit": 20,
        "total": 481
    },
    "data": [
        {
            "useCase": "MAIN",
            "routingProtocol": {
                "type": "DIRECT",
                "ipv4": {
                    "customerRoute": {
                        "importPolicy": "PA",
                        "prefixLength": 27
                    },
                    "peering": {
                        "vrrpEnabled": true
                    }
                }
            },
            "type": "DUAL_PORT"
        },
        {
            "useCase": "MAIN",
            "routingProtocol": {
                "type": "DIRECT",
                "ipv4": {
                    "customerRoute": {
                        "importPolicy": "PA",
                        "prefixLength": 24
                    },
                    "peering": {
                        "vrrpEnabled": true
                    }
                }
            },
            "type": "DUAL_PORT"
        }
    ]
}

Determine Ports Information

Use the Get Ports API request to retrieve your Fabric ports information.

Sample curl request

Copy
curl -X GET 'https://api.equinix.com/fabric/v4/ports'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'

Sample response

Copy
{
    "pagination": {
        "offset": 0,
        "limit": 999,
        "total": 133
    },
    "data": [
        {
            "href": "https://api.equinix.com/fabric/v4/ports/c791f8cb-599b-99b0-8ce0-306a5c00a4ee",
            "type": "XF_PORT",
            "uuid": "c791f8cb-599b-99b0-8ce0-306a5c00a4ee",
            "name": "testBuyer-DC5-NL-Dot1q-BO-PRI-10G-JN-163",
            "state": "ACTIVE",
            "cvpId": "1614613",
            "bandwidth": 10000,
            "usedBandwidth": 6165,
            "availableBandwidth": 3835,
            "location": {
                "href": "https://api.equinix.com/fabric/v4/metros/DC",
                "ibx": "DC5",
                "metroCode": "DC",
                "metroName": "Ashburn",
                "region": "AMER"
            },
            "device": {
                "name": "qa3-dc-a1.lab",
                "redundancy": {
                    "priority": "PRIMARY"
                }
            },
            "encapsulation": {
                "type": "DOT1Q",
                "tagProtocolId": "0x8100"
            },
            "lag": {
                "enabled": false
            },
            "settings": {
                "buyout": true,
                "placeVcOrderPermission": true,
                "viewPortPermission": true
            },
            "physicalPorts": [
                {
                    "state": "ACTIVE",
                    "type": "XF_PHYSICAL_PORT",
                    "id": 1426515,
                    "bandwidth": 10000,
                    "tether": {
                        "crossConnectId": "ECX.01.00002995",
                        "cabinetNumber": "Demarc",
                        "systemName": "DC5:01:001015",
                        "patchPanelName": "PP:Demarc:00001016",
                        "patchPanelPortA": "1",
                        "patchPanelPortB": "2",
                    },
                    "demarcationPoint": {
                        "patchPanelName": "PP:Demarc:00001015",
                        "patchPanelPortA": "5",
                        "patchPanelPortB": "6",
                        "ibx": "DC5"
                    },
                    "settings": {
                        "sharedPortType": false,
                        "sharedPortProduct": "NA"
                    },
                    "operation": {
                        "operationalStatus": "UP",
                        "opStatusChangedAt": "2021-12-02T00:00:00Z"
                    }
                }
            ],
            "operation": {
                "operationalStatus": "UP",
                "opStatusChangedAt": "2021-07-20T17:04:18Z",
                "connectionCount": 53,
                "evplVCCount": 53,
                "fgVCCount": 0,
                "accessVCCount": 0
            },
            "account": {
                "accountNumber": 270001,
                "accountName": "testBuyer",
                "ucmId": "08374E19-9B56-4c27-84BA-33D42BB0940C",
                "globalCustId": "0016u000003JZ4sAAG",
                "orgId": "91997",
                "organizationName": "testBuyer-270001"
            },
            "changeLog": {
                "updatedDateTime": "2021-07-20T17:04:18Z",
                "createdDateTime": "2021-07-20T17:04:18Z"
            }
        }
    ]
}

Note that the port you use to order an Equinix Internet Access service instance must be located in an IBX data center that supports Equinix Internet Access with Fabric and must have sufficient available bandwidth remaining. Refer to section Determine Equinix Internet Access Availability to establish where Equinix Internet Access with Fabric is available. For available bandwidth, check the availableBandwidth value in the payload returned by the request above.


Validate VLAN Tag Availability

Use the Validate Connection API request to make sure the VLAN identifier you want to use is available.

Sample curl request - DOT1Q encapsulation

Copy
curl -X POST 'https://api.equinix.com/fabric/v4/connections/validate'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '{
    "filter": {
    "and": [
        {
        "property": "/aSide/accessPoint/port/uuid",
        "operator": "=",
        "values": [
            "c4d85dbe-f9e3-9e39-f7e0-306a5c00af26"
        ]
        },
        {
        "property": "/aSide/accessPoint/linkProtocol/vlanTag",
        "operator": "=",
        "values": [
            "4007"
        ]
        }
    ]
    }
}

Sample curl request - QINQ encapsulation

Copy
curl -X POST 'https://api.equinix.com/fabric/v4/connections/validate'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '{
    "filter": {
    "and": [
        {
        "property": "/aSide/accessPoint/port/uuid",
        "operator": "=",
        "values": [
            "c4d85dbe-f9e3-9e39-f7e0-306a5c00af26"
        ]
        },
        {
        "property": "/aSide/accessPoint/linkProtocol/vlanSTag",
        "operator": "=",
        "values": [
            "4001"
        ]
        },
        {
        "property": "/aSide/accessPoint/linkProtocol/vlanCTag",
        "operator": "=",
        "values": [
            "4002"
        ]
        }
    ]
    }
}

Sample response

Copy
{
    "additionalInfo": [
        {
            "key": "message",
            "value": "vlanTag(s) provided is available"
        }
    ]
}

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

Copy
curl -X GET 'https://api.equinix.com/internetAccess/v1/operationalUnits?location.ibx=DC5'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'

Sample response

Copy
{
    "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

Copy
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

Copy
{
    "pagination": {
        "offset": 0,
        "limit": 50,
        "total": 1
    },
    "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>",
            "version": "a2Z7i000000BgLaEAK",
            "location": {
                "ibx": "DC5"
            },
            "account": {
                "accountNumber": "200051"
            },
            "connectivitySource": {
                "type": "COLO"
            },
            "type": "TERMS_AND_CONDITIONS",
            "product": "IA_C",
            "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

Copy
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": [
                    "COLO"
                ]
            },
            {
                "property": "/service/connection/aSide/accessPoint/location/ibx",
                "operator": "=",
                "values": [
                    "DC3"
                ]
            },
            {
                "property": "/service/routingProtocol/ipv4/customerRoute/ipBlock/prefixLength",
                "operator": "=",
                "values": [
                    27
                ]
            }
        ]
    }
}'

Sample response

Copy
{
    "data": [
        {
            "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": "COLO",
                            "location": {
                                "ibx": "DC3"
                            }
                        }
                    }
                },
                "routingProtocol": {
                    "ipv4": {
                        "customerRoute": {
                            "ipBlock": {
                                "prefixLength": 27
                            }
                        }
                    }
                }
            }
        }
    ],
    "pagination": {
        "offset": 0,
        "limit": 50,
        "total": 1
    }
}

Step 5: 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 - primary internet connection, single port, static routing, fixed billing

Copy
curl -X POST 'https://api.equinix.com/internetAccess/v1/services'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '{
    "name": "EIA_Direct",
    "type": "SINGLE_PORT",
    "useCase": "MAIN",
    "billing": "FIXED",
    "bandwidth": 10,
    "connections": [
        {
            "type": "IA_VC",
            "name": "EIA_Direct",
            "aSide": {
                "accessPoint": {
                    "type": "COLO",
                    "port": {
                        "type": "XF_PORT",
                        "uuid": "asdf5dbe-fa39-a399-f7e0-306a5c00af26"
                    },
                    "linkProtocol": {
                        "type": "DOT1Q",
                        "vlanTag": 1234
                    }
                }
            }
        }
    ],
    "routingProtocols": [
        {
            "type": "DIRECT",
            "ipv4": {
                "customerRoutes": [
                    {
                        "ipBlock": {
                            "prefixLength": 29
                        }
                    }
                ]
            },
            "ipv6": {
                "customerRoutes": [
                    {
                        "ipBlock": {
                            "prefixLength": 48
                        }
                    }
                ]
            }
        }
    ],
    "order": {
        "referenceNumber": ""
    },
    "account": {
        "accountNumber": "007"
    },
    "project": {
        "projectId": "6548320d-866b-4fdf-9b05-dcbe95f43bb1"
    }
}'

Sample curl request - primary internet connection, single port, direct routing, fixed billing

Copy
curl -X POST 'https://api.equinix.com/internetAccess/v1/services'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '{
    "name": "EIA_Direct",
    "type": "SINGLE_PORT",
    "useCase": "MAIN",
    "billing": "FIXED",
    "bandwidth": 10,
    "connections": [
        {
            "type": "IA_VC",
            "name": "EIA_Direct",
            "aSide": {
                "accessPoint": {
                    "type": "COLO",
                    "port": {
                        "type": "XF_PORT",
                        "uuid": "asdf5dbe-fa39-a399-f7e0-306a5c00af26"
                    },
                    "linkProtocol": {
                        "type": "DOT1Q",
                        "vlanTag": 1234
                    }
                }
            }
        }
    ],
    "routingProtocols": [
        {
            "type": "DIRECT",
            "ipv4": {
                "customerRoutes": [
                    {
                        "ipBlock": {
                            "prefixLength": 29
                        }
                    }
                ]
            },
            "ipv6": {
                "customerRoutes": [
                    {
                        "ipBlock": {
                            "prefixLength": 48
                        }
                    }
                ]
            }
        }
    ],
    "order": {
        "referenceNumber": ""
    },
    "account": {
        "accountNumber": "007"
    },
    "project": {
        "projectId": "6548320d-866b-4fdf-9b05-dcbe95f43bb1"
    }
}'

Sample curl request - primary internet connection, single port, BGP routing, customer-owned IP address, fixed billing

Currently, EIA with Fabric supports only Equinix-assigned private ASNs.

Copy
curl -X POST 'https://api.equinix.com/internetAccess/v1/services'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '{
    "name": "EIA_BGP",
    "type": "SINGLE_PORT",
    "useCase": "MAIN",
    "billing": "FIXED",
    "bandwidth": 50,
    "connections": [
        {
            "type": "IA_VC",
            "name": "EIA_BGP",
            "aSide": {
                "accessPoint": {
                    "type": "COLO",
                    "port": {
                        "type": "XF_PORT",
                        "uuid": "asdf17cf-63a1-4b17-9283-75d22d127ba9"
                    },
                    "linkProtocol": {
                        "type": "DOT1Q",
                        "vlanTag": 1234
                    }
                }
            }
        }
    ],
    "routingProtocols": [
        {
            "type": "BGP",
            "customerAsnRange": "BITS_32",
            "ipv4": {
                "customerRoutes": [
                    {
                        "prefix": "67.223.184.0/24"
                    }
                ]
            },
            "ipv6": {
                "customerRoutes": [
                    {
                        "prefix": "fd00::/48"
                    }
                ]
            },
            "exportPolicy": "FULL_DEFAULT"
        }
    ],
    "order": {
        "referenceNumber": "",
        "contacts": [
            {
                "type": "TECHNICAL",
                "registeredUser": "michael@scott.co"
            },
            {
                "type": "NOTIFICATION",
                "registeredUser": "michael@scott.co"
            }
        ]
    },
    "account": {
        "accountNumber": "7777"
    },
    "project": {
        "projectId": "abcb69cc-440f-4178-9da2-df41b9a79ed8"
    }
}'

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

Copy
{
    "type": "SINGLE_PORT",
    "useCase": "MAIN",
    "name": "Web servers",
    "description": "Internet connection for web servers."
    "bandwidth": 500,
    "uuid": "e6b8874f-abcd-4f94-ad57-96569dd74486",
    "account": {
        "accountNumber": "123456"
    },
    "billing": "FIXED",
    "changeLog": {
        "createdBy": "johnDoe",
        "createdByFullName": "John Doe",
        "createdByEmail": "john@doe.com",
        "createdDateTime": "2023-05-11T07:17:56.689179Z"
    },
    "draft": false,
    "links": [
        {
            "href": "https://api.equinix.com/internetAccess/v1/services/e6b8874f-abcd-4f94-ad57-96569dd74486",
            "authenticate": false
        }
    ],
    "order": {
        "href": "https://api.equinix.com/internetAccess/v1/orders/4b8df286-abcd-41e2-8753-0379eecbe176",
        "uuid": "4b8df286-5562-41e2-8753-0379eecbe176",
        "type": "AMENDMENT"
    },
    "project": {
        "href": "https://api.equinix.com/resourceManager/v1/projects/16799d66-abcd-445c-ba29-d17522d8a137",
        "projectId": "16799d66-ef43-445c-ba29-d17522d8a137"
    },
    "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

Copy
curl -X GET 'https://api.equinix.com/internetAccess/v1/services/e6b8874f-d1f8-4f94-ad57-96569dd74486'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'

or log into the Equinix portal and navigate to the Internet Access inventory.