Skip to main content
Index

Create Service Profile

Step 1: Authenticate

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

 

Refer to Generating a Client ID and Client Secret key under Getting Started section for instructions on how to create client ID and client secret and refer to Requesting Access and Refresh tokens 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: Create Seller Profile

POST /ecx/v3/l2/serviceprofiles

Method POST
URL or End Point /ecx/v3/l2/serviceprofiles
Headers Authorization, Content-Type
Query Parameters Not applicable
Body Parameters 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 POST connections API creates 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 Getting Started.

 

The following screenshots show a sample curl request to create a layer 2 service profile and a sample JSON response for this API. 

 

Private Profile

 

curl -X

POST "http://api.equinix.com/ecx/v3/l2/serviceprofiles"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "name": "JohnDoe_Private_ServiceProfile",
  "privateUserEmails": [],
  "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": "",
  "private": true,
  "features": {
    "cloudReach": true,
    "testProfile": false
  },
  "requiredRedundancy": false,
  "tagType": null,
  "vlanSameAsPrimary": false,
  "enableAutoGenerateServiceKey": null,
  "additionalBuyerInfo": [],
  "ports": [
    {
      "id": "8cb83fdb-6651-6514-bbe0-38389cc0acfa",
      "metroCode": "SV"
    },
    {
      "id": "8cb83fdb-661d-61d4-bbe0-38389cc0acfa",
      "metroCode": "SV"
    }
  ],
  "allowCustomSpeed": false,
  "speedFromAPI": false,
  "speedBands": [
    {
      "speed": 50,
      "unit": "MB"
    },
    {
      "speed": 200,
      "unit": "MB"
    },
    {
      "speed": 500,
      "unit": "MB"
    },
    {
      "speed": 1000,
      "unit": "MB"
    }
  ]
}

 

Public Profile

 

curl -X

POST "http://api.equinix.com/ecx/v3/l2/serviceprofiles"

-H "content-type: application/json"

-H "authorization: Bearer qwErtY8zyW1abcdefGHI"

-d '{

  "name": "JohnDoe_ServiceProfile",
  "privateUserEmails": [],
  "onProfileApprovalRejectNotification": [
    "John.Doe@example.com"
  ],
  "onBandwidthThresholdNotification": [
    "John.Doe@example.com"
  ],
  "onVcApprovalRejectionNotification": [
    "John.Doe@example.com"
  ],
  "alertPercentage": "85",
  "authKeyLabel": "Authentication Secret Key",
  "connectionNameLabel": "Connection",
  "ctagLabel": "",
  "equinixManagedPortAndVlan": true,
  "allowOverSubscription": true,
  "overSubscription": "10x",
  "apiAvailable": true,
  "integrationId": "Direct-01",
  "private": false,
  "features": {
    "cloudReach": true,
    "testProfile": false
  },
  "requiredRedundancy": true,
  "tagType": "CTAGED",
  "vlanSameAsPrimary": true,
  "enableAutoGenerateServiceKey": false,
  "additionalBuyerInfo": [],
  "ports": [
    {
      "id": "8cb83fdb-6671-6714-bbe0-38389cc0acfa",
      "metroCode": "SV"
    }
  ],
  "allowCustomSpeed": false,
  "speedFromAPI": true

}

 

The description of the body parameters is as follows:

 

Body Parameter Name Mandatory Type Example values Applicable values Description
name Yes string JohnDoe_ServiceProfile  

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]    

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   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 Direct-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 string     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 created.