Console Connect API

The Console Connect API follows the CRUD RESTful style.

Operation Verb
Create PUT
Read GET
Update POST
Destroy DELETE

Console API User Guide

This guide outlines procedures for making basic calls to the Console REST API. It focuses on two use cases: configuring network services, and retrieving billing information. 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 the appropriate values. Variables in URLs are prefixed with a “:”, e.g. “:companyName”.

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 following request.

More information on Authentication.

Configuring Network Services

Before configuring any network services in Console, you must create a port. This is done in two steps; ordering or requesting a port, and activating that port.

Order a Port

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

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

Invites

Invitations to Console. Authenticated users can create invites for users off-Console, and unauthenticated off-Console users can create invite requests to join the platform.

Note that companies can also invite users to the platform.

Request an Invite

Request an invitation to join Console. This is unauthenticated so customers can request an invite to join the platform.

Invite requests are moderated.

PUT https://api.consoleconnect.com/api/invite/request
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "firstName": "Example",
  "lastName": "User",
  "email": "user@example.com",
  "company": "ExampleCo"
}
Responses200
Headers
Content-Type: application/json
Body
{}

Request an Invite
PUT/api/invite/request


Invite a User to Console

An onboarded user sends an invite for another user to join Console. Does not invite them to the company specified. Does not require any specific user permissions. Invites are sent immediately via email.

PUT https://api.consoleconnect.com/api/invite/user
Requestsexample 1
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
      },
      "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"
    ]
  }
}
Responses200
Headers
Content-Type: application/json
Schema
{
  "title": "Empty put response",
  "additionalProperties": false
}

Invite a User to Console
PUT/api/invite/user


Send an Invite to a Data Center

Send an invite to join Console. This is authenticated and is designed to let Console users invite datacenters to join Console.

Invites are moderated by Console before being sent.

PUT https://api.consoleconnect.com/api/company/:username/invite/send
Requestsexample 1
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"
  ]
}
Responses200
Headers
Content-Type: application/json
Body
{}

Send an Invite
PUT/api/company/:username/invite/send

URI Parameters
HideShow
username
string (required) Example: exampleco

Company to send this invite from.


Validate and Read Invite Details

GET https://api.consoleconnect.com/api/invite/token/:invitationToken
Requestsexample 1
Headers
Content-Type: application/json
Responses200
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 Details
GET/api/invite/token/:invitationToken

URI Parameters
HideShow
invitationToken
string (required) Example: ca7a096c9e9d549fffdc2bc01623dc446ac2925040639d6c7dde64d437bd6005

The invitation token


Invite a Company without Contact Details

An onboarded user sends an invite for another company to join Console. Since there is no email address attached, nothing is sent but Console admins can view and chase down the lead.

PUT https://api.consoleconnect.com/api/invite/company
Requestsexample 1
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"
    ]
  }
}
Responses200
Headers
Content-Type: application/json
Schema
{
  "title": "Empty put response",
  "additionalProperties": false
}

Invite a Company without Contact Details
PUT/api/invite/company


User

User operations.

User Creation

PUT https://api.consoleconnect.com/api/user
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "email": "stan@example.com",
  "password": "Password1",
  "name": "stan",
  "optIntoMarketingEmail": "true",
  "invitationToken": "ca7a096c9e9d549fffdc2bc01623dc446ac2925040639d6c7dde64d437bd6005"
}
Responses200
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,
  "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 user
PUT/api/user


User

GET https://api.consoleconnect.com/api/user/:username
Requestsexample 1
Headers
Content-Type: application/json
Responses200
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,
  "tags": [],
  "status": "ACTIVE",
  "capabilities": {
    "layer3Regions": [],
    "layer2Regions": [],
    "layer3Metros": [],
    "layer2Metros": [],
    "layer3": false,
    "layer2": false
  },
  "companies": [],
  "linkUserCompany": {}
}

Get User
GET/api/user/:username

URI Parameters
HideShow
username
string (required) Example: stan

POST https://api.consoleconnect.com/api/user/:username
Requestsexample 1
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"
    }
  }
}
Responses200
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,
  "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 User
POST/api/user/:username

URI Parameters
HideShow
username
string (required) Example: stan

Avatar

GET https://api.consoleconnect.com/api/user/:username/avatar
Responses200
Headers
Content-Type: image/png
Body
‰PNG XXXXXXXXXXXXFZFZGEDHDSRGFEThERGEDFG

Get User's Avatar
GET/api/user/:username/avatar

URI Parameters
HideShow
username
string (required) Example: stan

The username of the target user.


Request Email Change

PUT https://api.consoleconnect.com/api/user/:username/email/update/request
Requestsexample 1
Headers
Content-Type: application/json
Body
{
    email: 'stanley@example.com'
}
Responses200
Headers
Content-Type: application/json
Body
{}

Request to change user's email address
PUT/api/user/:username/email/update/request

URI Parameters
HideShow
username
string (required) Example: stan

The username of the target user.


Confirm New Email

PUT https://api.consoleconnect.com/api/email/update/request/:token
Responses200
Headers
Content-Type: application/json
Body
{}

Confirm the new email address
PUT/api/email/update/request/:token

URI Parameters
HideShow
token
string (required) Example: 1234abcd

The token that is sent via email.


Daily Review AKA stats

GET https://api.consoleconnect.com/api/user/stats
Responses200
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 Review
GET/api/user/stats


User's Public Stats

Get public stats for a user, including followers, interconnections etc. Note: only works on PERSON and COMPANY users.

GET https://api.consoleconnect.com/api/user/:username/stats
Responses200
Headers
Content-Type: application/json
Body
{
  "posts": 2,
  "events": 1,
  "following": 2,
  "followers": 3,
  "interconnections": 2
}

Get a users public stats
GET/api/user/:username/stats

URI Parameters
HideShow
username
string (required) Example: stan

The username of the target user


Check Username is Valid and Available

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.

GET https://api.consoleconnect.com/api/check-username/:username
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "valid": false,
  "message": "That username is already taken."
}

Check Username is Valid and Available
GET/api/check-username/:username

URI Parameters
HideShow
username
string (required) Example: stan

The username to check.


Company

Request to join a company.

LinkUserCompany object shows the state of the request

  • 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

Create a company

PUT https://api.consoleconnect.com/api/company
Requestsexample 1
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"
  }
}
Responses200
This response has no content.

Create a company
PUT/api/company


Company memberships and roles

List users belonging to a company.

GET https://api.consoleconnect.com/:userType(user|company)/:companyName/memberships-and-roles?role=NETWORKCONTROL&page=1&count=20
Responses200
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,
      "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 memberships
GET/:userType(user|company)/:companyName/memberships-and-roles{?role,page,count}

URI Parameters
HideShow
companyName
string (required) Example: acmeinc

Username of the company to list memberships of

userType
string (required) Example: company

Type of user to list memberships of.

role
string (required) Example: NETWORKCONTROL

One or more roles by which to filter the list. Only allowed if the role is queryable.

page
string (required) Example: 1

The page number to get

count
string (required) Example: 20

The number of results per page to get


Manage user roles

DELETE https://api.consoleconnect.com/company/:username/memberships/:targetUsername/roles/:roleName
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json

Remove role from user
DELETE/company/:username/memberships/:targetUsername/roles/:roleName

URI Parameters
HideShow
companyName
string (required) Example: acmeinc

Username of the company to join

targetUsername
string (required) Example: meg

Username of the user to respond to

roleName
string (required) Example: ADMIN

Role to apply or remove from the user.


PUT https://api.consoleconnect.com/company/:username/memberships/:targetUsername/roles/:roleName
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json

Add role to user
PUT/company/:username/memberships/:targetUsername/roles/:roleName

URI Parameters
HideShow
companyName
string (required) Example: acmeinc

Username of the company to join

targetUsername
string (required) Example: meg

Username of the user to respond to

roleName
string (required) Example: ADMIN

Role to apply or remove from the user.


POST https://api.consoleconnect.com/company/:companyName/memberships/:targetUsername
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "state": ""
}
Responses200
Headers
Content-Type: application/json

Update user role state
POST/company/:companyName/memberships/:targetUsername

URI Parameters
HideShow
companyName
string (required) Example: acmeinc

Username of the company

targetUsername
string (required) Example: meg

Username of the user to modify


DELETE https://api.consoleconnect.com/company/:companyName/memberships/:targetUsername
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{}

Leave a Company

Logged in user leaves a company

DELETE https://api.consoleconnect.com/company/:companyName/memberships
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json

Leave a Company
DELETE/company/:companyName/memberships

URI Parameters
HideShow
companyName
string (required) Example: acmeinc

Username of the company to leave


Company - Invites

Invite a user to join a company

PUT https://api.consoleconnect.com/admin/membership-requests/:username/invite
Requestsexample 1
{
    "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"
  ]
}
Responses200
Headers
Content-Type: application/json
Body
{}

Invite a user to join a company
PUT/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 or has yet to join the platform.

Roles can be specified, and will be given to users when they join Console/accept the invite. For a list of roles, see the get roles endpoint.

URI Parameters
HideShow
username
string (required) Example: acmeinc

Username of the company to join


Request to Join a Company

PUT https://api.consoleconnect.com/api/membership-requests/:companyName
Requests200
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json

Request to Join a Company
PUT/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.

URI Parameters
HideShow
companyName
string (required) Example: acmeinc

Username of the company to perform this action against


GET https://api.consoleconnect.com/api/membership-requests/:companyName
Requests200
Headers
Content-Type: application/json
Responses200
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,
      "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 company
GET/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.

URI Parameters
HideShow
companyName
string (required) Example: acmeinc

Username of the company to perform this action against


Update an invite

POST https://api.consoleconnect.com/api/membership-requests/:username/invite/:inviteToCompanyId
Requests200
Headers
Content-Type: application/json
Schema
{
  "title": "Invite user to company",
  "type": "object",
  "properties": {
    "roles": {
      "description": "Roles",
      "example": "['USER', 'NETWORKVIEW']",
      "type": "array"
    }
  },
  "required": [
    "roles"
  ]
}
Responses200
Headers
Content-Type: application/json

Update an invite
POST/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.

URI Parameters
HideShow
inviteToCompanyId
string (required) 

ID retreived from the Request to Join a Company get endpoint.


List Requests to Join Companies

List the requests this user has made to join companies.

GET https://api.consoleconnect.com/api/membership-requests
Requests200
Headers
Content-Type: application/json
Responses200
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,
        "website": null,
        "emailDomains": [
          "example.org"
        ],
        "parentIds": []
      },
      "system": {
        "welcomeMessage": null
      },
      "deletedAt": null,
      "deleted": false,
      "verified": 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 Company
GET/api/membership-requests


Accept a request to join a Company

PUT https://api.consoleconnect.com/api/membership-requests/:companyName/accept
Requests200
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{}

Accept a request to join a Company
PUT/api/membership-requests/:companyName/accept


Decline a request to join a Company

Decline an invite from a company to join that company.

PUT https://api.consoleconnect.com/api/membership-requests/:companyName/deny
Requests200
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{}

Decline a request to join a Company
PUT/api/membership-requests/:companyName/deny


Cancel a request to join a Company

As a user, cancel your request to join the specified company

PUT https://api.consoleconnect.com/api/membership-requests/:companyName/cancel
Requests200
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{}

Decline a request to join a Company
PUT/api/membership-requests/:companyName/cancel


Company Responds to Request to Join Company

PUT https://api.consoleconnect.com/api/membership-requests/:companyName/:action(invite|accept|deny|cancel)/:targetUsername
Requests200
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{}

Make a Company Respond to Request to Join Company
PUT/api/membership-requests/:companyName/:action(invite|accept|deny|cancel)/:targetUsername

URI Parameters
HideShow
companyName
string (required) Example: acmeinc

Username of the company to join

action
string (required) Example: accept

Response type

targetUsername
string (required) Example: meg

Username of the user to respond to


Invitations/requests for user to join company

Invitations from company to users by ID

DELETE https://api.consoleconnect.com/api/membership-requests/:companyName/invites/:inviteId
Requests200
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{}

Delete a request to join a company
DELETE/api/membership-requests/:companyName/invites/:inviteId

URI Parameters
HideShow
companyName
string (required) Example: acmeinc
inviteId
string (required) 

ID of the invite


Company responds to invitations/requests for user to join company

PUT https://api.consoleconnect.com/api/membership-requests/:companyName/invites/:inviteId/:action(accept/deny/cancel)
Requests200
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{}

Company responds to a request to join a company
PUT/api/membership-requests/:companyName/invites/:inviteId/:action(accept/deny/cancel)

URI Parameters
HideShow
companyName
string (required) 

Username of the company to join

