Create Service Token - Parameters Mapping
This API request creates a service token.
v3 request
curl -X
POST 'https://api.equinix.com/ecx/v3/serviceTokens'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '{
"resource": {
"type": "CX_PORT",
"uuid": "a867f685-41b0-1b07-6de0-320a5c00abdd",
"metadata": [
{
"key": "outerTag",
"value": 10
},
{
"key": "innerTag",
"value": 11
},
{
"key": "speedLimit",
"value": 100
},
{
"key": "allowRemoteConnections",
"value": true
}
]
},
"preferences": {
"expiry": 10
},
"notify": {
"emails": [
"end-customer@example.com",
"end-customer-2@example.com"
]
}
}'
v4 request
curl -X
POST 'https://api.equinix.com/fabric/v4/serviceTokens'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '{
"type": "VC_TOKEN",
"issuerSide": "Z_Side",
"connection": {
"type": "EVPL_VC",
"allowRemoteConnection": true,
"allowCustombandwidth": false,
"supportedBandwidths": [
50,
200,
500,
1000
],
"zSide": {
"accessPointSelectors": [
{
"type": "COLO",
"hideAssetInfo": false,
"port": {
"uuid": "b840a1db-5413-413f-97e0-328a5c00a874"
},
"linkProtocol": {
"type": "QINQ",
"vlanCTag": 1399,
"vlanSTag": 1388
}
}
]
}
},
"expiry": 30,
"notifications": [
{
"type": "NOTIFICATION",
"emails": [
"abc@company.com"
]
}
]
}'
v3 API request | v4 API request | Description | |
POST /ecx/v3/serviceTokens | POST /fabric/v4/serviceTokens | Request: - Response: v3 and v4 service token objects have different structure and parameters' names. The v4 service token object introduces a nested structure while the v3 service token configuration is based on key-value pairs defined in the metadata array. | |
v3 parameter | v4 parameter | Example | Description |
- | type | VC_TOKEN | New parameter specifying token type. |
- | issuerSide | A_Side Z_Side | Entity to which the token is issued. |
resource.type | - | CX_PORT | Fabric port type associated with the service token. |
- | connection | - | Container object for connection configuration. |
- | connection.type | EVPL_VC | New parameter, connection type. EVPL_VC - Ethernet virtual private line‒virtual connection |
resource.metadata[3].key = allowRemoteConnections | connection.allowRemoteConnection | true | Authorization to establish connections from a different metro. |
- | connection.allowCustombandwidth | false | Authorization to set a custom connection bandwidth. |
resource.metadata[2].key = speedLimit | connection.bandwidthLimit | 1000 | Connection bandwidth limit. Applicable to A-side v4 service tokens. |
- | connection.supportedBandwidths | [50,100] | Supported connection bandwidths. Applicable to Z-side v4 service tokens. |
- | connection.aSide/zSide | - | Container object for A-side/Z-side configuration. |
- | connection.aSide/zSide.accessPointSelectors | - | Available access points definitions. |
- | connection.aSide/zSide.accessPointSelectors[0].type | COLO | Access point type. |
- | connection.aSide/zSide.accessPointSelectors[0].hideAssetInfo | false | Visibility of asset data. The default is false. |
- | connection.aSide/zSide.accessPointSelectors[0].port | - | Port associated with the given access point. |
resource.uuid | connection.aSide/zSide.accessPointSelectors[0].port.uuid | a867f685-421b-21b7-6de0-320a5c00abdd | Equinix-assigned port identifier. |
connection.aSide/zSide.accessPointSelectors[0].linkProtocol | - | New container object for link protocol configuration. | |
- | connection.aSide/zSide.accessPointSelectors[0].linkProtocol.type | QINQ DOT1Q | Link protocol encapsulation standard. |
resource.metadata[1].key = innerTag | connection.aSide/zSide.accessPointSelectors[0].linkProtocol.vlanCTag | 102 | QINQ protocol, inner (customer) VLAN frame tag used to identify packets as they traverse trunk lines. |
resource.metadata[0].key = outerTag | connection.aSide/zSide.accessPointSelectors[0].linkProtocol.vlanSTag | 101 | QINQ protocol, outer (service) VLAN frame tag used to identify packets as they traverse trunk lines. |
preferences.expiry | expiry | 29 | The number of days when the service token remains valid. |
- | notifications | - | New container object for email notifications configuration. |
- | notifications[0].type | NOTIFICATION | New parameter enabling differentiation of notifications. |
- | notifications[0].emails | ["falconstestBuyer@equinix.com"] | List of up to 12 recipients. |
Response
v3 request
{
"id": "ea40918e-9b39-4045-8be8-0beaa7eb5ce1-AM-1",
"status": "INACTIVE"
}
v4 request
{
"href": "https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62",
"type": "EVPL_VC",
"uuid": "3a58dd05-f46d-4b1d-a154-2e85c396ea62",
"name": "Conn-1",
"order": {
"purchaseOrderNumber": "1-129105284100",
"billingTier": "Up to 1 Gbps"
},
"bandwidth": 1000,
"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": {
"serviceToken": {
"href": "https://api.equinix.com/fabric/v4/serviceTokens/20d32a80-0d61-4333-bc03-707b591ae2f5",
"type": "VC_TOKEN",
"uuid": "20d32a80-0d61-4333-bc03-707b591ae2f5"
}
},
"notifications": [
{
"type": "ALL",
"emails": [
"test@equinix.com",
"test2@equinix.com"
]
}
],
"operation": {
"equinixStatus": "PROVISIONING",
"providerStatus": "NOT_AVAILABLE"
},
"changeLog": {
"createdDateTime": "2021-07-15T19:30:29.526Z"
}
}
For details on payload parameters description, refer to Get All Service Tokens - Parameters Mapping.