Console Connect API
API Endpoint
https://api.consoleconnect.comThe Console Connect API follows the CRUD RESTful style.
Operation | Verb |
---|---|
Create | PUT |
Read | GET |
Update | POST |
Destroy | DELETE |
The first section of the API documentation comprises a user guide outlining procedures for making basic calls to the Console Connect REST API. The remaining sections of the documentation provide a complete API reference, grouped by function.
Console Connect API User Guide ¶
This API guide focuses on configuring network services. Example calls are provided using the curl command, which is available for Windows, Mac, and Linux. All specific values provided in the examples below are fake, and should be replaced with appropriate values.
For variables within a request URL such as your company username, the variable part of the URL is prefixed with a colon e.g. :companyUsername
.
Authentication
User authentication must occur before any further API calls can be made. The following PUT request can be made to authenticate with a given user’s credentials.
curl \
--request PUT \
--header "Content-Type: application/json" \
--data-binary "{\"email\": \"stan@example.com\", \"password\": \"Password1\"}" \
https://api.consoleconnect.com/api/auth/token
The response body will include a “token” element, which must be passed as the value for a “portal-token” header in each subsequent API request.
Console Connect manages access control through policy-based access control, applied through roles. For example, for most of the network-related operations, the authenticated user requesting the action requires a Network Admin role, or Network Viewer role for read-only access.
More information on Authentication.
Configuring Network Services
Before configuring any network services in Console Connect, you must create a port. This is done in two steps; ordering or requesting a port, and activating that port.
Console Connect manages entitlements through plan-based subscriptions associated with each port (one subscription per port). Before you can order a port, your company must have a subscription to a plan with sufficient entitlements available to complete the request. To list your company’s subscriptions and entitlements refer to Get all plans and entitlements.
List Data Center Facilities
To list available data center facilities:
curl \
--header "portal-token: [[auth token]]" \
--header "Content-Type: application/json" \
https://api.consoleconnect.com/api/search?type=dataCenterFacilities
Order a Port
Console Connect supports ordering 1G and 10G ports. Port availability is dependent on the Data Center.
Prerequisites:
-
Your company has been verified on the Console Connect platform
-
The authenticated user account has Network Admin permissions
curl \
--request PUT \
--header "Content-Type: application/json" \
--header "portal-token: [[auth token]]" \
--data-binary "{\"dataCenterFacility\":\"supernetpa4\",\"billingId\":56d691309a90128d55831db2,\"speed\":1000,\"portName\":\"PORT_2\",\"type\":\"PHYSICAL\"}" \
https://api.consoleconnect.com/api/company/:companyName/ports/orders
The port will remain in a pending status until it is approved by a Console administrator. Once approved, it will be automatically provisioned and activated.
Ports may be disabled or re-activated using these requests
More information on Ports
Updating Port Details
Prerequisites:
- The authenticated user account has Network Admin permissions
The following request will update the port name:
curl \
--request POST \
--header "Content-Type: application/json" \
--header "portal-token: [[auth token]]" \
--data-binary "{\"name\":\"My new name\"}" \
https://api.consoleconnect.com/api/company/:companyUsername/ports/:portId
Connections
Once a port is active, connections can be provisioned on it. Connections can be in one of the following states:
Status | Description |
---|---|
PENDING | The connection request is pending approval from at least 1 party. |
CANCELLED | The request was cancelled by the source/requestor |
PENDING ACCEPTANCE | Pending acceptance by 3rd party service (e.g. AWS) |
DENIED | Request rejected by target. |
ACCEPTED | Request accepted by the target, waiting for the physical port to come up. |
ACTIVE | Active and operational connection. |
DISABLED | The connection has been explicitly disabled. |
DELETING | In the process of being deleted. |
DELETED | Deleted connection. |
MANUAL | |
ERROR | IN an error state. Look at connection.errorReason |
More information on Connections
Request a Layer 2 Connection to a Company
Layer 2 connection requests must include type, name, portId, speed, destMetroId, and destCompany, with LAYER2 specified as the type and the speed in Mbps.
curl \
--request PUT \
--header "portal-token: [[auth token]]" \
--header "Content-Type: application/json" \
--data-binary "{\"type\":\"LAYER2\",\"name\":\"Layer 2 Connection\",\"portId"\:\"576247795c9de0b91e8b8576\",\"speed\":10,\"destMetroId\":\"1232413986c08c061dd8c45f\",\"destCompany\":\"CompanyA\"}" \
https://api.consoleconnect.com/api/v2/company/:username/connections/layer2
Retrieve a List of all Connections
curl \
--header "portal-token: [[auth token]]" \
--header "Content-Type: application/json" \
https://api.consoleconnect.com/api/company/:companyName/connections
Update a Connection
curl \
--request POST \
--header "portal-token: [[auth token]]" \
--header "Content-Type: application/json" \
--data-binary "{\"name\":\"Connection 1\" }" \
https://api.consoleconnect.com/api/company/:companyName/connections/:connectionId
More information on Connections
Handle Incoming Connection Requests
Actions that may per performed on a connection request are: ‘approve’, ‘reject’, ‘enable’ and ‘disable’.
To approve an incoming connection request, hit the following URL passing the target companyName and connectionId as follows:
curl \
--request PUT \
--header "portal-token: [[auth token]]" \
--header "Content-Type: application/json" \
--data-binary "{\"destPortIt\":\"portId\"}" \
https://api.consoleconnect.com/api/v2/company/:companyName/connections/:connectionId/approve
Disable a Port
Ports can be disabled with the following request:
curl \
--request POST \
--header "Content-Type: application/json" \
--header "portal-token: [[auth token]]" \
https://api.consoleconnect.com/api/company/:companyName/ports/:portId/:disable
Delete a Port
Ports must first be disabled before they can be deleted. Once disabled, the following request will delete the port:
curl \
--request DELETE --header "Content-Type: application/json" \
--header "portal-token: [[auth token]]" \
https://api.consoleconnect.com/api/company/:companyUsername/ports/:portId
Auth ¶
User login, logout and password management.
Auth ¶
Headers
Content-Type: application/json
Body
{
"email": "user@example.com",
"password": "Password1"
}
Headers
Content-Type: application/json
Body
{
"id": "58980a25a77b4d7bf459d100",
"username": "stan",
"name": "Stan",
"email": "stan@smith.test",
"tags": [],
"status": "ACTIVE",
"newEmailTokenCreatedAt": null,
"capabilities": {
"layer3Regions": [],
"layer2Regions": [],
"layer3Metros": [],
"layer2Metros": [],
"layer3": false,
"layer2": false
},
"newEmail": null,
"externalStatus": "UNSYNCED",
"phone": null,
"popIds": [],
"groups": [],
"canInviteExternal": false,
"passwordUpdatedAt": null,
"legalEntityId": null,
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"verified": false,
"verifiedIdentity": false,
"isSupport": false,
"type": "PERSON",
"companies": [],
"online": false,
"optIntoMarketingEmail": false,
"linkUserCompany": {},
"__v": 0,
"stats": {
"members": 0,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"displayOrder": -299,
"settings": {
"emailWhenMessageReceived": {
"option": "ALL",
"category": "communityAndMessages"
},
"alertWhenKeywordsMentioned": {
"enabled": true,
"option": [],
"category": "communityAndMessages"
},
"dismissPlanChangeMessage": {
"option": true,
"category": "hidden"
},
"alertMeWhenNetworkRelatedEvent": {
"option": true,
"category": "network"
},
"alertMeWhenCompanyJoinsConsole": {
"option": true,
"category": "network"
},
"alertMeWhenInterconnectRequest": {
"option": true,
"category": "network"
},
"alertMeWhenJoinCompany": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenJoinCompanyRequest": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCommentInPostByCompanyMember": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCommentInPostByCompany": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCommentInPost": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCompanyMemberMentionedInPost": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCompanyMentionedInPost": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenMentionedInPost": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCompanyNewFollower": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenNewFollower": {
"option": true,
"category": "communityAndMessages"
}
},
"system": {
"welcomeMessage": null
},
"createdAt": "2017-02-06T05:31:17.046Z",
"updatedAt": "2017-02-06T05:31:17.046Z",
"deletedAt": null,
"deleted": false,
"token": "e4e0c6e2c5e73963e60a1132948e1c7f84f1f4cdd04a254e9215ab314b48e26e"
}
Login userPUT/api/auth/token
User authentication (login) must occur before any further API calls can be made. The token from the response must be passed as the value for a “portal-token” header in each subsequent API request.
Headers
Content-Type: application/json
portal-token: 113407e6281579d4f7f4a664db00b15b92de7cd3ccf02b47aa6cfc187d27ca05;
Headers
Content-Type: application/json
Body
{
"id": "58980a25a77b4d7bf459d100",
"username": "stan",
"name": "Stan",
"email": "stan@smith.test",
"tags": [],
"status": "ACTIVE",
"newEmailTokenCreatedAt": null,
"capabilities": {
"layer3Regions": [],
"layer2Regions": [],
"layer3Metros": [],
"layer2Metros": [],
"layer3": false,
"layer2": false
},
"newEmail": null,
"externalStatus": "UNSYNCED",
"phone": null,
"popIds": [],
"groups": [],
"canInviteExternal": false,
"passwordUpdatedAt": null,
"legalEntityId": null,
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"verified": false,
"verifiedIdentity": false,
"isSupport": false,
"type": "PERSON",
"companies": [],
"online": false,
"optIntoMarketingEmail": false,
"linkUserCompany": {},
"__v": 0,
"stats": {
"members": 0,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"displayOrder": -299,
"settings": {
"emailWhenMessageReceived": {
"option": "ALL",
"category": "communityAndMessages"
},
"alertWhenKeywordsMentioned": {
"enabled": true,
"option": [],
"category": "communityAndMessages"
},
"dismissPlanChangeMessage": {
"option": true,
"category": "hidden"
},
"alertMeWhenNetworkRelatedEvent": {
"option": true,
"category": "network"
},
"alertMeWhenCompanyJoinsConsole": {
"option": true,
"category": "network"
},
"alertMeWhenInterconnectRequest": {
"option": true,
"category": "network"
},
"alertMeWhenJoinCompany": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenJoinCompanyRequest": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCommentInPostByCompanyMember": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCommentInPostByCompany": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCommentInPost": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCompanyMemberMentionedInPost": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCompanyMentionedInPost": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenMentionedInPost": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCompanyNewFollower": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenNewFollower": {
"option": true,
"category": "communityAndMessages"
}
},
"system": {
"welcomeMessage": null
},
"createdAt": "2017-02-06T05:31:17.046Z",
"updatedAt": "2017-02-06T05:31:17.046Z",
"deletedAt": null,
"deleted": false
}
Get current logged in userGET/api/auth/token
Retrieve account details for the authenticated user.
Headers
Content-Type: application/json
portal-token: 113407e6281579d4f7f4a664db00b15b92de7cd3ccf02b47aa6cfc187d27ca05;
Headers
Content-Type: application/json
Body
{}
Logout UserDELETE/api/auth/token
Logout the authenticated user
Forgot Password ¶
Headers
Content-Type: application/json
Body
{}
Forgot PasswordPUT/api/auth/password/forgot/:email
string
(required) Example: user@example.comEmail address from the account of the user who forgot their password.
Reset Password ¶
Headers
Content-Type: application/json
Body
{}
Reset PasswordPUT/api/auth/password/reset/:emailResetToken
- emailResetToken
string
(required) Example: 1234abcdThe token that is sent via email.
Change Password ¶
Headers
Content-Type: application/json
Body
{
"oldPassword": "Password1",
"newPassword": "Password2"
}
Headers
Content-Type: application/json
Body
{}
Change PasswordPUT/api/auth/password
Change password for the authenticated user
Invites ¶
Invitations to Console Connect. Authenticated users can create invites for users off Console Connect, and unauthenticated users off Console Connect Connect can create invite requests to join the platform.
Note that companies can also invite users to the platform.
Request an Invite ¶
Headers
Content-Type: application/json
Body
{
"firstName": "Example",
"lastName": "User",
"email": "user@example.com",
"company": "ExampleCo"
}
Headers
Content-Type: application/json
Body
{}
Request an InvitePUT/api/invite/request
Request an invitation to join Console Connect. This is unauthenticated so customers can request an invite to join the platform.
Invite requests are moderated.
Invite a User to Console Connect ¶
Headers
Content-Type: application/json
Schema
{
"title": "Invite user to platform",
"type": "array",
"items": {
"properties": {
"email": {
"description": "Invitee email",
"example": "bob@example.com",
"format": "email"
},
"name": {
"description": "Invitee's name",
"example": "Bob Exampleton",
"type": "string",
"maxLength": 1024
},
"firstName": {
"description": "Invitee's first name",
"example": "Bob",
"type": "string",
"maxLength": 512
},
"lastName": {
"description": "Invitee's last name",
"example": "Exampleton",
"type": "string",
"maxLength": 512
},
"companyName": {
"description": "Invitees commpany's name. Can be new or existing. The user does not get invited to this company.",
"example": "Examples Are Us",
"type": "string",
"maxLength": 1024
}
},
"required": [
"email"
]
}
}
Headers
Content-Type: application/json
Schema
{
"title": "Empty put response",
"additionalProperties": false
}
Invite a User to Console ConnectPUT/api/invite/user
An onboarded user sends an invite for another user to join Console Connect. Does not invite them to the company specified. Does not require any specific user permissions. Invites are sent immediately via email.
Send an Invite to a Data Center ¶
Headers
Content-Type: application/json
Body
{
"firstName": "Hello, world!",
"lastName": "Hello, world!",
"email": "Hello, world!",
"datacenter": true,
"personalMessage": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"firstName": {
"type": "string",
"description": "Recipient's first name"
},
"lastName": {
"type": "string",
"description": "Recipient's last name"
},
"email": {
"type": "string",
"description": "Recipient email"
},
"datacenter": {
"type": "boolean",
"description": "Is this a datacenter?"
},
"personalMessage": {
"type": "string",
"description": "Optional personal message to send with the invite. Only supported with `datacenter: true`"
}
},
"required": [
"firstName",
"lastName",
"email",
"personalMessage"
]
}
Headers
Content-Type: application/json
Body
{}
Send an InvitePUT/api/company/:username/invite/send
Send an invite to join Console Connect. This is authenticated and is designed to let Console Connect users invite datacenters to join Console Connect.
Invites are moderated by the Console Connect team before being sent.
- username
string
(required) Example: examplecoCompany to send this invite from.
Validate and Read Invite Details ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"firstName": "Example",
"lastName": "User",
"email": "user@example.com",
"company": "ExampleCo",
"invitedAt": "2015-09-08T10:56:59.442Z",
"createdAt": "2015-09-08T10:56:59.433Z"
}
Validate and Read Invite DetailsGET/api/invite/token/:invitationToken
- invitationToken
string
(required) Example: ca7a096c9e9d549fffdc2bc01623dc446ac2925040639d6c7dde64d437bd6005The invitation token
Invite a Company without Contact Details ¶
Headers
Content-Type: application/json
Schema
{
"title": "Invite company to platform without email address",
"type": "array",
"items": {
"properties": {
"companyName": {
"description": "The company's name. Can be new or existing. No duplicate checks are made.",
"example": "Examples Are Us",
"type": "string",
"maxLength": 1024
},
"companyWebsite": {
"description": "The commpany's website.",
"example": "www.example.com",
"type": "string",
"maxLength": 1024
}
},
"required": [
"companyName"
]
}
}
Headers
Content-Type: application/json
Schema
{
"title": "Empty put response",
"additionalProperties": false
}
Invite a Company without Contact DetailsPUT/api/invite/company
An onboarded user sends an invite for another company to join Console Connect. Since there is no email address attached, nothing is sent but Console Connect admins can view and chase down the lead.
User ¶
User operations.
User Creation ¶
Headers
Content-Type: application/json
Body
{
"email": "stan@example.com",
"password": "Password1",
"name": "stan",
"optIntoMarketingEmail": "true",
"invitationToken": "ca7a096c9e9d549fffdc2bc01623dc446ac2925040639d6c7dde64d437bd6005"
}
Body
{
"id": "58980a25a77b4d7bf459d100",
"username": "stan",
"name": "Stan",
"email": "stan@smith.test",
"tags": [],
"status": "ACTIVE",
"newEmailTokenCreatedAt": null,
"capabilities": {
"layer3Regions": [],
"layer2Regions": [],
"layer3Metros": [],
"layer2Metros": [],
"layer3": false,
"layer2": false
},
"newEmail": null,
"externalStatus": "UNSYNCED",
"phone": null,
"popIds": [],
"groups": [],
"canInviteExternal": false,
"passwordUpdatedAt": null,
"legalEntityId": null,
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"verified": false,
"verifiedIdentity": false,
"isSupport": false,
"type": "PERSON",
"companies": [],
"online": false,
"optIntoMarketingEmail": false,
"linkUserCompany": {},
"__v": 0,
"stats": {
"members": 0,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"displayOrder": -299,
"settings": {
"emailWhenMessageReceived": {
"option": "ALL",
"category": "communityAndMessages"
},
"alertWhenKeywordsMentioned": {
"enabled": true,
"option": [],
"category": "communityAndMessages"
},
"dismissPlanChangeMessage": {
"option": true,
"category": "hidden"
},
"alertMeWhenNetworkRelatedEvent": {
"option": true,
"category": "network"
},
"alertMeWhenCompanyJoinsConsole": {
"option": true,
"category": "network"
},
"alertMeWhenInterconnectRequest": {
"option": true,
"category": "network"
},
"alertMeWhenJoinCompany": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenJoinCompanyRequest": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCommentInPostByCompanyMember": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCommentInPostByCompany": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCommentInPost": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCompanyMemberMentionedInPost": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCompanyMentionedInPost": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenMentionedInPost": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCompanyNewFollower": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenNewFollower": {
"option": true,
"category": "communityAndMessages"
}
},
"system": {
"welcomeMessage": null
},
"createdAt": "2017-02-06T05:31:17.046Z",
"updatedAt": "2017-02-06T05:31:17.046Z",
"deletedAt": null,
"deleted": false,
"token": "e4e0c6e2c5e73963e60a1132948e1c7f84f1f4cdd04a254e9215ab314b48e26e"
}
Register userPUT/api/user
Register a user account.
User ¶
Headers
Content-Type: application/json
Body
{
"id": "58980a25a77b4d7bf459d100",
"name": "Stan",
"username": "stan",
"type": "PERSON",
"phone": null,
"popIds": [],
"groups": [],
"legalEntityId": null,
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"isSupport": false,
"online": false,
"optIntoMarketingEmail": false,
"isFollowing": false,
"isFollowee": false,
"__v": 0,
"stats": {
"members": 0,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"displayOrder": -299,
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": false,
"verifiedIdentity": false,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": [],
"layer3Metros": [],
"layer2Metros": [],
"layer3": false,
"layer2": false
},
"companies": [],
"linkUserCompany": {}
}
Get UserGET/api/user/:username
Retrieve user account details.
- username
string
(required) Example: stan
Headers
Content-Type: application/json
Body
{
"name": "",
"settings": {},
"tags": "",
"avatar": "",
"background": "",
"phone": "",
"role": "",
"location": "",
"summary": "",
"headline": "",
"optIntoMarketingEmail": false,
"company.website": "",
"company.industry": "",
"company.businessType": "",
"company.companySize": "",
"company.dateFounded": "",
"company.markets": "",
"company.regionalInternetRegistry": "",
"company.clientId": "",
"company.first": "",
"company.last": "",
"company.address": "",
"company.city": "",
"company.state": "",
"company.zip": "",
"company.phone": "",
"company.fax": "",
"company.email": "",
"company.privacy.community.whiteListIds": [],
"company.privacy.network.whiteListIds": [],
"company.privacy.community.blackListIds": [],
"company.privacy.network.blackListIds": []
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "New name for this user account"
},
"settings": {
"type": "object",
"properties": {},
"description": "Settings object, corresponding with the settings retrieved from the GET method."
},
"tags": {
"type": "string"
},
"avatar": {
"type": "string",
"description": "An avatar URL for this user. This _must_ be the same url as provided by a [File Upload][]."
},
"background": {
"type": "string"
},
"phone": {
"type": "string"
},
"role": {
"type": "string"
},
"location": {
"type": "string"
},
"summary": {
"type": "string"
},
"headline": {
"type": "string"
},
"optIntoMarketingEmail": {
"type": "boolean"
},
"company.website": {
"type": "string"
},
"company.industry": {
"type": "string"
},
"company.businessType": {
"type": "string"
},
"company.companySize": {
"type": "string"
},
"company.dateFounded": {
"type": "string"
},
"company.markets": {
"type": "string"
},
"company.regionalInternetRegistry": {
"type": "string"
},
"company.clientId": {
"type": "string"
},
"company.first": {
"type": "string"
},
"company.last": {
"type": "string"
},
"company.address": {
"type": "string"
},
"company.city": {
"type": "string"
},
"company.state": {
"type": "string"
},
"company.zip": {
"type": "string"
},
"company.phone": {
"type": "string"
},
"company.fax": {
"type": "string"
},
"company.email": {
"type": "string"
},
"company.privacy.community.whiteListIds": {
"description": "list of company ids"
},
"company.privacy.network.whiteListIds": {
"description": "list of company ids"
},
"company.privacy.community.blackListIds": {
"description": "list of company ids"
},
"company.privacy.network.blackListIds": {
"description": "list of company ids"
}
}
}
Body
{
"id": "58980a25a77b4d7bf459d100",
"username": "stan",
"name": "Stan",
"email": "stan@smith.test",
"tags": [],
"status": "ACTIVE",
"newEmailTokenCreatedAt": null,
"capabilities": {
"layer3Regions": [],
"layer2Regions": [],
"layer3Metros": [],
"layer2Metros": [],
"layer3": false,
"layer2": false
},
"newEmail": null,
"externalStatus": "UNSYNCED",
"phone": null,
"popIds": [],
"groups": [],
"canInviteExternal": false,
"passwordUpdatedAt": null,
"legalEntityId": null,
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"verified": false,
"verifiedIdentity": false,
"isSupport": false,
"type": "PERSON",
"companies": [],
"online": false,
"optIntoMarketingEmail": false,
"linkUserCompany": {},
"__v": 0,
"stats": {
"members": 0,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"displayOrder": -299,
"settings": {
"emailWhenMessageReceived": {
"option": "ALL",
"category": "communityAndMessages"
},
"alertWhenKeywordsMentioned": {
"enabled": true,
"option": [],
"category": "communityAndMessages"
},
"dismissPlanChangeMessage": {
"option": true,
"category": "hidden"
},
"alertMeWhenNetworkRelatedEvent": {
"option": true,
"category": "network"
},
"alertMeWhenCompanyJoinsConsole": {
"option": true,
"category": "network"
},
"alertMeWhenInterconnectRequest": {
"option": true,
"category": "network"
},
"alertMeWhenJoinCompany": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenJoinCompanyRequest": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCommentInPostByCompanyMember": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCommentInPostByCompany": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCommentInPost": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCompanyMemberMentionedInPost": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCompanyMentionedInPost": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenMentionedInPost": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenCompanyNewFollower": {
"option": true,
"category": "communityAndMessages"
},
"alertMeWhenNewFollower": {
"option": true,
"category": "communityAndMessages"
}
},
"system": {
"welcomeMessage": null
},
"createdAt": "2017-02-06T05:31:17.046Z",
"updatedAt": "2017-02-06T05:31:17.046Z",
"deletedAt": null,
"deleted": false
}
Update UserPOST/api/user/:username
Update user account details.
- username
string
(required) Example: stan
Avatar ¶
Headers
Content-Type: image/png
Body
‰PNG XXXXXXXXXXXXFZFZGEDHDSRGFEThERGEDFG
Get User's AvatarGET/api/user/:username/avatar
Retrieve user avatar image
- username
string
(required) Example: stanThe username of the target user.
Request Email Change ¶
Headers
Content-Type: application/json
Body
{
email: 'stanley@example.com'
}
Headers
Content-Type: application/json
Body
{}
Request to change user's email addressPUT/api/user/:username/email/update/request
Request a change to a user’s email address.
- username
string
(required) Example: stanThe username of the target user.
Confirm New Email ¶
Headers
Content-Type: application/json
Body
{}
Confirm the new email addressPUT/api/email/update/request/:token
Confirm an email address change request
- token
string
(required) Example: 1234abcdThe token that is sent via email.
Daily Review AKA stats ¶
Headers
Content-Type: application/json
Body
{
"user": {
"followers": 3,
"following": 2,
"totalMembers": 4,
"newMembers": 4
},
"company": {
"corp": {
"actionRequired": 1,
"pendingRequests": 1,
"approvedRequests": 1,
"followers": 2
}
}
}
Read Daily ReviewGET/api/user/stats
User's Public Stats ¶
Headers
Content-Type: application/json
Body
{
"posts": 2,
"events": 1,
"following": 2,
"followers": 3,
"interconnections": 2
}
Get a users public statsGET/api/user/:username/stats
Get public stats for a user, including followers, interconnections etc. Note: only works on PERSON and COMPANY users.
- username
string
(required) Example: stanThe username of the target user
Check Username is Valid and Available ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"valid": false,
"message": "That username is already taken."
}
Check Username is Valid and AvailableGET/api/check-username/:username
Checks whether a username is available and that it does not contain any invalid characters. Usernames may only contain alpha-numeric, underscore, hyphen or tilde characters.
- username
string
(required) Example: stanThe username to check.
User - Socket Updates ¶
Headers
Content-Type: text/event-stream
Socket.io UpdatesGET/user
To go online as a user & subscribe to other users connecting and disconnecting:
var userIO = io.connect('http://api.brant.dev.eng.iix.net/user');
var username = 'CURRENT_LOGGED_IN_USERNAME';
var token = 'CURRENT_LOGGED_IN_PORTAL_TOKEN';
userIO.on('connect', function() {
// Signal that you are online
userIO.emit('online', {
'username': username,
'portal-token': token
});
socket.on('online-status-changed', function ( _data ) {
console.log('User "' + _data.username + '" has gone ' + ( _data.online ? 'online' : 'offline' ));
});
});
Company ¶
Create a company ¶
Body
{
"name": "Foo International",
"company": {
"asns": [
123
],
"addresses": [
{
"primary": true,
"country": "US",
"address": "17 Anywhere Pl",
"city": "Major City",
"state": "OH",
"zip": "44101"
}
],
"emailDomains": [
"foo.co"
],
"businessType": "Data Center"
}
}
Create a companyPUT/api/company
Company memberships and roles ¶
Headers
Content-Type: application/json
Body
{
"results": [
{
"id": "58980a25a77b4d7bf459d100",
"name": "Stan",
"username": "stan",
"type": "PERSON",
"phone": null,
"popIds": [],
"groups": [],
"legalEntityId": null,
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"isSupport": false,
"online": false,
"optIntoMarketingEmail": false,
"isFollowing": false,
"isFollowee": false,
"__v": 0,
"stats": {
"members": 0,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"displayOrder": -299,
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": false,
"verifiedIdentity": false,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": [],
"layer3Metros": [],
"layer2Metros": [],
"layer3": false,
"layer2": false
},
"companies": [],
"linkUserCompany": {}
}
],
"linkUserCompany": {
"58980a25a77b4d7bf459d100": {
"id": "589904cee9ac019638931ea9",
"userId": "58980a25a77b4d7bf459d100",
"companyId": "58980a25a77b4d7bf459d200",
"state": "ACTIVE",
"roleIds": [],
"roles": [],
"updatedAt": "2017-02-06T23:20:46.329Z",
"createdAt": "2017-02-06T23:20:46.329Z",
"deleted": false,
"deletedAt": null,
"permissions": {
"groups": {
"ADMIN": {
"company-actions": true,
"company-update": true,
"connection-create": true,
"connection-delete": true,
"connection-modify": true,
"connection-read": true,
"order-create": true,
"order-delete": true,
"order-modify": true,
"order-query": true,
"ports-edit": true,
"ports-read": true,
"user-moderation": true
}
},
"roles": [
{
"_id": "55e7ed48e7616b96063bdc64",
"createdAt": "2015-09-03T06:48:40.343Z",
"deleted": false,
"deletedAt": null,
"display": "Company Keyholder",
"icon": "key outline",
"queryable": false,
"name": "ADMIN",
"permissions": {
"company-actions": true,
"company-update": true,
"connection-create": true,
"connection-delete": true,
"connection-modify": true,
"connection-read": true,
"order-create": true,
"order-delete": true,
"order-modify": true,
"order-query": true,
"ports-edit": true,
"ports-read": true,
"user-moderation": true
},
"updatedAt": "2015-09-03T06:48:40.343Z",
"visible": true,
"permissionIds": [
"5827fcaefa8599a58b0bde32",
"5827fcaefa8599a58b0bde2a",
"5827fcaefa8599a58b0bde80",
"5827fcaefa8599a58b0bde84",
"5827fcaefa8599a58b0bdeaa",
"5827fcaefa8599a58b0bdead",
"5827fcaefa8599a58b0bdea8",
"5827fcaefa8599a58b0bde99",
"5827fcaefa8599a58b0bde7e",
"5827fcaefa8599a58b0bde3c"
],
"descriptions": {
"ports-read": {
"description": "Read ports",
"language": "en"
},
"company-actions": {
"description": "Create content as company",
"language": "en"
},
"connection-modify": {
"description": "Modify network connections",
"language": "en"
},
"connection-read": {
"description": "View network connections",
"language": "en"
},
"ports-edit": {
"description": "Edit ports",
"language": "en"
},
"order-query": {
"description": "View orders",
"language": "en"
},
"order-create": {
"description": "Create orders",
"language": "en"
},
"user-moderation": {
"description": "Moderate users in the company",
"language": "en"
},
"order-modify": {
"description": "Modify orders",
"language": "en"
},
"company-update": {
"description": "Edit company profile",
"language": "en"
}
}
}
]
}
}
}
}
List membershipsGET/:userType(user|company)/:companyName/memberships-and-roles{?role,page,count}
List users belonging to a company.
- companyName
string
(required) Example: acmeincUsername of the company to list memberships of
- userType
string
(required) Example: companyType of user to list memberships of.
- role
string
(required) Example: NETWORKCONTROLOne or more roles by which to filter the list. Only allowed if the role is queryable.
- page
string
(required) Example: 1The page number to get
- count
string
(required) Example: 20The number of results per page to get
Manage user roles ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Remove role from userDELETE/company/:username/memberships/:targetUsername/roles/:roleName
Remove a role for a user within a given company.
- companyName
string
(required) Example: acmeincUsername of the company to join
- targetUsername
string
(required) Example: megUsername of the user to respond to
- roleName
string
(required) Example: ADMINRole to apply or remove from the user.
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Add role to userPUT/company/:username/memberships/:targetUsername/roles/:roleName
Add a role for a user within a given company.
- companyName
string
(required) Example: acmeincUsername of the company to join
- targetUsername
string
(required) Example: megUsername of the user to respond to
- roleName
string
(required) Example: ADMINRole to apply or remove from the user.
Update a user's link to the company ¶
LinkUserCompany object shows the state of the company membership requests.
-
INACTIVE - Request made by either company or user
-
ACTIVE - Request accepted and they are a member of the company
-
DENIED - Request denied by the company
-
CANCELLED - Request cancelled by either company or user
Headers
Content-Type: application/json
Body
{
"state": "ACTIVE"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"state": {
"type": "string",
"description": "New state for this user. One of `INACTIVE`, `ACTIVE`, `DENIED`, or `CANCELLED`."
}
}
}
Headers
Content-Type: application/json
Update user role statePOST/company/:companyName/memberships/:targetUsername
- companyName
string
(required) Example: acmeincUsername of the company
- targetUsername
string
(required) Example: megUsername of the user to modify
Headers
Content-Type: application/json
Body
{}
Remove a user from a companyDELETE/company/:companyName/memberships/:targetUsername
- companyName
string
(required) Example: acmeincUsername of the company
- targetUsername
string
(required) Example: megUsername of the user to modify
Leave a Company ¶
Headers
Content-Type: application/json
Leave a CompanyDELETE/company/:companyName/memberships
Removes the authenticated user from the company
- companyName
string
(required) Example: acmeincUsername of the company to leave
Company - Invites ¶
Invite a user to join a company ¶
{
"invites": [{
"name": "Test User",
"email": "test@example.org",
"message": "Please join our company!",
"roles": ["NETWORKVIEW"]
}]
}
Headers
Content-Type: application/json
Body
{
"invites": []
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"invites": {
"description": "Array of users to invite"
}
},
"required": [
"invites"
]
}
Headers
Content-Type: application/json
Body
{}
Invite a user to join a companyPUT/admin/membership-requests/:username/invite
Invite the specified user(s) to join a company. Multiple users can be specified in the payload. Users are invited by email address, regardless of whether the user is on Console Connect or has yet to join the platform.
Roles can be specified, and will be given to users when they join Console Connect/accept the invite. For a list of roles, see the get roles endpoint.
- username
string
(required) Example: acmeincUsername of the company to join
Request to Join a Company ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Request to Join a CompanyPUT/api/membership-requests/:companyName
As a user, make a request to join a company. Any user can request to join a company, and this will need to be moderated with the accept or decline endpoints.
A user can not request to join a company once they have been declined by that company.
- companyName
string
(required) Example: acmeincUsername of the company to perform this action against
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"results": [
{
"id": "58980a25a77b4d7bf459d100",
"name": "Stan",
"username": "stan",
"type": "PERSON",
"phone": null,
"popIds": [],
"groups": [],
"legalEntityId": null,
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"isSupport": false,
"online": false,
"optIntoMarketingEmail": false,
"isFollowing": false,
"isFollowee": false,
"__v": 0,
"stats": {
"members": 0,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"displayOrder": -299,
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": false,
"verifiedIdentity": false,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": [],
"layer3Metros": [],
"layer2Metros": [],
"layer3": false,
"layer2": false
},
"companies": [],
"linkUserCompany": {}
}
],
"linkUserCompany": {
"58980a25a77b4d7bf459d100": {
"id": "589904cee9ac019638931ea9",
"userId": "58980a25a77b4d7bf459d100",
"companyId": "58980a25a77b4d7bf459d200",
"state": "INACTIVE",
"roleIds": [],
"roles": [
"USER"
],
"updatedAt": "2017-02-06T23:20:46.329Z",
"createdAt": "2017-02-06T23:20:46.329Z",
"deleted": false,
"deletedAt": null
}
}
}
List requests to join this companyGET/api/membership-requests/:companyName
List requests to join this company, as created in the PUT method. Only members of the company with the user-moderation permission can list this endpoint.
- companyName
string
(required) Example: acmeincUsername of the company to perform this action against
Update an invite ¶
Headers
Content-Type: application/json
Schema
{
"title": "Invite user to company",
"type": "object",
"properties": {
"roles": {
"description": "Roles",
"example": "['USER', 'NETWORKVIEW']",
"type": "array"
}
},
"required": [
"roles"
]
}
Headers
Content-Type: application/json
Update an invitePOST/api/membership-requests/:username/invite/:inviteToCompanyId
As a company, update an invite which has already been sent to a user.
This endpoint is useful to update roles that will be assigned to the user when they accept the invite. For a list of roles, see the get roles endpoint.
- inviteToCompanyId
string
(required)ID retreived from the Request to Join a Company get endpoint.
List Requests to Join Companies ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"results": [
{
"id": "58980a25a77b4d7bf459d200",
"name": "Company 1",
"username": "company1",
"type": "COMPANY",
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"legalEntityId": null,
"location": null,
"isSupport": false,
"optIntoMarketingEmail": false,
"groups": [],
"phone": null,
"popIds": [],
"displayOrder": -299,
"createdAt": "2017-02-06T23:20:46.291Z",
"updatedAt": "2017-02-06T23:20:46.291Z",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"businessRegistrationCertReference": null,
"businessRegistrationCertRejectedReason": null,
"businessRegistrationCertUploadedAt": null,
"businessRegistrationCertVerified": "UNVERIFIED",
"last": null,
"first": null,
"clientId": null,
"privacy": {
"community": {
"mode": "PUBLIC",
"whiteListIds": [],
"blackListIds": []
},
"network": {
"mode": "PUBLIC",
"whiteListIds": [],
"blackListIds": []
}
},
"regionalInternetRegistry": [],
"registeredName": null,
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"isSDWAN": false,
"website": null,
"emailDomains": [
"example.org"
],
"parentIds": []
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"verifiedIdentity": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": [],
"layer3Metros": [],
"layer2Metros": [],
"layer3": false,
"layer2": false
},
"companies": [],
"online": false,
"linkUserCompany": {}
}
],
"linkUserCompany": {
"58980a25a77b4d7bf459d200": {
"id": "589904cee9ac019638931ea9",
"userId": "58980a25a77b4d7bf459d100",
"companyId": "58980a25a77b4d7bf459d200",
"state": "INACTIVE",
"roleIds": [],
"roles": [
"USER"
],
"updatedAt": "2017-02-06T23:20:46.329Z",
"createdAt": "2017-02-06T23:20:46.329Z",
"deleted": false,
"deletedAt": null
}
}
}
Read Request to Join a CompanyGET/api/membership-requests
List the requests this user has made to join companies.
Accept a request to join a Company ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{}
Accept a request to join a CompanyPUT/api/membership-requests/:companyName/accept
Decline a request to join a Company ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{}
Decline a request to join a CompanyPUT/api/membership-requests/:companyName/deny
Decline an invite from a company to join that company.
Cancel a request to join a Company ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{}
Decline a request to join a CompanyPUT/api/membership-requests/:companyName/cancel
As a user, cancel your request to join the specified company
Company Responds to Request to Join Company ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{}
Make a Company Respond to Request to Join CompanyPUT/api/membership-requests/:companyName/:action(invite|accept|deny|cancel)/:targetUsername
- companyName
string
(required) Example: acmeincUsername of the company to join
- action
string
(required) Example: acceptResponse type
- targetUsername
string
(required) Example: megUsername of the user to respond to
Invitations/requests for user to join company ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{}
Delete a request to join a companyDELETE/api/membership-requests/:companyName/invites/:inviteId
Delete an invitation from company to a user by ID
- companyName
string
(required) Example: acmeinc- inviteId
string
(required)ID of the invite
Company responds to invitations/requests for user to join company ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{}
Company responds to a request to join a companyPUT/api/membership-requests/:companyName/invites/:inviteId/:action(accept/deny/cancel)
- companyName
string
(required)Username of the company to join
- action
string
(required)Response/action type
- inviteId
string
(required)ID of the invite
Company memberships ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"results": [
{
"id": "58980a25a77b4d7bf459d100",
"name": "Stan",
"username": "stan",
"type": "PERSON",
"phone": null,
"popIds": [],
"groups": [],
"legalEntityId": null,
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"isSupport": false,
"online": false,
"optIntoMarketingEmail": false,
"isFollowing": false,
"isFollowee": false,
"__v": 0,
"stats": {
"members": 0,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"displayOrder": -299,
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": false,
"verifiedIdentity": false,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": [],
"layer3Metros": [],
"layer2Metros": [],
"layer3": false,
"layer2": false
},
"companies": [],
"linkUserCompany": {}
}
],
"linkUserCompany": {
"58980a25a77b4d7bf459d100": {
"id": "589904cee9ac019638931ea9",
"userId": "58980a25a77b4d7bf459d100",
"companyId": "58980a25a77b4d7bf459d200",
"state": "ACTIVE",
"roleIds": [],
"roles": [],
"updatedAt": "2017-02-06T23:20:46.329Z",
"createdAt": "2017-02-06T23:20:46.329Z",
"deleted": false,
"deletedAt": null,
"permissions": {
"groups": {
"ADMIN": {
"company-actions": true,
"company-update": true,
"connection-create": true,
"connection-delete": true,
"connection-modify": true,
"connection-read": true,
"order-create": true,
"order-delete": true,
"order-modify": true,
"order-query": true,
"ports-edit": true,
"ports-read": true,
"user-moderation": true
}
},
"roles": [
{
"_id": "55e7ed48e7616b96063bdc64",
"createdAt": "2015-09-03T06:48:40.343Z",
"deleted": false,
"deletedAt": null,
"display": "Company Keyholder",
"icon": "key outline",
"queryable": false,
"name": "ADMIN",
"permissions": {
"company-actions": true,
"company-update": true,
"connection-create": true,
"connection-delete": true,
"connection-modify": true,
"connection-read": true,
"order-create": true,
"order-delete": true,
"order-modify": true,
"order-query": true,
"ports-edit": true,
"ports-read": true,
"user-moderation": true
},
"updatedAt": "2015-09-03T06:48:40.343Z",
"visible": true,
"permissionIds": [
"5827fcaefa8599a58b0bde32",
"5827fcaefa8599a58b0bde2a",
"5827fcaefa8599a58b0bde80",
"5827fcaefa8599a58b0bde84",
"5827fcaefa8599a58b0bdeaa",
"5827fcaefa8599a58b0bdead",
"5827fcaefa8599a58b0bdea8",
"5827fcaefa8599a58b0bde99",
"5827fcaefa8599a58b0bde7e",
"5827fcaefa8599a58b0bde3c"
],
"descriptions": {
"ports-read": {
"description": "Read ports",
"language": "en"
},
"company-actions": {
"description": "Create content as company",
"language": "en"
},
"connection-modify": {
"description": "Modify network connections",
"language": "en"
},
"connection-read": {
"description": "View network connections",
"language": "en"
},
"ports-edit": {
"description": "Edit ports",
"language": "en"
},
"order-query": {
"description": "View orders",
"language": "en"
},
"order-create": {
"description": "Create orders",
"language": "en"
},
"user-moderation": {
"description": "Moderate users in the company",
"language": "en"
},
"order-modify": {
"description": "Modify orders",
"language": "en"
},
"company-update": {
"description": "Edit company profile",
"language": "en"
}
}
}
]
}
}
}
}
List Company membershipsGET/:userType(user|company)/:companyName/memberships{?role,page,count}
List users belonging to a company.
- companyName
string
(required) Example: acmeincUsername of the company to list memberships of
- userType
string
(required) Example: companyType of user to list memberships of.
- role
string
(required) Example: NETWORKCONTROLOne or more roles by which to filter the list. Only allowed if the role is queryable.
- page
string
(required) Example: 1The page number to get
- count
string
(required) Example: 20The number of results per page to get
Network - Orders ¶
Port and Connection routes.
Port order ¶
An order can be in one of the following states:
Status | Description |
---|---|
reserved | Port reserved in data center facility. |
created | Request made by either company or user. |
pending | The order is being processed by our system. |
allocated | A port has been allocated. |
loa_sent | A LOA has been sent. |
done | The port is ready, the portId should be a valid value. |
cancelling | Cancellation requst made by user. |
cancelled | The order has been cancelled. |
waiting_for_nsp | The order has been sent to the NSP and is waiting to be fulfilled. |
Headers
Content-Type: application/json
Body
{
"dataCenterFacility": "supernetpa4",
"speed": 1000,
"portName": "PORT_2",
"paymentType": "plan",
"paymentTransactionId": "56d691309a90128d55831db2",
"billingId": "56d691309a90128d55831db2"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"dataCenterFacility": {
"type": "string",
"description": "Username of the data center facility."
},
"speed": {
"type": "number",
"description": "Port speed in Mbps. Must be >= 100."
},
"portName": {
"type": "string",
"description": "User specified name"
},
"paymentType": {
"type": "string"
},
"paymentTransactionId": {
"type": "string"
},
"billingId": {
"type": "string",
"description": "ID of the plan subscription. Only required when paymentType is \"plan\""
}
},
"required": [
"speed",
"portName",
"paymentType"
]
}
Headers
Content-Type: application/json
Body
{
"id": "56d691309a90128d55831db1",
"portName": "PORT_1",
"speed": {
"name": "1000 Mbps",
"value": 1000
},
"locationId": null,
"billingId": "56d691309a90128d55831db2",
"status": "created",
"message": null,
"controller": {
"id": null,
"serviceLayerId": null,
"asn": null,
"vlan": null,
"ip": {
"ipv4": null,
"ipv6": null
},
"cerIp": {
"ipv4": null,
"ipv6": null
},
"cerAsn": null
},
"updatedAt": "2016-03-02T07:07:28.195Z",
"updatedBy": null,
"createdAt": "2016-03-02T07:07:28.195Z",
"createdBy": "stan",
"cancelled": false,
"cancelledAt": "1970-01-01T00:00:00.000Z",
"cancelledBy": null,
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"deletedBy": null,
"company": {
"id": "58980a25a77b4d7bf459d200",
"name": "Company 1",
"username": "company1",
"type": "COMPANY",
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"legalEntityId": null,
"location": null,
"isSupport": false,
"optIntoMarketingEmail": false,
"groups": [],
"phone": null,
"popIds": [],
"displayOrder": -299,
"createdAt": "2017-02-06T23:20:46.291Z",
"updatedAt": "2017-02-06T23:20:46.291Z",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"businessRegistrationCertReference": null,
"businessRegistrationCertRejectedReason": null,
"businessRegistrationCertUploadedAt": null,
"businessRegistrationCertVerified": "UNVERIFIED",
"last": null,
"first": null,
"clientId": null,
"privacy": {
"community": {
"mode": "PUBLIC",
"whiteListIds": [],
"blackListIds": []
},
"network": {
"mode": "PUBLIC",
"whiteListIds": [],
"blackListIds": []
}
},
"regionalInternetRegistry": [],
"registeredName": null,
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"isSDWAN": false,
"website": null,
"emailDomains": [
"example.org"
],
"parentIds": []
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"verifiedIdentity": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": [],
"layer3Metros": [],
"layer2Metros": [],
"layer3": false,
"layer2": false
},
"companies": [],
"online": false,
"linkUserCompany": {}
},
"port": {
"id": "56d6912f9a90128d55831da8",
"portId": null,
"name": "PORT_1",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"metroId": "1232413986c08c061dd8c45f",
"vlan": null,
"status": "UNKNOWN",
"type": "PHYSICAL_NSP",
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2016-03-02T07:07:27.147Z",
"updatedAt": "2016-03-02T07:07:27.148Z",
"createdAt": "2016-03-02T07:07:27.148Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"metro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"country": "USA",
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
}
}
Create a port order or reservationPUT/api/company/:companyName/ports/orders
A port order is created in a dataCenterFacility.
The “paymentType” field is required and needs to be one of “plan” or “invoice”. A paymentType of “creditcard” is only supported via the Console Connect web application.
When paymentType is “plan” or “invoice”, paymentTransactionId should not be provided. When paymentType is “creditcard”, paymentTransactionId must be provided.
When the port is provisioned, the order will change to “done” status and a new port will be created and activated.
- dataCenterFacility
string
(required) Example: supernetpa4Username of the data center facility.
- speed
string
(required) Example: 1000Port speed in Mbps.
- portName
string
(required) Example: sendloaThe action to take on the port order
- paymentType
string
(required) Example: planpaymentType is one of ‘plan’, ‘creditcard’ or ‘invoice’
List Orders ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"results": [
{
"id": "5609caf241fc0fb816805b8c",
"portName": "PORT_1",
"companyId": "58980a25a77b4d7bf459d200",
"speedId": "5609caf241fc0fb816805b8b",
"locationId": "1",
"status": "created",
"portId": null,
"updatedAt": "2015-09-28T23:19:14.065Z",
"updatedBy": null,
"createdAt": "2015-09-28T23:19:14.065Z",
"createdBy": "stan",
"cancelled": false,
"cancelledAt": "1970-01-01T00:00:00.000Z",
"cancelledBy": null,
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"deletedBy": null,
"company": {
"id": "58980a25a77b4d7bf459d200",
"name": "Company 1",
"username": "company1",
"type": "COMPANY",
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"legalEntityId": null,
"location": null,
"isSupport": false,
"optIntoMarketingEmail": false,
"groups": [],
"phone": null,
"popIds": [],
"displayOrder": -299,
"createdAt": "2017-02-06T23:20:46.291Z",
"updatedAt": "2017-02-06T23:20:46.291Z",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"businessRegistrationCertReference": null,
"businessRegistrationCertRejectedReason": null,
"businessRegistrationCertUploadedAt": null,
"businessRegistrationCertVerified": "UNVERIFIED",
"last": null,
"first": null,
"clientId": null,
"privacy": {
"community": {
"mode": "PUBLIC",
"whiteListIds": [],
"blackListIds": []
},
"network": {
"mode": "PUBLIC",
"whiteListIds": [],
"blackListIds": []
}
},
"regionalInternetRegistry": [],
"registeredName": null,
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"isSDWAN": false,
"website": null,
"emailDomains": [
"example.org"
],
"parentIds": []
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"verifiedIdentity": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": [],
"layer3Metros": [],
"layer2Metros": [],
"layer3": false,
"layer2": false
},
"companies": [],
"online": false,
"linkUserCompany": {}
},
"speed": {
"id": "560b707636fe4bd444d4dc82",
"name": "1Gbps",
"value": 1000
},
"location": {
"name": "Dummy1 pretend.fac.1",
"id": "68961a5a-7133-4fd7-8559-ec2cb8d21da4",
"address": {
"street": "Pretend Address Pkwy",
"city": "San Jose",
"country": "USA"
},
"geo": {
"longitude": 121.8863,
"latitude": 37.3382
}
}
}
]
}
Query OrdersGET/api/company/:companyName/ports/orders/?(?status,locationId,speedId)
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
- status
string
(required) Example: created- locationId
string
(required) Example: 12345- speedId
string
(required) Example: 123456
Order Detail ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"id": "56d691309a90128d55831db1",
"portName": "PORT_1",
"speed": {
"name": "1000 Mbps",
"value": 1000
},
"locationId": null,
"billingId": "56d691309a90128d55831db2",
"status": "created",
"message": null,
"controller": {
"id": null,
"serviceLayerId": null,
"asn": null,
"vlan": null,
"ip": {
"ipv4": null,
"ipv6": null
},
"cerIp": {
"ipv4": null,
"ipv6": null
},
"cerAsn": null
},
"updatedAt": "2016-03-02T07:07:28.195Z",
"updatedBy": null,
"createdAt": "2016-03-02T07:07:28.195Z",
"createdBy": "stan",
"cancelled": false,
"cancelledAt": "1970-01-01T00:00:00.000Z",
"cancelledBy": null,
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"deletedBy": null,
"company": {
"id": "58980a25a77b4d7bf459d200",
"name": "Company 1",
"username": "company1",
"type": "COMPANY",
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"legalEntityId": null,
"location": null,
"isSupport": false,
"optIntoMarketingEmail": false,
"groups": [],
"phone": null,
"popIds": [],
"displayOrder": -299,
"createdAt": "2017-02-06T23:20:46.291Z",
"updatedAt": "2017-02-06T23:20:46.291Z",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"businessRegistrationCertReference": null,
"businessRegistrationCertRejectedReason": null,
"businessRegistrationCertUploadedAt": null,
"businessRegistrationCertVerified": "UNVERIFIED",
"last": null,
"first": null,
"clientId": null,
"privacy": {
"community": {
"mode": "PUBLIC",
"whiteListIds": [],
"blackListIds": []
},
"network": {
"mode": "PUBLIC",
"whiteListIds": [],
"blackListIds": []
}
},
"regionalInternetRegistry": [],
"registeredName": null,
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"isSDWAN": false,
"website": null,
"emailDomains": [
"example.org"
],
"parentIds": []
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"verifiedIdentity": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": [],
"layer3Metros": [],
"layer2Metros": [],
"layer3": false,
"layer2": false
},
"companies": [],
"online": false,
"linkUserCompany": {}
},
"port": {
"id": "56d6912f9a90128d55831da8",
"portId": null,
"name": "PORT_1",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"metroId": "1232413986c08c061dd8c45f",
"vlan": null,
"status": "UNKNOWN",
"type": "PHYSICAL_NSP",
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2016-03-02T07:07:27.147Z",
"updatedAt": "2016-03-02T07:07:27.148Z",
"createdAt": "2016-03-02T07:07:27.148Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"metro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"country": "USA",
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
}
}
Get a order detailGET/api/company/:companyName/ports/orders/:orderId
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
- orderId
string
(required) Example: AcmeThe id of a order.
Headers
Content-Type: application/json
Body
{
"portName": "PORT_2"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"portName": {
"type": "string",
"description": "User specified name"
}
},
"required": [
"portName"
]
}
Headers
Content-Type: application/json
Body
{
"id": "56d691309a90128d55831db1",
"portName": "PORT_1",
"speed": {
"name": "1000 Mbps",
"value": 1000
},
"locationId": null,
"billingId": "56d691309a90128d55831db2",
"status": "created",
"message": null,
"controller": {
"id": null,
"serviceLayerId": null,
"asn": null,
"vlan": null,
"ip": {
"ipv4": null,
"ipv6": null
},
"cerIp": {
"ipv4": null,
"ipv6": null
},
"cerAsn": null
},
"updatedAt": "2016-03-02T07:07:28.195Z",
"updatedBy": null,
"createdAt": "2016-03-02T07:07:28.195Z",
"createdBy": "stan",
"cancelled": false,
"cancelledAt": "1970-01-01T00:00:00.000Z",
"cancelledBy": null,
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"deletedBy": null,
"company": {
"id": "58980a25a77b4d7bf459d200",
"name": "Company 1",
"username": "company1",
"type": "COMPANY",
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"legalEntityId": null,
"location": null,
"isSupport": false,
"optIntoMarketingEmail": false,
"groups": [],
"phone": null,
"popIds": [],
"displayOrder": -299,
"createdAt": "2017-02-06T23:20:46.291Z",
"updatedAt": "2017-02-06T23:20:46.291Z",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"businessRegistrationCertReference": null,
"businessRegistrationCertRejectedReason": null,
"businessRegistrationCertUploadedAt": null,
"businessRegistrationCertVerified": "UNVERIFIED",
"last": null,
"first": null,
"clientId": null,
"privacy": {
"community": {
"mode": "PUBLIC",
"whiteListIds": [],
"blackListIds": []
},
"network": {
"mode": "PUBLIC",
"whiteListIds": [],
"blackListIds": []
}
},
"regionalInternetRegistry": [],
"registeredName": null,
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"isSDWAN": false,
"website": null,
"emailDomains": [
"example.org"
],
"parentIds": []
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"verifiedIdentity": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": [],
"layer3Metros": [],
"layer2Metros": [],
"layer3": false,
"layer2": false
},
"companies": [],
"online": false,
"linkUserCompany": {}
},
"port": {
"id": "56d6912f9a90128d55831da8",
"portId": null,
"name": "PORT_1",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"metroId": "1232413986c08c061dd8c45f",
"vlan": null,
"status": "UNKNOWN",
"type": "PHYSICAL_NSP",
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2016-03-02T07:07:27.147Z",
"updatedAt": "2016-03-02T07:07:27.148Z",
"createdAt": "2016-03-02T07:07:27.148Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"metro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"country": "USA",
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
}
}
Update an orderPOST/api/company/:companyName/ports/orders/:orderId
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
- orderId
string
(required) Example: AcmeThe id of a order.
Cancel an order ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"id": "56d691309a90128d55831db1",
"portName": "PORT_1",
"speed": {
"name": "1000 Mbps",
"value": 1000
},
"locationId": null,
"billingId": "56d691309a90128d55831db2",
"status": "created",
"message": null,
"controller": {
"id": null,
"serviceLayerId": null,
"asn": null,
"vlan": null,
"ip": {
"ipv4": null,
"ipv6": null
},
"cerIp": {
"ipv4": null,
"ipv6": null
},
"cerAsn": null
},
"updatedAt": "2016-03-02T07:07:28.195Z",
"updatedBy": null,
"createdAt": "2016-03-02T07:07:28.195Z",
"createdBy": "stan",
"cancelled": false,
"cancelledAt": "1970-01-01T00:00:00.000Z",
"cancelledBy": null,
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"deletedBy": null,
"company": {
"id": "58980a25a77b4d7bf459d200",
"name": "Company 1",
"username": "company1",
"type": "COMPANY",
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"legalEntityId": null,
"location": null,
"isSupport": false,
"optIntoMarketingEmail": false,
"groups": [],
"phone": null,
"popIds": [],
"displayOrder": -299,
"createdAt": "2017-02-06T23:20:46.291Z",
"updatedAt": "2017-02-06T23:20:46.291Z",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"businessRegistrationCertReference": null,
"businessRegistrationCertRejectedReason": null,
"businessRegistrationCertUploadedAt": null,
"businessRegistrationCertVerified": "UNVERIFIED",
"last": null,
"first": null,
"clientId": null,
"privacy": {
"community": {
"mode": "PUBLIC",
"whiteListIds": [],
"blackListIds": []
},
"network": {
"mode": "PUBLIC",
"whiteListIds": [],
"blackListIds": []
}
},
"regionalInternetRegistry": [],
"registeredName": null,
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"isSDWAN": false,
"website": null,
"emailDomains": [
"example.org"
],
"parentIds": []
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"verifiedIdentity": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": [],
"layer3Metros": [],
"layer2Metros": [],
"layer3": false,
"layer2": false
},
"companies": [],
"online": false,
"linkUserCompany": {}
},
"port": {
"id": "56d6912f9a90128d55831da8",
"portId": null,
"name": "PORT_1",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"metroId": "1232413986c08c061dd8c45f",
"vlan": null,
"status": "UNKNOWN",
"type": "PHYSICAL_NSP",
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2016-03-02T07:07:27.147Z",
"updatedAt": "2016-03-02T07:07:27.148Z",
"createdAt": "2016-03-02T07:07:27.148Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"metro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"country": "USA",
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
}
}
Cancel an orderPOST/api/company/:companyName/ports/orders/:orderId/cancel
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
- orderId
string
(required) Example: 55767b5652a693344a015744The port order id
Order Actions ¶
-
cancel: Cancels the port order
-
sendloa: resends the LOA to the user
-
loasent: Updates port order status to loa_sent.
- Note:
loasent
will fail with 409 unless port order status isallocated
.
- Note:
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"id": "56d691309a90128d55831db1",
"portName": "PORT_1",
"speed": {
"name": "1000 Mbps",
"value": 1000
},
"locationId": null,
"billingId": "56d691309a90128d55831db2",
"status": "created",
"message": null,
"controller": {
"id": null,
"serviceLayerId": null,
"asn": null,
"vlan": null,
"ip": {
"ipv4": null,
"ipv6": null
},
"cerIp": {
"ipv4": null,
"ipv6": null
},
"cerAsn": null
},
"updatedAt": "2016-03-02T07:07:28.195Z",
"updatedBy": null,
"createdAt": "2016-03-02T07:07:28.195Z",
"createdBy": "stan",
"cancelled": false,
"cancelledAt": "1970-01-01T00:00:00.000Z",
"cancelledBy": null,
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"deletedBy": null,
"company": {
"id": "58980a25a77b4d7bf459d200",
"name": "Company 1",
"username": "company1",
"type": "COMPANY",
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"legalEntityId": null,
"location": null,
"isSupport": false,
"optIntoMarketingEmail": false,
"groups": [],
"phone": null,
"popIds": [],
"displayOrder": -299,
"createdAt": "2017-02-06T23:20:46.291Z",
"updatedAt": "2017-02-06T23:20:46.291Z",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"businessRegistrationCertReference": null,
"businessRegistrationCertRejectedReason": null,
"businessRegistrationCertUploadedAt": null,
"businessRegistrationCertVerified": "UNVERIFIED",
"last": null,
"first": null,
"clientId": null,
"privacy": {
"community": {
"mode": "PUBLIC",
"whiteListIds": [],
"blackListIds": []
},
"network": {
"mode": "PUBLIC",
"whiteListIds": [],
"blackListIds": []
}
},
"regionalInternetRegistry": [],
"registeredName": null,
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"isSDWAN": false,
"website": null,
"emailDomains": [
"example.org"
],
"parentIds": []
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"verifiedIdentity": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": [],
"layer3Metros": [],
"layer2Metros": [],
"layer3": false,
"layer2": false
},
"companies": [],
"online": false,
"linkUserCompany": {}
},
"port": {
"id": "56d6912f9a90128d55831da8",
"portId": null,
"name": "PORT_1",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"metroId": "1232413986c08c061dd8c45f",
"vlan": null,
"status": "UNKNOWN",
"type": "PHYSICAL_NSP",
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2016-03-02T07:07:27.147Z",
"updatedAt": "2016-03-02T07:07:27.148Z",
"createdAt": "2016-03-02T07:07:27.148Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"metro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"country": "USA",
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
}
}
Perform action on a Port OrderPOST/api/company/:companyName/ports/orders/:orderId/:action(cancel|sendloa|loasent)
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
- orderId
string
(required) Example: 55767b5652a693344a015744The port order id
- action
string
(required) Example: sendloaThe action to take on the port order
Network - Ports ¶
List Ports ¶
Note, reading a company’s ports is public.
A port can be in one of the following states:
Status | Description |
---|---|
ACTIVATING | in the process of being activated |
READY | allocated but awaiting a physical network connection |
ACTIVE | port is active |
DISABLING | in the process of being disabled |
DISABLED | port is disabled |
DELETING | in the process of being deleted |
DELETED | port is deleted |
UNKNOWN | status of the port cannot be determined |
ONBOARDING | the port is currently being on-boarded |
In addition to the statuses, a port also has the singleService
flag which
indicates that the port is dedicated to one untagged connection. When a port is
in single service mode, no more connections can be created on
this port.
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"results": [
{
"id": "5762451a82894b9b1b1a5dc2",
"companyId": "5762451982894b9b1b1a5dbc",
"portId": null,
"name": "Vicente",
"speed": {
"value": 1000,
"name": "1000 Mbps"
},
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "1232413986c08c061dd8c45f",
"status": "ACTIVE",
"type": "PHYSICAL",
"partner": {
"type": "NONE",
"regionNames": []
},
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2016-06-16T06:20:10.640Z",
"updatedAt": "2016-06-16T06:20:11.116Z",
"createdAt": "2016-06-16T06:20:10.029Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"capacity": {
"total": 1000,
"utilised": 100,
"remaining": 900
},
"company": {
"id": "5762451982894b9b1b1a5dbc",
"type": "COMPANY",
"isSupport": false,
"name": "corp",
"avatar": null,
"avatarId": null,
"background": null,
"headline": null,
"summary": null,
"location": null,
"username": "corp",
"social": null,
"groups": null,
"phone": null,
"isSynced": null,
"status": "ACTIVE",
"tags": [],
"verified": false,
"stats": {
"posts": 0,
"events": 0,
"articles": 0,
"privatePosts": 0,
"privateEvents": 0,
"privateArticles": 0,
"following": 0,
"followers": 0,
"interconnections": 0,
"members": 1
},
"updatedAt": "2016-06-16T06:20:09.604Z",
"createdAt": "2016-06-16T06:20:09.604Z",
"deleted": false,
"deletedAt": null,
"companies": null,
"company": {
"website": null,
"emailDomains": [],
"industry": null,
"businessType": null,
"companySize": null,
"dateFounded": null,
"markets": {},
"regionalInternetRegistry": null,
"clientId": null,
"first": null,
"last": null,
"address": null,
"city": null,
"state": null,
"zip": null,
"addresses": [],
"phone": null,
"fax": null,
"email": null,
"country": null
},
"online": false
},
"dataCenterFacility": {
"id": "5126c9f1111e15a24a066130",
"type": "DATA_CENTER_FACILITY",
"isSupport": false,
"name": "Equinix - SV1",
"avatar": null,
"avatarId": null,
"background": null,
"headline": null,
"summary": null,
"location": null,
"username": "equinix-sv1",
"social": null,
"groups": null,
"phone": null,
"isSynced": null,
"status": "ACTIVE",
"tags": [],
"verified": true,
"stats": {
"posts": 0,
"events": 0,
"articles": 0,
"privatePosts": 0,
"privateEvents": 0,
"privateArticles": 0,
"following": 0,
"followers": 0,
"interconnections": 0,
"members": 0
},
"updatedAt": "2015-11-04T06:07:13.430Z",
"createdAt": "2015-11-04T06:07:12.785Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"companies": null,
"company": {
"website": null,
"emailDomains": [],
"industry": null,
"businessType": null,
"companySize": null,
"dateFounded": null,
"markets": {},
"regionalInternetRegistry": null,
"clientId": null,
"first": null,
"last": null,
"address": null,
"city": null,
"state": null,
"zip": null,
"addresses": [
{
"primary": true,
"address": "11 Great Oaks Boulevard",
"city": "San Jose",
"state": "California",
"zip": "95119-1242",
"country": "USA",
"email": "",
"phone": "",
"geo": {
"type": "Point",
"coordinates": [
-121.78322,
37.24162
]
}
}
],
"phone": null,
"fax": null,
"email": null,
"country": null
},
"dataCenterFacility": {
"id": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"ready": true,
"metroId": "1232413986c08c061dd8c45f",
"speeds": []
},
"online": false
},
"connections": [
{
"id": "5762451d82894b9b1b1a5dd2",
"name": "Sierra",
"status": "ACTIVE"
}
],
"asn": {
"asn": "176251",
"status": "VERIFIED",
"type": "ALLOCATED",
"updatedAt": "2016-06-16T06:20:11.053Z",
"createdAt": "2016-06-16T06:20:11.053Z",
"deleted": false,
"deletedAt": null
},
"controllers": [
{
"id": "5762451b82894b9b1b1a5dc6",
"name": "corp - Skyla",
"type": "USER",
"metroId": "1232413986c08c061dd8c45f",
"status": "ACTIVE",
"vlan": 200,
"ip": {
"ipv4": "111.111.111.111",
"ipv6": "1111::1111:1111:1111:1111"
},
"portIds": [
"5762451a82894b9b1b1a5dc2"
],
"password": "",
"activeChangedAt": "2016-06-16T06:20:11.458Z",
"updatedAt": "2016-06-16T06:20:11.462Z",
"createdAt": "2016-06-16T06:20:11.114Z",
"deletedAt": null,
"deleted": false,
"asn": {
"asn": "54321",
"status": "VERIFIED",
"type": "SYSTEM",
"updatedAt": "2016-06-16T06:20:11.460Z",
"createdAt": "2016-06-16T06:20:11.460Z",
"deleted": false,
"deletedAt": null
},
"metro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"code": null,
"logo": null,
"description": null,
"ready": true,
"country": "USA",
"regionIds": [],
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
}
}
],
"metro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"code": null,
"logo": null,
"description": null,
"ready": true,
"country": "USA",
"regionIds": [],
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
},
"vlanRanges": [
{
"start": 3600,
"end": 3699
}
]
}
]
}
List PortsGET/api/company/:companyName/ports
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
Port ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"id": "5762451a82894b9b1b1a5dc2",
"companyId": "5762451982894b9b1b1a5dbc",
"portId": null,
"name": "Vicente",
"speed": {
"value": 1000,
"name": "1000 Mbps"
},
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "1232413986c08c061dd8c45f",
"status": "ACTIVE",
"type": "PHYSICAL",
"singleService": false,
"partner": {
"type": "NONE",
"regionNames": []
},
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2016-06-16T06:20:10.640Z",
"updatedAt": "2016-06-16T06:20:11.116Z",
"createdAt": "2016-06-16T06:20:10.029Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"capacity": {
"total": 1000,
"utilised": 100,
"remaining": 900
},
"company": {
"id": "5762451982894b9b1b1a5dbc",
"type": "COMPANY",
"isSupport": false,
"name": "corp",
"avatar": null,
"avatarId": null,
"background": null,
"headline": null,
"summary": null,
"location": null,
"username": "corp",
"social": null,
"groups": null,
"phone": null,
"isSynced": null,
"status": "ACTIVE",
"tags": [],
"verified": false,
"stats": {
"posts": 0,
"events": 0,
"articles": 0,
"privatePosts": 0,
"privateEvents": 0,
"privateArticles": 0,
"following": 0,
"followers": 0,
"interconnections": 0,
"members": 1
},
"updatedAt": "2016-06-16T06:20:09.604Z",
"createdAt": "2016-06-16T06:20:09.604Z",
"deleted": false,
"deletedAt": null,
"companies": null,
"company": {
"website": null,
"emailDomains": [],
"industry": null,
"businessType": null,
"companySize": null,
"dateFounded": null,
"markets": {},
"regionalInternetRegistry": null,
"clientId": null,
"first": null,
"last": null,
"address": null,
"city": null,
"state": null,
"zip": null,
"addresses": [],
"phone": null,
"fax": null,
"email": null,
"country": null
},
"online": false
},
"dataCenterFacility": {
"id": "5126c9f1111e15a24a066130",
"type": "DATA_CENTER_FACILITY",
"isSupport": false,
"name": "Equinix - SV1",
"avatar": null,
"avatarId": null,
"background": null,
"headline": null,
"summary": null,
"location": null,
"username": "equinix-sv1",
"social": null,
"groups": null,
"phone": null,
"isSynced": null,
"status": "ACTIVE",
"tags": [],
"verified": true,
"stats": {
"posts": 0,
"events": 0,
"articles": 0,
"privatePosts": 0,
"privateEvents": 0,
"privateArticles": 0,
"following": 0,
"followers": 0,
"interconnections": 0,
"members": 0
},
"updatedAt": "2015-11-04T06:07:13.430Z",
"createdAt": "2015-11-04T06:07:12.785Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"companies": null,
"company": {
"website": null,
"emailDomains": [],
"industry": null,
"businessType": null,
"companySize": null,
"dateFounded": null,
"markets": {},
"regionalInternetRegistry": null,
"clientId": null,
"first": null,
"last": null,
"address": null,
"city": null,
"state": null,
"zip": null,
"addresses": [
{
"primary": true,
"address": "11 Great Oaks Boulevard",
"city": "San Jose",
"state": "California",
"zip": "95119-1242",
"country": "USA",
"email": "",
"phone": "",
"geo": {
"type": "Point",
"coordinates": [
-121.78322,
37.24162
]
}
}
],
"phone": null,
"fax": null,
"email": null,
"country": null
},
"dataCenterFacility": {
"id": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"ready": true,
"metroId": "1232413986c08c061dd8c45f",
"speeds": []
},
"online": false
},
"connections": [
{
"id": "5762451d82894b9b1b1a5dd2",
"name": "Sierra",
"status": "ACTIVE"
}
],
"asn": {
"asn": "176251",
"status": "VERIFIED",
"type": "ALLOCATED",
"updatedAt": "2016-06-16T06:20:11.053Z",
"createdAt": "2016-06-16T06:20:11.053Z",
"deleted": false,
"deletedAt": null
},
"controllers": [
{
"id": "5762451b82894b9b1b1a5dc6",
"name": "corp - Skyla",
"type": "USER",
"metroId": "1232413986c08c061dd8c45f",
"status": "ACTIVE",
"vlan": 200,
"ip": {
"ipv4": "111.111.111.111",
"ipv6": "1111::1111:1111:1111:1111"
},
"portIds": [
"5762451a82894b9b1b1a5dc2"
],
"password": "",
"activeChangedAt": "2016-06-16T06:20:11.458Z",
"updatedAt": "2016-06-16T06:20:11.462Z",
"createdAt": "2016-06-16T06:20:11.114Z",
"deletedAt": null,
"deleted": false,
"asn": {
"asn": "54321",
"status": "VERIFIED",
"type": "SYSTEM",
"updatedAt": "2016-06-16T06:20:11.460Z",
"createdAt": "2016-06-16T06:20:11.460Z",
"deleted": false,
"deletedAt": null
},
"metro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"code": null,
"logo": null,
"description": null,
"ready": true,
"country": "USA",
"regionIds": [],
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
}
}
],
"metro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"code": null,
"logo": null,
"description": null,
"ready": true,
"country": "USA",
"regionIds": [],
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
},
"vlanRange": [
{
"from": 3600,
"to": 3699
}
]
}
Read Port DetailsGET/api/company/:companyName/ports/:portId
Note, reading a company’s port details is public.
Utilization is based on connections attached to a port. Incoming connections are not included in utilization, but outgoing connections are included. You may not create an outgoing connection request that exceeds your port utilization.
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
- portId
string
(required) Example: 55767b5652a693344a015744The port id
Headers
Content-Type: application/json
Body
{
"name": "Hello, world!",
"asn": "Hello, world!"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Friendly name for the port"
},
"asn": {
"type": "string",
"description": "ASN to attach to this port."
}
},
"required": [
"name",
"asn"
]
}
Headers
Content-Type: application/json
Body
{
"id": "5762451a82894b9b1b1a5dc2",
"companyId": "5762451982894b9b1b1a5dbc",
"portId": null,
"name": "Vicente",
"speed": {
"value": 1000,
"name": "1000 Mbps"
},
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "1232413986c08c061dd8c45f",
"status": "ACTIVE",
"type": "PHYSICAL",
"singleService": false,
"partner": {
"type": "NONE",
"regionNames": []
},
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2016-06-16T06:20:10.640Z",
"updatedAt": "2016-06-16T06:20:11.116Z",
"createdAt": "2016-06-16T06:20:10.029Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"capacity": {
"total": 1000,
"utilised": 100,
"remaining": 900
},
"company": {
"id": "5762451982894b9b1b1a5dbc",
"type": "COMPANY",
"isSupport": false,
"name": "corp",
"avatar": null,
"avatarId": null,
"background": null,
"headline": null,
"summary": null,
"location": null,
"username": "corp",
"social": null,
"groups": null,
"phone": null,
"isSynced": null,
"status": "ACTIVE",
"tags": [],
"verified": false,
"stats": {
"posts": 0,
"events": 0,
"articles": 0,
"privatePosts": 0,
"privateEvents": 0,
"privateArticles": 0,
"following": 0,
"followers": 0,
"interconnections": 0,
"members": 1
},
"updatedAt": "2016-06-16T06:20:09.604Z",
"createdAt": "2016-06-16T06:20:09.604Z",
"deleted": false,
"deletedAt": null,
"companies": null,
"company": {
"website": null,
"emailDomains": [],
"industry": null,
"businessType": null,
"companySize": null,
"dateFounded": null,
"markets": {},
"regionalInternetRegistry": null,
"clientId": null,
"first": null,
"last": null,
"address": null,
"city": null,
"state": null,
"zip": null,
"addresses": [],
"phone": null,
"fax": null,
"email": null,
"country": null
},
"online": false
},
"dataCenterFacility": {
"id": "5126c9f1111e15a24a066130",
"type": "DATA_CENTER_FACILITY",
"isSupport": false,
"name": "Equinix - SV1",
"avatar": null,
"avatarId": null,
"background": null,
"headline": null,
"summary": null,
"location": null,
"username": "equinix-sv1",
"social": null,
"groups": null,
"phone": null,
"isSynced": null,
"status": "ACTIVE",
"tags": [],
"verified": true,
"stats": {
"posts": 0,
"events": 0,
"articles": 0,
"privatePosts": 0,
"privateEvents": 0,
"privateArticles": 0,
"following": 0,
"followers": 0,
"interconnections": 0,
"members": 0
},
"updatedAt": "2015-11-04T06:07:13.430Z",
"createdAt": "2015-11-04T06:07:12.785Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"companies": null,
"company": {
"website": null,
"emailDomains": [],
"industry": null,
"businessType": null,
"companySize": null,
"dateFounded": null,
"markets": {},
"regionalInternetRegistry": null,
"clientId": null,
"first": null,
"last": null,
"address": null,
"city": null,
"state": null,
"zip": null,
"addresses": [
{
"primary": true,
"address": "11 Great Oaks Boulevard",
"city": "San Jose",
"state": "California",
"zip": "95119-1242",
"country": "USA",
"email": "",
"phone": "",
"geo": {
"type": "Point",
"coordinates": [
-121.78322,
37.24162
]
}
}
],
"phone": null,
"fax": null,
"email": null,
"country": null
},
"dataCenterFacility": {
"id": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"ready": true,
"metroId": "1232413986c08c061dd8c45f",
"speeds": []
},
"online": false
},
"connections": [
{
"id": "5762451d82894b9b1b1a5dd2",
"name": "Sierra",
"status": "ACTIVE"
}
],
"asn": {
"asn": "176251",
"status": "VERIFIED",
"type": "ALLOCATED",
"updatedAt": "2016-06-16T06:20:11.053Z",
"createdAt": "2016-06-16T06:20:11.053Z",
"deleted": false,
"deletedAt": null
},
"controllers": [
{
"id": "5762451b82894b9b1b1a5dc6",
"name": "corp - Skyla",
"type": "USER",
"metroId": "1232413986c08c061dd8c45f",
"status": "ACTIVE",
"vlan": 200,
"ip": {
"ipv4": "111.111.111.111",
"ipv6": "1111::1111:1111:1111:1111"
},
"portIds": [
"5762451a82894b9b1b1a5dc2"
],
"password": "",
"activeChangedAt": "2016-06-16T06:20:11.458Z",
"updatedAt": "2016-06-16T06:20:11.462Z",
"createdAt": "2016-06-16T06:20:11.114Z",
"deletedAt": null,
"deleted": false,
"asn": {
"asn": "54321",
"status": "VERIFIED",
"type": "SYSTEM",
"updatedAt": "2016-06-16T06:20:11.460Z",
"createdAt": "2016-06-16T06:20:11.460Z",
"deleted": false,
"deletedAt": null
},
"metro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"code": null,
"logo": null,
"description": null,
"ready": true,
"country": "USA",
"regionIds": [],
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
}
}
],
"metro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"code": null,
"logo": null,
"description": null,
"ready": true,
"country": "USA",
"regionIds": [],
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
},
"vlanRange": [
{
"from": 3600,
"to": 3699
}
]
}
Update Port DetailsPOST/api/company/:companyName/ports/:portId
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
- portId
string
(required) Example: 55767b5652a693344a015744The port id
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Delete portDELETE/api/company/:companyName/ports/:portId
Note: a port must be disabled using Port Actions before it can be deleted.
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
- portId
string
(required) Example: 55767b5652a693344a015744The port id
Port Access Circuit ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"crossConnectId": "19204",
"crossConnectMediaType": "SMF",
"crossConnectMediaConvertor": true,
"crossConnectConnectorType": "SC",
"crossConnectProvider": "my cross connect provider",
"crossConnectSalesRecordId": "Hello, world!",
"localLoopPartnerLocalLineNo": "L93850",
"localLoopRemoteRefNo": "#980344933948",
"localLoopRemoteLocalLineNo": "L843840384",
"localLoopSpeed": "0",
"localLoopRemoteLocalLinePartner": "partner name",
"localLoopRemoteCarrierContactNo": "+61 3 2223 3344",
"managedRouterServiceRouterName": "cds-e038kf-jhsnv",
"managedRouterServiceRouterProvider": "Hello, world!",
"managedRouterServiceRouterOwner": "Hello, world!",
"managedRouterServiceCpeOrder": "Hello, world!",
"managedRouterServiceDialupNo": "Hello, world!",
"managedRouterServiceCeWanIpAddress": "Hello, world!",
"managedRouterServiceCeWanInterface": "Hello, world!",
"managedRouterServiceManagementIp": "192.168.152.101",
"managedRouterServiceRemark": "Hello, world!",
"premiumColocationSalesRecordId": "Hello, world!",
"premiumColocationRackId": "Hello, world!",
"premiumColocationPanelNumber": "Hello, world!",
"id": "12345"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"crossConnectId": {
"type": "string"
},
"crossConnectMediaType": {
"type": "string",
"enum": [
"SMF",
"MMF",
"COAXIAL",
"COPPER"
]
},
"crossConnectMediaConvertor": {
"type": "boolean"
},
"crossConnectConnectorType": {
"type": "string",
"enum": [
"SC",
"FC",
"LC",
"BNC",
"RJ48",
"RJ45"
]
},
"crossConnectProvider": {
"type": "string"
},
"crossConnectSalesRecordId": {
"type": "string"
},
"localLoopPartnerLocalLineNo": {
"type": "string"
},
"localLoopRemoteRefNo": {
"type": "string"
},
"localLoopRemoteLocalLineNo": {
"type": "string"
},
"localLoopSpeed": {
"type": "string",
"description": "The local loop speed"
},
"localLoopRemoteLocalLinePartner": {
"type": "string"
},
"localLoopRemoteCarrierContactNo": {
"type": "string"
},
"managedRouterServiceRouterName": {
"type": "string"
},
"managedRouterServiceRouterProvider": {
"type": "string"
},
"managedRouterServiceRouterOwner": {
"type": "string"
},
"managedRouterServiceCpeOrder": {
"type": "string"
},
"managedRouterServiceDialupNo": {
"type": "string"
},
"managedRouterServiceCeWanIpAddress": {
"type": "string"
},
"managedRouterServiceCeWanInterface": {
"type": "string"
},
"managedRouterServiceManagementIp": {
"type": "string"
},
"managedRouterServiceRemark": {
"type": "string"
},
"premiumColocationSalesRecordId": {
"type": "string"
},
"premiumColocationRackId": {
"type": "string"
},
"premiumColocationPanelNumber": {
"type": "string"
},
"id": {
"type": "string"
}
}
}
Headers
Content-Type: application/json
Body
{
"error": {
"message": "A port can not be found with the given id",
"status": 404,
"statusCode": 404
}
}
Headers
Content-Type: application/json
Body
{
"error": {
"message": "No access-circuit information was found for the given port",
"status": 404,
"statusCode": 404
}
}
Headers
Content-Type: application/json
Body
{
"error": {
"accessRequests": [
{
"action": "network:ReadPort",
"resource": "cc-api:network::1234567890:Port/*"
}
],
"principalId": {
"id": "1234567890"
},
"message": "Access denied",
"status": 401,
"statusCode": 401,
"stack": "Error: Access denied\n at Object.module.exports [as error] "
}
}
Read Port Access Circuit DetailsGET/api/company/:companyName/ports/:portId/access-circuit
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
- portId
string
(required) Example: 55767b5652a693344a015744The port id
Port Actions ¶
Ports may only be disabled when all attached Connections are disabled. These actions are not permitted on ports where port.onboarded is true.
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"id": "5762451a82894b9b1b1a5dc2",
"companyId": "5762451982894b9b1b1a5dbc",
"portId": null,
"name": "Vicente",
"speed": {
"value": 1000,
"name": "1000 Mbps"
},
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "1232413986c08c061dd8c45f",
"status": "ACTIVE",
"type": "PHYSICAL",
"singleService": false,
"partner": {
"type": "NONE",
"regionNames": []
},
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2016-06-16T06:20:10.640Z",
"updatedAt": "2016-06-16T06:20:11.116Z",
"createdAt": "2016-06-16T06:20:10.029Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"capacity": {
"total": 1000,
"utilised": 100,
"remaining": 900
},
"company": {
"id": "5762451982894b9b1b1a5dbc",
"type": "COMPANY",
"isSupport": false,
"name": "corp",
"avatar": null,
"avatarId": null,
"background": null,
"headline": null,
"summary": null,
"location": null,
"username": "corp",
"social": null,
"groups": null,
"phone": null,
"isSynced": null,
"status": "ACTIVE",
"tags": [],
"verified": false,
"stats": {
"posts": 0,
"events": 0,
"articles": 0,
"privatePosts": 0,
"privateEvents": 0,
"privateArticles": 0,
"following": 0,
"followers": 0,
"interconnections": 0,
"members": 1
},
"updatedAt": "2016-06-16T06:20:09.604Z",
"createdAt": "2016-06-16T06:20:09.604Z",
"deleted": false,
"deletedAt": null,
"companies": null,
"company": {
"website": null,
"emailDomains": [],
"industry": null,
"businessType": null,
"companySize": null,
"dateFounded": null,
"markets": {},
"regionalInternetRegistry": null,
"clientId": null,
"first": null,
"last": null,
"address": null,
"city": null,
"state": null,
"zip": null,
"addresses": [],
"phone": null,
"fax": null,
"email": null,
"country": null
},
"online": false
},
"dataCenterFacility": {
"id": "5126c9f1111e15a24a066130",
"type": "DATA_CENTER_FACILITY",
"isSupport": false,
"name": "Equinix - SV1",
"avatar": null,
"avatarId": null,
"background": null,
"headline": null,
"summary": null,
"location": null,
"username": "equinix-sv1",
"social": null,
"groups": null,
"phone": null,
"isSynced": null,
"status": "ACTIVE",
"tags": [],
"verified": true,
"stats": {
"posts": 0,
"events": 0,
"articles": 0,
"privatePosts": 0,
"privateEvents": 0,
"privateArticles": 0,
"following": 0,
"followers": 0,
"interconnections": 0,
"members": 0
},
"updatedAt": "2015-11-04T06:07:13.430Z",
"createdAt": "2015-11-04T06:07:12.785Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"companies": null,
"company": {
"website": null,
"emailDomains": [],
"industry": null,
"businessType": null,
"companySize": null,
"dateFounded": null,
"markets": {},
"regionalInternetRegistry": null,
"clientId": null,
"first": null,
"last": null,
"address": null,
"city": null,
"state": null,
"zip": null,
"addresses": [
{
"primary": true,
"address": "11 Great Oaks Boulevard",
"city": "San Jose",
"state": "California",
"zip": "95119-1242",
"country": "USA",
"email": "",
"phone": "",
"geo": {
"type": "Point",
"coordinates": [
-121.78322,
37.24162
]
}
}
],
"phone": null,
"fax": null,
"email": null,
"country": null
},
"dataCenterFacility": {
"id": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"ready": true,
"metroId": "1232413986c08c061dd8c45f",
"speeds": []
},
"online": false
},
"connections": [
{
"id": "5762451d82894b9b1b1a5dd2",
"name": "Sierra",
"status": "ACTIVE"
}
],
"asn": {
"asn": "176251",
"status": "VERIFIED",
"type": "ALLOCATED",
"updatedAt": "2016-06-16T06:20:11.053Z",
"createdAt": "2016-06-16T06:20:11.053Z",
"deleted": false,
"deletedAt": null
},
"controllers": [
{
"id": "5762451b82894b9b1b1a5dc6",
"name": "corp - Skyla",
"type": "USER",
"metroId": "1232413986c08c061dd8c45f",
"status": "ACTIVE",
"vlan": 200,
"ip": {
"ipv4": "111.111.111.111",
"ipv6": "1111::1111:1111:1111:1111"
},
"portIds": [
"5762451a82894b9b1b1a5dc2"
],
"password": "",
"activeChangedAt": "2016-06-16T06:20:11.458Z",
"updatedAt": "2016-06-16T06:20:11.462Z",
"createdAt": "2016-06-16T06:20:11.114Z",
"deletedAt": null,
"deleted": false,
"asn": {
"asn": "54321",
"status": "VERIFIED",
"type": "SYSTEM",
"updatedAt": "2016-06-16T06:20:11.460Z",
"createdAt": "2016-06-16T06:20:11.460Z",
"deleted": false,
"deletedAt": null
},
"metro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"code": null,
"logo": null,
"description": null,
"ready": true,
"country": "USA",
"regionIds": [],
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
}
}
],
"metro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"code": null,
"logo": null,
"description": null,
"ready": true,
"country": "USA",
"regionIds": [],
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
},
"vlanRange": [
{
"from": 3600,
"to": 3699
}
]
}
Perform a action on a portPOST/api/company/:companyName/ports/:portId/:action(active|disable)
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
- portId
string
(required) Example: 55767b5652a693344a015744The port id
Port utilization ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"portId": 120391239323,
"unit": "Mbps",
"results": [
{
"time": 49303945838,
"rxMin": 0.005,
"rxMax": 2,
"rxAverage": 1,
"txMin": 0.005,
"txMax": 2,
"txAverage": 1
}
]
}
Get port utilization dataGET/api/company/:companyName/ports/:portId/utilization/{?start,end,resolution}
- companyName
string
(required) Example: corpThe username of the company that owns the port to check
- portId
string
(required) Example: 55767b5652a693344a015744The port id
- start
string
(required) Example: 1459376516Unix timestamp for beginning of time window
- end
string
(required) Example: 1459376516Unix timestamp for end of time window
- resolution
string
(required) Example: daySet the resolution of response (day | hour | minute). Defaults to minute if not passed. Note: as minute is the smallest resolution, it will not have
min/max
fields in the response.
Port Vlans Info ¶
Return the vlan information around the given port
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"id": "xxx-xxx-xxx-xx-xxx",
"available": [100,200,300,400]
"ranges": [
{
"start": 100,
"end": 1000,
}
]
}
Get port vlan infoGET/api/company/{companyName}/ports/{portId}/vlan{?detailed}
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
- portId
string
(required) Example: 55767b5652a693344a015744The port id
- detailed
string
(optional) Example: trueRetrieve available vlans from device? Default true
DCP ports/regions ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{ "results":
[ { "id": "579ec72fa21a602e46f32c30",
"companyId": "579ec72da21a602e46f32c29",
"deviceId": "e8d1ab56-74ff-401a-8379-760a018178c1",
"portId": null,
"name": null,
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "d466b388d3e9ee0a92177910",
"status": "ACTIVE",
"type": "DCP",
"partner": {
"type": "AWS",
"regionName": "us-west-1",
"connectionSpeeds":
[ { "value": 50, type: "AUTOMATIC" },
{ "value": 100, type: "AUTOMATIC" },
{ "value": 200, type: "AUTOMATIC" },
{ "value": 300, type: "AUTOMATIC" },
{ "value": 400, type: "AUTOMATIC" },
{ "value": 500, type: "AUTOMATIC" },
{ "value": 1000, type: "MANUAL" },
{ "value": 10000, type: "MANUAL" } ]
}
"asnId": null,
"ip": { "ipv4": null, "ipv6": null },
"activeChangedAt": null,
"updatedAt": "2016-08-01T03:51:11.554Z",
"createdAt": "2016-08-01T03:51:11.554Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z" } ]
}
Get all ports/regions for DCPGET/api/directConnectPartner/:username/regions
DCP Partner | Username |
---|---|
AWS | amazon |
AZURE | azure |
GCE | google_cloud |
TENCENT | tencent-cloud |
ALICLOUD | alibaba_cloud |
- username
string
(required) Example: amazonThe username of the DCP for which to retrieve the ports/regionIds
DCP addons ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"results": [
{
"createdAt": "2016-08-23T05:48:34.022Z",
"updatedAt": "2016-08-23T05:48:34.022Z",
"value": 1000,
"entitlementType": null,
"destCompanyId": "57bbe3b04ae42f987d9668de",
"destPortId": "57bbe3b04ae42f987d9668df",
"floorMonthly": 0,
"monthly": 0,
"currency": "USD",
"companyIds": [],
"visible": false,
"regionIds": [],
"tags": [],
"displayOrder": 0,
"displayTemplate": "Unnamed",
"name": "Global Connection",
"id": "57bbe3b20e4a257d986b2d74"
}
]
}
Get all addons for DCPGET/api/directConnectPartner/:username/addons
- username
string
(required) Example: amazonThe username of the DCP for which to retrieve the addons
NSP ports ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{ "results":
[ { "id": "579ec72fa21a602e46f32c30",
"companyId": "579ec72da21a602e46f32c29",
"deviceId": "e8d1ab56-74ff-401a-8379-760a018178c1",
"portId": null,
"name": null,
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "d466b388d3e9ee0a92177910",
"status": "ACTIVE",
"type": "PHYSICAL_NSP",
"partner": {}
"asnId": null,
"ip": { "ipv4": null, "ipv6": null },
"activeChangedAt": null,
"updatedAt": "2016-08-01T03:51:11.554Z",
"createdAt": "2016-08-01T03:51:11.554Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z" } ]
}
Get all ports for NSPGET/api/networkServiceProvider/:username/regions
- username
string
(required) Example: internetThe username of the NSP for which to retrieve the ports
All plans & entitlements ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"subscriptions": [
{
"subscriptionLength": 1,
"subscriptionLengthUnit": "y",
"itemCollectionType": "port",
"id": "5c07767990a74879f2cf8cf4",
"userId": "5c07766b3a4c3579f27a4553",
"bundleId": "5c07767990a74879f2cf8cf1",
"deletedAt": null,
"createdAt": "2018-12-05T06:55:53.797Z",
"updatedAt": "2018-12-05T06:55:53.797Z",
"itemIds": [
"57e0aba00956ad107191328c"
],
}
],
"entitlement": {
"57e0aba00956ad107191328c": {
"portSpeed": {
"used": null,
"available": null
},
"maxControllerType": {
"used": "REGIONAL",
"available": null
},
"maxControllers": {
"used": 0,
"available": null
}
},
"57e0aba10956ad1071913290": {
"portSpeed": {
"used": null,
"available": null
},
"maxControllerType": {
"used": null,
"available": null
},
"maxControllers": {
"used": 0,
"available": null
},
"cdrGlobal": {
"000000000000000000000000-111111111111111111111111": {
"name": "US-London"
"srcRegionId": "000000000000000000000000",
"destRegionId": "111111111111111111111111",
"used": 0,
"available": null
}
}
}
}
}
Get all plans & entitlementGET/api/company/:username/ports/entitlement
Port plan & entitlement ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"subscriptions": [],
"entitlement": {
"portSpeed": {
"used": null,
"available": null
},
"maxControllerType": {
"used": "REGIONAL",
"available": null
},
"maxControllers": {
"used": 0,
"available": null
},
"cdrGlobal": {
"000000000000000000000000-111111111111111111111111": {
"name": "US-London"
"srcRegionId": "000000000000000000000000",
"destRegionId": "111111111111111111111111",
"used": 0,
"available": null
}
}
}
}
Get plan & entitlementGET/api/company/:username/ports/:portId/entitlement
Network - Connection CRUD ¶
Connection ¶
A connection is generally defined as a link between a source and destination port.
There are two main types of connections:
Name | Description |
---|---|
LAYER2 | A VLAN/layer 2 connection between two ports |
GROUP_LAYER2 | A group of layer 2 connections for redundant connectivity. Connections of this type have no srcPort/destPort, instead having an array of connections attached to the subconnections property. |
Connection statuses
The status
property of a connection records the current connection request/connection status.
A connection generally starts in PENDING
status at which point it is considered
a connection request because the configuration isn’t finalised and no hardware
has been configured yet. Once a connection reaches a status of ACCEPTED or
greater it is considered to be a regular connection in the system.
The following table lists connection statuses, and the subsequent statuses the connection may be changed to from that status:
Status | Next status | Description |
---|---|---|
PENDING | ACCEPTED/CANCELLED/DENIED | Connection is still in request phase pending approval from at least one party. |
PENDING_ACCEPTANCE | CREATING | DCP connection is waiting for the customer to approve the connection in their 3rd party service (eg AWS) |
ACCEPTED | CREATING | The connection has been accepted by all parties and a request has been sent to create the connection. |
CREATING | ACTIVE/ERROR | The connection has been accepted by all parties and the system is in the process of creating the connection. |
ACTIVATING | ACTIVE | A transitional state while the system activates a connection. |
ACTIVE | DISABLING | Active connection. An active connection can subsequently be disabled by the customer. |
DISABLING | DISABLED | A transitional state while the system disables a connection. |
DISABLED | ENABLING/DELETING | Disabled connection. A disabled connection can subsequently be enabled or deleted by the customer. |
DELETING | DELETED | The connection is in the process of being deleted |
DELETED | Deleted connection | |
CANCELLED | Cancelled by the source user | |
DENIED | The connection request was cancelled by the dest user | |
ERROR | In an error state. A description is provided in connection.errorReason |
|
MANUAL | A connection provisioned manunally by Console Connect to meed a customer’s custom requirements |
Create a connection
There are several scenarios under which a user can create a connection. The following section outlines these scenarios:
Create a business to business connection
The workflow for creating a connection to another user is as follows:
-
Source user requests a connection using Create a Layer 2 connection request endpoint, specifying a source port/controller & requested metro.
-
Destination user updates the connection request with destination port/controller and makes any other changes using the Update a connection endpoint.
-
Both users must approve the connection using the Approve a connection Request endpoint. Note that updating the connection request using the Update a connection automatically approves the connection request for the user making changes.
-
Once both users have approved the connection request, the status will change from PENDING and the connection will be created.
Create a connection to self
The workflow for creating a connection between two ports you own is as follows:
-
Request a connection using Create a Layer 2 connection request endpoint, specifying both source port/controller & destination port/controller.
-
Use the Approve a connection Request endpoint to approve the changes and create the connection.
-
The status will change from PENDING and the connection will be created.
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"isReceiver": true,
"isCreator": false,
"id": "58afc0499430ab7f3666b990",
"type": "LAYER2",
"status": "ACTIVE",
"request": {
"status": "PENDING",
"destMetroId": "d466b388d3e9ee0a92177910",
"speed": 580,
"srcApproval": null,
"destApproval": "58afc0479430ab7f3666b971",
"read": false,
"updatedAt": "2017-02-24T05:10:44.942Z"
},
"statusChangedAt": "2017-02-24T05:10:33.628Z",
"activeChangedAt": null,
"srcRegionId": "236107000000000000000001",
"destRegionId": "236107000000000000000001",
"updatedAt": "2017-02-24T05:10:44.942Z",
"tag": null,
"createdAt": "2017-02-24T05:10:33.807Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"speed": {
"value": 500,
"name": "500 Mbps"
},
"subconnections": [],
"srcCompany": {
"createdAt": "2017-02-24T05:10:32.862Z",
"updatedAt": "2017-02-24T05:10:35.146Z",
"username": "company1",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company1",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0489430ab7f3666b982",
"online": false
},
"destCompany": {
"createdAt": "2017-02-24T05:10:31.511Z",
"updatedAt": "2017-02-24T05:10:35.204Z",
"username": "company2",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null,
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company2",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0479430ab7f3666b974",
"online": false
},
"metro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"destMetro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"srcAsnId": null,
"destAsnId": null,
"port": {
"id": "58afc0489430ab7f3666b97a",
"companyId": "58afc0479430ab7f3666b974",
"dcpCompanyId": null,
"portId": null,
"name": "Terrence",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "d466b388d3e9ee0a92177910",
"status": "ACTIVE",
"type": "PHYSICAL",
"partner": {
"type": "NONE",
"regionNames": [],
"connectionSpeeds": [],
"partnerPort": null,
"vlanId": null
},
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2017-02-24T05:10:32.667Z",
"updatedAt": "2017-02-24T05:10:43.249Z",
"createdAt": "2017-02-24T05:10:32.071Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"controller": null,
"untagged": false,
"qinQ": false,
"vlan": {
"id": null,
"service": null,
"customer": []
},
"name": "Jocelyn",
"cdrBillingType": "METRO",
"payg": true,
"billingType": ["PAYG"],
"maintenanceMode": false,
"srcVlanRequest": 1000,
"destVlanRequest": 2000,
"classOfService": "GOLD"
}
Read a connectionGET/api/v2/company/:companyName/connections/:connectionId
Headers
Content-Type: application/json
Schema
{
"title": "Edit connection.",
"description": "This is used for both connection requests and regular connection edits. Fields only used in connection requests (`connection.status: pending`) have the description preprended with *Connection request*.",
"type": "object",
"properties": {
"speed": {
"description": "Speed in Mbps. You can set any speed while the connection request is PENDING. After the connection has been accepted by both parties, the connection speed can be _reduced_ at any time, but may not be _increased_ without a change request.",
"type": "number",
"minimum": 1
},
"name": {
"description": "Friendly name for this connection. This is specific to your company, however when first creating a connection request this name will set for bot your company and the destination company.",
"type": "string"
},
"portId": {
"description": "Connection request: Port ID to use for this connection. If changing the controller would change the cdrBillingType for the other person, they will need to approve this connection request again.",
"$ref": "#/definitions/mongoId"
},
"untagged": {
"description": "Connection request: Whether this connection should be untagged.",
"type": "boolean"
},
"destUntagged": {
"description": "Connection request: Whether the destination should be untagged. Only used for self-connection.",
"type": "boolean"
},
"destPortId": {
"description": "Connection request: Dest port ID to use for a self-connection.",
"$ref": "#/definitions/mongoId"
},
"controllerId": {
"description": "Connection request: Controller ID to use for this connection. Only allowed on Layer 3 connections. If changing the controller would change the cdrBillingType for the other person, they will need to approve this connection request again.",
"$ref": "#/definitions/mongoId"
},
"destControllerId": {
"description": "Connection request: Dest controller ID to use for a self-connection.",
"$ref": "#/definitions/mongoId"
}
},
"definitions": {
"mongoId": {
"type": "string",
"pattern": "^[a-f0-9]{24}$"
}
}
}
Headers
Content-Type: application/json
Body
{
"isReceiver": true,
"isCreator": false,
"id": "58afc0499430ab7f3666b990",
"type": "LAYER2",
"status": "ACTIVE",
"request": {
"status": "PENDING",
"destMetroId": "d466b388d3e9ee0a92177910",
"speed": 580,
"srcApproval": null,
"destApproval": "58afc0479430ab7f3666b971",
"read": false,
"updatedAt": "2017-02-24T05:10:44.942Z"
},
"statusChangedAt": "2017-02-24T05:10:33.628Z",
"activeChangedAt": null,
"srcRegionId": "236107000000000000000001",
"destRegionId": "236107000000000000000001",
"updatedAt": "2017-02-24T05:10:44.942Z",
"tag": null,
"createdAt": "2017-02-24T05:10:33.807Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"speed": {
"value": 500,
"name": "500 Mbps"
},
"subconnections": [],
"srcCompany": {
"createdAt": "2017-02-24T05:10:32.862Z",
"updatedAt": "2017-02-24T05:10:35.146Z",
"username": "company1",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company1",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0489430ab7f3666b982",
"online": false
},
"destCompany": {
"createdAt": "2017-02-24T05:10:31.511Z",
"updatedAt": "2017-02-24T05:10:35.204Z",
"username": "company2",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null,
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company2",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0479430ab7f3666b974",
"online": false
},
"metro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"destMetro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"srcAsnId": null,
"destAsnId": null,
"port": {
"id": "58afc0489430ab7f3666b97a",
"companyId": "58afc0479430ab7f3666b974",
"dcpCompanyId": null,
"portId": null,
"name": "Terrence",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "d466b388d3e9ee0a92177910",
"status": "ACTIVE",
"type": "PHYSICAL",
"partner": {
"type": "NONE",
"regionNames": [],
"connectionSpeeds": [],
"partnerPort": null,
"vlanId": null
},
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2017-02-24T05:10:32.667Z",
"updatedAt": "2017-02-24T05:10:43.249Z",
"createdAt": "2017-02-24T05:10:32.071Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"controller": null,
"untagged": false,
"qinQ": false,
"vlan": {
"id": null,
"service": null,
"customer": []
},
"name": "Jocelyn",
"cdrBillingType": "METRO",
"payg": true,
"billingType": ["PAYG"],
"maintenanceMode": false,
"srcVlanRequest": 1000,
"destVlanRequest": 2000,
"classOfService": "GOLD"
}
Update a connectionPOST/api/v2/company/:companyName/connections/:connectionId
This is used for both connection requests and regular connection edits.
Connection speed
To prevent unexpected costs for the other party, you may only reduce the speed of a connection to another company (either as a connection request or after it has been activated).
Self-connections can be updated to a new speed at any time.
The speed of connection groups may not be updated.
Headers
Content-Type: application/json
Delete a connectionDELETE/api/v2/company/:companyName/connections/:connectionId
Connection Search ¶
Headers
Content-Type: application/json
Body
{
"results": [
{
"isReceiver": true,
"isCreator": false,
"id": "579f33b548010f508c7a449c",
"type": "LAYER3",
"status": "ACTIVE",
"statusChangedAt": "2016-08-01T11:34:13.883Z",
"activeChangedAt": "2016-08-01T11:34:13.883Z",
"updatedAt": "2016-08-01T11:34:13.883Z",
"tag": 1,
"createdAt": "2016-08-01T11:34:13.258Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"untagged": false,
"destUntagged": false,
"qinQ": false,
"speed": {
"value": 1000,
"name": "1000 Mbps"
},
"request": {
"status": "PENDING",
"destMetroId": "d466b388d3e9ee0a92177910",
"speed": 580,
"srcApproval": null,
"destApproval": "58afc0479430ab7f3666b971",
"read": false,
"updatedAt": "2017-02-24T05:10:44.942Z"
},
"srcAsnId": "123456",
"destAsnId": "654321",
"srcCompany": {
"id": "579f33b048010f508c7a4481",
"type": "COMPANY",
"isSupport": false,
"name": "company b",
"avatar": null,
"avatarId": null,
"background": null,
"headline": null,
"summary": null,
"location": null,
"username": "company b",
"social": null,
"groups": null,
"phone": null,
"isSynced": null,
"capabilities": {
"layer2": true,
"layer3": true
},
"status": "ACTIVE",
"tags": [],
"verified": false,
"stats": {
"posts": 0,
"events": 0,
"articles": 0,
"privatePosts": 0,
"privateEvents": 0,
"privateArticles": 0,
"following": 0,
"followers": 0,
"interconnections": 0,
"members": 1
},
"updatedAt": "2016-08-01T11:34:11.077Z",
"createdAt": "2016-08-01T11:34:08.851Z",
"deleted": false,
"deletedAt": null,
"companies": [],
"company": {
"website": null,
"emailDomains": [],
"industry": null,
"businessType": null,
"companySize": null,
"dateFounded": null,
"markets": {},
"regionalInternetRegistry": null,
"clientId": null,
"first": null,
"last": null,
"address": null,
"city": null,
"state": null,
"zip": null,
"addresses": [],
"phone": null,
"fax": null,
"email": null,
"country": null
},
"online": false
},
"destCompany": {
"id": "579f33b148010f508c7a4487",
"type": "COMPANY",
"isSupport": false,
"name": "company a",
"avatar": null,
"avatarId": null,
"background": null,
"headline": null,
"summary": null,
"location": null,
"username": "company a",
"social": null,
"groups": null,
"phone": null,
"isSynced": null,
"capabilities": {
"layer2": true,
"layer3": true
},
"status": "ACTIVE",
"tags": [],
"verified": false,
"stats": {
"posts": 0,
"events": 0,
"articles": 0,
"privatePosts": 0,
"privateEvents": 0,
"privateArticles": 0,
"following": 0,
"followers": 0,
"interconnections": 0,
"members": 1
},
"updatedAt": "2016-08-01T11:34:12.853Z",
"createdAt": "2016-08-01T11:34:09.227Z",
"deleted": false,
"deletedAt": null,
"companies": [],
"company": {
"website": null,
"emailDomains": [],
"industry": null,
"businessType": null,
"companySize": null,
"dateFounded": null,
"markets": {},
"regionalInternetRegistry": null,
"clientId": null,
"first": null,
"last": null,
"address": null,
"city": null,
"state": null,
"zip": null,
"addresses": [],
"phone": null,
"fax": null,
"email": null,
"country": null
},
"online": false
},
"metro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"code": null,
"logo": null,
"description": null,
"ready": true,
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-75aac87771a7",
"country": "USA",
"regionIds": [],
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
},
"destMetro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"code": null,
"logo": null,
"description": null,
"ready": true,
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-75aac87771a7",
"country": "USA",
"regionIds": [],
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
},
"port": {
"id": "579f33b348010f508c7a4495",
"companyId": "579f33b148010f508c7a4487",
"portId": null,
"name": "Alexis",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "1232413986c08c061dd8c45f",
"status": "ACTIVE",
"type": "PHYSICAL",
"partner": {
"type": "NONE",
"regionNames": [],
"connectionSpeeds": []
},
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2016-08-01T11:34:12.103Z",
"updatedAt": "2016-08-01T11:34:12.632Z",
"createdAt": "2016-08-01T11:34:11.678Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"controller": {
"id": "579f33b448010f508c7a4499",
"name": "company a - Zakary",
"type": "USER",
"metroId": "1232413986c08c061dd8c45f",
"status": "ACTIVE",
"vlan": 200,
"ip": {
"ipv4": "111.111.111.111",
"ipv6": "1111::1111:1111:1111:1111"
},
"portIds": [
"579f33b348010f508c7a4495"
],
"activeChangedAt": "2016-08-01T11:34:12.954Z",
"updatedAt": "2016-08-01T11:34:12.958Z",
"createdAt": "2016-08-01T11:34:12.629Z",
"deletedAt": null,
"deleted": false,
"asn": {
"asn": "54321",
"status": "VERIFIED",
"type": "SYSTEM",
"updatedAt": "2016-08-01T11:34:11.201Z",
"createdAt": "2016-08-01T11:34:11.201Z",
"deleted": false,
"deletedAt": null
},
"metro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"code": null,
"logo": null,
"description": null,
"ready": true,
"country": "USA",
"regionIds": [],
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
}
},
"name": "newname",
"cdrBillingType": "METRO"
}
]
}
Connection searchGET/api/v2/company/:companyName/connections{?page,count,status}
- page
string
(required) Example: 1The page number to get
- count
string
(required) Example: 20The number of results per page to get
- status
string
(required) Example: ACTIVEFilter by connection status
Layer 2 ¶
Create a Layer 2 connection request to the specified destination company. Layer 2 connections require a src port ID & requested metro.
-
You may not create an outgoing connection request that exceeds your port utilization or plan entitlement.
-
Both parties must approve a connection before it is activated. When either party makes changes to the connection request which changes billing or capacity information, the other party must approve the connection using the approve endpoint.
-
You can optionally create an untagged connection by specifying
untagged: true
. This will place the port into single service mode, so you must ensure no other connections exist on the port before continuing. -
You can optionally create a QinQ connection by specifying
qinQ: true
. -
The ‘paymentType’ can be either ‘invoice’ or ‘plan’. A ‘paymentType’ of ‘creditcard’ is only supported via the Console Connect web application.
-
For pay-as-you-go connections where paymentType is ‘creditcard’,
paymentTransactionId
, duration and evergreen options must be provided in the request. -
If paymentType is ‘invoice’, ‘destDcf’, ‘duration’ and ‘durationUnit’ should be provided.
Headers
Content-Type: application/json
Schema
{
"type": "object",
"title": "Standard L2 (port to port) connection.",
"properties": {
"type": {
"type": "string",
"enum": [
"LAYER2"
]
},
"name": {
"type": "string"
},
"portId": {
"$ref": "#/definitions/mongoId"
},
"destPortId": {
"$ref": "#/definitions/mongoId"
},
"regionId": {
"$ref": "#/definitions/mongoId"
},
"destRegionId": {
"$ref": "#/definitions/mongoId"
},
"destDcf": {
"$ref": "#/definitions/mongoId"
},
"tag": {
"anyOf": [
{
"type": "null"
},
{
"type": "integer"
}
]
},
"untagged": {
"type": "boolean",
"default": "false"
},
"destUntagged": {
"type": "boolean",
"default": "false"
},
"qinQ": {
"type": "boolean",
"default": "false"
},
"speed": {
"type": "integer"
},
"destMetroId": {
"$ref": "#/definitions/mongoId"
},
"destCompany": {
"type": "string"
},
"addonIds": {
"type": "array",
"items": {
"$ref": "#/definitions/mongoId"
}
},
"scheduledTaskList": {
"type": "array",
"items": {
"type": "object",
"properties": {
"scheduledAt": {
"type": "string"
},
"options": {
"type": "object"
},
"action": {
"type": "string"
}
}
}
},
"paymentTransactionId": {
"type": "string"
},
"paymentType": {
"type": "string"
},
"duration": {
"type": "number"
},
"durationUnit": {
"type": "string"
},
"evergreen": {
"type": "boolean"
},
"classOfService": {
"type": "string",
"enum": [
"GOLD",
"SILVERPLUS",
"SILVER",
"BRONZE"
]
},
"srcVlanRequest": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"destVlanRequest": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"required": [
"type",
"name",
"portId",
"speed",
"destMetroId",
"destCompany"
],
"definitions": {
"mongoId": {
"type": "string",
"pattern": "^[a-f0-9]{24}$"
}
}
}
Headers
Content-Type: application/json
Body
{
"isReceiver": true,
"isCreator": false,
"id": "58afc0499430ab7f3666b990",
"type": "LAYER2",
"status": "ACTIVE",
"request": {
"status": "PENDING",
"destMetroId": "d466b388d3e9ee0a92177910",
"speed": 580,
"srcApproval": null,
"destApproval": "58afc0479430ab7f3666b971",
"read": false,
"updatedAt": "2017-02-24T05:10:44.942Z"
},
"statusChangedAt": "2017-02-24T05:10:33.628Z",
"activeChangedAt": null,
"srcRegionId": "236107000000000000000001",
"destRegionId": "236107000000000000000001",
"updatedAt": "2017-02-24T05:10:44.942Z",
"tag": null,
"createdAt": "2017-02-24T05:10:33.807Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"speed": {
"value": 500,
"name": "500 Mbps"
},
"subconnections": [],
"srcCompany": {
"createdAt": "2017-02-24T05:10:32.862Z",
"updatedAt": "2017-02-24T05:10:35.146Z",
"username": "company1",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company1",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0489430ab7f3666b982",
"online": false
},
"destCompany": {
"createdAt": "2017-02-24T05:10:31.511Z",
"updatedAt": "2017-02-24T05:10:35.204Z",
"username": "company2",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null,
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company2",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0479430ab7f3666b974",
"online": false
},
"metro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"destMetro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"srcAsnId": null,
"destAsnId": null,
"port": {
"id": "58afc0489430ab7f3666b97a",
"companyId": "58afc0479430ab7f3666b974",
"dcpCompanyId": null,
"portId": null,
"name": "Terrence",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "d466b388d3e9ee0a92177910",
"status": "ACTIVE",
"type": "PHYSICAL",
"partner": {
"type": "NONE",
"regionNames": [],
"connectionSpeeds": [],
"partnerPort": null,
"vlanId": null
},
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2017-02-24T05:10:32.667Z",
"updatedAt": "2017-02-24T05:10:43.249Z",
"createdAt": "2017-02-24T05:10:32.071Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"controller": null,
"untagged": false,
"qinQ": false,
"vlan": {
"id": null,
"service": null,
"customer": []
},
"name": "Jocelyn",
"cdrBillingType": "METRO",
"payg": true,
"billingType": ["PAYG"],
"maintenanceMode": false,
"srcVlanRequest": 1000,
"destVlanRequest": 2000,
"classOfService": "GOLD"
}
Create a Layer 2 connection requestPUT/api/v2/company/:username/connections/layer2
- companyName
string
(required) Example: AcmeThe username of the company creating the connection.
Approve a connection Request ¶
When both parties have approved the connection request, the connection will be created. Connections are automatically approved when a party updates the connection request.
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"isReceiver": true,
"isCreator": false,
"id": "58afc0499430ab7f3666b990",
"type": "LAYER2",
"status": "ACTIVE",
"request": {
"status": "PENDING",
"destMetroId": "d466b388d3e9ee0a92177910",
"speed": 580,
"srcApproval": null,
"destApproval": "58afc0479430ab7f3666b971",
"read": false,
"updatedAt": "2017-02-24T05:10:44.942Z"
},
"statusChangedAt": "2017-02-24T05:10:33.628Z",
"activeChangedAt": null,
"srcRegionId": "236107000000000000000001",
"destRegionId": "236107000000000000000001",
"updatedAt": "2017-02-24T05:10:44.942Z",
"tag": null,
"createdAt": "2017-02-24T05:10:33.807Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"speed": {
"value": 500,
"name": "500 Mbps"
},
"subconnections": [],
"srcCompany": {
"createdAt": "2017-02-24T05:10:32.862Z",
"updatedAt": "2017-02-24T05:10:35.146Z",
"username": "company1",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company1",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0489430ab7f3666b982",
"online": false
},
"destCompany": {
"createdAt": "2017-02-24T05:10:31.511Z",
"updatedAt": "2017-02-24T05:10:35.204Z",
"username": "company2",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null,
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company2",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0479430ab7f3666b974",
"online": false
},
"metro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"destMetro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"srcAsnId": null,
"destAsnId": null,
"port": {
"id": "58afc0489430ab7f3666b97a",
"companyId": "58afc0479430ab7f3666b974",
"dcpCompanyId": null,
"portId": null,
"name": "Terrence",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "d466b388d3e9ee0a92177910",
"status": "ACTIVE",
"type": "PHYSICAL",
"partner": {
"type": "NONE",
"regionNames": [],
"connectionSpeeds": [],
"partnerPort": null,
"vlanId": null
},
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2017-02-24T05:10:32.667Z",
"updatedAt": "2017-02-24T05:10:43.249Z",
"createdAt": "2017-02-24T05:10:32.071Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"controller": null,
"untagged": false,
"qinQ": false,
"vlan": {
"id": null,
"service": null,
"customer": []
},
"name": "Jocelyn",
"cdrBillingType": "METRO",
"payg": true,
"billingType": ["PAYG"],
"maintenanceMode": false,
"srcVlanRequest": 1000,
"destVlanRequest": 2000,
"classOfService": "GOLD"
}
Approve a connection requestPUT/api/v2/company/:companyName/connections/:connectionId/approve
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
- connectionId
string
(required) Example: 55783e39519d254d36f6126eThe connection id
Reject a connection Request ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"isReceiver": true,
"isCreator": false,
"id": "58afc0499430ab7f3666b990",
"type": "LAYER2",
"status": "ACTIVE",
"request": {
"status": "PENDING",
"destMetroId": "d466b388d3e9ee0a92177910",
"speed": 580,
"srcApproval": null,
"destApproval": "58afc0479430ab7f3666b971",
"read": false,
"updatedAt": "2017-02-24T05:10:44.942Z"
},
"statusChangedAt": "2017-02-24T05:10:33.628Z",
"activeChangedAt": null,
"srcRegionId": "236107000000000000000001",
"destRegionId": "236107000000000000000001",
"updatedAt": "2017-02-24T05:10:44.942Z",
"tag": null,
"createdAt": "2017-02-24T05:10:33.807Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"speed": {
"value": 500,
"name": "500 Mbps"
},
"subconnections": [],
"srcCompany": {
"createdAt": "2017-02-24T05:10:32.862Z",
"updatedAt": "2017-02-24T05:10:35.146Z",
"username": "company1",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company1",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0489430ab7f3666b982",
"online": false
},
"destCompany": {
"createdAt": "2017-02-24T05:10:31.511Z",
"updatedAt": "2017-02-24T05:10:35.204Z",
"username": "company2",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null,
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company2",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0479430ab7f3666b974",
"online": false
},
"metro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"destMetro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"srcAsnId": null,
"destAsnId": null,
"port": {
"id": "58afc0489430ab7f3666b97a",
"companyId": "58afc0479430ab7f3666b974",
"dcpCompanyId": null,
"portId": null,
"name": "Terrence",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "d466b388d3e9ee0a92177910",
"status": "ACTIVE",
"type": "PHYSICAL",
"partner": {
"type": "NONE",
"regionNames": [],
"connectionSpeeds": [],
"partnerPort": null,
"vlanId": null
},
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2017-02-24T05:10:32.667Z",
"updatedAt": "2017-02-24T05:10:43.249Z",
"createdAt": "2017-02-24T05:10:32.071Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"controller": null,
"untagged": false,
"qinQ": false,
"vlan": {
"id": null,
"service": null,
"customer": []
},
"name": "Jocelyn",
"cdrBillingType": "METRO",
"payg": true,
"billingType": ["PAYG"],
"maintenanceMode": false,
"srcVlanRequest": 1000,
"destVlanRequest": 2000,
"classOfService": "GOLD"
}
Reject a connection requestPUT/api/v2/company/:companyName/connections/:connectionId/reject
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
- connectionId
string
(required) Example: 55783e39519d254d36f6126eThe connection id
Network - Connection management ¶
Connections ¶
List all connections for this company
Disable a Connection ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"isReceiver": true,
"isCreator": false,
"id": "58afc0499430ab7f3666b990",
"type": "LAYER2",
"status": "ACTIVE",
"request": {
"status": "PENDING",
"destMetroId": "d466b388d3e9ee0a92177910",
"speed": 580,
"srcApproval": null,
"destApproval": "58afc0479430ab7f3666b971",
"read": false,
"updatedAt": "2017-02-24T05:10:44.942Z"
},
"statusChangedAt": "2017-02-24T05:10:33.628Z",
"activeChangedAt": null,
"srcRegionId": "236107000000000000000001",
"destRegionId": "236107000000000000000001",
"updatedAt": "2017-02-24T05:10:44.942Z",
"tag": null,
"createdAt": "2017-02-24T05:10:33.807Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"speed": {
"value": 500,
"name": "500 Mbps"
},
"subconnections": [],
"srcCompany": {
"createdAt": "2017-02-24T05:10:32.862Z",
"updatedAt": "2017-02-24T05:10:35.146Z",
"username": "company1",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company1",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0489430ab7f3666b982",
"online": false
},
"destCompany": {
"createdAt": "2017-02-24T05:10:31.511Z",
"updatedAt": "2017-02-24T05:10:35.204Z",
"username": "company2",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null,
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company2",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0479430ab7f3666b974",
"online": false
},
"metro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"destMetro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"srcAsnId": null,
"destAsnId": null,
"port": {
"id": "58afc0489430ab7f3666b97a",
"companyId": "58afc0479430ab7f3666b974",
"dcpCompanyId": null,
"portId": null,
"name": "Terrence",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "d466b388d3e9ee0a92177910",
"status": "ACTIVE",
"type": "PHYSICAL",
"partner": {
"type": "NONE",
"regionNames": [],
"connectionSpeeds": [],
"partnerPort": null,
"vlanId": null
},
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2017-02-24T05:10:32.667Z",
"updatedAt": "2017-02-24T05:10:43.249Z",
"createdAt": "2017-02-24T05:10:32.071Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"controller": null,
"untagged": false,
"qinQ": false,
"vlan": {
"id": null,
"service": null,
"customer": []
},
"name": "Jocelyn",
"cdrBillingType": "METRO",
"payg": true,
"billingType": ["PAYG"],
"maintenanceMode": false,
"srcVlanRequest": 1000,
"destVlanRequest": 2000,
"classOfService": "GOLD"
}
Disable a connectionPUT/api/company/:companyName/connections/:connectionId/disable
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
- connectionId
string
(required) Example: 55783e39519d254d36f6126eThe connection id
Enable a Connection ¶
When enabling a connection, the source and destination port must first be in the ACTIVE status.
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"isReceiver": true,
"isCreator": false,
"id": "58afc0499430ab7f3666b990",
"type": "LAYER2",
"status": "ACTIVE",
"request": {
"status": "PENDING",
"destMetroId": "d466b388d3e9ee0a92177910",
"speed": 580,
"srcApproval": null,
"destApproval": "58afc0479430ab7f3666b971",
"read": false,
"updatedAt": "2017-02-24T05:10:44.942Z"
},
"statusChangedAt": "2017-02-24T05:10:33.628Z",
"activeChangedAt": null,
"srcRegionId": "236107000000000000000001",
"destRegionId": "236107000000000000000001",
"updatedAt": "2017-02-24T05:10:44.942Z",
"tag": null,
"createdAt": "2017-02-24T05:10:33.807Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"speed": {
"value": 500,
"name": "500 Mbps"
},
"subconnections": [],
"srcCompany": {
"createdAt": "2017-02-24T05:10:32.862Z",
"updatedAt": "2017-02-24T05:10:35.146Z",
"username": "company1",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company1",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0489430ab7f3666b982",
"online": false
},
"destCompany": {
"createdAt": "2017-02-24T05:10:31.511Z",
"updatedAt": "2017-02-24T05:10:35.204Z",
"username": "company2",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null,
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company2",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0479430ab7f3666b974",
"online": false
},
"metro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"destMetro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"srcAsnId": null,
"destAsnId": null,
"port": {
"id": "58afc0489430ab7f3666b97a",
"companyId": "58afc0479430ab7f3666b974",
"dcpCompanyId": null,
"portId": null,
"name": "Terrence",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "d466b388d3e9ee0a92177910",
"status": "ACTIVE",
"type": "PHYSICAL",
"partner": {
"type": "NONE",
"regionNames": [],
"connectionSpeeds": [],
"partnerPort": null,
"vlanId": null
},
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2017-02-24T05:10:32.667Z",
"updatedAt": "2017-02-24T05:10:43.249Z",
"createdAt": "2017-02-24T05:10:32.071Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"controller": null,
"untagged": false,
"qinQ": false,
"vlan": {
"id": null,
"service": null,
"customer": []
},
"name": "Jocelyn",
"cdrBillingType": "METRO",
"payg": true,
"billingType": ["PAYG"],
"maintenanceMode": false,
"srcVlanRequest": 1000,
"destVlanRequest": 2000,
"classOfService": "GOLD"
}
Enable a connectionPUT/api/company/:companyName/connections/:connectionId/enable
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
- connectionId
string
(required) Example: 55783e39519d254d36f6126eThe connection id
Change Request ¶
When you need to make changes that affect the other end of the connection, you must make a change request so that both parties can approve the change.
The workflow of a change request is as follows:
-
Company A cretes a change request with a speed increase. Company A automatically approves this change. The
connection.request.status
will be set toPENDING
. -
Company B can accept this change as-is and the change will be made. If company B modifies the change request, Company B automatically approves this change and company A’s prior approval is removed.
-
The change request goes back and forth between companies until it is approved by both sides, or rejected outright by one of the parties.
Presently the following connection properties are supported:
- speed
Note: Speed decreases are allowed at any time. If a change request is made, the destination company can accept the change at a lower speed than the one specified.
Headers
Content-Type: application/json
Body
{
"speed": 250
}
Headers
Content-Type: application/json
Body
{
"isReceiver": true,
"isCreator": false,
"id": "58afc0499430ab7f3666b990",
"type": "LAYER2",
"status": "ACTIVE",
"request": {
"status": "PENDING",
"destMetroId": "d466b388d3e9ee0a92177910",
"speed": 580,
"srcApproval": null,
"destApproval": "58afc0479430ab7f3666b971",
"read": false,
"updatedAt": "2017-02-24T05:10:44.942Z"
},
"statusChangedAt": "2017-02-24T05:10:33.628Z",
"activeChangedAt": null,
"srcRegionId": "236107000000000000000001",
"destRegionId": "236107000000000000000001",
"updatedAt": "2017-02-24T05:10:44.942Z",
"tag": null,
"createdAt": "2017-02-24T05:10:33.807Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"speed": {
"value": 500,
"name": "500 Mbps"
},
"subconnections": [],
"srcCompany": {
"createdAt": "2017-02-24T05:10:32.862Z",
"updatedAt": "2017-02-24T05:10:35.146Z",
"username": "company1",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company1",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0489430ab7f3666b982",
"online": false
},
"destCompany": {
"createdAt": "2017-02-24T05:10:31.511Z",
"updatedAt": "2017-02-24T05:10:35.204Z",
"username": "company2",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null,
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company2",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0479430ab7f3666b974",
"online": false
},
"metro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"destMetro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"srcAsnId": null,
"destAsnId": null,
"port": {
"id": "58afc0489430ab7f3666b97a",
"companyId": "58afc0479430ab7f3666b974",
"dcpCompanyId": null,
"portId": null,
"name": "Terrence",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "d466b388d3e9ee0a92177910",
"status": "ACTIVE",
"type": "PHYSICAL",
"partner": {
"type": "NONE",
"regionNames": [],
"connectionSpeeds": [],
"partnerPort": null,
"vlanId": null
},
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2017-02-24T05:10:32.667Z",
"updatedAt": "2017-02-24T05:10:43.249Z",
"createdAt": "2017-02-24T05:10:32.071Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"controller": null,
"untagged": false,
"qinQ": false,
"vlan": {
"id": null,
"service": null,
"customer": []
},
"name": "Jocelyn",
"cdrBillingType": "METRO",
"payg": true,
"billingType": ["PAYG"],
"maintenanceMode": false,
"srcVlanRequest": 1000,
"destVlanRequest": 2000,
"classOfService": "GOLD"
}
Create or update a change requestPUT/api/company/:companyName/connections/:connectionId/change
Create a change request. This will send an alert to the other party to approve.
The change request must be within your port speed and CDR. When you create a change request, the speed is taken from your entitlement (including global CDR). This ensures you always have enough available when the other company accepts the connection.
Use this endpoint to reduce the speed of an existing change request. If the other company has approved the change and you reduce the speed, the change will be applied automatically.
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"isReceiver": true,
"isCreator": false,
"id": "58afc0499430ab7f3666b990",
"type": "LAYER2",
"status": "ACTIVE",
"request": {
"status": "PENDING",
"destMetroId": "d466b388d3e9ee0a92177910",
"speed": 580,
"srcApproval": null,
"destApproval": "58afc0479430ab7f3666b971",
"read": false,
"updatedAt": "2017-02-24T05:10:44.942Z"
},
"statusChangedAt": "2017-02-24T05:10:33.628Z",
"activeChangedAt": null,
"srcRegionId": "236107000000000000000001",
"destRegionId": "236107000000000000000001",
"updatedAt": "2017-02-24T05:10:44.942Z",
"tag": null,
"createdAt": "2017-02-24T05:10:33.807Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"speed": {
"value": 500,
"name": "500 Mbps"
},
"subconnections": [],
"srcCompany": {
"createdAt": "2017-02-24T05:10:32.862Z",
"updatedAt": "2017-02-24T05:10:35.146Z",
"username": "company1",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company1",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0489430ab7f3666b982",
"online": false
},
"destCompany": {
"createdAt": "2017-02-24T05:10:31.511Z",
"updatedAt": "2017-02-24T05:10:35.204Z",
"username": "company2",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null,
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company2",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0479430ab7f3666b974",
"online": false
},
"metro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"destMetro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"srcAsnId": null,
"destAsnId": null,
"port": {
"id": "58afc0489430ab7f3666b97a",
"companyId": "58afc0479430ab7f3666b974",
"dcpCompanyId": null,
"portId": null,
"name": "Terrence",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "d466b388d3e9ee0a92177910",
"status": "ACTIVE",
"type": "PHYSICAL",
"partner": {
"type": "NONE",
"regionNames": [],
"connectionSpeeds": [],
"partnerPort": null,
"vlanId": null
},
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2017-02-24T05:10:32.667Z",
"updatedAt": "2017-02-24T05:10:43.249Z",
"createdAt": "2017-02-24T05:10:32.071Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"controller": null,
"untagged": false,
"qinQ": false,
"vlan": {
"id": null,
"service": null,
"customer": []
},
"name": "Jocelyn",
"cdrBillingType": "METRO",
"payg": true,
"billingType": ["PAYG"],
"maintenanceMode": false,
"srcVlanRequest": 1000,
"destVlanRequest": 2000,
"classOfService": "GOLD"
}
Reject or cancel a change requestDELETE/api/company/:companyName/connections/:connectionId/change
Reject or cancel a change request.
After performing this action, the request.status will be set to either WITHDRAWN if this is a change you proposed, or REJECTED if this is a change the other party proposed.
An alert will be sent to the other party advising them of this change.
Change Request approve ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"isReceiver": true,
"isCreator": false,
"id": "58afc0499430ab7f3666b990",
"type": "LAYER2",
"status": "ACTIVE",
"request": {
"status": "PENDING",
"destMetroId": "d466b388d3e9ee0a92177910",
"speed": 580,
"srcApproval": null,
"destApproval": "58afc0479430ab7f3666b971",
"read": false,
"updatedAt": "2017-02-24T05:10:44.942Z"
},
"statusChangedAt": "2017-02-24T05:10:33.628Z",
"activeChangedAt": null,
"srcRegionId": "236107000000000000000001",
"destRegionId": "236107000000000000000001",
"updatedAt": "2017-02-24T05:10:44.942Z",
"tag": null,
"createdAt": "2017-02-24T05:10:33.807Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"speed": {
"value": 500,
"name": "500 Mbps"
},
"subconnections": [],
"srcCompany": {
"createdAt": "2017-02-24T05:10:32.862Z",
"updatedAt": "2017-02-24T05:10:35.146Z",
"username": "company1",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company1",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0489430ab7f3666b982",
"online": false
},
"destCompany": {
"createdAt": "2017-02-24T05:10:31.511Z",
"updatedAt": "2017-02-24T05:10:35.204Z",
"username": "company2",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null,
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company2",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0479430ab7f3666b974",
"online": false
},
"metro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"destMetro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"srcAsnId": null,
"destAsnId": null,
"port": {
"id": "58afc0489430ab7f3666b97a",
"companyId": "58afc0479430ab7f3666b974",
"dcpCompanyId": null,
"portId": null,
"name": "Terrence",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "d466b388d3e9ee0a92177910",
"status": "ACTIVE",
"type": "PHYSICAL",
"partner": {
"type": "NONE",
"regionNames": [],
"connectionSpeeds": [],
"partnerPort": null,
"vlanId": null
},
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2017-02-24T05:10:32.667Z",
"updatedAt": "2017-02-24T05:10:43.249Z",
"createdAt": "2017-02-24T05:10:32.071Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"controller": null,
"untagged": false,
"qinQ": false,
"vlan": {
"id": null,
"service": null,
"customer": []
},
"name": "Jocelyn",
"cdrBillingType": "METRO",
"payg": true,
"billingType": ["PAYG"],
"maintenanceMode": false,
"srcVlanRequest": 1000,
"destVlanRequest": 2000,
"classOfService": "GOLD"
}
Approve the current change requestPUT/api/company/:companyName/connections/:connectionId/change/approve
Approve a change request. If both parties have approved this change request, the change will be applied automatically.
If you wish to accept at a different speed, use the Create or update a change request endpoint.
Change Request mark as read ¶
Headers
Content-Type: application/json
Headers
Content-Type: application/json
Body
{
"isReceiver": true,
"isCreator": false,
"id": "58afc0499430ab7f3666b990",
"type": "LAYER2",
"status": "ACTIVE",
"request": {
"status": "PENDING",
"destMetroId": "d466b388d3e9ee0a92177910",
"speed": 580,
"srcApproval": null,
"destApproval": "58afc0479430ab7f3666b971",
"read": false,
"updatedAt": "2017-02-24T05:10:44.942Z"
},
"statusChangedAt": "2017-02-24T05:10:33.628Z",
"activeChangedAt": null,
"srcRegionId": "236107000000000000000001",
"destRegionId": "236107000000000000000001",
"updatedAt": "2017-02-24T05:10:44.942Z",
"tag": null,
"createdAt": "2017-02-24T05:10:33.807Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"speed": {
"value": 500,
"name": "500 Mbps"
},
"subconnections": [],
"srcCompany": {
"createdAt": "2017-02-24T05:10:32.862Z",
"updatedAt": "2017-02-24T05:10:35.146Z",
"username": "company1",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company1",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0489430ab7f3666b982",
"online": false
},
"destCompany": {
"createdAt": "2017-02-24T05:10:31.511Z",
"updatedAt": "2017-02-24T05:10:35.204Z",
"username": "company2",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"parentIds": [],
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"last": null,
"first": null,
"clientId": null,
"regionalInternetRegistry": [],
"dateFounded": null,
"companySize": null,
"businessType": null,
"industry": null,
"website": null,
"emailDomains": null,
},
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": true,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": ["236107000000000000000001"],
"layer3Metros": [],
"layer2Metros": ["d466b388d3e9ee0a92177910"],
"layer3": false,
"layer2": true
},
"displayOrder": -299,
"phone": null,
"groups": [],
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"name": "company2",
"isSupport": false,
"type": "COMPANY",
"companies": [],
"id": "58afc0479430ab7f3666b974",
"online": false
},
"metro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"destMetro": {
"_id": "d466b388d3e9ee0a92177910",
"country": "AU",
"createdAt": "2016-02-12T09:01:00.000Z",
"name": "Brisbane Metro",
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-000000000001",
"updatedAt": "2016-02-12T09:01:00.000Z",
"deletedAt": null,
"deleted": false,
"regionIds": ["236107000000000000000001"],
"ready": true,
"id": "d466b388d3e9ee0a92177910"
},
"srcAsnId": null,
"destAsnId": null,
"port": {
"id": "58afc0489430ab7f3666b97a",
"companyId": "58afc0479430ab7f3666b974",
"dcpCompanyId": null,
"portId": null,
"name": "Terrence",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "d466b388d3e9ee0a92177910",
"status": "ACTIVE",
"type": "PHYSICAL",
"partner": {
"type": "NONE",
"regionNames": [],
"connectionSpeeds": [],
"partnerPort": null,
"vlanId": null
},
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2017-02-24T05:10:32.667Z",
"updatedAt": "2017-02-24T05:10:43.249Z",
"createdAt": "2017-02-24T05:10:32.071Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"controller": null,
"untagged": false,
"qinQ": false,
"vlan": {
"id": null,
"service": null,
"customer": []
},
"name": "Jocelyn",
"cdrBillingType": "METRO",
"payg": true,
"billingType": ["PAYG"],
"maintenanceMode": false,
"srcVlanRequest": 1000,
"destVlanRequest": 2000,
"classOfService": "GOLD"
}
Mark the change request as readPUT/api/company/:companyName/connections/:connectionId/change/read
Mark a change request as read. This does not change the change request, and will not allow the other side to see that you have marked this as read.
This is a cosmetic change, and is only used to maintain state on the front-end.
Sync connection ¶
Headers
Content-Type: application/json
Sync connection with upstream providerPUT/api/company/:companyName/connections/:connectionId/sync
Sync the connection with the upstream provider. This is implemented for Azure ExpressRoute, and will fetch the latest information from the Azure API. Use this when you have changed the connection speed & details in Azure and need to sync them back to Console Connect.
Get connection history/log ¶
Return a basic log of the connection history, with the user who performed the action and the status of the connection after the action.
If the action was performed by the workflow engine, then the Console Connect support user will be returned as the user who performed the action.
Headers
Content-Type: application/json
Body
{
"results": [
{
"timestamp": "2016-07-17T23:14:36.853Z",
"connection": {
"id": "55783e39519d254d36f6126e",
"speed": {
"value": 200,
"name": "200 Mbps"
},
"status": "ACTIVE",
"name": "International link"
},
"user": {
"id": "58980a25a77b4d7bf459d100",
"name": "Stan",
"username": "stan",
"type": "PERSON",
"phone": null,
"popIds": [],
"groups": [],
"legalEntityId": null,
"location": null,
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"isSupport": false,
"online": false,
"optIntoMarketingEmail": false,
"isFollowing": false,
"isFollowee": false,
"__v": 0,
"stats": {
"members": 0,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"displayOrder": -299,
"system": {
"welcomeMessage": null
},
"deletedAt": null,
"deleted": false,
"verified": false,
"verifiedIdentity": false,
"tags": [],
"status": "ACTIVE",
"capabilities": {
"layer3Regions": [],
"layer2Regions": [],
"layer3Metros": [],
"layer2Metros": [],
"layer3": false,
"layer2": false
},
"companies": [],
"linkUserCompany": {}
}
}
]
}
Get connection history/log RequestGET/api/company/:companyName/connections/:connectionId/log
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
- connectionId
string
(required) Example: 55783e39519d254d36f6126eThe connection id
Connections by Port ¶
Headers
Content-Type: application/json
Body
{
"results": [
{
"isReceiver": true,
"isCreator": false,
"id": "579f33b548010f508c7a449c",
"type": "LAYER3",
"status": "ACTIVE",
"statusChangedAt": "2016-08-01T11:34:13.883Z",
"activeChangedAt": "2016-08-01T11:34:13.883Z",
"updatedAt": "2016-08-01T11:34:13.883Z",
"tag": 1,
"createdAt": "2016-08-01T11:34:13.258Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z",
"untagged": false,
"destUntagged": false,
"qinQ": false,
"speed": {
"value": 1000,
"name": "1000 Mbps"
},
"request": {
"status": "PENDING",
"destMetroId": "d466b388d3e9ee0a92177910",
"speed": 580,
"srcApproval": null,
"destApproval": "58afc0479430ab7f3666b971",
"read": false,
"updatedAt": "2017-02-24T05:10:44.942Z"
},
"srcAsnId": "123456",
"destAsnId": "654321",
"srcCompany": {
"id": "579f33b048010f508c7a4481",
"type": "COMPANY",
"isSupport": false,
"name": "company b",
"avatar": null,
"avatarId": null,
"background": null,
"headline": null,
"summary": null,
"location": null,
"username": "company b",
"social": null,
"groups": null,
"phone": null,
"isSynced": null,
"capabilities": {
"layer2": true,
"layer3": true
},
"status": "ACTIVE",
"tags": [],
"verified": false,
"stats": {
"posts": 0,
"events": 0,
"articles": 0,
"privatePosts": 0,
"privateEvents": 0,
"privateArticles": 0,
"following": 0,
"followers": 0,
"interconnections": 0,
"members": 1
},
"updatedAt": "2016-08-01T11:34:11.077Z",
"createdAt": "2016-08-01T11:34:08.851Z",
"deleted": false,
"deletedAt": null,
"companies": [],
"company": {
"website": null,
"emailDomains": [],
"industry": null,
"businessType": null,
"companySize": null,
"dateFounded": null,
"markets": {},
"regionalInternetRegistry": null,
"clientId": null,
"first": null,
"last": null,
"address": null,
"city": null,
"state": null,
"zip": null,
"addresses": [],
"phone": null,
"fax": null,
"email": null,
"country": null
},
"online": false
},
"destCompany": {
"id": "579f33b148010f508c7a4487",
"type": "COMPANY",
"isSupport": false,
"name": "company a",
"avatar": null,
"avatarId": null,
"background": null,
"headline": null,
"summary": null,
"location": null,
"username": "company a",
"social": null,
"groups": null,
"phone": null,
"isSynced": null,
"capabilities": {
"layer2": true,
"layer3": true
},
"status": "ACTIVE",
"tags": [],
"verified": false,
"stats": {
"posts": 0,
"events": 0,
"articles": 0,
"privatePosts": 0,
"privateEvents": 0,
"privateArticles": 0,
"following": 0,
"followers": 0,
"interconnections": 0,
"members": 1
},
"updatedAt": "2016-08-01T11:34:12.853Z",
"createdAt": "2016-08-01T11:34:09.227Z",
"deleted": false,
"deletedAt": null,
"companies": [],
"company": {
"website": null,
"emailDomains": [],
"industry": null,
"businessType": null,
"companySize": null,
"dateFounded": null,
"markets": {},
"regionalInternetRegistry": null,
"clientId": null,
"first": null,
"last": null,
"address": null,
"city": null,
"state": null,
"zip": null,
"addresses": [],
"phone": null,
"fax": null,
"email": null,
"country": null
},
"online": false
},
"metro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"code": null,
"logo": null,
"description": null,
"ready": true,
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-75aac87771a7",
"country": "USA",
"regionIds": [],
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
},
"destMetro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"code": null,
"logo": null,
"description": null,
"ready": true,
"serviceLayerId": "3a38ff9f-0ed4-415f-8a7e-75aac87771a7",
"country": "USA",
"regionIds": [],
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
},
"port": {
"id": "579f33b348010f508c7a4495",
"companyId": "579f33b148010f508c7a4487",
"portId": null,
"name": "Alexis",
"speed": 1000,
"locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
"dataCenterFacilityId": "5126c9f1111e15a24a066130",
"networkServiceProviderId": null,
"metroId": "1232413986c08c061dd8c45f",
"status": "ACTIVE",
"type": "PHYSICAL",
"partner": {
"type": "NONE",
"regionNames": [],
"connectionSpeeds": []
},
"ip": {
"ipv4": null,
"ipv6": null
},
"activeChangedAt": "2016-08-01T11:34:12.103Z",
"updatedAt": "2016-08-01T11:34:12.632Z",
"createdAt": "2016-08-01T11:34:11.678Z",
"deleted": false,
"deletedAt": "1970-01-01T00:00:00.000Z"
},
"controller": {
"id": "579f33b448010f508c7a4499",
"name": "company a - Zakary",
"type": "USER",
"metroId": "1232413986c08c061dd8c45f",
"status": "ACTIVE",
"vlan": 200,
"ip": {
"ipv4": "111.111.111.111",
"ipv6": "1111::1111:1111:1111:1111"
},
"portIds": [
"579f33b348010f508c7a4495"
],
"activeChangedAt": "2016-08-01T11:34:12.954Z",
"updatedAt": "2016-08-01T11:34:12.958Z",
"createdAt": "2016-08-01T11:34:12.629Z",
"deletedAt": null,
"deleted": false,
"asn": {
"asn": "54321",
"status": "VERIFIED",
"type": "SYSTEM",
"updatedAt": "2016-08-01T11:34:11.201Z",
"createdAt": "2016-08-01T11:34:11.201Z",
"deleted": false,
"deletedAt": null
},
"metro": {
"id": "1232413986c08c061dd8c45f",
"name": "SJC",
"code": null,
"logo": null,
"description": null,
"ready": true,
"country": "USA",
"regionIds": [],
"updatedAt": "2016-02-12T09:01:33.840Z",
"createdAt": "2016-02-12T09:01:33.840Z",
"deleted": false,
"deletedAt": null
}
},
"name": "newname",
"cdrBillingType": "METRO"
}
]
}
Get all connections for specified portGET/api/company/:companyName/ports/:portId/connections
- companyName
string
(required) Example: AcmeThe username of the company to check is following the other.
- portId
string
(required) Example: 55767b5652a693344a015744The port id
Wanted connection ¶
Get a list of connections you would like to make with other companies, or that other companies would like to make with you.
Headers
Content-Type: application/json
Body
{
"results": [
{
"$ref": "#/references/companies/58980a25a77b4d7bf459d200"
}
],
"references": {
"companies": {
"58980a25a77b4d7bf459d200": {
"id": "58980a25a77b4d7bf459d200",
"name": "Company 1",
"username": "company1",
"type": "COMPANY",
"summary": null,
"headline": null,
"background": null,
"avatarId": null,
"avatar": null,
"legalEntityId": null,
"location": null,
"isSupport": false,
"optIntoMarketingEmail": false,
"groups": [],
"phone": null,
"popIds": [],
"displayOrder": -299,
"createdAt": "2017-02-06T23:20:46.291Z",
"updatedAt": "2017-02-06T23:20:46.291Z",
"__v": 0,
"stats": {
"members": 1,
"interconnections": 0,
"followers": 0,
"following": 0,
"privateArticles": 0,
"privateEvents": 0,
"privatePosts": 0,
"articles": 0,
"events": 0,
"posts": 0
},
"company": {
"fax": null,
"phone": null,
"addresses": [],
"zip": null,
"state": null,
"city": null,
"address": null,
"businessRegistrationCertReference": null,
"businessRegistrationCertRejectedReason": null,
"businessRegistrationCertUploadedAt": null,
"businessRegistrationCertVerified": "UNVERIFIED",
"last": null,
"first": null,
"clientId": null,
"privacy": {
"community": {
"mode": "PUBLIC",
"whiteListIds": [],
"blackListIds": []
},
"network": {