action
string (required) 

Response/action type

inviteId
string (required) 

ID of the invite


Company memberships

List users belonging to a company.

Auth

User login, logout and general authentication.

Forgot Password

PUT https://api.consoleconnect.com/api/auth/password/forgot/:email
Responses200
Headers
Content-Type: application/json
Body
{}

Forgot Password
PUT/api/auth/password/forgot/:email

URI Parameters
HideShow
email
string (required) Example: user@example.com

Email address of the account that forgot their password.


Reset Password

PUT https://api.consoleconnect.com/api/auth/password/reset/:emailResetToken
Responses200
Headers
Content-Type: application/json
Body
{}

Reset Password
PUT/api/auth/password/reset/:emailResetToken

URI Parameters
HideShow
emailResetToken
string (required) Example: 1234abcd

The token that is sent via email.


Auth

PUT https://api.consoleconnect.com/api/auth/token
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "email": "user@example.com",
  "password": "Password1"
}
Responses200
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,
  "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"
}

Authenticate the user
PUT/api/auth/token


GET https://api.consoleconnect.com/api/auth/token
Requestsexample 1
Headers
Content-Type: application/json
portal-token: 113407e6281579d4f7f4a664db00b15b92de7cd3ccf02b47aa6cfc187d27ca05;
Responses200
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,
  "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 user
GET/api/auth/token


DELETE https://api.consoleconnect.com/api/auth/token
Requestsexample 1
Headers
Content-Type: application/json
portal-token: 113407e6281579d4f7f4a664db00b15b92de7cd3ccf02b47aa6cfc187d27ca05;
Responses200
Headers
Content-Type: application/json
Body
{}

Logout User
DELETE/api/auth/token


Change Password

PUT https://api.consoleconnect.com/api/auth/password
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "oldPassword": "Password1",
  "newPassword": "Password2"
}
Responses200
Headers
Content-Type: application/json

Change Password
PUT/api/auth/password


User Socket.io Updates

User Online Updates

All user responses have a online boolean added on. This reflects weather or not they are connected to the server over socket.io on the /user namespace.

GET https://api.consoleconnect.com/user
Responses200
Headers
Content-Type: text/event-stream

Socket.io Updates
GET/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' ));
    });

});

Friends

Friend/follower actions.

Follow

PUT https://api.consoleconnect.com/api/user/:username/follow/:targetUsername
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{}

Follow User
PUT/api/user/:username/follow/:targetUsername

URI Parameters
HideShow
username
string (required) Example: user

The username of the user going to follow the other.

targetUsername
string (required) Example: fran

The username of the user being followed.


DELETE https://api.consoleconnect.com/api/user/:username/follow/:targetUsername
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{}

Unfollow User
DELETE/api/user/:username/follow/:targetUsername

URI Parameters
HideShow
username
string (required) Example: user

The username of the user going to follow the other.

targetUsername
string (required) Example: fran

The username of the user being followed.


Following

GET https://api.consoleconnect.com/api/user/:username/following?page=1&count=20
Responses200
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,
      "tags": [],
      "status": "ACTIVE",
      "capabilities": {
        "layer3Regions": [],
        "layer2Regions": [],
        "layer3Metros": [],
        "layer2Metros": [],
        "layer3": false,
        "layer2": false
      },
      "companies": [],
      "linkUserCompany": {}
    }
  ]
}

Users followed by a user
GET/api/user/:username/following{?page,count}

URI Parameters
HideShow
username
string (required) Example: user

The username of the target user.

page
string (required) Example: 1

The page number to get

count
string (required) Example: 20

The number of results per page to get


Followers

GET https://api.consoleconnect.com/api/user/:username/followers?page=1&count=20
Responses200
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,
      "tags": [],
      "status": "ACTIVE",
      "capabilities": {
        "layer3Regions": [],
        "layer2Regions": [],
        "layer3Metros": [],
        "layer2Metros": [],
        "layer3": false,
        "layer2": false
      },
      "companies": [],
      "linkUserCompany": {}
    }
  ]
}

Users following a user
GET/api/user/:username/followers{?page,count}

URI Parameters
HideShow
username
string (required) Example: user

The username of the target user.

page
string (required) Example: 1

The page number to get

count
string (required) Example: 20

The number of results per page to get


Is Following

GET https://api.consoleconnect.com/api/user/:username/following/:targetUsername
Responses200
Headers
Content-Type: application/json

Is a particular user following another user
GET/api/user/:username/following/:targetUsername

URI Parameters
HideShow
username
string (required) Example: user

The username of the user to check is following the other.

targetUsername
string (required) Example: fran

The username of the user possibly being followed.


Posts & Activity Stream

User posts and activity streams.

Post

PUT https://api.consoleconnect.com/api/user/:username/posts?
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "type": "event",
  "title": "Team lunch at Happy Boy #yum",
  "body": "Come along to the team lunch tomorrow.",
  "meta": "",
  "startTime": "2015-04-24T02:00:00.000Z",
  "endTime": "2015-04-24T03:00:00.000Z",
  "location": "36 Main St, Sample Town RI",
  "public": true,
  "tags": [
    "lunch"
  ]
}
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "57317ee77815fc8e7b4d6d80",
  "body": "I should post more photos of my cats.",
  "meta": "",
  "title": null,
  "startTime": null,
  "endTime": null,
  "location": null,
  "type": "post",
  "attachments": [
    {
      "id": "57317ee67815fc8e7b4d6d7d",
      "createdBy": null,
      "url": "https://placekitten.com/g/400/400",
      "previewUrl": "http://localhost:3010/api/uploads/preview?id=9876",
      "name": "400.gif",
      "contentType": "image/gif",
      "size": 413152,
      "configuration": null,
      "updatedAt": "2016-05-10T06:25:42.795Z",
      "createdAt": "2016-05-10T06:25:42.795Z",
      "deleted": false,
      "deletedAt": "1970-01-01T00:00:00.000Z",
      "tags": [
        "image"
      ]
    },
    {
      "id": "57317ee67815fc8e7b4d6d7e",
      "createdBy": null,
      "url": "https://placekitten.com/g/200/200",
      "previewUrl": "http://localhost:3010/api/uploads/preview?id=1234",
      "name": "200.gif",
      "contentType": "image/gif",
      "size": 492024,
      "configuration": {
        "sx": 1,
        "sy": 2,
        "sw": 3,
        "sh": 4
      },
      "updatedAt": "2016-05-10T06:25:42.799Z",
      "createdAt": "2016-05-10T06:25:42.799Z",
      "deleted": false,
      "deletedAt": "1970-01-01T00:00:00.000Z",
      "tags": []
    }
  ],
  "author": {
    "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,
    "tags": [],
    "status": "ACTIVE",
    "capabilities": {
      "layer3Regions": [],
      "layer2Regions": [],
      "layer3Metros": [],
      "layer2Metros": [],
      "layer3": false,
      "layer2": false
    },
    "companies": [],
    "linkUserCompany": {}
  },
  "createdBy": {
    "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,
    "tags": [],
    "status": "ACTIVE",
    "capabilities": {
      "layer3Regions": [],
      "layer2Regions": [],
      "layer3Metros": [],
      "layer2Metros": [],
      "layer3": false,
      "layer2": false
    },
    "companies": [],
    "linkUserCompany": {}
  },
  "public": true,
  "sharedWith": [],
  "tags": [],
  "moderatedAt": null,
  "moderatedBy": null,
  "commentCount": 0,
  "actions": {
    "saved": false,
    "attending": false,
    "notAttending": false,
    "unsubscribed": false,
    "reported": false,
    "shared": false,
    "invited": false
  },
  "actionsCount": {
    "saved": 0,
    "attending": 0,
    "notAttending": 0,
    "unsubscribed": 0,
    "shared": 0,
    "invited": 0
  },
  "updatedAt": "2016-05-10T06:25:42.999Z",
  "createdAt": "2016-05-10T06:25:42.999Z",
  "deleted": false,
  "deletedAt": null,
  "reminder": {}
}

Create a Post
PUT/api/user/:username/posts?


GET https://api.consoleconnect.com/api/user/:username/posts?1&10&post&fran_sample&#lunch&36 Main St, Sample Town RI&2015-04-24T02:00:00.000Z"&2015-04-24T03:00:00.000Z"
Responses200
Headers
Content-Type: application/json
Body
{
  "results": [
    {
      "id": "562723189932ccb03bca1b7e",
      "body": "Come along to the team lunch tomorrow.",
      "meta": "",
      "title": "Team lunch at Happy Boy #yum",
      "startTime": "2015-04-24T02:00:00.000Z",
      "endTime": "2015-04-24T03:00:00.000Z",
      "location": "36 Main St, Sample Town RI",
      "type": "event",
      "author": {
        "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,
        "tags": [],
        "status": "ACTIVE",
        "capabilities": {
          "layer3Regions": [],
          "layer2Regions": [],
          "layer3Metros": [],
          "layer2Metros": [],
          "layer3": false,
          "layer2": false
        },
        "companies": [],
        "linkUserCompany": {}
      },
      "createdBy": {
        "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,
        "tags": [],
        "status": "ACTIVE",
        "capabilities": {
          "layer3Regions": [],
          "layer2Regions": [],
          "layer3Metros": [],
          "layer2Metros": [],
          "layer3": false,
          "layer2": false
        },
        "companies": [],
        "linkUserCompany": {}
      },
      "public": true,
      "sharedWith": [],
      "tags": [
        "lunch",
        "yum"
      ],
      "commentCount": 0,
      "actions": {
        "saved": false,
        "attending": false,
        "unsubscribed": false,
        "reported": 0,
        "shared": 0
      },
      "actionsCount": {
        "saved": 0,
        "attending": 0,
        "unsubscribed": 0,
        "reported": 0,
        "shared": 0
      },
      "updatedAt": "2015-10-21T05:31:04.515Z",
      "createdAt": "2015-10-21T05:31:04.515Z",
      "deleted": false,
      "deletedAt": "1970-01-01T00:00:00.000Z",
      "reminder": {}
    }
  ]
}

Get a User's Posts
GET/api/user/:username/posts?{page,count,type,author,tag,location,startTime,endTime}

URI Parameters
HideShow
username
string (required) Example: stan

The username of the target user.

page
string (required) Example: 1

The page number of the results you want

count
string (required) Example: 10

The limit of posts per page

type
string (required) Example: post

The type of post (post or event).

author
string (required) Example: fran_sample

Filter posts to a specific author

tag
string (required) Example: #lunch

Filter posts with specific tags. You can pass multiple tags. (eg: ?tag=#lunch&tag=#yummy)

location
string (required) Example: 36 Main St, Sample Town RI

Filter posts to a specific location

startTime
string (required) Example: 2015-04-24T02:00:00.000Z"

Filter posts to a specific start time

endTime
string (required) Example: 2015-04-24T03:00:00.000Z"

Filter the posts to a specific end date


Post By Id

GET https://api.consoleconnect.com/api/user/:username/posts/:postId
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "57317ee77815fc8e7b4d6d80",
  "body": "I should post more photos of my cats.",
  "meta": "",
  "title": null,
  "startTime": null,
  "endTime": null,
  "location": null,
  "type": "post",
  "attachments": [
    {
      "id": "57317ee67815fc8e7b4d6d7d",
      "createdBy": null,
      "url": "https://placekitten.com/g/400/400",
      "previewUrl": "http://localhost:3010/api/uploads/preview?id=9876",
      "name": "400.gif",
      "contentType": "image/gif",
      "size": 413152,
      "configuration": null,
      "updatedAt": "2016-05-10T06:25:42.795Z",
      "createdAt": "2016-05-10T06:25:42.795Z",
      "deleted": false,
      "deletedAt": "1970-01-01T00:00:00.000Z",
      "tags": [
        "image"
      ]
    },
    {
      "id": "57317ee67815fc8e7b4d6d7e",
      "createdBy": null,
      "url": "https://placekitten.com/g/200/200",
      "previewUrl": "http://localhost:3010/api/uploads/preview?id=1234",
      "name": "200.gif",
      "contentType": "image/gif",
      "size": 492024,
      "configuration": {
        "sx": 1,
        "sy": 2,
        "sw": 3,
        "sh": 4
      },
      "updatedAt": "2016-05-10T06:25:42.799Z",
      "createdAt": "2016-05-10T06:25:42.799Z",
      "deleted": false,
      "deletedAt": "1970-01-01T00:00:00.000Z",
      "tags": []
    }
  ],
  "author": {
    "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,
    "tags": [],
    "status": "ACTIVE",
    "capabilities": {
      "layer3Regions": [],
      "layer2Regions": [],
      "layer3Metros": [],
      "layer2Metros": [],
      "layer3": false,
      "layer2": false
    },
    "companies": [],
    "linkUserCompany": {}
  },
  "createdBy": {
    "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,
    "tags": [],
    "status": "ACTIVE",
    "capabilities": {
      "layer3Regions": [],
      "layer2Regions": [],
      "layer3Metros": [],
      "layer2Metros": [],
      "layer3": false,
      "layer2": false
    },
    "companies": [],
    "linkUserCompany": {}
  },
  "public": true,
  "sharedWith": [],
  "tags": [],
  "moderatedAt": null,
  "moderatedBy": null,
  "commentCount": 0,
  "actions": {
    "saved": false,
    "attending": false,
    "notAttending": false,
    "unsubscribed": false,
    "reported": false,
    "shared": false,
    "invited": false
  },
  "actionsCount": {
    "saved": 0,
    "attending": 0,
    "notAttending": 0,
    "unsubscribed": 0,
    "shared": 0,
    "invited": 0
  },
  "updatedAt": "2016-05-10T06:25:42.999Z",
  "createdAt": "2016-05-10T06:25:42.999Z",
  "deleted": false,
  "deletedAt": null,
  "reminder": {}
}

