Network Topologies
The Network Topologies API enables administrators to reflect the hierarchical network topology connectivity of nodes in a data center, such as racks, blocks, and other organizational units, to improve pod scheduling decisions for communication-intensive AI/ML workloads. To support topology-aware scheduling, this API allows administrators to define a multi-level network topology element using ordered Kubernetes node labels that represent the network connectivity of nodes in the data center. Nodes are labeled with the same key-value pairs labels that represent their location in the data center network. These labels are used by the NVIDIA Run:ai Scheduler to prefer scheduling pods on nodes that are "closer" to each other, minimizing communication overhead and optimizing workload performance.
Retrieve a list of network topologies with details.
Bearer authentication
Filter results by a parameter. Use the format field-name operator value. Supported operators: == Equals != Not equals <= Less than or equal >= Greater than or equal =@ Contains !@ Does not contain =^ Starts with =$ Ends with Date values must be in ISO 8601 timestamp format. Only the following operators support dates: ==, !=, <=, >=.
["clusterId==123e4567-e89b-12d3-a456-426614174000","source=@Run.ai"]Executed successfully.
Unauthorized
Forbidden
The specified resource was not found
unexpected error
unexpected error
GET /api/v1/network-topologies HTTP/1.1
Host: app.run.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"networkTopologies": [
{
"levels": [
"cloud.provider.com/topology-block",
"cloud.provider.com/topology-rack",
"kubernetes.io/hostname"
],
"name": "default-topology",
"clusterId": "71f69d83-ba66-4822-adf5-55ce55efd210"
},
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"tenantId": 1001,
"createdAt": "2026-01-01T00:00:00.000Z",
"createdBy": "user@lab.com",
"phase": "Ready",
"source": "Run.ai",
"nodePools": [
"a100"
]
}
]
}Creates a network topology object based on the provided specification.
Bearer authentication
Ordered array of network topology levels
["cloud.provider.com/topology-block","cloud.provider.com/topology-rack","kubernetes.io/hostname"]Name of the network topology
default-topologyPattern: ^[a-z]([a-z0-9-]*[a-z0-9])?$The id of the cluster.
71f69d83-ba66-4822-adf5-55ce55efd210Created
Ordered array of network topology levels
["cloud.provider.com/topology-block","cloud.provider.com/topology-rack","kubernetes.io/hostname"]Name of the network topology
default-topologyPattern: ^[a-z]([a-z0-9-]*[a-z0-9])?$The id of the cluster.
71f69d83-ba66-4822-adf5-55ce55efd210The unique identifier for the network topology
123e4567-e89b-12d3-a456-426614174000The id of the tenant.
1001The timestamp for when the network topology was created
Identifier of the user who created the network topology
user@lab.comPhase of the network topology in the cluster. Enum: Creating, Ready
ReadyIdentifier of the the source of the topology. Useful for tracking where the topology data originated (i.e. Run:ai, Cluster).
Run.aiPattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*[a-zA-Z0-9]$List of node-pools associated with this network topology
["a100"]Bad request.
Unauthorized
Forbidden
The specified resource was not found
unexpected error
unexpected error
POST /api/v1/network-topologies HTTP/1.1
Host: app.run.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 185
{
"levels": [
"cloud.provider.com/topology-block",
"cloud.provider.com/topology-rack",
"kubernetes.io/hostname"
],
"name": "default-topology",
"clusterId": "71f69d83-ba66-4822-adf5-55ce55efd210"
}{
"levels": [
"cloud.provider.com/topology-block",
"cloud.provider.com/topology-rack",
"kubernetes.io/hostname"
],
"name": "default-topology",
"clusterId": "71f69d83-ba66-4822-adf5-55ce55efd210",
"id": "123e4567-e89b-12d3-a456-426614174000",
"tenantId": 1001,
"createdAt": "2026-01-01T00:00:00.000Z",
"createdBy": "user@lab.com",
"phase": "Ready",
"source": "Run.ai",
"nodePools": [
"a100"
]
}Retrieve the count of network topologies in a tenant group by selected attributes
Bearer authentication
Filter results by a parameter. Use the format field-name operator value. Supported operators: == Equals != Not equals <= Less than or equal >= Greater than or equal =@ Contains !@ Does not contain =^ Starts with =$ Ends with Date values must be in ISO 8601 timestamp format. Only the following operators support dates: ==, !=, <=, >=.
["clusterId==123e4567-e89b-12d3-a456-426614174000","source=@Run.ai"]Executed successfully.
1Unauthorized
Forbidden
The specified resource was not found
unexpected error
unexpected error
GET /api/v1/network-topologies/count HTTP/1.1
Host: app.run.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 1
}Retrieve network topology details by Universally Unique Identifier (UUID).
Bearer authentication
The unique identifier for the network topology
123e4567-e89b-12d3-a456-426614174000Executed successfully.
Ordered array of network topology levels
["cloud.provider.com/topology-block","cloud.provider.com/topology-rack","kubernetes.io/hostname"]Name of the network topology
default-topologyPattern: ^[a-z]([a-z0-9-]*[a-z0-9])?$The id of the cluster.
71f69d83-ba66-4822-adf5-55ce55efd210The unique identifier for the network topology
123e4567-e89b-12d3-a456-426614174000The id of the tenant.
1001The timestamp for when the network topology was created
Identifier of the user who created the network topology
user@lab.comPhase of the network topology in the cluster. Enum: Creating, Ready
ReadyIdentifier of the the source of the topology. Useful for tracking where the topology data originated (i.e. Run:ai, Cluster).
Run.aiPattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*[a-zA-Z0-9]$List of node-pools associated with this network topology
["a100"]Unauthorized
Forbidden
The specified resource was not found
unexpected error
unexpected error
GET /api/v1/network-topologies/{networkTopologyId} HTTP/1.1
Host: app.run.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"levels": [
"cloud.provider.com/topology-block",
"cloud.provider.com/topology-rack",
"kubernetes.io/hostname"
],
"name": "default-topology",
"clusterId": "71f69d83-ba66-4822-adf5-55ce55efd210",
"id": "123e4567-e89b-12d3-a456-426614174000",
"tenantId": 1001,
"createdAt": "2026-01-01T00:00:00.000Z",
"createdBy": "user@lab.com",
"phase": "Ready",
"source": "Run.ai",
"nodePools": [
"a100"
]
}Delete an existing network topology by its ID.
Bearer authentication
The unique identifier for the network topology
123e4567-e89b-12d3-a456-426614174000No Content.
No content
Unauthorized
Forbidden
The specified resource was not found
unexpected error
unexpected error
DELETE /api/v1/network-topologies/{networkTopologyId} HTTP/1.1
Host: app.run.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Last updated