Authorize Buyer to Access Private Service Profile
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 Service Profile
Identify the seller service profile you wish to update.
Refer to GET Services under the API Reference section for instructions on how to get the seller profile. You may skip this step if you already know the service profile details.
Step 3: Update Seller Profile
PUT /ecx/v3/l2/serviceprofiles | |
---|---|
Method | PUT |
URL or Endpoint | /ecx/v3/l2/serviceprofiles |
Headers | Authorization, Content-Type |
Query Parameters | Not applicable |
Body Parameters | uuid, additionalBuyerInfo [{captureInEmail, datatype, description, mandatory, name }], alertPercentage, allowCustomSpeed, apiAvailable, authKeyLabel, connectionAccessibility, connectionNameLabel, ctagLabel, description, equinixManagedPortAndVlan, features {cloudReach, testProfile}, integrationId, namedTags[...], ports[{crossConnectId, id, inTrail, metroCode, sellerRegion, sellerRegionDescription, xa{}}], private, requiredRedundancy, speedBands[{speed, unit}], speedFromAPI, tagType, uuid, status, vlanSameAsPrimary, name, onBandwidthThresholdNotification[...], onProfileApprovalRejectNotification[...], onVcApprovalRejectionNotification[...], privateUserEmails[...]} |
The PUT serviceprofiles API updates a Layer 2 service profile. The authorization token and content-type are the only headers that are passed to this API and a response is received based on the values passed.
If you are unaware of how to obtain an authorization token, refer to Requesting Access and Refresh tokens section under the Getting Access Token.
The following screenshots show a sample curl request and a sample JSON response to modify a layer 2 service profile to white list the user Jane Doe.
curl -X
PUT "http://api.equinix.com/ecx/v3/l2/serviceprofiles"
-H "content-type: application/json"
-H "authorization: Bearer qwErtY8zyW1abcdefGHI"
-d '{
"uuid": "36bfb968-1e4b-4973-baa0-35d2904944de",
"name": "JohnDoe_ServiceProfile",
"privateUserEmails": [
"Jane.Doe@ap.example.com"
],
"onProfileApprovalRejectNotification": [
"John.Doe@example.com"
],
"onBandwidthThresholdNotification": [
"John.Doe@example.com"
],
"onVcApprovalRejectionNotification": [
"John.Doe@example.com"
],
"connectionNameLabel": "Connection",
"ctagLabel": "",
"equinixManagedPortAndVlan": false,
"allowOverSubscription": false,
"overSubscription": "",
"apiAvailable": false,
"integrationId": "Direct-01",
"private": false,
"features": {
"cloudReach": false,
"testProfile": false
},
"requiredRedundancy": false,
"tagType": "CTAGED",
"vlanSameAsPrimary": false,
"enableAutoGenerateServiceKey": false,
"additionalBuyerInfo": [],
"ports": [
{
"id": "8cb83fdb-6671-6714-bbe0-38389cc0acfa",
"metroCode": "SV",
"sellerRegion": null
}
],
"allowCustomSpeed": false,
"speedFromAPI": false,
"speedBands": [
{
"speed": 50,
"unit": "MB"
},
{
"speed": 200,
"unit": "MB"
},
{
"speed": 500,
"unit": "MB"
},
{
"speed": 1000,
"unit": "MB"
}
]
}
The description of the body parameters is as follows:
Body Parameter Name | Mandatory | Type | Example values | Applicable values | Description |
uuid | Yes | string | 9ac03fb0-339f-480e-a79e-87bae5ed0d75 | The unique Equinix-assigned ID of the user profile. | |
name | Yes | string | JohnDoe_AWSServiceProfile | User-defined name of the service profile connection. Supply an alpha-numeric string, which can include hyphens and underscores ('-' & '_') as special characters (no other special characters are allowed). Max Length: 24 characters | |
privateUserEmails | No | array [string] | Jane.Doe@example.com | An array of user email addresses, where each user identified has the permission to access this service profile. Example: ["user@example.com", "user2@example.com"] | |
onProfileApprovalRejectNotification | Yes | array [string] | John.Doe@example.com | An array of email address that are notified when there are any updates on your profile. Example: ["user@example.com", "user2@example.com"] | |
onBandwidthThresholdNotification | Yes | array [string] | John.Doe@example.com | An array of email addresses that are notified when a bandwidth threshold has been triggered. Example: ["user@example.com", "user2@example.com"] | |
onVcApprovalRejectionNotification | Yes | array [string] | John.Doe@example.com | An array of email addresses that are notified when a virtual connection has been approved or rejected. Example: ["user@example.com", "user2@example.com"] | |
alertPercentage | Yes | string | 85 | Specifies the port bandwidth threshold percentage. If the bandwidth limit is met or exceeded, an alert is sent to the seller. Range: 0 - 100 | |
authKeyLabel | No | string | Authentication Secret Key | The Authentication Key service allows Service Providers with QinQ ports to accept groups of connections or VLANs from Dot1q port customers. This is similar to having S-Tag/C-Tag capabilities. | |
connectionNameLabel | Yes | string | Connection | User-defined name of the connection. Supply an alpha-numeric string, which can include hyphens and underscores ('-' & '_') as special characters (no other special characters are allowed). Max Length: 24 characters | |
ctagLabel | No | string | User-defined name of the C-Tag/Inner-Tag of the connection. Range: 2 - 4094 | ||
equinixManagedPortAndVlan | Yes | boolean | true | Only applicable only if APIavailable is set true, this setting indicates whether or not the port and VLAN details are managed by Equinix. | |
allowOverSubscription | Yes | boolean | true | Regardless of the utilization, the Equinix service will continue to add connections to your links until the oversubscription limit is reached. By selecting this service, you acknowledge that you will manage the decisions on when to increase the capacity of these links. | |
overSubscription | No | string | 10x | You can set an alert to indicate when a percentage of your profile has been sold. Service providers can use this feature to sent an alert when more more ports need to be added or when a new service profile needs to be created. | |
apiAvailable | Yes | boolean | true | API integration allows you to complete connection provisioning in less than five minutes. Without API Integration, additional manual steps are required, and the provisioning will likely take longer. | |
integrationId | No | string | AWS-DirectConnect-01 | Specifies the API integration ID that was provided to the customer during onboarding. You can validate your API integration ID using the validateIntegrationId API. If you are unaware of your integration ID, contact your local Equinix Service Desk. | |
private | Yes | boolean | false | Indicates whether or not this profile is private. If private, the profile is only available for creating connections when the correct permissions have been granted (i.e. not public like AWS/Azure/Oracle/Google, etc.). | |
features | Yes | object | Contains feature-related information, such as cloudReach and testProfile. | ||
cloudReach | Yes | boolean | true | Indicates whether or not connections to this profile can be created from remote metros. | |
testProfile | Yes | boolean | false | Indicates whether or not this profile can be used for test connections. | |
requiredRedundancy | Yes | boolean | true | Specifies whether or not your connections require redundancy. If set to yes, then users need to create a secondary redundant connection. | |
tagType | No | string | CTAGED | Specifies additional tagging information required by the seller profile. | |
vlanSameAsPrimary | Yes | boolean | true | Indicates whether or not the VLAN ID of the secondary connection is the same as the primary connection. | |
enableAutoGenerateServiceKey | No | boolean | false | If set to yes, this flag indicates that multiple connections can be created with the same authorization key to connect to this service profile after the first connection has been approved by the seller. | |
additionalBuyerInfo | No | array[string] | An array containing a maximum of 10 custom fields that you can use to gather additional information. | ||
ports | Yes | string | Where will your service be available? Choose the locations where your customers will be able to access your services. The locations specified need at least one active port present in order to qualify as an available zone. | ||
id | Yes | string | 8cb83fdb-6671-6714-bbe0-38389cc0acfa | The Equinix-assigned ID of the port. | |
metroCode | Yes | string | SV | The metro where the port resides. | |
allowCustomSpeed | Yes | boolean | false | This flag specifies whether or not customers can enter a custom port speed. | |
speedFromAPI | Yes | boolean | true | This flag specifies whether or not the speed is derived from an API request. |
If you get “Access Denied” error, contact your local Equinix Service Desk for Equinix Fabric Portal access.
{
"uuid": "36bfb968-1e4b-4973-baa0-35d2904944de"
}
The description of the response payload is as follows:
Field Name | Type | Example values | Description |
---|---|---|---|
uuid | string | 36bfb968-1e4b-4973-baa0-35d2904944de | Indicates the ID of the service profile which was updated. |