Read Post By ID
GET/api/user/:username/posts/:postId

When a post has been moderated it will include an inappropriate: true flag, and the values will be replaced with placeholder text.

URI Parameters
HideShow
username
string (required) Example: stan

The username of the target user.

postId
string (required) Example: 55a5b43e67c4f9c11c9b3597

The id of the event


POST https://api.consoleconnect.com/api/user/:username/posts/:postId
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "type": "event",
  "title": "Team lunch at Happy Boy #yum",
  "body": "Come along to the team lunch tomorrow.",
  "meta": "",
  "startTime": "2015-04-24T02:00:00.000Z",
  "endTime": "2015-04-24T03:00:00.000Z",
  "location": "36 Main St, Sample Town RI",
  "tags": [
    "lunch"
  ]
}
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "57317ee77815fc8e7b4d6d80",
  "body": "I should post more photos of my cats.",
  "meta": "",
  "title": null,
  "startTime": null,
  "endTime": null,
  "location": null,
  "type": "post",
  "attachments": [
    {
      "id": "57317ee67815fc8e7b4d6d7d",
      "createdBy": null,
      "url": "https://placekitten.com/g/400/400",
      "previewUrl": "http://localhost:3010/api/uploads/preview?id=9876",
      "name": "400.gif",
      "contentType": "image/gif",
      "size": 413152,
      "configuration": null,
      "updatedAt": "2016-05-10T06:25:42.795Z",
      "createdAt": "2016-05-10T06:25:42.795Z",
      "deleted": false,
      "deletedAt": "1970-01-01T00:00:00.000Z",
      "tags": [
        "image"
      ]
    },
    {
      "id": "57317ee67815fc8e7b4d6d7e",
      "createdBy": null,
      "url": "https://placekitten.com/g/200/200",
      "previewUrl": "http://localhost:3010/api/uploads/preview?id=1234",
      "name": "200.gif",
      "contentType": "image/gif",
      "size": 492024,
      "configuration": {
        "sx": 1,
        "sy": 2,
        "sw": 3,
        "sh": 4
      },
      "updatedAt": "2016-05-10T06:25:42.799Z",
      "createdAt": "2016-05-10T06:25:42.799Z",
      "deleted": false,
      "deletedAt": "1970-01-01T00:00:00.000Z",
      "tags": []
    }
  ],
  "author": {
    "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,
    "tags": [],
    "status": "ACTIVE",
    "capabilities": {
      "layer3Regions": [],
      "layer2Regions": [],
      "layer3Metros": [],
      "layer2Metros": [],
      "layer3": false,
      "layer2": false
    },
    "companies": [],
    "linkUserCompany": {}
  },
  "createdBy": {
    "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,
    "tags": [],
    "status": "ACTIVE",
    "capabilities": {
      "layer3Regions": [],
      "layer2Regions": [],
      "layer3Metros": [],
      "layer2Metros": [],
      "layer3": false,
      "layer2": false
    },
    "companies": [],
    "linkUserCompany": {}
  },
  "public": true,
  "sharedWith": [],
  "tags": [],
  "moderatedAt": null,
  "moderatedBy": null,
  "commentCount": 0,
  "actions": {
    "saved": false,
    "attending": false,
    "notAttending": false,
    "unsubscribed": false,
    "reported": false,
    "shared": false,
    "invited": false
  },
  "actionsCount": {
    "saved": 0,
    "attending": 0,
    "notAttending": 0,
    "unsubscribed": 0,
    "shared": 0,
    "invited": 0
  },
  "updatedAt": "2016-05-10T06:25:42.999Z",
  "createdAt": "2016-05-10T06:25:42.999Z",
  "deleted": false,
  "deletedAt": null,
  "reminder": {}
}

Update a post
POST/api/user/:username/posts/:postId

URI Parameters
HideShow
username
string (required) Example: stan

The username of the target user.

postId
string (required) Example: 55a5b43e67c4f9c11c9b3597

The id of the event


DELETE https://api.consoleconnect.com/api/user/:username/posts/:postId
Responses200
Headers
Content-Type: application/json
Body
{}

Delete a Post
DELETE/api/user/:username/posts/:postId

URI Parameters
HideShow
username
string (required) Example: stan

The username of the target user.

postId
string (required) Example: 55a5b43e67c4f9c11c9b3597

The id of the event


Download Post ICS

GET https://api.consoleconnect.com/api/user/:username/posts/:postId/:format(ics)
Responses200
Headers
Content-Type: text/calendar

Download Post ICS
GET/api/user/:username/posts/:postId/:format(ics)

URI Parameters
HideShow
username
string (required) Example: stan

The username of the target user.

postId
string (required) Example: 55a5b43e67c4f9c11c9b3597

The id of the event

format
string (required) Example: ics

If specified, the format to download the calendar in.


Activity Stream

GET https://api.consoleconnect.com/api/user/:username/stream?page=2&count=10&type=post&author=fran_sample&tag=#lunch&location=36 Main St, Sample Town RI&startTime=2015-04-24T02:00:00.000Z"&endTime=2015-04-24T03:00:00.000Z"&actions=attending
Responses200
Headers
Content-Type: application/json
Body
{
  "results": [
    {
      "id": "562723189932ccb03bca1b7e",
      "body": "Come along to the team lunch tomorrow.",
      "meta": "",
      "title": "Team lunch at Happy Boy #yum",
      "startTime": "2015-04-24T02:00:00.000Z",
      "endTime": "2015-04-24T03:00:00.000Z",
      "location": "36 Main St, Sample Town RI",
      "type": "event",
      "author": {
        "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,
        "tags": [],
        "status": "ACTIVE",
        "capabilities": {
          "layer3Regions": [],
          "layer2Regions": [],
          "layer3Metros": [],
          "layer2Metros": [],
          "layer3": false,
          "layer2": false
        },
        "companies": [],
        "linkUserCompany": {}
      },
      "createdBy": {
        "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,
        "tags": [],
        "status": "ACTIVE",
        "capabilities": {
          "layer3Regions": [],
          "layer2Regions": [],
          "layer3Metros": [],
          "layer2Metros": [],
          "layer3": false,
          "layer2": false
        },
        "companies": [],
        "linkUserCompany": {}
      },
      "public": true,
      "sharedWith": [],
      "tags": [
        "lunch",
        "yum"
      ],
      "commentCount": 0,
      "actions": {
        "saved": false,
        "attending": false,
        "unsubscribed": false,
        "reported": 0,
        "shared": 0
      },
      "actionsCount": {
        "saved": 0,
        "attending": 0,
        "unsubscribed": 0,
        "reported": 0,
        "shared": 0
      },
      "updatedAt": "2015-10-21T05:31:04.515Z",
      "createdAt": "2015-10-21T05:31:04.515Z",
      "deleted": false,
      "deletedAt": "1970-01-01T00:00:00.000Z",
      "reminder": {}
    }
  ]
}

Get a User's Stream
GET/api/user/:username/stream{?page,count,type,author,tag,location,startTime,endTime,actions}

URI Parameters
HideShow
username
string (required) Example: stan

The username of the target user.

page
string (required) Example: 2

The page number of the results you want

count
string (required) Example: 10

The limit of posts per page

type
string (required) Example: post

The type of post (post or event).

author
string (required) Example: fran_sample

Filter posts to a specific autho

tag
string (required) Example: #lunch

Filter posts with specific tags. You can pass multiple tags. (eg: ?tag=#lunch&tag=#yummy)

location
string (required) Example: 36 Main St, Sample Town RI

Filter posts to a specific location

startTime
string (required) Example: 2015-04-24T02:00:00.000Z"

Filter posts to a specific start time

endTime
string (required) Example: 2015-04-24T03:00:00.000Z"

Filter the posts to a specific end date

actions
string (required) Example: attending

Filter posts by action. Specify more than one param to include multiple.


Commenting

PUT https://api.consoleconnect.com/api/user/:username/posts/:postId/comments?page=1&count=10
Requests200
Headers
Content-Type: application/json
Body
{
  "body": "I like ducks"
}
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "55a840ce2834129611fbca17",
  "body": "I like ducks",
  "meta": "",
  "postId": "5540a8db0de8321c84b92a96",
  "author": {
    "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,
    "tags": [],
    "status": "ACTIVE",
    "capabilities": {
      "layer3Regions": [],
      "layer2Regions": [],
      "layer3Metros": [],
      "layer2Metros": [],
      "layer3": false,
      "layer2": false
    },
    "companies": [],
    "linkUserCompany": {}
  },
  "createdBy": {
    "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,
    "tags": [],
    "status": "ACTIVE",
    "capabilities": {
      "layer3Regions": [],
      "layer2Regions": [],
      "layer3Metros": [],
      "layer2Metros": [],
      "layer3": false,
      "layer2": false
    },
    "companies": [],
    "linkUserCompany": {}
  },
  "updatedAt": "2015-07-16T23:39:58.816Z",
  "createdAt": "2015-07-16T23:39:58.816Z",
  "commentCount": 1,
  "actions": {
    "saved": false,
    "attending": false,
    "unsubscribed": false,
    "reported": false,
    "shared": false
  },
  "actionsCount": {
    "saved": 0,
    "attending": 0,
    "unsubscribed": 0,
    "reported": 0,
    "shared": 0
  }
}

Make a comment
PUT/api/user/:username/posts/:postId/comments{?page,count}

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to comment as (eg, as a company)

postId
string (required) Example: 5540a8db0de8321c84b92a96

PostId to comment on.

page
string (required) Example: 1

The page number of the results you want

count
string (required) Example: 10

The limit of posts per page


GET https://api.consoleconnect.com/api/user/:username/posts/:postId/comments?page=1&count=10
Responses200
Headers
Content-Type: application/json
Body
{
  "results": [
    {
      "id": "55a840ce2834129611fbca17",
      "body": "I like ducks",
      "meta": "",
      "postId": "5540a8db0de8321c84b92a96",
      "author": {
        "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,
        "tags": [],
        "status": "ACTIVE",
        "capabilities": {
          "layer3Regions": [],
          "layer2Regions": [],
          "layer3Metros": [],
          "layer2Metros": [],
          "layer3": false,
          "layer2": false
        },
        "companies": [],
        "linkUserCompany": {}
      },
      "createdBy": {
        "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,
        "tags": [],
        "status": "ACTIVE",
        "capabilities": {
          "layer3Regions": [],
          "layer2Regions": [],
          "layer3Metros": [],
          "layer2Metros": [],
          "layer3": false,
          "layer2": false
        },
        "companies": [],
        "linkUserCompany": {}
      },
      "updatedAt": "2015-07-16T23:42:05.245Z",
      "createdAt": "2015-07-16T23:42:05.245Z"
    }
  ],
  "commentCount": 1,
  "actions": {
    "saved": false,
    "attending": false,
    "unsubscribed": false,
    "reported": false,
    "shared": false
  },
  "actionsCount": {
    "saved": 0,
    "attending": 0,
    "unsubscribed": 0,
    "reported": 0,
    "shared": 0
  }
}

Read comments
GET/api/user/:username/posts/:postId/comments{?page,count}

When a comment has been moderated it will include an inappropriate: true flag, and the values will be replaced with placeholder text.

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to comment as (eg, as a company)

postId
string (required) Example: 5540a8db0de8321c84b92a96

PostId to comment on.

page
string (required) Example: 1

The page number of the results you want

count
string (required) Example: 10

The limit of posts per page


Comment Operations

DELETE https://api.consoleconnect.com/api/user/:username/posts/:postId/comments/:commentId
Responses200
Headers
Content-Type: application/json
Body
{
  "commentCount": 1
}

