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.


Copy
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 bandwidthlimit 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 ofthese 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 createdwith the same authorization key toconnect 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 gatheradditional 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.

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