Ports

Before configuring any network services in Console Connect, you must create a port. This is a two-step process; ordering or requesting a port, then activating that port. Console Connect manages entitlements through plan-based subscriptions associated with each port (one subscription per port). Before you can order a port, your company must have a subscription to a plan with sufficient entitlements available to complete the request. To list your company’s subscriptions and entitlements refer to Get all plans and entitlements.

Order a Port

Console Connect supports ordering 1G and 10G ports. Port availability is dependent on the Data Center. Prerequisites:

  • Your company has been verified on the Console Connect platform
  • The authenticated user account has Network Admin permissions
curl \
--request PUT \
--header "Content-Type: application/json" \
--header "portal-token: [[auth token]]" \
--data-binary "{\"dataCenterFacility\":\"supernetpa4\",\"billingId\":56d691309a90128d55831db2,\"speed\":1000,\"portName\":\"PORT_2\",\"type\":\"PHYSICAL\"}" \
https://api.consoleconnect.com/api/company/:companyName/ports/orders

The port will remain in a pending status until it is approved by a Console Connect administrator. Once approved, it will be automatically provisioned and activated. Ports may be disabled or re-activated using these requests More information on Ports

Updating Port Details

Prerequisites:

  • The authenticated user account has Network Admin permissions

The following request will update the port name:

curl \
--request POST \
--header "Content-Type: application/json" \
--header "portal-token: [[auth token]]" \
--data-binary "{\"name\":\"My new name\"}" \
https://api.consoleconnect.com/api/company/:companyUsername/ports/:portId

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

Create a port order/reservation

A port order is created in a 'dataCenterFacility'.

The 'paymentType' field is required and needs to be one of 'plan', or 'invoice'. The 'creditcard' payment type is only supported via the Console Connect web application.

When paymentType is 'plan' or 'invoice', 'paymentTransactionId' should not be provided. When paymentType is "creditcard", paymentTransactionId must be provided.

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

Request
path Parameters
companyName
required
string

Username of the data center facility.

Example: supernetpa4
Request Body schema: application/json
paymentType
required
string

paymentType is one of ‘plan’, ‘creditcard’ or ‘invoice’.

billingId
string

The ID of the plan subscription. Only required when paymentType is 'plan'.

dataCenterFacility
string

The username of the data center facility.

speed
required
string

The port speed in Mbps. Must be >= 100.

portName
required
string

The name of the port

paymentTransactionId
string
Responses
200

OK

put/api/company/{companyName}/ports/orders
Request samples
application/json
{
  • "dataCenterFacility": "supernetpa4",
  • "speed": "1000",
  • "portName": "PORT_2",
  • "paymentType": "plan",
  • "paymentTransactionId": "56d691309a90128d55831db2"
}
Response samples
application/json
{
  • "billingId": "56d691309a90128d55831db2",
  • "cancelled": false,
  • "cancelledAt": "1970-01-01T00:00:00.000Z",
  • "cancelledBy": null,
  • "company": {
    },
  • "controller": {
    },
  • "createdAt": "2016-03-02T07:07:28.195Z",
  • "createdBy": "stan",
  • "deleted": false,
  • "deletedAt": "1970-01-01T00:00:00.000Z",
  • "deletedBy": null,
  • "id": "56d691309a90128d55831db1",
  • "locationId": null,
  • "message": null,
  • "metro": {
    },
  • "port": {
    },
  • "portName": "PORT_1",
  • "speed": {
    },
  • "status": "created",
  • "updatedAt": "2016-03-02T07:07:28.195Z",
  • "updatedBy": null
}

Get order details by ID

Get the details of a companies port order

Request
path Parameters
companyName
required
string

The username of the company that the order is for.

Example: Acme
orderId
required
string

The ID of the order.

Example: Acme
Request Body schema: application/json
companyName
required
string

The username of the company that the order is for.

orderId
required
string

The ID of the order.

Responses
200

OK