Delete a comment
DELETE/api/user/:username/posts/:postId/comments/:commentId

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to comment as (eg, as a company)

postId
string (required) Example: 5540a8db0de8321c84b92a96

PostId to comment on.

commentId
string (required) Example: 55a840ce2834129611fbca17

the commentId to operate on.


Comment actions

Comments support a subset of actions that are available on posts. At present the only action is reported which will report the post as inappropriate.

This endpoint returns the post to which the comment is attached. See Post Delete or Read By Id.

PUT https://api.consoleconnect.com/api/user/:username/posts/:postId/comments/:commentId/action/:action(reported)
Responses200
Headers
Content-Type: application/json

Report as inappropriate
PUT/api/user/:username/posts/:postId/comments/:commentId/action/:action(reported)

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to comment as (eg, as a company)

postId
string (required) Example: 5540a8db0de8321c84b92a96

PostId to comment on.

commentId
string (required) Example: 55a840ce2834129611fbca17

the commentId to operate on.

action
string (required) Example: reported

the action to perform on the comment.


DELETE https://api.consoleconnect.com/api/user/:username/posts/:postId/comments/:commentId/action/:action(reported)
Responses200
Headers
Content-Type: application/json

Report as inappropriate
DELETE/api/user/:username/posts/:postId/comments/:commentId/action/:action(reported)

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to comment as (eg, as a company)

postId
string (required) Example: 5540a8db0de8321c84b92a96

PostId to comment on.

commentId
string (required) Example: 55a840ce2834129611fbca17

the commentId to operate on.

action
string (required) Example: reported

the action to perform on the comment.


Save, like, unsubscribe or report a post

  • Action counts are shared between users but a user’s action state is only available to themselves.

  • If a post is unsubscribed you won’t see that post in the users activity stream anymore but you will still see it in the author’s posts.

  • The “reported” count is not available via the API.

PUT https://api.consoleconnect.com/api/user/:username/posts/:postId/action/:action(saved|liked|unsubscribed|reported)
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "55ac82021531a2e2d7fbecf7",
  "body": "I should post more photos of my cats.",
  "meta": "",
  "title": null,
  "startTime": "1970-01-01T00:00:00.000Z",
  "endTime": "1970-01-01T00:00:00.000Z",
  "location": null,
  "type": "post",
  "attachments": [
    {
      "url": "http://25.media.tumblr.com/tumblr_lvj7yiEMUO1qzpwi0o1_400.gif",
      "tags": [
        "image"
      ],
      "uploadId": 9876,
      "previewUrl": "http://localhost:3010/api/uploads/preview?id=9876",
      "contentType": "image/gif",
      "size": 413152,
      "name": "tumblr_lvj7yiEMUO1qzpwi0o1_400.gif"
    },
    {
      "url": "http://27.media.tumblr.com/tumblr_lav5tlFpcf1qzr2kio1_500.gif",
      "tags": [],
      "uploadId": 1234,
      "previewUrl": "http://localhost:3010/api/uploads/preview?id=1234",
      "contentType": "image/gif",
      "size": 492024,
      "name": "tumblr_lav5tlFpcf1qzr2kio1_500.gif"
    }
  ],
  "author": {
    "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,
    "tags": [],
    "status": "ACTIVE",
    "capabilities": {
      "layer3Regions": [],
      "layer2Regions": [],
      "layer3Metros": [],
      "layer2Metros": [],
      "layer3": false,
      "layer2": false
    },
    "companies": [],
    "linkUserCompany": {}
  },
  "createdBy": {
    "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,
    "tags": [],
    "status": "ACTIVE",
    "capabilities": {
      "layer3Regions": [],
      "layer2Regions": [],
      "layer3Metros": [],
      "layer2Metros": [],
      "layer3": false,
      "layer2": false
    },
    "companies": [],
    "linkUserCompany": {}
  },
  "public": true,
  "sharedWith": null,
  "commentCount": 0,
  "actions": {
    "saved": true,
    "liked": true,
    "attending": false,
    "unsubscribed": false,
    "reported": false,
    "shared": false
  },
  "actionsCount": {
    "saved": 1,
    "liked": 1,
    "attending": 0,
    "unsubscribed": 0,
    "reported": 0,
    "shared": 0
  },
  "updatedAt": "2015-07-20T05:07:14.673Z",
  "createdAt": "2015-07-20T05:07:14.673Z"
}

Save a post
PUT/api/user/:username/posts/:postId/action/:action(saved|liked|unsubscribed|reported)

URI Parameters
HideShow
username
string (required) Example: stan

The username of the target user.

postId
string (required) Example: 5540a8db0de8321c84b92a96

PostId to perform an action on

action
string (required) Example: saved

the action to perform on the post.


DELETE https://api.consoleconnect.com/api/user/:username/posts/:postId/action/:action(saved|liked|unsubscribed|reported)
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "55ac82021531a2e2d7fbecf7",
  "body": "I should post more photos of my cats.",
  "meta": "",
  "title": null,
  "startTime": "1970-01-01T00:00:00.000Z",
  "endTime": "1970-01-01T00:00:00.000Z",
  "location": null,
  "type": "post",
  "attachments": [
    {
      "url": "http://25.media.tumblr.com/tumblr_lvj7yiEMUO1qzpwi0o1_400.gif",
      "tags": [
        "image"
      ],
      "uploadId": 9876,
      "previewUrl": "http://localhost:3010/api/uploads/preview?id=9876",
      "contentType": "image/gif",
      "size": 413152,
      "name": "tumblr_lvj7yiEMUO1qzpwi0o1_400.gif"
    },
    {
      "url": "http://27.media.tumblr.com/tumblr_lav5tlFpcf1qzr2kio1_500.gif",
      "tags": [],
      "uploadId": 1234,
      "previewUrl": "http://localhost:3010/api/uploads/preview?id=1234",
      "contentType": "image/gif",
      "size": 492024,
      "name": "tumblr_lav5tlFpcf1qzr2kio1_500.gif"
    }
  ],
  "author": {
    "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,
    "tags": [],
    "status": "ACTIVE",
    "capabilities": {
      "layer3Regions": [],
      "layer2Regions": [],
      "layer3Metros": [],
      "layer2Metros": [],
      "layer3": false,
      "layer2": false
    },
    "companies": [],
    "linkUserCompany": {}
  },
  "createdBy": {
    "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,
    "tags": [],
    "status": "ACTIVE",
    "capabilities": {
      "layer3Regions": [],
      "layer2Regions": [],
      "layer3Metros": [],
      "layer2Metros": [],
      "layer3": false,
      "layer2": false
    },
    "companies": [],
    "linkUserCompany": {}
  },
  "public": true,
  "sharedWith": null,
  "commentCount": 0,
  "actions": {
    "saved": false,
    "attending": false,
    "unsubscribed": false,
    "shared": false
  },
  "actionsCount": {
    "saved": 0,
    "attending": 0,
    "unsubscribed": 0,
    "reported": 0,
    "shared": 0
  },
  "updatedAt": "2015-07-20T05:07:14.673Z",
  "createdAt": "2015-07-20T05:07:14.673Z"
}

Unsave a post
DELETE/api/user/:username/posts/:postId/action/:action(saved|liked|unsubscribed|reported)

URI Parameters
HideShow
username
string (required) Example: stan

The username of the target user.

postId
string (required) Example: 5540a8db0de8321c84b92a96

PostId to perform an action on

action
string (required) Example: saved

the action to perform on the post.


Event attendance

PUT https://api.consoleconnect.com/:userType(user|company)/:username/events/:postId/action/attending
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "564aa9485526493121eed8c5",
  "body": "Come along to the team lunch tomorrow.",
  "meta": "",
  "title": "Team lunch at Happy Boy",
  "startTime": "2015-04-24T02:00:00.000Z",
  "endTime": "2015-04-24T03:00:00.000Z",
  "location": "36 Main St, Sample Town RI",
  "type": "event",
  "attachments": null,
  "author": {
    "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,
    "tags": [],
    "status": "ACTIVE",
    "capabilities": {
      "layer3Regions": [],
      "layer2Regions": [],
      "layer3Metros": [],
      "layer2Metros": [],
      "layer3": false,
      "layer2": false
    },
    "companies": [],
    "linkUserCompany": {}
  },
  "createdBy": {
    "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,
    "tags": [],
    "status": "ACTIVE",
    "capabilities": {
      "layer3Regions": [],
      "layer2Regions": [],
      "layer3Metros": [],
      "layer2Metros": [],
      "layer3": false,
      "layer2": false
    },
    "companies": [],
    "linkUserCompany": {}
  },
  "public": true,
  "sharedWith": [],
  "tags": [],
  "commentCount": 0,
  "actions": {
    "saved": false,
    "attending": false,
    "notattending": false,
    "unsubscribed": false,
    "reported": false,
    "shared": false
  },
  "actionsCount": {
    "saved": 0,
    "attending": 0,
    "notattending": 0,
    "unsubscribed": 0,
    "shared": 0
  },
  "updatedAt": "2015-11-17T04:12:56.706Z",
  "createdAt": "2015-11-17T04:12:56.706Z",
  "deleted": false,
  "deletedAt": "1970-01-01T00:00:00.000Z",
  "reminder": {}
}

Attend an event
PUT/:userType(user|company)/:username/events/:postId/action/attending

URI Parameters
HideShow
userType
string (required) Example: user

The type of account of the event owner.

username
string (required) Example: stan

The username of the target user.

postId
string (required) Example: 5540a8db0de8321c84b92a96

PostId to perform an action on


DELETE https://api.consoleconnect.com/:userType(user|company)/:username/events/:postId/action/attending
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "564aa9485526493121eed8c6",
  "body": "Come along to the team lunch tomorrow.",
  "meta": "",
  "title": "Team lunch at Happy Boy",
  "startTime": "2015-04-24T02:00:00.000Z",
  "endTime": "2015-04-24T03:00:00.000Z",
  "location": "36 Main St, Sample Town RI",
  "type": "event",
  "attachments": null,
  "author": {
    "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,
    "tags": [],
    "status": "ACTIVE",
    "capabilities": {
      "layer3Regions": [],
      "layer2Regions": [],
      "layer3Metros": [],
      "layer2Metros": [],
      "layer3": false,
      "layer2": false
    },
    "companies": [],
    "linkUserCompany": {}
  },
  "createdBy": {
    "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,
    "tags": [],
    "status": "ACTIVE",
    "capabilities": {
      "layer3Regions": [],
      "layer2Regions": [],
      "layer3Metros": [],
      "layer2Metros": [],
      "layer3": false,
      "layer2": false
    },
    "companies": [],
    "linkUserCompany": {}
  },
  "public": true,
  "sharedWith": [],
  "tags": [],
  "commentCount": 0,
  "actions": {
    "saved": false,
    "attending": false,
    "notattending": false,
    "unsubscribed": false,
    "reported": false,
    "shared": false
  },
  "actionsCount": {
    "saved": 0,
    "attending": 0,
    "notattending": 0,
    "unsubscribed": 0,
    "shared": 0
  },
  "updatedAt": "2015-11-17T04:12:56.792Z",
  "createdAt": "2015-11-17T04:12:56.792Z",
  "deleted": false,
  "deletedAt": "1970-01-01T00:00:00.000Z",
  "reminder": {}
}

Decline to attend an event
DELETE/:userType(user|company)/:username/events/:postId/action/attending

URI Parameters
HideShow
userType
string (required) Example: user

The type of account of the event owner.

username
string (required) Example: stan

The username of the target user.

postId
string (required) Example: 5540a8db0de8321c84b92a96

PostId to perform an action on


Event invites

PUT https://api.consoleconnect.com/:userType(user|company)/:username/posts/:postId/invite
Requestsexample 1
{
    "users": ["stan", "fran"]
}
Headers
Content-Type: application/json
Body
{
  "users": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "users": {
      "type": "string",
      "description": "An array of one or more usernames to invite."
    }
  },
  "required": [
    "users"
  ]
}
Responses200
Headers
Content-Type: application/json
Body
{}

Invite users to an event
PUT/:userType(user|company)/:username/posts/:postId/invite

Any user may invite another user to a public event, but only event creators may invite users to a private event.

URI Parameters
HideShow
userType
string (required) Example: user

The type of account of the event owner.

username
string (required) Example: stan

The username of the target user.

postId
string (required) Example: 5540a8db0de8321c84b92a96

PostId to perform an action on


