Skip to main content
Use the discovery API to list available runners and profiles, filter by hardware and networking capabilities, and check live resource capacity before you create sandboxes. Runners are deployments in CKS clusters. Runners register with CoreWeave’s managed control plane and bridge cluster compute into the sandbox platform. Runner capabilities reflect the underlying cluster hardware. Infrastructure administrators configure profiles on runners to set guardrails for networking modes, GPU types, and other capabilities. Every sandbox lands on a profile. You can target specific profiles to control where your sandboxes run.

List available profiles

Profiles describe the runner capabilities and guardrails a sandbox runs under. List them first to decide where to place a sandbox. Use list_profiles() to query profiles and their capabilities:

Filter by networking

Pass networking filters to list_profiles() to narrow results to profiles that support a specific ingress and egress combination:
The API applies every filter together with logical AND, so this call returns only profiles that support both internet egress and public ingress.

Parameters

The following parameters are available on list_profiles():

Get a single profile

Use get_profile() to fetch a specific profile by name:
Optionally scope the lookup to a specific runner with the runner_id parameter.

List available runners

List runners to see which clusters are registered, what hardware they expose, and how much capacity is free before you target one. Use list_runners() to query runners and their capabilities:
Runner objects have a built-in representation that shows the runner ID, health status, CPU and memory in human-readable units, GPU count, and profile list.

Check resource availability

Pass include_resources=True to include live resource data on each runner. Use format_bytes() and format_cpu() to display values in human-readable units:

Filter by capacity

Use capacity filters to find runners that have enough free resources. These filters enable include_resources automatically.

Parameters

The following parameters are available on list_runners():

Get a single runner

Use get_runner() to fetch a specific runner by ID. The call always returns full runner details, including resource availability:

Create a sandbox from discovery results

After you select a profile, pass it directly into sandbox creation to control where the sandbox runs. Each Profile exposes profile_name as its identifier. Pass that value to the profile_names parameter on Sandbox.run() or SandboxDefaults.

Target a profile directly

Pass a discovered profile name to Sandbox.run() through the profile_names parameter:

Use discovery with NetworkOptions

Filter profiles by networking capabilities, then configure the sandbox with matching NetworkOptions:

Set profile in SandboxDefaults

Use SandboxDefaults to apply a discovered profile to all sandboxes in a session:
For additional sandbox configuration options, see the sandbox configuration guide.

Error reference

Discovery calls can raise the following exceptions. Use them to handle missing resources and authentication failures in your code. For the full exception hierarchy, see the exceptions reference. For common troubleshooting steps, see the troubleshooting guide.
Last modified on July 20, 2026