get/api/company/{companyName}/ports/orders/{orderId}
Request samples
application/json
{
  • "orderId": "56d691309a90128d55831db1",
  • "companyName": "Acme"
}
Response samples
application/json
{
  • "billingId": "56d691309a90128d55831db2",
  • "cancelled": false,
  • "cancelledAt": "1970-01-01T00:00:00.000Z",
  • "cancelledBy": null,
  • "company": {
    },
  • "controller": {
    },
  • "createdAt": "2016-03-02T07:07:28.195Z",
  • "createdBy": "stan",
  • "deleted": false,
  • "deletedAt": "1970-01-01T00:00:00.000Z",
  • "deletedBy": null,
  • "id": "56d691309a90128d55831db1",
  • "locationId": null,
  • "message": null,
  • "metro": {
    },
  • "port": {
    },
  • "portName": "PORT_1",
  • "speed": {
    },
  • "status": "created",
  • "updatedAt": "2016-03-02T07:07:28.195Z",
  • "updatedBy": null
}

Perform LOA action on a port order

A Letter of Authorisation is required as part of the process to connect to a port.

  • 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'.
Request
path Parameters
companyName
required
string

The username of the company to check the order for.

Example: Acme
orderId
required
string

The orderId to action.

Example: 56d691301a1a128d55831db2
action
required
string

The action to take on the port order.

Example: action(disable)
Responses
200

OK

post/api/company/{companyName}/ports/orders/{orderId}/{action}(sendloa|loasent)
Response samples
application/json
{
  • "billingId": "56d691309a90128d55831db2",
  • "cancelled": false,
  • "cancelledAt": "1970-01-01T00:00:00.000Z",
  • "cancelledBy": null,
  • "company": {
    },
  • "controller": {
    },
  • "createdAt": "2016-03-02T07:07:28.195Z",
  • "createdBy": "stan",
  • "deleted": false,
  • "deletedAt": "1970-01-01T00:00:00.000Z",
  • "deletedBy": null,
  • "id": "56d691309a90128d55831db1",
  • "locationId": null,
  • "message": null,
  • "metro": {
    },
  • "port": {
    },
  • "portName": "PORT_1",
  • "speed": {
    },
  • "status": "created",
  • "updatedAt": "2016-03-02T07:07:28.195Z",
  • "updatedBy": null
}

List ports

Note: Reading a company’s ports is publicly visible.

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 The port is disabled
DELETING In the process of being deleted
DELETED The Port is deleted
UNKNOWN The status of the port cannot be determined
ONBOARDING The port is currently being on-boarded

In addition to these states, a port also has the singleService flag which indicates that the port is dedicated to a single untagged connection, so no further connections can be created on the port.

Request
path Parameters
companyName
required
string

The username of the company to check the port for.

Example: Acme
Responses
200

OK

get/api/company/{companyName}/ports
Response samples
application/json
{
  • "results": [
    ]
}

Delete port

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

Request
path Parameters
companyName
required
string

The username of the company to check the port for.

Example: Acme
portId
required
string

The port id

Example: 55767b5652a693344a015744
Responses
200

OK

delete/api/company/{companyName}/ports/{portId}

Read port details

Note: Reading a company's port details is publicly visible.

Utilization is based on connections attached to a port. Incoming connections (connections initiated by someone else that you accepted) are not included in utilization, but outgoing connections (connections you initiated) are included. You may not create an outgoing connection request that exceeds your port utilization.

Request
path Parameters
companyName
required
string

The username of the company to check the port for.

Example: Acme
portId
required
string

The port id

Example: 55767b5652a693344a015744
Responses
200

OK

get/api/company/{companyName}/ports/{portId}
Response samples
application/json
{
  • "activeChangedAt": "2016-06-16T06:20:10.640Z",
  • "asn": {
    },
  • "capacity": {
    },
  • "company": {
    },
  • "companyId": "5762451982894b9b1b1a5dbc",
  • "connections": [
    ],
  • "controllers": [
    ],
  • "createdAt": "2016-06-16T06:20:10.029Z",
  • "dataCenterFacility": {
    },
  • "dataCenterFacilityId": "5126c9f1111e15a24a066130",
  • "deleted": false,
  • "deletedAt": "1970-01-01T00:00:00.000Z",
  • "id": "5762451a82894b9b1b1a5dc2",
  • "ip": {
    },
  • "locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
  • "metro": {
    },
  • "metroId": "1232413986c08c061dd8c45f",
  • "name": "Vicente",
  • "networkServiceProviderId": null,
  • "partner": {
    },
  • "portId": null,
  • "singleService": false,
  • "speed": {
    },
  • "status": "ACTIVE",
  • "type": "PHYSICAL",
  • "updatedAt": "2016-06-16T06:20:11.116Z",
  • "vlanRange": [
    ]
}