DELETE https://api.consoleconnect.com/:userType(user|company)/:username/posts/:postId/invite
Requestsexample 1
{
    "users": ["stan", "fran"]
}
Headers
Content-Type: application/json
Body
{
  "users": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "users": {
      "type": "string",
      "description": "An array of one or more usernames to uninvite."
    }
  },
  "required": [
    "users"
  ]
}
Responses200
Headers
Content-Type: application/json
Body
{}

Uninvite users to an event
DELETE/:userType(user|company)/:username/posts/:postId/invite

Only event creators may uninvite users from an event. Uninviting a user removes them from the invites, attending and notattending lists.

URI Parameters
HideShow
userType
string (required) Example: user

The type of account of the event owner.

username
string (required) Example: stan

The username of the target user.

postId
string (required) Example: 5540a8db0de8321c84b92a96

PostId to perform an action on


GET https://api.consoleconnect.com/:userType(user|company)/:username/posts/:postId/invite
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "invited": [
    {
      "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,
      "tags": [],
      "status": "ACTIVE",
      "capabilities": {
        "layer3Regions": [],
        "layer2Regions": [],
        "layer3Metros": [],
        "layer2Metros": [],
        "layer3": false,
        "layer2": false
      },
      "companies": [],
      "linkUserCompany": {}
    }
  ],
  "attending": [],
  "notAttending": []
}

Get users involved in an event
GET/:userType(user|company)/:username/posts/:postId/invite

Gets users in the invited, attending and notattending list for an event.

Any user may get the users of a public event, but only event creators may get the users for a private event.

URI Parameters
HideShow
userType
string (required) Example: user

The type of account of the event owner.

username
string (required) Example: stan

The username of the target user.

postId
string (required) Example: 5540a8db0de8321c84b92a96

PostId to perform an action on


Reminders

Create event reminders.

Event Reminders

PUT https://api.consoleconnect.com/api/:userType(user|company)/:username/posts/:postId/reminders
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "method": [
    "email"
  ],
  "offset": 60
}
Responses200
Headers
Content-Type: application/json
Body
{
    id: '55ad99a0548444a7303782c5',
    userId: '55ad999e548444a7303782c1',
    postId: '55ad99a0548444a7303782c4',
    methods: [ 'email' ],
    time: '2015-03-24T01:00:00.000Z',
    offset: '60',
    updatedAt: '2015-07-21T01:00:16.640Z',
    createdAt: '2015-07-21T01:00:16.640Z'
}

Create Event Reminder
PUT/api/:userType(user|company)/:username/posts/:postId/reminders

URI Parameters
HideShow
userType
string (required) Example: user

The type of account of the event owner.

username
string (required) Example: stan

The username of the event owner.

postId
string (required) Example: 5540a8db0de8321c84b92a96

PostId of the event


GET https://api.consoleconnect.com/api/:userType(user|company)/:username/posts/:postId/reminders
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
    id: '55ad9904e160571a300e52da',
    userId: '55ad9901e160571a300e52d6',
    postId: '55ad9904e160571a300e52d9',
    methods: [ 'sms' ],
    time: '2015-03-24T00:00:00.000Z',
    offset: '120',
    updatedAt: '2015-07-21T00:57:40.701Z',
    createdAt: '2015-07-21T00:57:40.469Z'
}

Get Event Reminder
GET/api/:userType(user|company)/:username/posts/:postId/reminders

URI Parameters
HideShow
userType
string (required) Example: user

The type of account of the event owner.

username
string (required) Example: stan

The username of the event owner.

postId
string (required) Example: 5540a8db0de8321c84b92a96

PostId of the event


POST https://api.consoleconnect.com/api/:userType(user|company)/:username/posts/:postId/reminders
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "method": [
    "sms"
  ],
  "offset": 120
}
Responses200
Headers
Content-Type: application/json
Body
{
    id: '55ad9904e160571a300e52da',
    userId: '55ad9901e160571a300e52d6',
    postId: '55ad9904e160571a300e52d9',
    methods: [ 'sms' ],
    time: '2015-03-24T00:00:00.000Z',
    offset: '120',
    updatedAt: '2015-07-21T00:57:40.701Z',
    createdAt: '2015-07-21T00:57:40.469Z'
}

Update Event Reminder
POST/api/:userType(user|company)/:username/posts/:postId/reminders

URI Parameters
HideShow
userType
string (required) Example: user

The type of account of the event owner.

username
string (required) Example: stan

The username of the event owner.

postId
string (required) Example: 5540a8db0de8321c84b92a96

PostId of the event


DELETE https://api.consoleconnect.com/api/:userType(user|company)/:username/posts/:postId/reminders
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{}

Delete Event Reminder
DELETE/api/:userType(user|company)/:username/posts/:postId/reminders

URI Parameters
HideShow
userType
string (required) Example: user

The type of account of the event owner.

username
string (required) Example: stan

The username of the event owner.

postId
string (required) Example: 5540a8db0de8321c84b92a96

PostId of the event


Billing and Pricing

Note that the billing addresses are separate from the company addresses and are not publicly visible.

Once set, the billing address may not be changed to another country. To change the billing address to another country, please contact support.

Billing Addresses

PUT https://api.consoleconnect.com/api/company/:username/billing/address
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "address": "224 Fictitious St",
  "city": "Santa Clara",
  "state": "CA",
  "zip": "95050",
  "country": "US"
}
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "562f317aea1c3a13680fd577",
  "address": "224 Fictitious St",
  "city": "Santa Clara",
  "state": "CA",
  "zip": "95050",
  "country": "US",
  "updatedAt": "2015-10-27T08:10:34.256Z",
  "createdAt": "2015-10-27T08:10:34.256Z",
  "deleted": false,
  "deletedAt": "1970-01-01T00:00:00.000Z"
}

Create Billing Address
PUT/api/company/:username/billing/address

URI Parameters
HideShow
username
string (required) Example: company_co

The username of the comapny.


GET https://api.consoleconnect.com/api/company/:username/billing/address
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "results": [
    {
      "id": "562f317aea1c3a13680fd577",
      "address": "224 Fictitious St",
      "city": "Santa Clara",
      "state": "CA",
      "zip": "95050",
      "country": "US",
      "updatedAt": "2015-10-27T08:10:34.256Z",
      "createdAt": "2015-10-27T08:10:34.256Z",
      "deleted": false,
      "deletedAt": "1970-01-01T00:00:00.000Z"
    }
  ]
}

Read Billing Addresses
GET/api/company/:username/billing/address

URI Parameters
HideShow
username
string (required) Example: company_co

The username of the comapny.


Billing Address Operations by ID

GET https://api.consoleconnect.com/api/company/:username/billing/address/:addressId
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "562f317aea1c3a13680fd577",
  "address": "224 Fictitious St",
  "city": "Santa Clara",
  "state": "CA",
  "zip": "95050",
  "country": "US",
  "updatedAt": "2015-10-27T08:10:34.256Z",
  "createdAt": "2015-10-27T08:10:34.256Z",
  "deleted": false,
  "deletedAt": "1970-01-01T00:00:00.000Z"
}

Read Billing Address
GET/api/company/:username/billing/address/:addressId

URI Parameters
HideShow
username
string (required) Example: company_co

The username of the comapny.

addressId
string (required) Example: 562f317aea1c3a13680fd577

The id of the address.


POST https://api.consoleconnect.com/api/company/:username/billing/address/:addressId
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "address": "782 Nonexistent Ave"
}
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "562f317aea1c3a13680fd577",
  "address": "782 Nonexistent Ave",
  "city": "Santa Clara",
  "state": "CA",
  "zip": "95050",
  "country": "US",
  "updatedAt": "2015-10-27T08:10:34.256Z",
  "createdAt": "2015-10-27T08:10:34.256Z",
  "deleted": false,
  "deletedAt": "1970-01-01T00:00:00.000Z"
}

Update Billing Address
POST/api/company/:username/billing/address/:addressId

URI Parameters
HideShow
username
string (required) Example: company_co

The username of the comapny.

addressId
string (required) Example: 562f317aea1c3a13680fd577

The id of the address.


DELETE https://api.consoleconnect.com/api/company/:username/billing/address/:addressId
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "id": "562f317aea1c3a13680fd577",
  "address": "782 Nonexistent Ave",
  "city": "Santa Clara",
  "state": "CA",
  "zip": "95050",
  "country": "US",
  "updatedAt": "2015-10-27T08:10:34.256Z",
  "createdAt": "2015-10-27T08:10:34.256Z",
  "deleted": false,
  "deletedAt": "1970-01-01T00:00:00.000Z"
}

Delete Billing Address
DELETE/api/company/:username/billing/address/:addressId

URI Parameters
HideShow
username
string (required) Example: company_co

The username of the comapny.

addressId
string (required) Example: 562f317aea1c3a13680fd577

The id of the address.


Billing contacts

POST https://api.consoleconnect.com/api/company/:username/billing/contact
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "contactUser": "user",
  "billingAddressId": "562f317aea1c3a13680fd577"
}

Update contact details
POST/api/company/:username/billing/contact

URI Parameters
HideShow
username
string (required) Example: company_co

The username of the company


GET https://api.consoleconnect.com/api/company/:username/billing/contact
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "address": {
    "id": "563033bbfb068f450d28652c",
    "companyId": "563033bafb068f450d286522",
    "address": "224 Fictitious Street",
    "city": "Santa Clara",
    "state": "CA",
    "zip": "95050",
    "country": "United States",
    "updatedAt": "2015-10-28T02:32:27.469Z",
    "createdAt": "2015-10-28T02:32:27.469Z",
    "deleted": false,
    "deletedAt": "1970-01-01T00:00:00.000Z"
  },
  "contactUser": {
    "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,
    "tags": [],
    "status": "ACTIVE",
    "capabilities": {
      "layer3Regions": [],
      "layer2Regions": [],
      "layer3Metros": [],
      "layer2Metros": [],
      "layer3": false,
      "layer2": false
    },
    "companies": [],
    "linkUserCompany": {}
  }
}

Get contact details
GET/api/company/:username/billing/contact

URI Parameters
HideShow
username
string (required) Example: company_co

The username of the company


Billing Invoices

GET https://api.consoleconnect.com/app-user/:id/invoices
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
"results":[
  {
     "currency":"USD",
     "invoiceId":"1111",
     "amount":1000,
     "unpaid":1000,
     "paid":'UNPAID',,
     "dueDate":"2015-11-01T00:00:00.000Z",
     "paidDate":null,
     "createdAt":"1970-01-01T00:00:00.000Z"
  }
]
}

Get all invoices
GET/app-user/:id/invoices

URI Parameters
HideShow
id
string (required) 

The id of the company


Billing Invoice pdf data

GET https://api.consoleconnect.com/api/company/:username/billing/invoices/:invoiceId
Requestsexample 1
Headers
Content-Type: application/pdf
Responses200
Headers
Content-Type: application/pdf

Get a invoice pdf data
GET/api/company/:username/billing/invoices/:invoiceId

URI Parameters
HideShow
username
string (required) Example: company_co

The username of the company

invoiceId
string (required) Example: 2345

invoice id


List addons

  • Attributes + tags (string, required) - One or more tags to search on. + entitlementType (string, required) - One or more entitlementType to search on. Eg. cdrGlobal
GET https://api.consoleconnect.com/api/pricing/addon
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json

List addons
GET/api/pricing/addon


List plans

GET https://api.consoleconnect.com/api/pricing/plan
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json

List plans
GET/api/pricing/plan


Change plan

POST https://api.consoleconnect.com/api/company/:username/plans
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "planIds": []
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "planIds": {
      "description": "An array of plan IDs."
    }
  },
  "required": [
    "planIds"
  ]
}
Responses200
Body
{}

Set plans
POST/api/company/:username/plans

URI Parameters
HideShow
username
string (required) Example: company_co

The username of the company


Add addons

PUT https://api.consoleconnect.com/api/company/:username/pricing/addon/:addonId/port/:portId
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json

Add an addon to an account
PUT/api/company/:username/pricing/addon/:addonId/port/:portId

Add an addon to this account. This addon will be billed as of the time it was added to the account.

URI Parameters
HideShow
username
string (required) Example: user

The username of the user to add the addon.

addonId
string (required) Example: 2345

addon id

portId
string (required) Example: 2345

port ID which will use this addon


Remove addons

DELETE https://api.consoleconnect.com/api/company/:username/pricing/addon/instance/:instanceId
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json

Remove an addon from an account
DELETE/api/company/:username/pricing/addon/instance/:instanceId

Remove an addon from this account. This addon may be charged until the subscriptionLength has ended.

URI Parameters
HideShow
username
string (required) Example: user

The username of the user to remove the addon from.

instanceId
string (required) Example: 2345

addon instance id


Add plans

PUT https://api.consoleconnect.com/api/company/:username/pricing/plan/:planId
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json

