# levers9 > Levers AI Lab: run functions, endpoints, queues, sandboxes, notebooks and GPU jobs on your own cluster; build datasets with human annotation; post-train call agents with human feedback. - [Introduction](https://levers9.mintlify.app/introduction.md): What levers9 is, what it can do, and where to start - [Quickstart](https://levers9.mintlify.app/quickstart.md): From zero to a remote function in five minutes - [Concepts](https://levers9.mintlify.app/concepts.md): The words you will meet, in the order you will meet them - [Architecture](https://levers9.mintlify.app/architecture.md): How levers9 fits together: the controlplane, workers, pools, GPUs, checkpoints and attached clusters - [Every feature](https://levers9.mintlify.app/features.md): A map of the platform, one line per feature, with where to read more - [Docs in your AI tools](https://levers9.mintlify.app/guides/docs-mcp.md): Connect these docs to Claude Code, Cursor or any MCP client, and ask questions against them - [Skills and MCP for AI agents](https://levers9.mintlify.app/guides/agent-skills.md): Hand Claude Code, Cursor or your own agent a skill per feature, the docs as an MCP server, and your workspace as an MCP server - [Parameters](https://levers9.mintlify.app/sdk/parameters.md): The knobs every decorator takes, and what each one changes - [CPU job](https://levers9.mintlify.app/demos/cpu_job.md): Demo: cpu function - [Blueprint](https://levers9.mintlify.app/demos/blueprint.md): Demo: blueprint - [Volumes](https://levers9.mintlify.app/demos/volumes.md): Demo: volumes - [Secrets](https://levers9.mintlify.app/demos/secrets.md): Demo: secrets - [Endpoint](https://levers9.mintlify.app/demos/endpoint.md): Demo: endpoint - [Queue](https://levers9.mintlify.app/demos/queue.md): Demo: queue - [Cron](https://levers9.mintlify.app/demos/cron.md): Demo: cron - [Pipeline](https://levers9.mintlify.app/demos/pipeline.md): Demo: pipeline - [Box, shell and run](https://levers9.mintlify.app/demos/box.md): Demo: box, shell and run - [Sandbox](https://levers9.mintlify.app/sdk/sandbox.md): An isolated container you drive from Python: run code, manage files, expose ports, snapshot memory - [LLM serving](https://levers9.mintlify.app/sdk/llm-serving.md): Serve an open-weights model behind an OpenAI-compatible URL with vLLM - [Cold starts](https://levers9.mintlify.app/sdk/cold-starts.md): What a caller waits for when nothing is running, and the three ways to change it - [MCP server](https://levers9.mintlify.app/sdk/mcp-server.md): Deploy a FastMCP server as a URL that agents and IDEs can call - [GPU job](https://levers9.mintlify.app/demos/gpu.md): Demo: gpu function - [GPU pipeline](https://levers9.mintlify.app/demos/gpu_pipeline.md): Demo: prep on CPU, train ×4 on L40S in parallel, evaluate on L40S, package on CPU - [Dashboard overview](https://levers9.mintlify.app/guides/dashboard.md): The web UI for your workspace: what each page is for - [Workspaces and environments](https://levers9.mintlify.app/dashboard/workspaces.md): Teams, environments that never mix, invites, and the CLI token for each - [Apps](https://levers9.mintlify.app/dashboard/apps.md): Functions and deployments, their calls in order, logs and an execution timeline - [Containers and workers](https://levers9.mintlify.app/dashboard/containers-and-workers.md): What is running now, on which worker, and how loaded each node is - [Logs](https://levers9.mintlify.app/guides/logs.md): How a container's output reaches your terminal and the dashboard, and what happens when something in between fails - [Storage and secrets](https://levers9.mintlify.app/dashboard/storage-and-secrets.md): A file browser for every volume, and API keys that reach containers as environment variables - [Notebooks](https://levers9.mintlify.app/guides/notebooks.md): JupyterLab on the cluster, with a native editor, file browser and live resource meters - [Endpoints](https://levers9.mintlify.app/dashboard/endpoints.md): Serve an open-weights model from a catalog, in one click, behind an OpenAI-compatible URL - [Datasets](https://levers9.mintlify.app/lab/datasets.md): Import audio or text, optionally pre-label with a model, then annotate by hand - [Decision gold sets](https://levers9.mintlify.app/lab/decision-gold-sets.md): Build and annotate a human gold set for a decision model: answers to typed questions, the events that caused them, counterfactuals, and the review of a logged decision - [Sound datasets](https://levers9.mintlify.app/lab/sound-datasets.md): Label short clips by ear: annotators listen to each clip and pick one answer from a list you write - [Annotation](https://levers9.mintlify.app/lab/annotation.md): The editor annotators live in, statuses, filters, and the spreadsheet round-trip - [Sharing and NDA](https://levers9.mintlify.app/lab/sharing.md): Give annotators a link, choose their role, and gate it behind an agreement - [Personal data](https://levers9.mintlify.app/lab/personal-data.md): Find names and numbers in a dataset's text, choose who reads them, and measure how much the scan misses - [Publishing to a bucket](https://levers9.mintlify.app/lab/publishing.md): Send a finished dataset to Google Cloud Storage with a service-account key held as a workspace secret - [Insights](https://levers9.mintlify.app/lab/insights.md): Interactive analytics over datasets, the RL Arena and the platform: build a chart or a number, click to filter, pin to a board, drill to the rows - [RL Arena](https://levers9.mintlify.app/guides/rl-arena.md): Listen, teach, ship: post-training a call agent with human feedback - [Call logs](https://levers9.mintlify.app/lab/call-logs.md): Getting real calls in: webhook, dataset import, paste; how each turn is scored - [Scenarios](https://levers9.mintlify.app/lab/scenarios.md): Thousands of moments grouped into a few dozen situations, ranked by where the agent is weakest - [Compare, train, evaluate](https://levers9.mintlify.app/lab/train-and-evaluate.md): Turning picks into a version, proving it on the same customers, and making it live - [Bring your own engine](https://levers9.mintlify.app/lab/your-own-engine.md): Write a decision engine in your own Python, fit it on real Arena evidence, and run it as a job, in about ten minutes - [Decision models](https://levers9.mintlify.app/lab/decision-models.md): Register a Hugging Face decision model, run it over real calls as a GPU job, and read its report live on the Decision Engine page - [External models](https://levers9.mintlify.app/lab/external-models.md): Jev is hosted outside the Kingdom: real customer calls are sent to it only with the tenant's recorded permission, scrubbed first - [Benchmark engines on real calls](https://levers9.mintlify.app/lab/engine-benchmark.md): Build evidence from the calls your agent actually made, fit every decision engine on it, and score them on calls none of them saw - [Decision API](https://levers9.mintlify.app/lab/decision-api.md): Typed questions about a live call, answered in tens of milliseconds by a decision model on a GPU, and the Decide page that shows it - [Tutorial: decisions from a call and a lead's journey](https://levers9.mintlify.app/lab/journey-decisions.md): One lead through the Decision API, step by step, with the real response to every request: a call alone, the call with the lead's history, the events each answer came from, what the model read, and a recommended action - [Recommendations](https://levers9.mintlify.app/lab/recommendation.md): The Decision API's decision step: candidate actions with their value and cost, business rules, a do-nothing baseline, exploration with a logged propensity, and one recommendation with a templated why, written back to the lead's ledger - [Decide playground](https://levers9.mintlify.app/lab/decide-playground.md): Pick a use case on Lab → Decide and play with the deployed decision model: a call's outcome, message triage, plain-words search, a QA scorecard, and the causality labs - [Culture pack and rubric](https://levers9.mintlify.app/guides/culture-pack.md): What a good reply is, for one market, in one file - [CLI reference](https://levers9.mintlify.app/guides/cli.md): Every levers9 command, grouped by what you are doing - [Blueprints](https://levers9.mintlify.app/guides/blueprints.md): Why your code needs a blueprint, when levers9 builds one, what makes it rebuild, and the installs that fail - [Self-hosting](https://levers9.mintlify.app/guides/self-hosting.md): Running the controlplane, workers and dashboard on your own Kubernetes - [Attach a cluster](https://levers9.mintlify.app/guides/clusters.md): Turn any Kubernetes cluster with GPUs into a pool of workers with one command; the cluster dials in, nothing dials into it - [Train on 1, 2, 4 or 8 cards](https://levers9.mintlify.app/guides/multi-gpu.md): gpu_count is the only knob: the same training function runs on one card, on every card of a node, or as many single-card runs side by side - [GPUs in a GKE cluster](https://levers9.mintlify.app/guides/gke-pool.md): Attach a GKE GPU node pool to the controlplane as a worker pool: one script for the cloud side, one values block, one deploy - [Sign-in](https://levers9.mintlify.app/guides/sign-in.md): Google sign-in for the dashboard and the CLI, how to configure it, and running without it - [Identity and credentials](https://levers9.mintlify.app/guides/identity.md): Who can sign in, what a token is, what holds one, and how access is taken away - [API overview](https://levers9.mintlify.app/api-reference/overview.md): Calling the controlplane over REST - [Dashboard API](https://levers9.mintlify.app/api-reference/dashboard-api.md): The dashboard's own HTTP API: sessions, workspaces, live events, datasets, notebooks, RL - [Auth](https://levers9.mintlify.app/api-reference/controlplaneservice/auth.md): With a token in the Authorization header, says which workspace it belongs to. Without one, on a controlplane whose database has no workspace yet, creates the first workspace and returns its admin token, but only when the request carries the controlplane's bootstrap secret in the Grpc-Metadata-X-Leve… - [Sign payload](https://levers9.mintlify.app/api-reference/controlplaneservice/sign-payload.md) - [List containers](https://levers9.mintlify.app/api-reference/controlplaneservice/list-containers.md) - [Stop container](https://levers9.mintlify.app/api-reference/controlplaneservice/stop-container.md) - [Deployments](https://levers9.mintlify.app/api-reference/controlplaneservice/deployments.md) - [Delete deployment](https://levers9.mintlify.app/api-reference/controlplaneservice/delete-deployment.md) - [Scale deployment](https://levers9.mintlify.app/api-reference/controlplaneservice/scale-deployment.md) - [Start deployment](https://levers9.mintlify.app/api-reference/controlplaneservice/start-deployment.md) - [Stop deployment](https://levers9.mintlify.app/api-reference/controlplaneservice/stop-deployment.md) - [Machines](https://levers9.mintlify.app/api-reference/controlplaneservice/machines.md) - [Create machine](https://levers9.mintlify.app/api-reference/controlplaneservice/create-machine.md) - [Update machine availability](https://levers9.mintlify.app/api-reference/controlplaneservice/update-machine-availability.md) - [Join machine](https://levers9.mintlify.app/api-reference/controlplaneservice/join-machine.md) - [Update machine route status](https://levers9.mintlify.app/api-reference/controlplaneservice/update-machine-route-status.md) - [List machine routes](https://levers9.mintlify.app/api-reference/controlplaneservice/list-machine-routes.md) - [Update machine SSH status](https://levers9.mintlify.app/api-reference/controlplaneservice/update-machine-ssh-status.md) - [Request machine transport credential](https://levers9.mintlify.app/api-reference/controlplaneservice/request-machine-transport-credential.md) - [Delete machine](https://levers9.mintlify.app/api-reference/controlplaneservice/delete-machine.md) - [List marketplace listings](https://levers9.mintlify.app/api-reference/controlplaneservice/list-marketplace-listings.md) - [Create marketplace listing](https://levers9.mintlify.app/api-reference/controlplaneservice/create-marketplace-listing.md) - [Update marketplace listing](https://levers9.mintlify.app/api-reference/controlplaneservice/update-marketplace-listing.md) - [Delete marketplace listing](https://levers9.mintlify.app/api-reference/controlplaneservice/delete-marketplace-listing.md) - [Get marketplace join command](https://levers9.mintlify.app/api-reference/controlplaneservice/get-marketplace-join-command.md) - [List marketplace machines](https://levers9.mintlify.app/api-reference/controlplaneservice/list-marketplace-machines.md) - [List marketplace offers](https://levers9.mintlify.app/api-reference/controlplaneservice/list-marketplace-offers.md) - [Get marketplace offer](https://levers9.mintlify.app/api-reference/controlplaneservice/get-marketplace-offer.md) - [List marketplace rentals](https://levers9.mintlify.app/api-reference/controlplaneservice/list-marketplace-rentals.md) - [Create marketplace rental](https://levers9.mintlify.app/api-reference/controlplaneservice/create-marketplace-rental.md) - [Delete marketplace rental](https://levers9.mintlify.app/api-reference/controlplaneservice/delete-marketplace-rental.md) - [Launch rental workload](https://levers9.mintlify.app/api-reference/controlplaneservice/launch-rental-workload.md) - [Create object](https://levers9.mintlify.app/api-reference/controlplaneservice/create-object.md) - [Objects](https://levers9.mintlify.app/api-reference/controlplaneservice/objects.md) - [Pools](https://levers9.mintlify.app/api-reference/controlplaneservice/pools.md) - [Create pool](https://levers9.mintlify.app/api-reference/controlplaneservice/create-pool.md) - [Create byoc pool](https://levers9.mintlify.app/api-reference/controlplaneservice/create-byoc-pool.md) - [Revoke pool join token](https://levers9.mintlify.app/api-reference/controlplaneservice/revoke-pool-join-token.md) - [List private pools](https://levers9.mintlify.app/api-reference/controlplaneservice/list-private-pools.md) - [Delete pool](https://levers9.mintlify.app/api-reference/controlplaneservice/delete-pool.md) - [Extend pool capacity](https://levers9.mintlify.app/api-reference/controlplaneservice/extend-pool-capacity.md) - [Get byoc pool](https://levers9.mintlify.app/api-reference/controlplaneservice/get-byoc-pool.md) - [Scale byoc pool](https://levers9.mintlify.app/api-reference/controlplaneservice/scale-byoc-pool.md) - [Get pool join command](https://levers9.mintlify.app/api-reference/controlplaneservice/get-pool-join-command.md) - [Create pool join token](https://levers9.mintlify.app/api-reference/controlplaneservice/create-pool-join-token.md) - [List pool machines](https://levers9.mintlify.app/api-reference/controlplaneservice/list-pool-machines.md) - [List machine containers](https://levers9.mintlify.app/api-reference/controlplaneservice/list-machine-containers.md) - [Activate machine SSH key](https://levers9.mintlify.app/api-reference/controlplaneservice/activate-machine-ssh-key.md) - [Download machine SSH key](https://levers9.mintlify.app/api-reference/controlplaneservice/download-machine-ssh-key.md) - [Rotate machine SSH key](https://levers9.mintlify.app/api-reference/controlplaneservice/rotate-machine-ssh-key.md) - [Launch pool capacity](https://levers9.mintlify.app/api-reference/controlplaneservice/launch-pool-capacity.md) - [Private compute pools](https://levers9.mintlify.app/api-reference/controlplaneservice/private-compute-pools.md) - [Stubs](https://levers9.mintlify.app/api-reference/controlplaneservice/stubs.md) - [Deploy stub](https://levers9.mintlify.app/api-reference/controlplaneservice/deploy-stub.md) - [Get URL](https://levers9.mintlify.app/api-reference/controlplaneservice/get-url.md) - [List tasks](https://levers9.mintlify.app/api-reference/controlplaneservice/list-tasks.md) - [End task](https://levers9.mintlify.app/api-reference/controlplaneservice/end-task.md) - [Tasks](https://levers9.mintlify.app/api-reference/controlplaneservice/tasks.md) - [Stop tasks](https://levers9.mintlify.app/api-reference/controlplaneservice/stop-tasks.md) - [Tokens](https://levers9.mintlify.app/api-reference/controlplaneservice/tokens.md) - [Create token](https://levers9.mintlify.app/api-reference/controlplaneservice/create-token.md) - [Delete token](https://levers9.mintlify.app/api-reference/controlplaneservice/delete-token.md) - [Toggle token](https://levers9.mintlify.app/api-reference/controlplaneservice/toggle-token.md) - [Workers](https://levers9.mintlify.app/api-reference/controlplaneservice/workers.md) - [Cordon worker](https://levers9.mintlify.app/api-reference/controlplaneservice/cordon-worker.md) - [Drain worker](https://levers9.mintlify.app/api-reference/controlplaneservice/drain-worker.md) - [Uncordon worker](https://levers9.mintlify.app/api-reference/controlplaneservice/uncordon-worker.md) - [Workspace](https://levers9.mintlify.app/api-reference/controlplaneservice/workspace.md) - [Create a new workspace with a primary token (cluster admin only). Used by the dashboard to provision a workspace for a team or user that signed in.](https://levers9.mintlify.app/api-reference/controlplaneservice/create-a-new-workspace-with-a-primary-token-cluster-admin-only-used-by-the-dashboardto-provision-a-workspace-for-a-team-or-user-that-signed-in.md) - [Create a box](https://levers9.mintlify.app/api-reference/boxservice/create-a-box.md) - [Connect to a box](https://levers9.mintlify.app/api-reference/boxservice/connect-to-a-box.md) - [Snapshot a box's filesystem as a blueprint](https://levers9.mintlify.app/api-reference/boxservice/snapshot-a-boxs-filesystem-as-a-blueprint.md) - [Create a directory](https://levers9.mintlify.app/api-reference/boxservice/create-a-directory.md) - [Delete a directory](https://levers9.mintlify.app/api-reference/boxservice/delete-a-directory.md) - [Run a command](https://levers9.mintlify.app/api-reference/boxservice/run-a-command.md) - [List files](https://levers9.mintlify.app/api-reference/boxservice/list-files.md) - [Download a file](https://levers9.mintlify.app/api-reference/boxservice/download-a-file.md) - [Find in files](https://levers9.mintlify.app/api-reference/boxservice/find-in-files.md) - [Replace in files](https://levers9.mintlify.app/api-reference/boxservice/replace-in-files.md) - [Stat a file](https://levers9.mintlify.app/api-reference/boxservice/stat-a-file.md) - [Upload a file](https://levers9.mintlify.app/api-reference/boxservice/upload-a-file.md) - [Delete a file](https://levers9.mintlify.app/api-reference/boxservice/delete-a-file.md) - [Kill a process](https://levers9.mintlify.app/api-reference/boxservice/kill-a-process.md) - [Update network permissions](https://levers9.mintlify.app/api-reference/boxservice/update-network-permissions.md) - [Expose a port](https://levers9.mintlify.app/api-reference/boxservice/expose-a-port.md) - [List processes](https://levers9.mintlify.app/api-reference/boxservice/list-processes.md) - [Snapshot the disks](https://levers9.mintlify.app/api-reference/boxservice/snapshot-the-disks.md) - [Snapshot memory](https://levers9.mintlify.app/api-reference/boxservice/snapshot-memory.md) - [Get status](https://levers9.mintlify.app/api-reference/boxservice/get-status.md) - [Read stderr](https://levers9.mintlify.app/api-reference/boxservice/read-stderr.md) - [Read stdout](https://levers9.mintlify.app/api-reference/boxservice/read-stdout.md) - [Update the TTL](https://levers9.mintlify.app/api-reference/boxservice/update-the-ttl.md) - [List exposed URLs](https://levers9.mintlify.app/api-reference/boxservice/list-exposed-urls.md) - [List volumes](https://levers9.mintlify.app/api-reference/volumeservice/list-volumes.md) - [Get or create a volume](https://levers9.mintlify.app/api-reference/volumeservice/get-or-create-a-volume.md) - [Copy path stream](https://levers9.mintlify.app/api-reference/volumeservice/copy-path-stream.md) - [Multipart Upload](https://levers9.mintlify.app/api-reference/volumeservice/multipart-upload.md) - [Create multipart upload](https://levers9.mintlify.app/api-reference/volumeservice/create-multipart-upload.md) - [Abort multipart upload](https://levers9.mintlify.app/api-reference/volumeservice/abort-multipart-upload.md) - [Complete multipart upload](https://levers9.mintlify.app/api-reference/volumeservice/complete-multipart-upload.md) - [Create presigned URL](https://levers9.mintlify.app/api-reference/volumeservice/create-presigned-url.md) - [Delete volume](https://levers9.mintlify.app/api-reference/volumeservice/delete-volume.md) - [Move path](https://levers9.mintlify.app/api-reference/volumeservice/move-path.md) - [List path](https://levers9.mintlify.app/api-reference/volumeservice/list-path.md) - [Delete path](https://levers9.mintlify.app/api-reference/volumeservice/delete-path.md) - [Stat path](https://levers9.mintlify.app/api-reference/volumeservice/stat-path.md) - [Build a blueprint](https://levers9.mintlify.app/api-reference/blueprintservice/build-a-blueprint.md) - [Verify a blueprint build](https://levers9.mintlify.app/api-reference/blueprintservice/verify-a-blueprint-build.md) - [List disks](https://levers9.mintlify.app/api-reference/diskservice/list-disks.md) - [Get or create a disk](https://levers9.mintlify.app/api-reference/diskservice/get-or-create-a-disk.md) - [List disk snapshots](https://levers9.mintlify.app/api-reference/diskservice/list-disk-snapshots.md) - [Delete disk](https://levers9.mintlify.app/api-reference/diskservice/delete-disk.md) ## OpenAPI Specs - [blueprint.openapi](/api-reference/openapi/blueprint.openapi.json) - [box.openapi](/api-reference/openapi/box.openapi.json) - [controlplane.openapi](/api-reference/openapi/controlplane.openapi.json) - [disk.openapi](/api-reference/openapi/disk.openapi.json) - [volume.openapi](/api-reference/openapi/volume.openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.