Before you can get started working with IO-D, please ensure:
The IO-D API endpoints reference GIA
. Global Internet Access (GIA) was the internal PCCW Global 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": "5e4cb418ab1dbe8c8476163b",
- "asnId": "b72d84b5",
- "autoAssignBgpKey": true,
- "bgpKey": "af83Le4Y5gGP8IgA9gaJ",
- "billingtype": "invoice",
- "defaultOriginate": true,
- "duration": 4,
- "durationUnit": "m",
- "enableIpv6": true,
- "ipblock": 29,
- "name": "gia_service",
- "privateAsn": true,
- "privateAsnAutoAssign": true,
- "privateAsnRequested": 0,
- "rateLimit": 100,
- "burstRate": 150,
- "burstType": "95th Percentile",
- "type": "DYNAMIC",
- "vlanId": "3001"
}
{- "companyId": "7cffc346-12a6-4147-8246-a3de09533e68",
- "accessPortId": "5e4cb418ab1dbe8c8476163b",
- "name": "gia-service",
- "vlanId": 3001,
- "rateLimit": {
- "rate": 100,
- "unit": "Mbps"
}, - "burstRate": {
- "rate": 150,
- "unit": "Mbps"
}, - "burstType": "95th Percentile",
- "type": "DYNAMIC",
- "asnId": "98dd7337-fb0b-4ff3-959f-ea78a920b192",
- "ipv4BlockId": "b40d4741-6d38-46cd-9db4-9a0178145b31",
- "ipv6BlockId": "be83ae3c-cddd-4874-9dde-88318ea91471",
- "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": "0638779d-2c48-433a-9869-545ded06f576",
- "linknetIpV6Block": "e6c79137-0b9f-407a-be27-a75e942dbabf",
- "bgpKey": "af83Le4Y5gGP8IgA9gaJ",
- "staticRoutes": [
- "101.22.84.60/30"
], - "salesRecordId": "6d8011d7-59c6-4edd-b1c2-ff1eaf822002",
- "giaSiteId": "cbaa830a-991b-4e9d-a90d-63d90df99199",
- "giaOrderId": "65849700-36f6-40b9-b0a6-fbfb6ee5b5a5",
- "status": "PROVISIONING",
- "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
}
List your IO-D services.
required | object (LoopBackFilter) Criteria for finding IO-D Services. filter={
"skip": 10,
"limit": 10
} filter={
"where": {
"name": { "like": "My IO-D Service", options: "i" },
},
"skip": 0,
"limit": 10
} |
OK
[- {
- "companyId": "7cffc346-12a6-4147-8246-a3de09533e68",
- "accessPortId": "5e4cb418ab1dbe8c8476163b",
- "name": "gia-service",
- "vlanId": 3001,
- "rateLimit": {
- "rate": 100,
- "unit": "Mbps"
}, - "burstRate": {
- "rate": 150,
- "unit": "Mbps"
}, - "burstType": "95th Percentile",
- "type": "DYNAMIC",
- "asnId": "98dd7337-fb0b-4ff3-959f-ea78a920b192",
- "ipv4BlockId": "b40d4741-6d38-46cd-9db4-9a0178145b31",
- "ipv6BlockId": "be83ae3c-cddd-4874-9dde-88318ea91471",
- "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": "0638779d-2c48-433a-9869-545ded06f576",
- "linknetIpV6Block": "e6c79137-0b9f-407a-be27-a75e942dbabf",
- "bgpKey": "af83Le4Y5gGP8IgA9gaJ",
- "staticRoutes": [
- "101.22.84.60/30"
], - "salesRecordId": "6d8011d7-59c6-4edd-b1c2-ff1eaf822002",
- "giaSiteId": "cbaa830a-991b-4e9d-a90d-63d90df99199",
- "giaOrderId": "65849700-36f6-40b9-b0a6-fbfb6ee5b5a5",
- "status": "PROVISIONING",
- "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
}
]
{- "companyId": "7cffc346-12a6-4147-8246-a3de09533e68",
- "accessPortId": "5e4cb418ab1dbe8c8476163b",
- "name": "gia-service",
- "vlanId": 3001,
- "rateLimit": {
- "rate": 100,
- "unit": "Mbps"
}, - "burstRate": {
- "rate": 150,
- "unit": "Mbps"
}, - "burstType": "95th Percentile",
- "type": "DYNAMIC",
- "asnId": "98dd7337-fb0b-4ff3-959f-ea78a920b192",
- "ipv4BlockId": "b40d4741-6d38-46cd-9db4-9a0178145b31",
- "ipv6BlockId": "be83ae3c-cddd-4874-9dde-88318ea91471",
- "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": "0638779d-2c48-433a-9869-545ded06f576",
- "linknetIpV6Block": "e6c79137-0b9f-407a-be27-a75e942dbabf",
- "bgpKey": "af83Le4Y5gGP8IgA9gaJ",
- "staticRoutes": [
- "101.22.84.60/30"
], - "salesRecordId": "6d8011d7-59c6-4edd-b1c2-ff1eaf822002",
- "giaSiteId": "cbaa830a-991b-4e9d-a90d-63d90df99199",
- "giaOrderId": "65849700-36f6-40b9-b0a6-fbfb6ee5b5a5",
- "status": "PROVISIONING",
- "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
}
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
}