Add a plan to an account
PUT/api/company/:username/pricing/plan/:planId

Add a plan to this account. This plan will be billed as of the time it was added to the account.

URI Parameters
HideShow
username
string (required) Example: user

The username of the user to add the plan.

planId
string (required) Example: 2345

plan id


Remove plans

DELETE https://api.consoleconnect.com/api/company/:username/pricing/plan/instance/:instanceId
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json

Remove a plan from an account
DELETE/api/company/:username/pricing/plan/instance/:instanceId

Remove a plan from this account. This plan may be charged until the subscriptionLength has ended.

URI Parameters
HideShow
username
string (required) Example: user

The username of the user to remove the plan from.

instanceId
string (required) Example: 2345

plan instance id


Mail/Messaging

IN-app messaging…

To be notified of new messages:

var mailIO = io.connect('http://api.brant.dev.eng.iix.net/mail');
var username = 'CURRENT_USERS_USERNAME';
var token = 'CURRENT_USERS_USERS_PORTAL_TOKEN';

mailIO.on('connect', function() {

    //Subscribe to the thread updates.
    mailIO.emit( 'subscribe', {
       username: username,
       token: token
    });

    socket.on( 'message', function ( _data ) {
        //There has been a new mail thread.
        //The data is in _data.response and has the same format as the response from PUT /api/user/:username/mail/threads/messages
        console.log('New message. Subject: '+ _data.response.thread.subject + ' Time:' + _data.timestamp );
    });

});

Inbox

GET https://api.consoleconnect.com/api/user/:username/mail/threads/messages?page=1&count=20&deleted=1&archived=1
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "results": [
    {
      "id": "553f3a6c23c04f0469700000",
      "subject": "Friday Lunch Suggestions",
      "author": "stan",
      "participants": [
        "stan",
        "fran"
      ],
      "removedParticipants": [
        {
          "userId": "58980a25a77b4d7bf459d101",
          "username": "fran",
          "removedAt": "2016-12-07T14:56:05.616Z"
        }
      ],
      "lastMessage": {
        "id": "553f3a6c23c04f0469700000",
        "threadId": "55ee16d91296e26c33f7f6a2",
        "author": "stan",
        "body": "Hi Team,<br>Does anyone have any ideas for lunch this friday?",
        "labels": {},
        "attachments": [],
        "updatedAt": "2015-09-07T22:59:37.983Z",
        "createdAt": "2015-09-07T22:59:37.983Z",
        "deleted": false,
        "deletedAt": "1970-01-01T00:00:00.000Z"
      },
      "archived": false,
      "userDeleted": false,
      "unreadCount": 0,
      "updatedAt": "2015-04-28T07:44:44.698Z",
      "createdAt": "2015-04-28T07:44:44.698Z",
      "deleted": false,
      "deletedAt": "1970-01-01T00:00:00.000Z"
    }
  ],
  "users": {
    "stan": {
      "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,
      "tags": [],
      "status": "ACTIVE",
      "capabilities": {
        "layer3Regions": [],
        "layer2Regions": [],
        "layer3Metros": [],
        "layer2Metros": [],
        "layer3": false,
        "layer2": false
      },
      "companies": [],
      "linkUserCompany": {}
    },
    "fran": {
      "id": "58980a25a77b4d7bf459d101",
      "name": "Fran",
      "username": "fran",
      "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,
      "tags": [],
      "status": "ACTIVE",
      "capabilities": {
        "layer3Regions": [],
        "layer2Regions": [],
        "layer3Metros": [],
        "layer2Metros": [],
        "layer3": false,
        "layer2": false
      },
      "companies": [],
      "linkUserCompany": {}
    }
  },
  "unreadCount": 0
}

Get Mail Threads
GET/api/user/:username/mail/threads/messages{?page,count,deleted,archived}

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to check is following the other.

page
string (required) Example: 1

The page number to get

count
string (required) Example: 20

The number of messages per page to get

deleted
string (required) Example: 1

Set to 1 or true to only display deleted

archived
string (required) Example: 1

Set to 1 or true to only show archived


PUT https://api.consoleconnect.com/api/user/:username/mail/threads/messages?page=1&count=20&deleted=1&archived=1
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "subject": "Roll Call: Who is going to NANOG?",
  "participants": [
    "stan",
    "fran"
  ],
  "body": "Let's co-ordinate travel arrangements.",
  "type": "MESSAGE",
  "targetUserIds": [],
  "attachments": [
    {
      "url": "image286.gif",
      "tags": [
        "image"
      ]
    }
  ],
  "lock": false
}
Responses200
Headers
Content-Type: application/json
Body
{
  "thread": {
    "id": "55d52a92cbdb256455d0c27e",
    "subject": "Roll Call: Who is going to NANOG?",
    "author": "stan",
    "participants": [
      "stan",
      "fran"
    ],
    "removedParticipants": [
      {
        "userId": "55d52a8bcbdb256455d0c27a",
        "username": "marge",
        "removedAt": "2016-12-07T14:56:05.616Z"
      }
    ],
    "archived": false,
    "updatedAt": "2015-08-20T01:17:06.770Z",
    "createdAt": "2015-08-20T01:17:06.765Z",
    "deleted": false,
    "deletedAt": "1970-01-01T00:00:00.000Z"
  },
  "messages": [
    {
      "id": "55d52a92cbdb256455d0c27f",
      "threadId": "55d52a92cbdb256455d0c27e",
      "author": "Angelica",
      "body": "Let's co-ordinate travel arrangements.",
      "labels": [],
      "type": "MESSAGE",
      "targetUserIds": [],
      "attachments": [
        {
          "url": "http://example.com/images/image286.gif",
          "tags": [],
          "uploadId": 1234,
          "contentType": "image/gif",
          "size": 492024,
          "name": "image286.gif"
        }
      ],
      "updatedAt": "2015-08-20T01:17:06.768Z",
      "createdAt": "2015-08-20T01:17:06.768Z",
      "deleted": false,
      "deletedAt": "1970-01-01T00:00:00.000Z"
    }
  ],
  "users": {
    "stan": {
      "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,
      "tags": [],
      "status": "ACTIVE",
      "capabilities": {
        "layer3Regions": [],
        "layer2Regions": [],
        "layer3Metros": [],
        "layer2Metros": [],
        "layer3": false,
        "layer2": false
      },
      "companies": [],
      "linkUserCompany": {}
    },
    "fran": {
      "id": "58980a25a77b4d7bf459d101",
      "name": "Fran",
      "username": "fran",
      "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,
      "tags": [],
      "status": "ACTIVE",
      "capabilities": {
        "layer3Regions": [],
        "layer2Regions": [],
        "layer3Metros": [],
        "layer2Metros": [],
        "layer3": false,
        "layer2": false
      },
      "companies": [],
      "linkUserCompany": {}
    }
  },
  "unreadCount": 0
}

Create New Mail Thread
PUT/api/user/:username/mail/threads/messages{?page,count,deleted,archived}

Note that the author still needs to be put in as a participant. It is the most powerful implementation for the future (eg writing messages on behalf of the company).

Specify "lock": true to lock the thread on creation.

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to check is following the other.

page
string (required) Example: 1

The page number to get

count
string (required) Example: 20

The number of messages per page to get

deleted
string (required) Example: 1

Set to 1 or true to only display deleted

archived
string (required) Example: 1

Set to 1 or true to only show archived


Thread Messages

PUT https://api.consoleconnect.com/api/user/:username/mail/thread/:threadId/messages?page=1&count=20&timeStart=2016-09-20T07:30:48.197Z&timeEnd=2016-09-20T07:30:48.197Z
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "body": "What about pizza?",
  "type": "MESSAGE",
  "targetUserIds": [],
  "attachments": [
    {
      "url": "http://example.com/images/pizza_slice.gif",
      "tags": []
    }
  ]
}
Responses200
Headers
Content-Type: application/json
Body
{
  "thread": {
    "id": "553f3a6c23c04f0469700000",
    "subject": "Friday Lunch Suggestions",
    "author": "stan",
    "participants": [
      "stan",
      "fran"
    ],
    "removedParticipants": [
      {
        "userId": "553f3a6c23c04f04697c1709",
        "username": "marge",
        "removedAt": "2016-12-07T14:56:05.616Z"
      }
    ],
    "updatedAt": "2015-04-28T07:44:44.698Z",
    "createdAt": "2015-04-28T07:44:44.698Z"
  },
  "messages": [
    {
      "id": "553f3a6c23c04f0469911112",
      "author": "stan",
      "updatedAt": "2015-04-28T07:45:45.698Z",
      "createdAt": "2015-04-28T07:45:45.698Z",
      "body": "What about pizza?",
      "type": "MESSAGE",
      "targetUserIds": [],
      "attachments": [
        {
          "url": "http://example.com/images/pizza_slice.gif",
          "tags": [],
          "uploadId": 12348,
          "contentType": "image/gif",
          "size": 28281,
          "name": "pizza_slice.gif"
        }
      ]
    },
    {
      "id": "553f3a6c23c04f0469911111",
      "author": "stan",
      "updatedAt": "2015-04-28T07:44:44.698Z",
      "createdAt": "2015-04-28T07:44:44.698Z",
      "body": "Hi Team,<br>Does anyone have any ideas for lunch this friday?"
    }
  ],
  "users": {
    "stan": {
      "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,
      "tags": [],
      "status": "ACTIVE",
      "capabilities": {
        "layer3Regions": [],
        "layer2Regions": [],
        "layer3Metros": [],
        "layer2Metros": [],
        "layer3": false,
        "layer2": false
      },
      "companies": [],
      "linkUserCompany": {}
    },
    "fran": {
      "id": "58980a25a77b4d7bf459d101",
      "name": "Fran",
      "username": "fran",
      "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,
      "tags": [],
      "status": "ACTIVE",
      "capabilities": {
        "layer3Regions": [],
        "layer2Regions": [],
        "layer3Metros": [],
        "layer2Metros": [],
        "layer3": false,
        "layer2": false
      },
      "companies": [],
      "linkUserCompany": {}
    }
  },
  "unreadCount": 0
}

Reply To A Message Thread
PUT/api/user/:username/mail/thread/:threadId/messages{?page,count,timeStart,timeEnd}

Note that the messages are sorted by createdAt newest to oldest.

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to check is following the other.

page
string (required) Example: 1

The page number to get

count
string (required) Example: 20

The number of messages per page to get

timeStart
string (required) Example: 2016-09-20T07:30:48.197Z

Date from which to get posts. Eg. timeStart=2015-01-01 gets all posts from 2015 & later.

timeEnd
string (required) Example: 2016-09-20T07:30:48.197Z

Date up to which to get posts. Eg. timeEnd=2015-01-01 gets all posts from 2015-01-01 and earlier.


GET https://api.consoleconnect.com/api/user/:username/mail/thread/:threadId/messages?page=1&count=20&timeStart=2016-09-20T07:30:48.197Z&timeEnd=2016-09-20T07:30:48.197Z
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "thread": {
    "id": "553f3a6c23c04f0469700000",
    "subject": "Friday Lunch Suggestions",
    "author": "stan",
    "participants": [
      "stan",
      "fran"
    ],
    "removedParticipants": [
      {
        "userId": "553f3a6c23c04f04697c1709",
        "username": "marge",
        "removedAt": "2016-12-07T14:56:05.616Z"
      }
    ],
    "updatedAt": "2015-04-28T07:44:44.698Z",
    "createdAt": "2015-04-28T07:44:44.698Z"
  },
  "messages": [
    {
      "id": "553f3a6c23c04f0469911112",
      "author": "stan",
      "updatedAt": "2015-04-28T07:45:45.698Z",
      "createdAt": "2015-04-28T07:45:45.698Z",
      "body": "What about pizza?"
    },
    {
      "id": "553f3a6c23c04f0469911111",
      "author": "stan",
      "updatedAt": "2015-04-28T07:44:44.698Z",
      "createdAt": "2015-04-28T07:44:44.698Z",
      "body": "Hi Team,<br>Does anyone have any ideas for lunch this friday?"
    }
  ],
  "users": {
    "stan": {
      "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,
      "tags": [],
      "status": "ACTIVE",
      "capabilities": {
        "layer3Regions": [],
        "layer2Regions": [],
        "layer3Metros": [],
        "layer2Metros": [],
        "layer3": false,
        "layer2": false
      },
      "companies": [],
      "linkUserCompany": {}
    },
    "fran": {
      "id": "58980a25a77b4d7bf459d101",
      "name": "Fran",
      "username": "fran",
      "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,
      "tags": [],
      "status": "ACTIVE",
      "capabilities": {
        "layer3Regions": [],
        "layer2Regions": [],
        "layer3Metros": [],
        "layer2Metros": [],
        "layer3": false,
        "layer2": false
      },
      "companies": [],
      "linkUserCompany": {}
    }
  },
  "unreadCount": 0
}

