Connect by Invitation
Establish a direct, low-latency connection between your IBX colocated assets and a third-party with a colocation presence, but without an Equinix Fabric service profile, through an email invitation.
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: Retrieve Attributes
1. Determine A-side port information
Retrieve your Equinix Fabric ports information using the Get All Ports API request.
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.
Step 3: Create Connection
Use the POST /fabric/v4/connections API request to create a connection with the pre-determined attributes.
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, redundancy |
Use the Retrieve Pricing API request to retrieve connection price estimate.
Sample curl request - connection to a third-party from a DOT1Q initiated through an email invitation
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": "COLO",
"port": {
"uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"
},
"linkProtocol": {
"type": "DOT1Q",
"vlanTag": 1001
}
}
},
"zSide": {
"accessPoint": {
"location": {
"metroCode": "SV"
},
},
"invitation": {
"email": "test@equinix.com",
"message": "Hello World!"
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test2@equinix.com"
]
}
]
}'
Sample curl request - connection to a third-party from a QINQ initiated through an email invitation
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": "COLO",
"port": {
"uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"
},
"linkProtocol": {
"type": "QINQ",
"vlanCTag": 1001,
"vlanSTag": 1002
}
}
},
"zSide": {
"accessPoint": {
"location": {
"metroCode": "SV"
},
},
"invitation": {
"email": "test@equinix.com",
"message": "Hello World!"
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test2@equinix.com"
]
}
]
}'
Body parameters
Parameter | Mandatory | Type | Example values | Applicable values | Description |
---|---|---|---|---|---|
type | yes | string | EVPL_VC | EVPL_VC | Connection type. EVPL_VC - Ethernet virtual private line connection type used for tagged layer 2 connections. |
name | yes | string | Conn-1 | Maximum: 24 characters Allowed characters: alpha-numeric, hyphens ('-') and underscores ('_') | Connection name. |
order | no | object | - | - | Order details. |
order.purchaseOrderNumber | no | string | 1-129105284100 | - | Subscriber's purchase order identifier. |
redundancy | Conditional | object | - | - | Redundancy details. |
redundancy.group | Conditional | string | m167f685-41b0-1b07-6de0-320a5c00abeu | - | Unique 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. |
redundancy.priority | Conditional | string | PRIMARY | PRIMARY SECONDARY | Whether the connection is PRIMARY or SECONDARY. Don't provide a redundancy group for a PRIMARY connection. |
bandwidth | yes | integer | 1000 | 50 200 500 1000 2000 5000 10000 | Connection bandwidth in Mbps. |
aSide | yes | object | - | - | Source port definition. |
aSide.accessPoint | yes | object | - | - | Connection endpoint configuration. |
accessPoint.type | yes | string | COLO | COLO | Connection endpoint type. COLO - Colocation space in an IBX data center. |
accessPoint.port | yes | object | - | - | Port associated with the connection. |
port.uuid | yes | string | a867f685-41b0-1b07-6de0-320a5c00abdd | - | Equinix-assigned port identifier. |
accessPoint.linkProtocol | yes | object | - | - | Link protocol configuration. |
linkProtocol.type | yes | string | DOT1Q | DOT1Q QINQ | Link protocol type. |
linkProtocol.vlanTag | yes | integer | 1001 | Range: 2-4094 | DOT1Q protocol VLAN tag. |
linkProtocol.vlanCTag | yes | integer | 1002 | Range: 2-4094 | QINQ protocol, inner virtual local area network (VLAN) customer frame tag used to identify packets as they traverse trunk lines. |
linkProtocol.vlanSTag | yes | integer | 1003 | Range: 2-4094 | QINQ protocol, outer virtual local area network (VLAN) service frame tag used to identify packets as they traverse trunk lines. |
zSide | yes | object | - | - | Connection destinatino definition. |
zSide.accessPoint | yes | object | - | - | Connection endpoint configuration. |
accessPoint.location | yes | object | - | - | Attributes associated with the specified asset location. |
location.metroCode | yes | string | SV | - | Metropolitan area identifier. |
invitation | yes | object | - | - | Invitation from a user to connect with a nonuser of Equinix Fabric. The nonuser must have a colocation presence. The invitation recipient can accept or decline the invitation. |
invitation.email | yes | string | test@equinix.com | - | Email address for the recipient in the invitation to connect. |
invitation.message | yes | string | Hello World! | - | Introductory message to email recipient. |
notifications | yes | array[object] | - | - | Subscriber preferences for notification of changes in asset configuration or status. |
notifications.type | yes | string | ALL | ALL | Notification preferences for a specified asset, such as a service token, port, access point, or profile. |
notifications.emails | yes | array[string] | ["test@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 - Invitation to connect from a DOT1Q port
{
"href": "https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62",
"type": "EVPL_VC",
"uuid": "3a58dd05-f46d-4b1d-a154-2e85c396ea62",
"state": "PENDING",
"name": "My-Layer2-Connection",
"order": {
"purchaseOrderNumber": "1-129105284100",
"billingTier": "Up to 1 Gbps"
},
"bandwidth": 100,
"redundancy": {
"group": "a12345-a12b-4b1d-a154-100a0b00bbcc",
"priority": "SECONDARY"
},
"aSide": {
"accessPoint": {
"type": "COLO",
"port": {
"href": "https://api.equinix.com/fabric/v4/ports/a867f685-41b0-1b07-6de0-320a5c00abdd",
"type": "XF_PORT",
"uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd"
},
"linkProtocol": {
"type": "DOT1Q",
"vlanTag": 1001
}
}
},
"zSide": {
"accessPoint": {
"location": {
"href": "https://api.equinix.com/v4/metros/SV",
"metroCode": "SV",
"region": "AMER"
},
"invitation": {
"email": "test@equinix.com",
"message": "Hello World!"
}
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test2@equinix.com"
]
}
],
"operation": {
"equinixStatus": "PENDING_APPROVAL",
"providerStatus": "NOT_AVAILABLE"
},
"changeLog": {
"createdDateTime": "2021-07-15T19:30:29.526Z"
}
}
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.
Parameter | Type | Example values | Description |
---|---|---|---|
href | string | https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 | An absolute URL that returns the specified connection. |
uuid | string | 3a58dd05-f46d-4b1d-a154-2e85c396ea62 | Equinix-assigned connection identifier. |
state | string | PENDING | Lifecycle stage of a connection. |
redundancy | object | Object containing redundancy details. | |
redundancy.group | string | 7a58dd05-f46d-4b1d-a154-2e85c396ea63 | Unique Id of the redundancy group. |
redundancy.priority | string | PRIMARY | Whether the connection is PRIMARY or SECONDARY. |
order.billingTier | string | Up to 1 Gbps | Billing tier for connection bandwidth. |
port.href | string | https://api.equinix.com/fabric/v4/ports/a867f685-41b0-1b07-6de0-320a5c00abdd | An absolute URL that returns the specified port. |
location.href | string | https://api.equinix.com/v4/metros/SV | An absolute URL that returns the specified metro. |
location.region | string | AMER | Broad geographic area in which a specified Equinix asset is located. |
operation | object | - | Access point operational data. |
operation.equinixStatus | string | PROVISIONING | Progress towards provisioning a specified connection. |
operation.providerStatus | string | NOT_AVAILABLE | Provider's progress towards provisioning a specified connection. |
changeLog | object | - | A permanent record of asset creation, modification, or deletion. |
changeLog.createdDateTime | string | 2021-07-15T19:30:29.526Z | Connection creation 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.
equinixStatus parameter values | providerStatus attribute values | Description |
PROVISIONING | NOT_AVAILABLE | Connection request has not been sent yet. |
PROVISIONED | PROVISIONING | Connection establishment in progress. |
PROVISIONED | PROVISIONED | Connection established. |