Update port details

Update a port

Request
path Parameters
companyName
required
string

The username of the company to check the port for.

Example: Acme
portId
required
string

The port id.

Example: 55767b5652a693344a015744
Request Body schema: application/json
asn
required
string

The ASN to attach to this port.

name
required
string

A friendly name for the port

Responses
200

OK

post/api/company/{companyName}/ports/{portId}
Request samples
application/json
{
  • "asn": {
    },
  • "name": "VPort0"
}
Response samples
application/json
{
  • "activeChangedAt": "2016-06-16T06:20:10.640Z",
  • "asn": {
    },
  • "capacity": {
    },
  • "company": {
    },
  • "companyId": "5762451982894b9b1b1a5dbc",
  • "connections": [
    ],
  • "controllers": [
    ],
  • "createdAt": "2016-06-16T06:20:10.029Z",
  • "dataCenterFacility": {
    },
  • "dataCenterFacilityId": "5126c9f1111e15a24a066130",
  • "deleted": false,
  • "deletedAt": "1970-01-01T00:00:00.000Z",
  • "id": "5762451a82894b9b1b1a5dc2",
  • "ip": {
    },
  • "locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
  • "metro": {
    },
  • "metroId": "1232413986c08c061dd8c45f",
  • "name": "Vicente",
  • "networkServiceProviderId": null,
  • "partner": {
    },
  • "portId": null,
  • "singleService": false,
  • "speed": {
    },
  • "status": "ACTIVE",
  • "type": "PHYSICAL",
  • "updatedAt": "2016-06-16T06:20:11.116Z",
  • "vlanRange": [
    ]
}

Read port access circuit details

Request
path Parameters
companyName
required
string

The username of the company to check the port for.

Example: Acme
portId
required
string

The port id.

Example: 55767b5652a693344a015744
Responses
200

OK

401

Unauthorized

404

Not Found

get/api/company/{companyName}/ports/{portId}/access-circuit
Response samples
application/json
{
  • "crossConnectConnectorType": "SC",
  • "crossConnectId": "19204",
  • "crossConnectMediaConvertor": true,
  • "crossConnectMediaType": "SMF",
  • "crossConnectProvider": "My cross connect provider",
  • "crossConnectSalesRecordId": "",
  • "id": "12345",
  • "localLoopPartnerLocalLineNo": "L93850",
  • "localLoopRemoteCarrierContactNo": "+61 3 2223 3344",
  • "localLoopRemoteLocalLineNo": "L843840384",
  • "localLoopRemoteLocalLinePartner": "Partner name",
  • "localLoopRemoteRefNo": "#980344933948",
  • "localLoopSpeed": "0",
  • "managedRouterServiceCeWanInterface": "",
  • "managedRouterServiceCeWanIpAddress": "",
  • "managedRouterServiceCpeOrder": "",
  • "managedRouterServiceDialupNo": "",
  • "managedRouterServiceManagementIp": "192.0.2.101",
  • "managedRouterServiceRemark": "",
  • "managedRouterServiceRouterName": "cds-e038kf-jhsnv",
  • "managedRouterServiceRouterOwner": "",
  • "managedRouterServiceRouterProvider": "",
  • "premiumColocationPanelNumber": "",
  • "premiumColocationRackId": "",
  • "premiumColocationSalesRecordId": ""
}

Perform a action on a port

Request
path Parameters
companyName
required
string

The username of the company to check the port for.

Example: Acme
portId
required
string

The port id.

Example: 55767b5652a693344a015744
action
required
string

The action to take.

Example: action(sendloa)
Responses
200

OK