Read Messages In A Thread
GET/api/user/:username/mail/thread/:threadId/messages{?page,count,timeStart,timeEnd}

Note that the messages are sorted by createdAt newest to oldest.

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to check is following the other.

page
string (required) Example: 1

The page number to get

count
string (required) Example: 20

The number of messages per page to get

timeStart
string (required) Example: 2016-09-20T07:30:48.197Z

Date from which to get posts. Eg. timeStart=2015-01-01 gets all posts from 2015 & later.

timeEnd
string (required) Example: 2016-09-20T07:30:48.197Z

Date up to which to get posts. Eg. timeEnd=2015-01-01 gets all posts from 2015-01-01 and earlier.


Message Labels

PUT https://api.consoleconnect.com/api/user/:username/mail/thread/:threadId/message/:messageId/label
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "label": "read"
}
Responses200
Headers
Content-Type: application/json
Body
{
    "id": "55dcfab8b58ed01a6065be00",
    "threadId": "55dcfab5b58ed01a6065bdfa",
    "author": "55dcfab3b58ed01a6065bdf6",
    "body": "OK, I"ll do that right now.",
    "labels": [ "read" ],
    "attachments": [],
    "type": "MESSAGE",
    "targetUserIds": [],
    "updatedAt": "2015-08-25T23:31:06.588Z",
    "createdAt": "2015-08-25T23:31:04.324Z",
    "deleted": false,
    "deletedAt": "1970-01-01T00:00:00.000Z"
}

Create Message Label
PUT/api/user/:username/mail/thread/:threadId/message/:messageId/label

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to add the label.

threadId
string (required) Example: 553f3a6c23c04f0469700000

The threadId that the message belongs to

messageId
string (required) Example: 553f3a6c23c04f0469911112

The messageId


DELETE https://api.consoleconnect.com/api/user/:username/mail/thread/:threadId/message/:messageId/label
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "label": "read"
}
Responses200
Headers
Content-Type: application/json
Body
{
    "id": "55dcfab8b58ed01a6065be00",
    "threadId": "55dcfab5b58ed01a6065bdfa",
    "author": "55dcfab3b58ed01a6065bdf6",
    "body": "OK, I"ll do that right now.",
    "labels": [ "read" ],
    "attachments": [],
    "type": "MESSAGE",
    "targetUserIds": [],
    "updatedAt": "2015-08-25T23:31:06.588Z",
    "createdAt": "2015-08-25T23:31:04.324Z",
    "deleted": false,
    "deletedAt": "1970-01-01T00:00:00.000Z"
}

Delete Message Label
DELETE/api/user/:username/mail/thread/:threadId/message/:messageId/label

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to add the label.

threadId
string (required) Example: 553f3a6c23c04f0469700000

The threadId that the message belongs to

messageId
string (required) Example: 553f3a6c23c04f0469911112

The messageId


Archiving

PUT https://api.consoleconnect.com/api/user/:username/mail/thread/:threadId/message/:messageId/archive
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
    thread: {
        id: '55dd22e244f6ab7e066b5a40',
        subject: 'No Subject',
        author: 'angelica',
        participants: [ 'angelica', 'bart' ],
        lastMessage: {
            id: '55dd22e644f6ab7e066b5a46',
            threadId: '55dd22e244f6ab7e066b5a40',
            author: 'bart',
            body: 'OK, I'll do that right now.',
            labels: [],
            attachments: [],
            type: "MESSAGE",
            targetUserIds: [],
            updatedAt: '2015-08-26T02:22:30.625Z',
            createdAt: '2015-08-26T02:22:30.625Z',
            deleted: false,
            deletedAt: '1970-01-01T00:00:00.000Z'
        },
        archived: true,
        muted: false,
        updatedAt: '2015-08-26T02:22:33.134Z',
        createdAt: '2015-08-26T02:22:26.925Z',
        deleted: false,
        deletedAt: '1970-01-01T00:00:00.000Z'
    }
}

Archive Thread
PUT/api/user/:username/mail/thread/:threadId/message/:messageId/archive

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to add the label.

threadId
string (required) Example: 553f3a6c23c04f0469700000

The threadId that the message belongs to

messageId
string (required) Example: 553f3a6c23c04f0469911112

The messageId


DELETE https://api.consoleconnect.com/api/user/:username/mail/thread/:threadId/message/:messageId/archive
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
    thread: {
        id: '55dd22e244f6ab7e066b5a40',
        subject: 'No Subject',
        author: 'angelica',
        participants: [ 'angelica', 'bart' ],
        lastMessage: {
            id: '55dd22e644f6ab7e066b5a46',
            threadId: '55dd22e244f6ab7e066b5a40',
            author: 'bart',
            body: 'OK, I'll do that right now.',
            labels: [],
            attachments: [],
            type: "MESSAGE",
            targetUserIds: [],
            updatedAt: '2015-08-26T02:22:30.625Z',
            createdAt: '2015-08-26T02:22:30.625Z',
            deleted: false,
            deletedAt: '1970-01-01T00:00:00.000Z'
        },
        archived: false,
        muted: false,
        updatedAt: '2015-08-26T02:22:33.134Z',
        createdAt: '2015-08-26T02:22:26.925Z',
        deleted: false,
        deletedAt: '1970-01-01T00:00:00.000Z'
    }
}

Unarchive Thread
DELETE/api/user/:username/mail/thread/:threadId/message/:messageId/archive

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to add the label.

threadId
string (required) Example: 553f3a6c23c04f0469700000

The threadId that the message belongs to

messageId
string (required) Example: 553f3a6c23c04f0469911112

The messageId


Muting

Muting a thread will disable notifications for the user in that thread.

PUT https://api.consoleconnect.com/api/user/:username/mail/thread/:threadId/mute
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json

Mute Thread
PUT/api/user/:username/mail/thread/:threadId/mute

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to add the label.

threadId
string (required) Example: 553f3a6c23c04f0469700000

The threadId that the message belongs to

messageId
string (required) Example: 553f3a6c23c04f0469911112

The messageId


DELETE https://api.consoleconnect.com/api/user/:username/mail/thread/:threadId/mute
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json

Unmute Thread
DELETE/api/user/:username/mail/thread/:threadId/mute

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to add the label.

threadId
string (required) Example: 553f3a6c23c04f0469700000

The threadId that the message belongs to

messageId
string (required) Example: 553f3a6c23c04f0469911112

The messageId


Add or Remove Participants In A Thread

Adding a user to a thread will allow them to see the entire history of the conversation.

Users can remove themselves or others.

Once removed, users can still see the conversation in your thread list but the messages they can see stop at the point they were removed.

Re-adding a user will allow them to see the entire history of the conversation again.

When a user joins or is removed from a thread a message with message.type of SYSTEM_JOINED or SYSTEM_LEFT is sent by the user performing the action invite/remove action with the message.targetUserIds of the users joining or leaving.

Removed participants are still in the thread.participants array but are also added to the thread.removedParticipants array.

PUT https://api.consoleconnect.com/api/user/:username/mail/thread/:threadId/participants
Requests200
Headers
Content-Type: application/json
Schema
{
  "title": "List of usernames",
  "type": "object",
  "properties": {
    "usernames": {
      "type": "array",
      "minItems": 1,
      "maxItems": 100,
      "uniqueItems": true,
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "usernames"
  ],
  "definitions": {}
}
Responses200
Headers
Content-Type: application/json

Add Participants
PUT/api/user/:username/mail/thread/:threadId/participants

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to add the label.

threadId
string (required) Example: 553f3a6c23c04f0469700000

The threadId that the message belongs to

messageId
string (required) Example: 553f3a6c23c04f0469911112

The messageId


DELETE https://api.consoleconnect.com/api/user/:username/mail/thread/:threadId/participants
Requests200
Headers
Content-Type: application/json
Schema
{
  "title": "List of usernames",
  "type": "object",
  "properties": {
    "usernames": {
      "type": "array",
      "minItems": 1,
      "maxItems": 100,
      "uniqueItems": true,
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "usernames"
  ],
  "definitions": {}
}
Responses

Remove Participants
DELETE/api/user/:username/mail/thread/:threadId/participants

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to add the label.

threadId
string (required) Example: 553f3a6c23c04f0469700000

The threadId that the message belongs to

messageId
string (required) Example: 553f3a6c23c04f0469911112

The messageId


Deleting

DELETE https://api.consoleconnect.com/api/user/:username/mail/thread/:threadId
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
thread:
    {
        id: '55de9071c4ae285a788ea6bb',
        subject: 'No Subject',
        author: '55de906cc4ae285a788ea6b4',
        participants: [ '55de906cc4ae285a788ea6b4', '55de906fc4ae285a788ea6b7' ],
        lastMessage:
        {
            id: '55de9073c4ae285a788ea6c1',
            threadId: '55de9071c4ae285a788ea6bb',
            author: '55de906fc4ae285a788ea6b7',
            body: 'OK, I'll do that right now.',
            labels: [],
            attachments: [],
            type: "MESSAGE",
            targetUserIds: [],
            updatedAt: '2015-08-27T04:22:11.531Z',
            createdAt: '2015-08-27T04:22:11.531Z',
            deleted: false,
            deletedAt: '1970-01-01T00:00:00.000Z'
        },
        archived: [],
        muted: false,
        userDeleted: true,
        updatedAt: '2015-08-27T04:22:12.394Z',
        createdAt: '2015-08-27T04:22:09.431Z',
        deleted: false,
        deletedAt: '1970-01-01T00:00:00.000Z'
    }
}

Delete Thread
DELETE/api/user/:username/mail/thread/:threadId

Marks userDeleted as true

URI Parameters
HideShow
username
string (required) Example: stan

The username of the user to add the label.

threadId
string (required) Example: 553f3a6c23c04f0469700000

The threadId that the message belongs to


Locking

A locked thread is the same as a regular thread, with the exception that it doesn’t allow any further replies.

PUT https://api.consoleconnect.com/:userType(user|company)/:username/mail/thread/:threadId/lock
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
thread:
    {
        id: '55de9071c4ae285a788ea6bb',
        subject: 'No Subject',
        author: '55de906cc4ae285a788ea6b4',
        participants: [ '55de906cc4ae285a788ea6b4', '55de906fc4ae285a788ea6b7' ],
        lastMessage:
        {
            id: '55de9073c4ae285a788ea6c1',
            threadId: '55de9071c4ae285a788ea6bb',
            author: '55de906fc4ae285a788ea6b7',
            body: 'OK, I'll do that right now.',
            labels: [],
            attachments: [],
            type: "MESSAGE",
            targetUserIds: [],
            updatedAt: '2015-08-27T04:22:11.531Z',
            createdAt: '2015-08-27T04:22:11.531Z',
            deleted: false,
            deletedAt: '1970-01-01T00:00:00.000Z'
        },
        archived: [],
        muted: false,
        userDeleted: true,
        updatedAt: '2015-08-27T04:22:12.394Z',
        createdAt: '2015-08-27T04:22:09.431Z',
        deleted: false,
        deletedAt: '1970-01-01T00:00:00.000Z',
        locked: true
    }
}

Lock Thread
PUT/:userType(user|company)/:username/mail/thread/:threadId/lock

URI Parameters
HideShow
userType
string (required) Example: user

User or company we’re acting on behalf of.

username
string (required) Example: stan

The username of the user to add the label.

threadId
string (required) Example: 553f3a6c23c04f0469700000

The threadId that the message belongs to


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.
PUT https://api.consoleconnect.com/api/company/:companyName/ports/orders
Requestsexample 1
Headers
Content-Type: application/json
Body
{
  "dataCenterFacility": "supernetpa4",
  "speed": 1000,
  "portName": "PORT_2",
  "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"
    },
    "portName": {
      "type": "string",
      "description": "User specified name"
    },
    "billingId": {
      "type": "string",
      "description": "ID of the plan to use. From user.billing.plans.*._id"
    }
  },
  "required": [
    "speed",
    "portName",
    "billingId"
  ]
}
Responses200
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,
      "website": null,
      "emailDomains": [
        "example.org"
      ],
      "parentIds": []
    },
    "system": {
      "welcomeMessage": null
    },
    "deletedAt": null,
    "deleted": false,
    "verified": 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 reservation
PUT/api/company/:companyName/ports/orders

A port order is created in a dataCenterFacility.

Port orders must include a billingId. The billingId can be found against the user’s billing information and represents an unused plan to be consumed by the new port. You may only use a plan on one port (plans may not be shared across many ports).

