Before you can get started working with IO-D, please ensure:
Note: checkout the IO-D guideline for more guidelines & tips related to IO-D.
The IO-D API endpoints reference GIA
. Global Internet Access (GIA) was the internal Console Connect product name for Internet On-Demand (IO-D).
The IO-D endpoints are nested under the /app-user/{companyId}
path with two different roots. One is singular (gia-service
) and the other is plural (gia-services
). These paths are associated with the following actions:
Root Path | Actions |
---|---|
/app-user/{companyId}/gia-service |
Create, Flex, Logs |
/app-user/{companyId}/gia-services |
Search/List, Get by ID |
OK
true
asnId
, the ID of a VERIFIED ASN attached to your company.privateAsn: true
and either privateAsnAutoAssign: true
to have the system assign an ASN for you, or privateAsnRequested
to set your own.OK
{- "accessPortId": "xxxxxxxxxxxxxxxxxxxxxxxx",
- "autoAssignBgpKey": true,
- "billingtype": "payg",
- "defaultOriginate": true,
- "duration": {
- "quantity": 4,
- "unit": "m"
}, - "enableIpv6": false,
- "ipblock": 29,
- "name": "DYNAMIC IoD with private ASN",
- "paymentType": "payg",
- "privateAsn": true,
- "privateAsnAutoAssign": true,
- "rateLimit": 100,
- "burstRate": 150,
- "burstType": "95th Percentile",
- "type": "DYNAMIC",
- "vlanId": 3001
}
{- "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
- "companyId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "accessPortId": "xxxxxxxxxxxxxxxxxxxxxxxx",
- "name": "gia-service",
- "vlanId": 3001,
- "rateLimit": {
- "rate": 100,
- "unit": "Mbps"
}, - "burstRate": {
- "rate": 150,
- "unit": "Mbps"
}, - "burstType": "95th Percentile",
- "type": "DYNAMIC",
- "asnId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "ipv4BlockId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "ipv6BlockId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "enableIpv6": true,
- "customerRouterIpv4": "182.64.64.31",
- "customerRouterIpv6": "2001:db8:85a3:0:0:8a2e:370:7334",
- "consoleRouterIpv4": "182.64.64.32",
- "consoleRouterIpv6": "2001:db8:85a3:0:0:8a2e:370:7335",
- "linknetIpV4Block": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "linknetIpV6Block": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "bgpKey": "af83Le4Y5gGP8IgA9gaJ",
- "staticRoutes": [
- "101.22.84.60/30"
], - "giaSiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "giaOrderId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "status": "PROVISIONING",
- "bgpStatus": null,
- "peers": [
- {
- "internal_ip": "182.64.64.31",
- "external_ip": "182.64.64.32",
- "bgp_status": "IDLE"
}, - {
- "internal_ip": "2001:db8:85a3:0:0:8a2e:370:7334",
- "external_ip": "2001:db8:85a3:0:0:8a2e:370:7335",
- "bgp_status": "IDLE"
}
], - "defaultOriginate": true,
- "defaultOriginateIpv6": true
}
[- {
- "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
- "companyId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "accessPortId": "xxxxxxxxxxxxxxxxxxxxxxxx",
- "name": "gia-service",
- "vlanId": 3001,
- "rateLimit": {
- "rate": 100,
- "unit": "Mbps"
}, - "burstRate": {
- "rate": 150,
- "unit": "Mbps"
}, - "burstType": "95th Percentile",
- "type": "DYNAMIC",
- "asnId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "ipv4BlockId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "ipv6BlockId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "enableIpv6": true,
- "customerRouterIpv4": "182.64.64.31",
- "customerRouterIpv6": "2001:db8:85a3:0:0:8a2e:370:7334",
- "consoleRouterIpv4": "182.64.64.32",
- "consoleRouterIpv6": "2001:db8:85a3:0:0:8a2e:370:7335",
- "linknetIpV4Block": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "linknetIpV6Block": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "bgpKey": "af83Le4Y5gGP8IgA9gaJ",
- "staticRoutes": [
- "101.22.84.60/30"
], - "giaSiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "giaOrderId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "status": "PROVISIONING",
- "bgpStatus": null,
- "peers": [
- {
- "internal_ip": "182.64.64.31",
- "external_ip": "182.64.64.32",
- "bgp_status": "IDLE"
}, - {
- "internal_ip": "2001:db8:85a3:0:0:8a2e:370:7334",
- "external_ip": "2001:db8:85a3:0:0:8a2e:370:7335",
- "bgp_status": "IDLE"
}
], - "defaultOriginate": true,
- "defaultOriginateIpv6": true
}
]
Retrieves all of the details of a specific IO-D service by specifying the service ID. To obtain your service ID, refer to Get IO-D Services.
OK
Not Found
{- "id": "xxxxxxxxxxxxxxxxxxxxxxxx",
- "companyId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "accessPortId": "xxxxxxxxxxxxxxxxxxxxxxxx",
- "name": "gia-service",
- "vlanId": 3001,
- "rateLimit": {
- "rate": 100,
- "unit": "Mbps"
}, - "burstRate": {
- "rate": 150,
- "unit": "Mbps"
}, - "burstType": "95th Percentile",
- "type": "DYNAMIC",
- "asnId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "ipv4BlockId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "ipv6BlockId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "enableIpv6": true,
- "customerRouterIpv4": "182.64.64.31",
- "customerRouterIpv6": "2001:db8:85a3:0:0:8a2e:370:7334",
- "consoleRouterIpv4": "182.64.64.32",
- "consoleRouterIpv6": "2001:db8:85a3:0:0:8a2e:370:7335",
- "linknetIpV4Block": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "linknetIpV6Block": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "bgpKey": "af83Le4Y5gGP8IgA9gaJ",
- "staticRoutes": [
- "101.22.84.60/30"
], - "giaSiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "giaOrderId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
- "status": "PROVISIONING",
- "bgpStatus": null,
- "peers": [
- {
- "internal_ip": "182.64.64.31",
- "external_ip": "182.64.64.32",
- "bgp_status": "IDLE"
}, - {
- "internal_ip": "2001:db8:85a3:0:0:8a2e:370:7334",
- "external_ip": "2001:db8:85a3:0:0:8a2e:370:7335",
- "bgp_status": "IDLE"
}
], - "defaultOriginate": true,
- "defaultOriginateIpv6": true
}
View provisioning service logs of your IO-D service
OK
{- "limit": 10,
- "skip": 0
}
{- "total": 2,
- "results": [
- {
- "summary": "Example log message",
- "data": {
- "user": {
- "name": "Joe Bloggs",
- "id": "5e4cb418ab1dbe8c8476163b"
}
}, - "level": "INFO",
- "created_at": "2021-02-15T07:44:00.794Z"
}, - {
- "summary": "Another example log message",
- "data": {
- "user": {
- "name": "Joe Bloggs",
- "id": "5e4cb418ab1dbe8c8476163b"
}
}, - "level": "INFO",
- "created_at": "2021-02-18T04:23:47.822Z"
}
]
}
Get the history of flex requests for an IO-D service.
OK
[- {
- "id": "0b2478b1-5be8-4f29-8336-a49240acb90d",
- "giaServiceId": "7bab11ba-11a6-45d3-90f7-4b77032dd8a0",
- "type": "UPGRADE",
- "status": "REQUESTED",
- "active": false,
- "scheduledAt": "2021-02-08T23:15:54.000Z",
- "bandwidth": 450,
- "lineItemId": "d38992d5-0f1a-405b-a146-8cc17f84efae",
- "created_at": "2021-02-08T23:15:54.318Z",
- "updated_at": "2021-02-08T23:15:54.436Z"
}
]
OK
Bad Request
Unprocessable Entity
{- "bandwidth": 100
}
{- "id": "0b2478b1-5be8-4f29-8336-a49240acb90d",
- "giaServiceId": "7bab11ba-11a6-45d3-90f7-4b77032dd8a0",
- "type": "UPGRADE",
- "status": "REQUESTED",
- "active": false,
- "scheduledAt": "2021-02-08T23:15:54.000Z",
- "bandwidth": "450",
- "lineItemId": "d38992d5-0f1a-405b-a146-8cc17f84efae",
- "created_at": "2021-02-08T23:15:54.318Z",
- "updated_at": "2021-02-08T23:15:54.436Z"
}
The active flex is any flex that has been processed and is currently active on the service. The latest flex is the most recent flex request (which may still be processing). The active and latest flex be the same record. If there is no active flex, the active property in the response will be null. If there are no flex requests at all, the latest property in the response will be null.
OK
{- "latest": {
- "id": "0b2478b1-5be8-4f29-8336-a49240acb90d",
- "giaServiceId": "7bab11ba-11a6-45d3-90f7-4b77032dd8a0",
- "type": "UPGRADE",
- "status": "REQUESTED",
- "active": false,
- "scheduledAt": "2021-02-08T23:15:54.000Z",
- "bandwidth": "450",
- "lineItemId": "d38992d5-0f1a-405b-a146-8cc17f84efae",
- "created_at": "2021-02-08T23:15:54.318Z",
- "updated_at": "2021-02-08T23:15:54.436Z"
}, - "active": {
- "id": "0b2478b1-5be8-4f29-8336-a49240acb90d",
- "giaServiceId": "7bab11ba-11a6-45d3-90f7-4b77032dd8a0",
- "type": "DOWNGRADE",
- "status": "SUCCESS",
- "active": true,
- "scheduledAt": "2021-01-15T20:22:18.000Z",
- "bandwidth": "50",
- "lineItemId": "d38992d5-0f1a-405b-a146-8cc17f84efae",
- "created_at": "2021-01-15T20:22:18.000Z",
- "updated_at": "2021-01-15T20:22:18.000Z"
}
}
{- "contractBandwidth": 100,
- "active": {
- "id": "0b2478b1-5be8-4f29-8336-a49240acb90d",
- "flexBandwidth": 200,
- "totalBandwidth": 300,
- "start": "2021-02-08T23:15:54.318Z",
- "rate": 76.5
}, - "pending": {
- "id": "0b2478b1-5be8-4f29-8336-a49240acb90d",
- "toBaseContract": false,
- "bandwidth": 400
}, - "results": [
- {
- "id": "adae371a-7bfc-4c01-a9ee-d291f3ec237f",
- "flexBandwidth": 350,
- "totalBandwidth": 450,
- "start": "2021-03-08T04:38:15.800Z",
- "end": "2021-03-08T04:38:15.971Z",
- "rate": 76.5,
- "hours": "0.0001",
- "total": 0.00765
}
], - "total": 1
}