Networking and upgrades
Inventory facilities and ports, request in-place upgrades, manage cloud circuits and cross-connects, and submit orders that become binding when signed.
{"error":"unauthorized","message":"Missing or invalid Authorization header."}.
See the overview.
Facilities
Returns the facilities where capacity can be delivered, with their codes and the service types available at each.
GET /v1/facilities
{
"data": [
{
"code": "LON",
"city": "London",
"country": "GB",
"market": "LON",
"region": "europe",
"services": ["transit", "cloud_networking", "ai_infrastructure"],
"max_port_speed_gbps": 400
}
],
"meta": { "count": 27 }
}
Ports and services
Lists the ports provisioned to your account, with their commitment and current state.
GET /v1/ports
GET /v1/ports/prt_8f2c1a94
{
"data": [
{
"id": "prt_8f2c1a94",
"facility": "LON",
"speed_gbps": 10,
"state": "active",
"billing_model": "committed",
"commit_mbps": 2000,
"burst_permitted": true,
"lacp_members": 2,
"mtu": 9000,
"activated_at": "YYYY-MM-DDTHH:MM:SSZ"
}
]
}
state is one of pending, provisioning,
active, upgrading, suspended, or
terminated.
Port upgrades
Request a speed upgrade. The API validates availability and returns a quote reference; the change becomes binding when the resulting service order is signed (same model as new orders).
POST /v1/ports/prt_8f2c1a94/upgrades
Content-Type: application/json
Idempotency-Key: 5c9d2f31-1b47-4a1e-9f2a-0d7c9e4b6a83
{
"target_speed_gbps": 100,
"notes": "Cutover during next maintenance window if required"
}
{
"data": {
"id": "upg_1a9e4c70",
"port_id": "prt_8f2c1a94",
"from_speed_gbps": 10,
"to_speed_gbps": 100,
"state": "quoting",
"quote_reference": "Q-YYYY-05102",
"created_at": "YYYY-MM-DDTHH:MM:SSZ"
}
}
Commit changes
Adjust committed bandwidth within the terms of the existing contract. Increases that require a new commercial term may be returned as a quote rather than applied immediately.
PATCH /v1/ports/prt_8f2c1a94
Content-Type: application/json
Idempotency-Key: 8e1b0c44-2d9a-4f16-a7c3-9b5e1d0f6a22
{
"commit_mbps": 5000
}
{
"data": {
"id": "prt_8f2c1a94",
"commit_mbps": 5000,
"state": "active",
"updated_at": "YYYY-MM-DDTHH:MM:SSZ"
}
}
Virtual circuits
Cloud on-ramps and L2/L3 overlays. Create a circuit request the same way as an order: availability is validated and a quote reference is returned.
GET /v1/circuits
POST /v1/circuits
POST /v1/circuits
Content-Type: application/json
Idempotency-Key: c0f4a812-9b3e-4d71-8e2a-1f6d5c9b0a33
{
"facility": "IAD",
"provider": "aws",
"bandwidth_mbps": 10000,
"vlan": 1204,
"cloud_account": "123456789012",
"notes": "Primary path for us-east-1"
}
{
"data": {
"id": "cir_7b2e91a4",
"state": "quoting",
"quote_reference": "Q-YYYY-05118",
"facility": "IAD",
"provider": "aws",
"bandwidth_mbps": 10000,
"created_at": "YYYY-MM-DDTHH:MM:SSZ"
}
}
Cross-connects
GET /v1/cross-connects
{
"data": [
{
"id": "xcon_3d91a8e0",
"facility": "LON",
"port_id": "prt_8f2c1a94",
"state": "active",
"media": "LR4",
"remote_party": "Customer cage A-12"
}
]
}
New cross-connects are requested via orders with
service: "cross_connect", not as a free-form create on this collection.
Placing an order
An order created through the API is a request, not an executed contract. We validate availability and respond with a quote reference; the order becomes binding when the resulting service order is signed.
POST /v1/orders
Content-Type: application/json
Idempotency-Key: 5c9d2f31-1b47-4a1e-9f2a-0d7c9e4b6a83
{
"service": "transit",
"facility": "FRA",
"port_speed_gbps": 100,
"commit_mbps": 20000,
"billing_model": "committed",
"mtu": 9000,
"term_months": 24,
"prefixes": ["192.0.2.0/24", "2001:db8::/32"],
"notes": "Diverse path to existing LON port if available"
}
{
"data": {
"id": "ord_3d7b0e52",
"state": "quoting",
"quote_reference": "Q-YYYY-04871",
"estimated_delivery": "YYYY-MM-DD",
"created_at": "YYYY-MM-DDTHH:MM:SSZ"
}
}
service may be transit, cloud_networking,
ai_infrastructure, or cross_connect. Always send an
Idempotency-Key on POST. Repeating a request with the same key
returns the original response rather than creating a second order.
Webhook events
order.state_changedport.state_changedport.upgrade_completedcircuit.state_changed
Signature verification and delivery semantics are described in the overview.
Need API access for ports and orders?
Tell us which facilities and products you want to automate and we will issue credentials scoped to them.