When the port is provisioned, the order will change to “done” status and a new port will be created and activated.


List Orders

GET https://api.consoleconnect.com/api/company/:companyName/ports/orders/?(?status,locationId,speedId)
Requestsexample 1
Headers
Content-Type: application/json
Responses200
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,
          "website": null,
          "emailDomains": [
            "example.org"
          ],
          "parentIds": []
        },
        "system": {
          "welcomeMessage": null
        },
        "deletedAt": null,
        "deleted": false,
        "verified": 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 Orders
GET/api/company/:companyName/ports/orders/?(?status,locationId,speedId)

URI Parameters
HideShow
companyName
string (required) Example: Acme

The 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

GET https://api.consoleconnect.com/api/company/:companyName/ports/orders/:orderId
Requestsexample 1
Headers
Content-Type: application/json
Responses200
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,
      "website": null,
      "emailDomains": [
        "example.org"
      ],
      "parentIds": []
    },
    "system": {
      "welcomeMessage": null
    },
    "deletedAt": null,
    "deleted": false,
    "verified": 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 detail
GET/api/company/:companyName/ports/orders/:orderId

URI Parameters
HideShow
companyName
string (required) Example: Acme

The username of the company to check is following the other.

orderId
string (required) Example: Acme

The id of a order.


POST https://api.consoleconnect.com/api/company/:companyName/ports/orders/:orderId
Requestsexample 1
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"
  ]
}
Responses200
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,
      "website": null,
      "emailDomains": [
        "example.org"
      ],
      "parentIds": []
    },
    "system": {
      "welcomeMessage": null
    },
    "deletedAt": null,
    "deleted": false,
    "verified": 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 order
POST/api/company/:companyName/ports/orders/:orderId

URI Parameters
HideShow
companyName
string (required) Example: Acme

The username of the company to check is following the other.

orderId
string (required) Example: Acme

The id of a order.


Cancel an order

POST https://api.consoleconnect.com/api/company/:companyName/ports/orders/:orderId/cancel
Requestsexample 1
Headers
Content-Type: application/json
Responses200
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,
      "website": null,
      "emailDomains": [
        "example.org"
      ],
      "parentIds": []
    },
    "system": {
      "welcomeMessage": null
    },
    "deletedAt": null,
    "deleted": false,
    "verified": 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 order
POST/api/company/:companyName/ports/orders/:orderId/cancel

URI Parameters
HideShow
companyName
string (required) Example: Acme

The username of the company to check is following the other.

orderId
string (required) Example: 55767b5652a693344a015744

The 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 is allocated.
POST https://api.consoleconnect.com/api/company/:companyName/ports/orders/:orderId/:action(cancel|sendloa|loasent)
Requestsexample 1
Headers
Content-Type: application/json
Responses200
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,
      "website": null,
      "emailDomains": [
        "example.org"
      ],
      "parentIds": []
    },
    "system": {
      "welcomeMessage": null
    },
    "deletedAt": null,
    "deleted": false,
    "verified": 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 Order
POST/api/company/:companyName/ports/orders/:orderId/:action(cancel|sendloa|loasent)

URI Parameters
HideShow
companyName
string (required) Example: Acme

The username of the company to check is following the other.

orderId
string (required) Example: 55767b5652a693344a015744

The port order id

action
string (required) Example: sendloa

The 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

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 or Console Routers can be created on this port.

GET https://api.consoleconnect.com/api/company/:companyName/ports
Requestsexample 1
Headers
Content-Type: application/json
Responses200
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"
        }
      ],
      "canCreateController": false,
      "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,
            "canCreateController": 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,
        "canCreateController": true,
        "country": "USA",
        "regionIds": [],
        "updatedAt": "2016-02-12T09:01:33.840Z",
        "createdAt": "2016-02-12T09:01:33.840Z",
        "deleted": false,
        "deletedAt": null
      }
    }
  ]
}

List Ports
GET/api/company/:companyName/ports

URI Parameters
HideShow
companyName
string (required) Example: Acme

The username of the company to check is following the other.


Port

GET https://api.consoleconnect.com/api/company/:companyName/ports/:portId
Requestsexample 1
Headers
Content-Type: application/json
Responses200
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"
    }
  ],
  "canCreateController": false,
  "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,
        "canCreateController": 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,
    "canCreateController": true,
    "country": "USA",
    "regionIds": [],
    "updatedAt": "2016-02-12T09:01:33.840Z",
    "createdAt": "2016-02-12T09:01:33.840Z",
    "deleted": false,
    "deletedAt": null
  }
}

Read Port Details
GET/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.

URI Parameters
HideShow
companyName
string (required) Example: Acme

The username of the company to check is following the other.

portId
string (required) Example: 55767b5652a693344a015744

The port id


POST https://api.consoleconnect.com/api/company/:companyName/ports/:portId
Requestsexample 1
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"
  ]
}
Responses200
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"
    }
  ],
  "canCreateController": false,
  "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,
        "canCreateController": 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,
    "canCreateController": true,
    "country": "USA",
    "regionIds": [],
    "updatedAt": "2016-02-12T09:01:33.840Z",
    "createdAt": "2016-02-12T09:01:33.840Z",
    "deleted": false,
    "deletedAt": null
  }
}

Update Port Details
POST/api/company/:companyName/ports/:portId

URI Parameters
HideShow
companyName
string (required) Example: Acme

The username of the company to check is following the other.

portId
string (required) Example: 55767b5652a693344a015744

The port id


DELETE https://api.consoleconnect.com/api/company/:companyName/ports/:portId
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json

Delete port
DELETE/api/company/:companyName/ports/:portId

Note: a port must be disabled using Port Actions before it can be deleted.

URI Parameters
HideShow
companyName
string (required) Example: Acme

The username of the company to check is following the other.

portId
string (required) Example: 55767b5652a693344a015744

The port id


Port Actions

Ports may only be disabled when all attached Connections and Console Routers are disabled.

POST https://api.consoleconnect.com/api/company/:companyName/ports/:portId/:action(active|disable)
Requestsexample 1
Headers
Content-Type: application/json
Responses200
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"
    }
  ],
  "canCreateController": false,
  "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,
        "canCreateController": 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,
    "canCreateController": true,
    "country": "USA",
    "regionIds": [],
    "updatedAt": "2016-02-12T09:01:33.840Z",
    "createdAt": "2016-02-12T09:01:33.840Z",
    "deleted": false,
    "deletedAt": null
  }
}

Perform a action on a port
POST/api/company/:companyName/ports/:portId/:action(active|disable)

URI Parameters
HideShow
companyName
string (required) Example: Acme

The username of the company to check is following the other.

portId
string (required) Example: 55767b5652a693344a015744

The port id


Port utilization

GET https://api.consoleconnect.com/api/company/:companyName/ports/:portId/utilization/?start=1459376516&end=1459376516&resolution=day
Requestsexample 1
Headers
Content-Type: application/json
Responses200
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 data
GET/api/company/:companyName/ports/:portId/utilization/{?start,end,resolution}

URI Parameters
HideShow
companyName
string (required) Example: corp

The username of the company that owns the port to check

portId
string (required) Example: 55767b5652a693344a015744

The port id

start
string (required) Example: 1459376516

Unix timestamp for beginning of time window

end
string (required) Example: 1459376516

Unix timestamp for end of time window

resolution
string (required) Example: day

Set 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 VLAN IDs

A VLAN ID (vid) is an integer between 1 and 4095, and is used to identify separate connections.

This pool of integers is consumed by all the connections on a Console switch. Console will reject connections that try to consume a particular VID if that VID is already being used by another connection or customer.

GET https://api.consoleconnect.com/api/company/:companyName/ports/:portId/vlan
Requestsexample 1
Headers
Content-Type: application/json
Responses200
Headers
Content-Type: application/json
Body
{
  "results": [
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9
  ]
}

Get all available VLAN IDs
GET/api/company/:companyName/ports/:portId/vlan

Fetch all available VLAN IDs which can be used to create a connection on this port.

URI Parameters
HideShow
companyName
string (required) Example: Acme

The username of the company to check is following the other.

portId
string (required) Example: 55767b5652a693344a015744

The port id


DCP ports/regions

GET https://api.consoleconnect.com/api/directConnectPartner/:username/regions
Requestsexample 1
Headers
Content-Type: application/json
Responses200
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 DCP
GET/api/directConnectPartner/:username/regions

URI Parameters
HideShow
username
string (required) Example: amazon

The username of the DCP for which to retrieve the ports/regionIds


DCP addons

GET https://api.consoleconnect.com/api/directConnectPartner/:username/addons
Requestsexample 1
Headers
Content-Type: application/json
Responses200
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 DCP
GET/api/directConnectPartner/:username/addons

URI Parameters
HideShow
username
string (required) Example: amazon

The username of the DCP for which to retrieve the addons


NSP ports

GET https://api.consoleconnect.com/api/networkServiceProvider/:username/regions
Requestsexample 1
Headers
Content-Type: application/json
Responses200
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 NSP
GET/api/networkServiceProvider/:username/regions

URI Parameters
HideShow
username
string (required) Example: internet

The username of the NSP for which to retrieve the ports


All plans & entitlements

GET https://api.consoleconnect.com/api/company/:username/ports/entitlement
Requestsexample 1
Headers
Content-Type: application/json
Responses200
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"
      ],
      "bundle": {
        "type": "plan",
        "subscriptionLength": 1,
        "subscriptionLengthUnit": "y",
        "destPortId": null,
        "id": "5c07767990a74879f2cf8cf1",
        "deletedAt": null,
        "createdAt": "2018-12-05T06:55:53.692Z",
        "updatedAt": "2018-12-05T06:55:53.693Z",
        "name": "Gold plan",
        "visible": true,
        "visibleStartDate": "2018-12-05T06:55:53.692Z",
        "visibleEndDate": null,
        "regionIds": [],
        "regionRefs": [
          "236107000000000000000000"
        ],
        "service": [
          {
            "quantity": 1,
            "id": "5c07767990a74879f2cf8cf2",
            "bundleId": "5c07767990a74879f2cf8cf1",
            "serviceId": "5c07767990a74879f2cf8cef",
            "service": {
              "pricingType": "unit",
              "unit": "Mbps",
              "value": 1,
              "active": true,
              "id": "5c07767990a74879f2cf8cef",
              "entitlementId": "5a278846bcc486f9dec63d68",
              "deletedAt": null,
              "createdAt": "2018-12-05T06:55:53.618Z",
              "updatedAt": "2018-12-05T06:55:53.618Z",
              "name": "Port Speed Feature",
              "type": "portSpeed",
              "displayName": "Max connections",
              "visibleStartDate": "2018-12-05T06:55:53.618Z",
              "visibleEndDate": null,
              "entitlement": {
                "id": "5a278846bcc486f9dec63d68",
                "deletedAt": null,
                "createdAt": "2017-11-22T03:29:13.206Z",
                "updatedAt": "2017-11-22T03:29:13.206Z",
                "name": "maxConnections",
                "visibleStartDate": "2018-12-05T06:55:54.214Z",
                "visibleEndDate": null,
                "displayName": "Max Connections"
              },
              "prices": []
            }
          }
        ]
      }
    }],
    "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 & entitlement
GET/api/company/:username/ports/entitlement

Note: bundles for PAYG subscriptions are not expanded in the payload.


Port plan & entitlement

GET https://api.consoleconnect.com/api/company/:username/ports/:portId/entitlement
Requestsexample 1
Headers
Content-Type: application/json
Responses200
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 & entitlement
GET/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 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:

  1. Source user requests a connection using Create a Layer 2 connection request endpoint, specifying a source port/controller & requested metro.

  2. Destination user updates the connection request with destination port/controller and makes any other changes using the Update a connection endpoint.

  3. 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.

  4. 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:

  1. Request a connection using Create a Layer 2 connection request endpoint, specifying both source port/controller & destination port/controller.

  2. Use the Approve a connection Request endpoint to approve the changes and create the connection.

  3. The status will change from PENDING and the connection will be created.

GET https://api.consoleconnect.com/api/company/:companyName/connections/:connectionId
Requestsexample 1
Headers
Content-Type: application/json
Responses200
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"],
            "canCreateController": true,
            "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"],
            "canCreateController": true,
            "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",
        "maintenanceMode": false,
    }

Read a connection
GET/api/company/:companyName/connections/:connectionId


POST https://api.consoleconnect.com/api/company/:companyName/connections/:connectionId
Requestsexample 1
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}$"
    }
  }
}
Responses200
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"],
            "canCreateController": true,
            "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"],
            "canCreateController": true,
            "ready": true,
            "id": "d466b388d3e9ee0a92177910"
        },
        "srcAsnId":