Determine Project Identifier
Projects aggregate resources required for your end-customer or internal projects needs. When you place an order for a product asset, you must specify the project that the asset instance will be assigned to. Retrieve projects to determine the project identifier.
Step 1: Authenticate
Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication.
Refer to Generate Client ID and Client Secret under Getting Access Token section for instructions on how to create client ID and client secret and refer to Request Access and Refresh tokens for instructions on how to call Oauth API to validate and authenticate your credentials.
If you don't know your user credentials for Equinix Customer Portal, contact your local Equinix Service Desk.
Step 2: Get Projects
Use the Get Projects API request to retrieve all projects in your root organization.
Sample curl request
curl -X GET 'https://api.equinix.com/resourceManager/v2/projects?includePermissions=true&includeInbox=true'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
Sample response
{
"pagination": {
"offset": 0,
"limit": 20,
"total": 2
},
"data": [
{
"projectId": "1234",
"projectName": "Top Secret Project",
"labels": {
"application": "Network Edge"
},
"parentOrganizationId": "1234",
"resourceSubType": "END_CUSTOMER",
"rootOrgId": "316481000362970",
"inboxResource": false,
"silentProject": false,
"permissions": [
{
"actions": [
"networkedge.acl.view",
"networkedge.acl.create",
"networkedge.acl.modify"
],
"resourceType": "ACL"
},
{
"actions": [
"fabric.port.read"
],
"resourceType": "PORT"
}
]
},
{
"projectId": "5678",
"projectName": "Potato Inc. Project",
"labels": {
"application": "Network Edge"
},
"parentOrganizationId": "1234",
"resourceSubType": "END_CUSTOMER",
"rootOrgId": "316481000362970",
"inboxResource": false,
"silentProject": false,
"permissions": [
{
"actions": [
"networkedge.l2connection.view",
"fabric.l2connection.read",
"networkedge.l2connection.create",
"networkedge.l2connection.delete",
"networkedge.l2connection.modify"
],
"resourceType": "L2_CONNECTION"
}
]
}
]
}
Only projects with silentProject attribute set to false
can be used for ordering product assets.
Step 3: Order Asset Instance
Use the product-specific create API request to place an order. Make sure to include project identifier retrieved in the previous step.
Sample curl request - order Equinix Internet Access over a Fabric port
curl -X POST 'https://api.equinix.com/internetAccess/v1/services'
-H 'content-type: application/json'
-H 'authorization: Bearer qwErtY8zyW1abcdefGHI'
-d '{
"name": "Web servers",
"description": "Internet connection for Minecraft server.",
"type": "SINGLE_PORT",
"useCase": "MAIN",
"billing": "FIXED",
"bandwidth": 500,
"connections": [
{
"type": "IA_VC",
"name": "Connection",
"description": "EIA over Fabric connection.",
"aSide": {
"accessPoint": {
"type": "COLO",
"port": {
"type": "XF_PORT",
"uuid": "c4d85dbe-fa11-a119-f7e0-306a5c00af26"
},
"linkProtocol": {
"type": "DOT1Q",
"vlanTag": 829
}
}
}
}
],
"routingProtocols": [
{
"type": "STATIC",
"name": "routingProtocol1",
"description": "Routing Protocol for EIA over Fabric.",
"ipv4": {
"customerRoutes": [
{
"importPolicy": "PA",
"ipBlock": {
"prefixLength": 27,
"addressingPlans": [
{
"purpose": "Provide internet services to the customers",
"immediate": 1,
"afterThreeMonths": 1
}
],
"questions": [
{
"type": "PRIVATE_SPACE_CONSIDERED",
"answer": "YES"
},
{
"type": "RETURNING_ADDRESS_SPACE",
"answer": "YES"
},
{
"type": "REFUSED_PREVIOUSLY",
"answer": "YES"
}
]
}
}
]
}
}
],
"order": {
"referenceNumber": "",
"signature": {
"signatory": "DELEGATE",
"delegate": {
"email": "someone.else@equinix.com"
}
},
"contacts": [
{
"type": "TECHNICAL",
"registeredUser": "joeAverage"
},
{
"type": "NOTIFICATION",
"registeredUser": "joeAverage"
}
]
},
"account": {
"accountNumber": "123456"
},
"project": {
"projectId": "1234"
}
}'
Sample response
{
"uuid": "e6b8874f-d1f8-4f94-ad57-96569dd74486",
"type": "SINGLE_PORT",
"useCase": "MAIN",
"name": "Web servers",
"description": "Internet connection for web servers."
"bandwidth": 500,
"account": {
"accountNumber": "123456"
},
"billing": "FIXED",
"draft": false,
"order": {
"href": "https://api.equinix.com/internetAccess/v1/services/e6b8874f-d1f8-4f94-ad57-96569dd74486/orders/4b8df286-5562-41e2-8753-0379eecbe176",
"uuid": "4b8df286-5562-41e2-8753-0379eecbe176",
"type": "AMENDMENT"
},
"state": "PENDING"
}