post/api/company/{companyName}/ports/{portId}/{action}(active|disable)
Response samples
application/json
{
  • "activeChangedAt": "2016-06-16T06:20:10.640Z",
  • "asn": {
    },
  • "capacity": {
    },
  • "company": {
    },
  • "companyId": "5762451982894b9b1b1a5dbc",
  • "connections": [
    ],
  • "controllers": [
    ],
  • "createdAt": "2016-06-16T06:20:10.029Z",
  • "dataCenterFacility": {
    },
  • "dataCenterFacilityId": "5126c9f1111e15a24a066130",
  • "deleted": false,
  • "deletedAt": "1970-01-01T00:00:00.000Z",
  • "id": "5762451a82894b9b1b1a5dc2",
  • "ip": {
    },
  • "locationId": "b3f5ac21-fec1-4418-9e1a-709d48da59fa",
  • "metro": {
    },
  • "metroId": "1232413986c08c061dd8c45f",
  • "name": "Vicente",
  • "networkServiceProviderId": null,
  • "partner": {
    },
  • "portId": null,
  • "singleService": false,
  • "speed": {
    },
  • "status": "ACTIVE",
  • "type": "PHYSICAL",
  • "updatedAt": "2016-06-16T06:20:11.116Z",
  • "vlanRange": [
    ]
}

Get port utilization data

Obtain utilization information about a specific port using a specific time period and preferred resolution.

Request
path Parameters
companyName
required
string

The username of the company to check the port for.

Example: Acme
portId
required
string

The port id.

Example: 55767b5652a693344a015744
query Parameters
start
required
string

Unix timestamp for beginning of time window.

Example: start=1459376516
end
required
string

Unix timestamp for end of time window.

Example: end=1459376516
resolution
required
string

Set the resolution of response ('day' | 'hour' | 'minute'). Resolution defaults to minute if not passed. Note: As minute is the smallest resolution, it will not have min/max fields in the response.

Example: resolution=day
Responses
200

OK

get/api/company/{companyName}/ports/{portId}/utilization/{:start,:end,:resolution}
Response samples
application/json
{
  • "portId": 120391239323,
  • "results": [
    ],
  • "unit": "Mbps"
}

Get port VLAN info

Return the vlan information around the given port

Request
path Parameters
companyName
required
string

The username of the company to check the port for.

Example: Acme
portId
required
string

The port id.

Example: 55767b5652a693344a015744
query Parameters
detailed
string

Retrieve available VLANs? Default: true.

Example: detailed=true
service
string

The service type to retrieve the available VLANs for. Accepted values are ‘connection’ and ‘gia’. Default: ‘connection’.

Example: service=connection
Responses
200

OK

get/api/company/{companyName}/ports/{portId}/vlan{:detailed,:service)
Response samples
application/json
{
  • "id": 120391239323,
  • "available": [
    ],
  • "ranges": [
    ],
  • "unit": "Mbps"
}

Get all ports/regions for DCP

DCP Partner Username
AWS amazon
AZURE azure
GCE google_cloud
TENCENT tencent-cloud
ALICLOUD alibaba_cloud
Request
path Parameters
username
required
string

The username of the Direct Connect Partner (DCP) for which to retrieve the ports/regionIds.

Example: amazon
Responses
200

OK

get/api/directConnectPartner/{username}/regions
Response samples
application/json
{
  • "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": {
    },
  • "asnId": null,
  • "ip": {
    },
  • "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 DCP add-ons

Request
path Parameters
username
required
string

The username of the Direct Connect Partner (DCP) for which to retrieve the add-ons.

Example: amazon
Responses
200

OK

get/api/directConnectPartner/{username}/addons
Response samples
application/json
{
  • "results": [
    ]
}

Get all connections for a specified port

Request
path Parameters
companyName
required
string

The username of the company to check the port for.

Example: Acme
portId
required
string

The port id.

Example: 55767b5652a693344a015744
Responses
200

OK

get/api/company/{companyName}/ports/{portId}/connections
Response samples
application/json
{
  • "type": "LAYER2",
  • "name": "string",
  • "srcPortId": "string",
  • "speed": {
    },
  • "destMetroId": "string",
  • "destCompany": "string",
  • "destPortId": "string",
  • "paymentType": "creditcard",
  • "partner": {
    }
}