{"version":"211ad9f836655b1c3a2668c4693e442471f28614","pages":[{"id":"docs","title":"Build with Nodus","description":"Run your first job, choose a compute feature, and get from code to results.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/","markdown":"https://nodus-platform-site.pages.dev/docs/source/index.md"},{"id":"docs/concepts","title":"How Nodus works","description":"Resources, orgs and projects, how your work is placed and kept alive, and how prepaid billing measures it.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/concepts/","markdown":"https://nodus-platform-site.pages.dev/docs/source/concepts.md"},{"id":"docs/concepts/attempts-and-recovery","title":"Attempts and recovery","description":"How a run survives a reclaimed or lost machine, what each continuity mode keeps, and who pays for the time a recovery takes.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/concepts/attempts-and-recovery/","markdown":"https://nodus-platform-site.pages.dev/docs/source/concepts/attempts-and-recovery.md"},{"id":"docs/concepts/billing","title":"How billing works","description":"Prepaid credits, holds before every paid action, exact per-second charges, and what happens when money runs out.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/concepts/billing/","markdown":"https://nodus-platform-site.pages.dev/docs/source/concepts/billing.md"},{"id":"docs/concepts/core-resource-model","title":"The resource model","description":"How every Nodus object is named, stored, changed, watched and deleted, and how that maps to Kubernetes tools.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/concepts/core-resource-model/","markdown":"https://nodus-platform-site.pages.dev/docs/source/concepts/core-resource-model.md"},{"id":"docs/concepts/durable-execution","title":"Durable execution","description":"How an agent run survives restarts, and what it needs from your code to do so.","stage":"Beta","url":"https://nodus-platform-site.pages.dev/docs/concepts/durable-execution/","markdown":"https://nodus-platform-site.pages.dev/docs/source/concepts/durable-execution.md"},{"id":"docs/concepts/gang-networking","title":"Gang networking","description":"How the members of a distributed Job reach each other across machines and providers, how Nodus checks the path before training starts, and what each path can carry.","stage":"Beta","url":"https://nodus-platform-site.pages.dev/docs/concepts/gang-networking/","markdown":"https://nodus-platform-site.pages.dev/docs/source/concepts/gang-networking.md"},{"id":"docs/concepts/lifecycles","title":"Lifecycles","description":"The phases a Job, Pipeline or Sweep moves through, what moves it, and how spec.state and conditions relate.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/concepts/lifecycles/","markdown":"https://nodus-platform-site.pages.dev/docs/source/concepts/lifecycles.md"},{"id":"docs/concepts/nodusd-container-contract","title":"Container runtime contract","description":"The directories, environment variables and sockets your code sees inside every Nodus container.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/concepts/nodusd-container-contract/","markdown":"https://nodus-platform-site.pages.dev/docs/source/concepts/nodusd-container-contract.md"},{"id":"docs/concepts/pricing","title":"Pricing","description":"How Nodus sets your rate, what each second and token costs, and how to see the price before you launch.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/concepts/pricing/","markdown":"https://nodus-platform-site.pages.dev/docs/source/concepts/pricing.md"},{"id":"docs/concepts/sandboxes-isolation","title":"Sandbox isolation","description":"What keeps a Sandbox apart from the machine, from other Sandboxes and from the network, and what is kept when it stops.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/concepts/sandboxes-isolation/","markdown":"https://nodus-platform-site.pages.dev/docs/source/concepts/sandboxes-isolation.md"},{"id":"docs/concepts/supply-placement","title":"Placement and scheduling profiles","description":"How Nodus chooses where a run executes, what the estimate includes, and how profiles, deadlines and budgets change the choice.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/concepts/supply-placement/","markdown":"https://nodus-platform-site.pages.dev/docs/source/concepts/supply-placement.md"},{"id":"docs/for-agents","title":"For coding agents","description":"Connect a coding agent over MCP, and the machine-readable versions of these docs, the API and the setup.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/for-agents/","markdown":"https://nodus-platform-site.pages.dev/docs/source/for-agents.md"},{"id":"docs/getting-started","title":"Get started","description":"Install the Nodus CLI, sign in, run a command on a GPU, follow it, get its results and see exactly what it cost.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/getting-started/","markdown":"https://nodus-platform-site.pages.dev/docs/source/getting-started.md"},{"id":"docs/getting-started/install","title":"Install the CLI","description":"Install the nodus CLI on macOS, Linux or Windows, verify the download, turn on shell completion and sign in.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/getting-started/install/","markdown":"https://nodus-platform-site.pages.dev/docs/source/getting-started/install.md"},{"id":"docs/getting-started/kubectl-users","title":"Nodus for kubectl users","description":"How Nodus maps onto the Kubernetes API model, which kubectl verbs nodus supports, and how to point kubectl itself at Nodus.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/getting-started/kubectl-users/","markdown":"https://nodus-platform-site.pages.dev/docs/source/getting-started/kubectl-users.md"},{"id":"docs/getting-started/modal-users","title":"Nodus for Modal users","description":"Move a Modal app to Nodus. The Python SDK keeps Modal's names wherever the concept matches, so most code changes by one import.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/getting-started/modal-users/","markdown":"https://nodus-platform-site.pages.dev/docs/source/getting-started/modal-users.md"},{"id":"docs/getting-started/quickstart","title":"Run your own code","description":"Run a training script from your own directory on a GPU with nodus run, follow it, download its output and read what it cost.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/getting-started/quickstart/","markdown":"https://nodus-platform-site.pages.dev/docs/source/getting-started/quickstart.md"},{"id":"docs/guides","title":"Find a guide","description":"Choose a task, then read the guide you need. Start with running code and add storage, integrations, or billing as needed.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides.md"},{"id":"docs/guides/access/api-keys-and-scopes","title":"API keys and scopes","description":"Create API keys for scripts and CI, limit what they can do with scopes and projects, and revoke them.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/access/api-keys-and-scopes/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/access/api-keys-and-scopes.md"},{"id":"docs/guides/access/connected-agents","title":"Connected agents","description":"See and disconnect the MCP clients you let act on Nodus for you.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/access/connected-agents/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/access/connected-agents.md"},{"id":"docs/guides/access/device-login","title":"Device login","description":"Sign the CLI in on a machine without a browser, or from CI with an existing key.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/access/device-login/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/access/device-login.md"},{"id":"docs/guides/access/members-and-roles","title":"Members and roles","description":"Invite people to your org, choose their role, and remove members safely.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/access/members-and-roles/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/access/members-and-roles.md"},{"id":"docs/guides/access/mfa","title":"Account security","description":"Sign in and control access with organization roles and scoped credentials.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/access/mfa/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/access/mfa.md"},{"id":"docs/guides/access/projects","title":"Projects","description":"Group work inside an org with projects, and restrict members and keys to some of them.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/access/projects/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/access/projects.md"},{"id":"docs/guides/access/quotas","title":"Quotas","description":"See the limits on your org, what counts against them, and how to raise them.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/access/quotas/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/access/quotas.md"},{"id":"docs/guides/access/service-accounts","title":"Service accounts","description":"Give CI and code running on Nodus an identity that belongs to the project, not to a person.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/access/service-accounts/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/access/service-accounts.md"},{"id":"docs/guides/access/sign-up-and-orgs","title":"Sign up and create your org","description":"Create an account, create or join an organization, and switch between the orgs you belong to.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/access/sign-up-and-orgs/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/access/sign-up-and-orgs.md"},{"id":"docs/guides/access/ssh-keys","title":"SSH keys","description":"Add the public keys you use to open a shell in a Workspace.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/access/ssh-keys/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/access/ssh-keys.md"},{"id":"docs/guides/agents","title":"Agents","description":"Run an agent on Claude in its own sandbox, send it follow-up prompts, and pay for the model from your credits.","stage":"Beta","url":"https://nodus-platform-site.pages.dev/docs/guides/agents/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/agents.md"},{"id":"docs/guides/assistant","title":"Ask Nodus","description":"Ask the console assistant why a Job failed, what it cost, or to draft a manifest. It cites the docs, and changes only after you confirm.","stage":"Beta","url":"https://nodus-platform-site.pages.dev/docs/guides/assistant/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/assistant.md"},{"id":"docs/guides/billing","title":"Usage and billing","description":"Add credits, redeem a code, cap spending with Budgets, and see exactly what every run cost.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/billing/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/billing.md"},{"id":"docs/guides/billing/add-a-card","title":"Add a card before running work","description":"Save a payment method without buying credits.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/billing/add-a-card/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/billing/add-a-card.md"},{"id":"docs/guides/billing/auto-recharge","title":"Auto-recharge","description":"Top up automatically from a saved card when your balance falls below a threshold, so running work never stops for money.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/billing/auto-recharge/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/billing/auto-recharge.md"},{"id":"docs/guides/billing/budgets","title":"Budgets and spending caps","description":"Put an enforced limit on what an org, a project or a labelled group of work can spend, and cap any single run.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/billing/budgets/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/billing/budgets.md"},{"id":"docs/guides/billing/buy-credits","title":"Buy credits","description":"Add prepaid credits with a card through Stripe Checkout from the console, the CLI or the API, and add the $20 Indra plan.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/billing/buy-credits/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/billing/buy-credits.md"},{"id":"docs/guides/billing/credits","title":"Credits","description":"The starter credit, credit grants, the order credits are spent in, and when they expire.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/billing/credits/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/billing/credits.md"},{"id":"docs/guides/billing/partner-offers","title":"Partner offers","description":"Apply an eligible partner offer and understand promotional matching.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/billing/partner-offers/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/billing/partner-offers.md"},{"id":"docs/guides/billing/promo-codes","title":"Promo codes","description":"Redeem a promo code for credit, and what each redemption error means.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/billing/promo-codes/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/billing/promo-codes.md"},{"id":"docs/guides/billing/receipts","title":"Receipts and invoices","description":"Find the receipt and invoice for every top-up and plan payment, change where receipts are sent, and manage your card and billing details.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/billing/receipts/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/billing/receipts.md"},{"id":"docs/guides/billing/refunds","title":"Refunds","description":"How to get unspent purchased credit back to your card, and what can be refunded.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/billing/refunds/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/billing/refunds.md"},{"id":"docs/guides/billing/usage-and-costs","title":"Usage and costs","description":"See what each run cost, split by project, label, meter and segment, and export usage as CSV.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/billing/usage-and-costs/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/billing/usage-and-costs.md"},{"id":"docs/guides/billing/what-you-pay-for","title":"What you pay for","description":"Every kind of time and cost, who pays for it, and the usage segment it appears under.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/billing/what-you-pay-for/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/billing/what-you-pay-for.md"},{"id":"docs/guides/billing/when-money-runs-out","title":"When money runs out","description":"How Nodus warns you, stops work gracefully and resumes it when credits, a raised Budget or a raised cap return.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/billing/when-money-runs-out/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/billing/when-money-runs-out.md"},{"id":"docs/guides/checkpoints","title":"Checkpoints","description":"Keep a Job's progress through suspends, stops and lost capacity by saving it to the state directory, and answer checkpoint requests so every save is consistent.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/checkpoints/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/checkpoints.md"},{"id":"docs/guides/choose-compute","title":"Which Nodus compute feature should I use?","description":"Compare Jobs, Workspaces, Sandboxes and Functions. Choose the right way to run code, call models, run agents or train a model on Nodus.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/choose-compute/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/choose-compute.md"},{"id":"docs/guides/connections","title":"Connections","description":"Connect databases, S3 buckets, Weights & Biases and GitHub once, verified, and use them from Jobs, Sandboxes, imports and outputs.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/connections/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/connections.md"},{"id":"docs/guides/console","title":"Use the console","description":"Sign in, find your work, follow it live and copy the matching CLI command from any page.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/console/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/console.md"},{"id":"docs/guides/environments","title":"Environments","description":"Task sets with graders for reinforcement learning and evaluation, from the Nodus catalog or your own image.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/environments/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/environments.md"},{"id":"docs/guides/functions","title":"Functions","description":"Run Python functions on Nodus workers, deploy them as an App that stays up, and look them up from anywhere.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/functions/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/functions.md"},{"id":"docs/guides/functions/billing","title":"What is billed while warm","description":"How Function workers are billed when they run calls, when they wait, and when they scale to zero.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/functions/billing/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/functions/billing.md"},{"id":"docs/guides/functions/calls","title":"Call a Function","description":"Run one call, start calls without waiting, or map a Function over thousands of inputs, and read what comes back.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/functions/calls/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/functions/calls.md"},{"id":"docs/guides/functions/scaling","title":"Scaling and warm workers","description":"Set how many workers a Function keeps, how long an idle one stays, and how many calls each runs at once.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/functions/scaling/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/functions/scaling.md"},{"id":"docs/guides/gpus","title":"Choose GPUs and check availability","description":"See which accelerators are available right now, what they cost, and how to ask for exactly the hardware your run needs.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/gpus/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/gpus.md"},{"id":"docs/guides/images","title":"Images","description":"Run on the catalog images, build your own from a few steps or a Dockerfile, and use private registries.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/images/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/images.md"},{"id":"docs/guides/inference","title":"Inference","description":"Call hosted models through an OpenAI-compatible API, route with Indra, and pay per token.","stage":"Beta","url":"https://nodus-platform-site.pages.dev/docs/guides/inference/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/inference.md"},{"id":"docs/guides/jobs","title":"Jobs","description":"Run a command to completion on a GPU or CPU, watch it, and download what it wrote.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/jobs/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/jobs.md"},{"id":"docs/guides/logs","title":"Logs and metrics","description":"Follow a Job's output live, read it back after the capacity is gone, and watch GPU, CPU and memory use with nodus top.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/logs/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/logs.md"},{"id":"docs/guides/mcp","title":"MCP","description":"Let Claude Code, Cursor, Codex and other agents use Nodus through one MCP server, with confirmation before anything is created.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/mcp/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/mcp.md"},{"id":"docs/guides/migrate-from-0x","title":"Migrate from Nodus Compute 0.x","description":"What moves to the new Nodus automatically, what you recreate, and how the CLI, SDK, agents and billing change.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/migrate-from-0x/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/migrate-from-0x.md"},{"id":"docs/guides/multi-node","title":"Multi-node training (Beta)","description":"Run one training job across several machines with torchrun, Ray or your own launcher, and understand what it costs to assemble them.","stage":"Beta","url":"https://nodus-platform-site.pages.dev/docs/guides/multi-node/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/multi-node.md"},{"id":"docs/guides/notifications","title":"Notifications","description":"Which emails Nodus sends, who receives them, how often, and how to switch off the optional ones.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/notifications/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/notifications.md"},{"id":"docs/guides/outputs","title":"Outputs","description":"Collect files from a Job, download them with a verified checksum, and load results into Postgres.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/outputs/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/outputs.md"},{"id":"docs/guides/pipelines","title":"Pipelines","description":"Chain Jobs into stages that pass outputs along, run in parallel where they can, and share one spending cap.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/pipelines/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/pipelines.md"},{"id":"docs/guides/pools","title":"Run jobs on your own machines","description":"Enroll your hosts into a pool, route jobs to them first, forecast demand and automate routine actions.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/pools/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/pools.md"},{"id":"docs/guides/pools/cloud-accounts","title":"Connect your cloud accounts","description":"Give Nodus read-only access to AWS or GCP to list GPU instances and spend, enroll instances into pools and revoke access at any time.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/pools/cloud-accounts/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/pools/cloud-accounts.md"},{"id":"docs/guides/python","title":"Python SDK","description":"Install the nodus-compute package, sign in, and run your first Function, Sandbox and Job from Python.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/python/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/python.md"},{"id":"docs/guides/python/agents","title":"Agents","description":"Define an agent on Claude from Python, submit runs, run many in parallel, and read each run's answer and steps.","stage":"Beta","url":"https://nodus-platform-site.pages.dev/docs/guides/python/agents/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/python/agents.md"},{"id":"docs/guides/python/api","title":"The resource API","description":"Read, watch, apply and patch any Nodus kind from Python with nodus.api, the generic client under the SDK.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/python/api/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/python/api.md"},{"id":"docs/guides/python/functions","title":"Functions and classes","description":"Define Functions with @app.function, call them with .remote, .map and .spawn, keep state in @app.cls classes, and deploy Apps.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/python/functions/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/python/functions.md"},{"id":"docs/guides/python/inference","title":"Inference","description":"Call catalog models with the official OpenAI and Anthropic clients through nodus.llm, and create named InferenceEndpoints.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/python/inference/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/python/inference.md"},{"id":"docs/guides/python/jobs","title":"Jobs","description":"Run a container to completion from Python with your code uploaded, follow its logs, download its outputs and run multi-node gangs.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/python/jobs/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/python/jobs.md"},{"id":"docs/guides/python/sandboxes","title":"Sandboxes","description":"Create isolated containers from Python, run commands in them, move files and snapshot their filesystem.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/python/sandboxes/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/python/sandboxes.md"},{"id":"docs/guides/python/storage","title":"Images, Volumes and Secrets","description":"Build container images from Python, share files between workers with Volumes, and pass credentials with Secrets.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/python/storage/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/python/storage.md"},{"id":"docs/guides/python/workspaces","title":"Workspaces","description":"Create a development machine with SSH, VS Code, JupyterLab and a persistent home from Python.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/python/workspaces/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/python/workspaces.md"},{"id":"docs/guides/sandboxes","title":"Sandboxes","description":"Create an isolated container, run commands in it with streaming output, read and write files, and stop it to stop paying for compute.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/sandboxes/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/sandboxes.md"},{"id":"docs/guides/secrets","title":"Secrets","description":"Store API tokens, credentials and registry logins once, and pass them to Jobs, Sandboxes, Functions and Agents as env vars and files.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/secrets/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/secrets.md"},{"id":"docs/guides/sweeps","title":"Sweeps","description":"Run one Job across GPU types, regions and parameter values, and compare cost, time and throughput per cell.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/sweeps/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/sweeps.md"},{"id":"docs/guides/training","title":"Training (Beta)","description":"Fine-tune, post-train, distill and pretrain models with TrainingJobs on managed runtimes, on one GPU or across several machines.","stage":"Beta","url":"https://nodus-platform-site.pages.dev/docs/guides/training/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/training.md"},{"id":"docs/guides/volumes","title":"Volumes","description":"Keep datasets, model weights and working files in Volumes, upload and download them, import from Hugging Face, git, URLs or S3, and mount them in Jobs and Sandboxes.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/volumes/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/volumes.md"},{"id":"docs/guides/webhooks","title":"Webhooks","description":"Get signed HTTPS callbacks when Jobs finish, balances run low and other events happen, and verify them.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/webhooks/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/webhooks.md"},{"id":"docs/guides/workspaces","title":"Workspaces","description":"A GPU or CPU development machine with a saved home directory, reached with SSH, VS Code or JupyterLab.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/guides/workspaces/","markdown":"https://nodus-platform-site.pages.dev/docs/source/guides/workspaces.md"},{"id":"docs/reference","title":"Reference","description":"Look up exact CLI commands, Python signatures, API fields, errors, and prices.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference.md"},{"id":"docs/reference/api","title":"HTTP API","description":"The Nodus REST API, Kubernetes-style resources under /apis/nodus.dev, generated from the Go types.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/api/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/api.md"},{"id":"docs/reference/cli","title":"CLI reference","description":"Every nodus command, flag and example, generated from the CLI's command tree.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli.md"},{"id":"docs/reference/cli/nodus","title":"nodus","description":"Run compute Jobs on Nodus","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus.md"},{"id":"docs/reference/cli/nodus_agentrun","title":"nodus agentrun","description":"Message an AgentRun and read its steps and answer","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_agentrun/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_agentrun.md"},{"id":"docs/reference/cli/nodus_agentrun_answer","title":"nodus agentrun answer","description":"Print an AgentRun's last answer in full","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_agentrun_answer/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_agentrun_answer.md"},{"id":"docs/reference/cli/nodus_agentrun_send","title":"nodus agentrun send","description":"Send a message to an AgentRun, which takes it as its next prompt","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_agentrun_send/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_agentrun_send.md"},{"id":"docs/reference/cli/nodus_agentrun_steps","title":"nodus agentrun steps","description":"List an AgentRun's journal steps: what it did, in order","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_agentrun_steps/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_agentrun_steps.md"},{"id":"docs/reference/cli/nodus_annotate","title":"nodus annotate","description":"Set or remove annotations","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_annotate/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_annotate.md"},{"id":"docs/reference/cli/nodus_api-resources","title":"nodus api-resources","description":"List the kinds the server offers","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_api-resources/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_api-resources.md"},{"id":"docs/reference/cli/nodus_apply","title":"nodus apply","description":"Create or update resources from manifests (client-side three-way merge)","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_apply/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_apply.md"},{"id":"docs/reference/cli/nodus_attach","title":"nodus attach","description":"Attach to a running Process of a Job, Sandbox or Workspace","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_attach/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_attach.md"},{"id":"docs/reference/cli/nodus_auth","title":"nodus auth","description":"Credentials for other tools, and permission checks","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_auth/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_auth.md"},{"id":"docs/reference/cli/nodus_auth_can-i","title":"nodus auth can-i","description":"Check whether the current credential may perform an action","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_auth_can-i/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_auth_can-i.md"},{"id":"docs/reference/cli/nodus_auth_token","title":"nodus auth token","description":"Print an ExecCredential for kubectl and client-go (the kubeconfig exec plugin)","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_auth_token/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_auth_token.md"},{"id":"docs/reference/cli/nodus_billing","title":"nodus billing","description":"Show the org's balance; top up, redeem a code and manage auto-recharge","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_billing/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_billing.md"},{"id":"docs/reference/cli/nodus_billing_auto-recharge","title":"nodus billing auto-recharge","description":"Top up automatically when available credit falls below a threshold","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_billing_auto-recharge/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_billing_auto-recharge.md"},{"id":"docs/reference/cli/nodus_billing_deal","title":"nodus billing deal","description":"View partner offers or request an eligibility review","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_billing_deal/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_billing_deal.md"},{"id":"docs/reference/cli/nodus_billing_portal","title":"nodus billing portal","description":"Open the Stripe Customer Portal: cards, invoices and billing details","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_billing_portal/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_billing_portal.md"},{"id":"docs/reference/cli/nodus_billing_receipts","title":"nodus billing receipts","description":"List top-ups with their Stripe receipt links","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_billing_receipts/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_billing_receipts.md"},{"id":"docs/reference/cli/nodus_billing_redeem","title":"nodus billing redeem","description":"Redeem a promo code for credit","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_billing_redeem/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_billing_redeem.md"},{"id":"docs/reference/cli/nodus_billing_top-up","title":"nodus billing top-up","description":"Buy prepaid credit with Stripe Checkout ($5–$1,000)","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_billing_top-up/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_billing_top-up.md"},{"id":"docs/reference/cli/nodus_billing_usage","title":"nodus billing usage","description":"Show metered usage, itemized or summed by project, kind, member, label, meter, day, segment, offering or rank","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_billing_usage/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_billing_usage.md"},{"id":"docs/reference/cli/nodus_cancel","title":"nodus cancel","description":"Cancel a run, FunctionCall or Process","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_cancel/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_cancel.md"},{"id":"docs/reference/cli/nodus_cloud","title":"nodus cloud","description":"Inspect connected cloud accounts","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_cloud/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_cloud.md"},{"id":"docs/reference/cli/nodus_cloud_inventory","title":"nodus cloud inventory","description":"List the instances, GPUs or spend a cloud account's last sync saw","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_cloud_inventory/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_cloud_inventory.md"},{"id":"docs/reference/cli/nodus_completion","title":"nodus completion","description":"Generate the autocompletion script for the specified shell","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_completion/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_completion.md"},{"id":"docs/reference/cli/nodus_completion_bash","title":"nodus completion bash","description":"Generate the autocompletion script for bash","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_completion_bash/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_completion_bash.md"},{"id":"docs/reference/cli/nodus_completion_fish","title":"nodus completion fish","description":"Generate the autocompletion script for fish","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_completion_fish/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_completion_fish.md"},{"id":"docs/reference/cli/nodus_completion_powershell","title":"nodus completion powershell","description":"Generate the autocompletion script for powershell","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_completion_powershell/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_completion_powershell.md"},{"id":"docs/reference/cli/nodus_completion_zsh","title":"nodus completion zsh","description":"Generate the autocompletion script for zsh","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_completion_zsh/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_completion_zsh.md"},{"id":"docs/reference/cli/nodus_config","title":"nodus config","description":"Show and change contexts in ~/.nodus/config","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_config/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_config.md"},{"id":"docs/reference/cli/nodus_config_current-context","title":"nodus config current-context","description":"Print the current context","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_config_current-context/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_config_current-context.md"},{"id":"docs/reference/cli/nodus_config_get-contexts","title":"nodus config get-contexts","description":"List contexts","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_config_get-contexts/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_config_get-contexts.md"},{"id":"docs/reference/cli/nodus_config_set-context","title":"nodus config set-context","description":"Change a context's project or server (NAME defaults to the current context)","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_config_set-context/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_config_set-context.md"},{"id":"docs/reference/cli/nodus_config_use-context","title":"nodus config use-context","description":"Switch the current context","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_config_use-context/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_config_use-context.md"},{"id":"docs/reference/cli/nodus_config_view","title":"nodus config view","description":"Print the config (keys stay in the keychain)","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_config_view/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_config_view.md"},{"id":"docs/reference/cli/nodus_convert","title":"nodus convert","description":"Turn a 0.x nodus.toml or training file into manifests for nodus apply","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_convert/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_convert.md"},{"id":"docs/reference/cli/nodus_cp","title":"nodus cp","description":"Copy files to and from a running Sandbox, Workspace or Job, or download a Job output","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_cp/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_cp.md"},{"id":"docs/reference/cli/nodus_create","title":"nodus create","description":"Create resources from manifests or with a typed generator","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_create/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create.md"},{"id":"docs/reference/cli/nodus_create_agentgroup","title":"nodus create agentgroup","description":"Create a agentgroup","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_create_agentgroup/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_agentgroup.md"},{"id":"docs/reference/cli/nodus_create_agentrun","title":"nodus create agentrun","description":"Create a agentrun","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_create_agentrun/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_agentrun.md"},{"id":"docs/reference/cli/nodus_create_apikey","title":"nodus create apikey","description":"Create an API key (printed once)","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_create_apikey/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_apikey.md"},{"id":"docs/reference/cli/nodus_create_budget","title":"nodus create budget","description":"Create a budget","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_create_budget/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_budget.md"},{"id":"docs/reference/cli/nodus_create_enrollmenttoken","title":"nodus create enrollmenttoken","description":"Create a token that enrolls one host into a Pool (installer printed once)","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_create_enrollmenttoken/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_enrollmenttoken.md"},{"id":"docs/reference/cli/nodus_create_inferenceendpoint","title":"nodus create inferenceendpoint","description":"Create a inferenceendpoint","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_create_inferenceendpoint/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_inferenceendpoint.md"},{"id":"docs/reference/cli/nodus_create_invite","title":"nodus create invite","description":"Invite someone to the org by email","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_create_invite/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_invite.md"},{"id":"docs/reference/cli/nodus_create_sandbox","title":"nodus create sandbox","description":"Create a sandbox","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_create_sandbox/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_sandbox.md"},{"id":"docs/reference/cli/nodus_create_secret","title":"nodus create secret","description":"Create a secret","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_create_secret/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_secret.md"},{"id":"docs/reference/cli/nodus_create_sshkey","title":"nodus create sshkey","description":"Add an SSH public key, or generate a key pair and add it","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_create_sshkey/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_sshkey.md"},{"id":"docs/reference/cli/nodus_create_token","title":"nodus create token","description":"Mint a ServiceAccount API key (printed once)","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_create_token/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_token.md"},{"id":"docs/reference/cli/nodus_create_volume","title":"nodus create volume","description":"Create a volume","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_create_volume/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_volume.md"},{"id":"docs/reference/cli/nodus_create_workspace","title":"nodus create workspace","description":"Create a workspace","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_create_workspace/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_create_workspace.md"},{"id":"docs/reference/cli/nodus_delete","title":"nodus delete","description":"Delete resources","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_delete/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_delete.md"},{"id":"docs/reference/cli/nodus_deploy","title":"nodus deploy","description":"Deploy the nodus.App in APP.py as a persistent App","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_deploy/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_deploy.md"},{"id":"docs/reference/cli/nodus_describe","title":"nodus describe","description":"Show everything about one resource: attempts, placement, checkpoint, cost, conditions and events","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_describe/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_describe.md"},{"id":"docs/reference/cli/nodus_diff","title":"nodus diff","description":"Show what apply would change, from a server dry-run (exit 1 when there are differences)","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_diff/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_diff.md"},{"id":"docs/reference/cli/nodus_edit","title":"nodus edit","description":"Edit a resource in $EDITOR and save it as a merge patch","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_edit/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_edit.md"},{"id":"docs/reference/cli/nodus_events","title":"nodus events","description":"List events in the project, or for one object, and watch for new ones","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_events/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_events.md"},{"id":"docs/reference/cli/nodus_exec","title":"nodus exec","description":"Run a command in a running Job, Sandbox or Workspace (recorded as a Process)","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_exec/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_exec.md"},{"id":"docs/reference/cli/nodus_explain","title":"nodus explain","description":"Show the documentation of a kind or one of its fields","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_explain/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_explain.md"},{"id":"docs/reference/cli/nodus_get","title":"nodus get","description":"List or show resources","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_get/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_get.md"},{"id":"docs/reference/cli/nodus_get_transactions","title":"nodus get transactions","description":"List postings on the org's wallet with the balance after each","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_get_transactions/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_get_transactions.md"},{"id":"docs/reference/cli/nodus_get_usage","title":"nodus get usage","description":"Show metered usage, itemized or summed by project, kind, member, label, meter, day, segment, offering or rank","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_get_usage/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_get_usage.md"},{"id":"docs/reference/cli/nodus_inference","title":"nodus inference","description":"Call hosted models: list them, send a chat completion and read a request's receipt","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_inference/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_inference.md"},{"id":"docs/reference/cli/nodus_inference_chat","title":"nodus inference chat","description":"Send one chat completion and print the answer; the request id and charge go to stderr","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_inference_chat/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_inference_chat.md"},{"id":"docs/reference/cli/nodus_inference_models","title":"nodus inference models","description":"List the models you can call now","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_inference_models/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_inference_models.md"},{"id":"docs/reference/cli/nodus_inference_receipt","title":"nodus inference receipt","description":"Show what one inference request was charged (receipts are kept 30 days)","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_inference_receipt/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_inference_receipt.md"},{"id":"docs/reference/cli/nodus_init","title":"nodus init","description":"Scaffold a manifest or app.py in the current directory","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_init/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_init.md"},{"id":"docs/reference/cli/nodus_label","title":"nodus label","description":"Set or remove labels","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_label/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_label.md"},{"id":"docs/reference/cli/nodus_login","title":"nodus login","description":"Sign in through the console and store one API key per chosen org","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_login/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_login.md"},{"id":"docs/reference/cli/nodus_logout","title":"nodus logout","description":"Revoke the context's CLI key and remove the context","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_logout/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_logout.md"},{"id":"docs/reference/cli/nodus_logs","title":"nodus logs","description":"Print or follow a resource's output","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_logs/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_logs.md"},{"id":"docs/reference/cli/nodus_mcp","title":"nodus mcp","description":"Serve Nodus tools to a local MCP client over stdio","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_mcp/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_mcp.md"},{"id":"docs/reference/cli/nodus_mcp_install","title":"nodus mcp install","description":"Add the Nodus MCP server to Claude Code, Cursor or Codex","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_mcp_install/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_mcp_install.md"},{"id":"docs/reference/cli/nodus_open","title":"nodus open","description":"Open a resource's console page, or a port of its container, in the browser","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_open/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_open.md"},{"id":"docs/reference/cli/nodus_patch","title":"nodus patch","description":"Update fields of a resource with a merge or JSON patch","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_patch/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_patch.md"},{"id":"docs/reference/cli/nodus_pool","title":"nodus pool","description":"Pool utilization, forecasts, recommendations and actions","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_pool/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool.md"},{"id":"docs/reference/cli/nodus_pool_approve","title":"nodus pool approve","description":"Approve a proposed PoolAction","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_pool_approve/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool_approve.md"},{"id":"docs/reference/cli/nodus_pool_forecast","title":"nodus pool forecast","description":"Show a pool's demand forecast with p50 and p90 bands","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_pool_forecast/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool_forecast.md"},{"id":"docs/reference/cli/nodus_pool_pause","title":"nodus pool pause","description":"Pause every automated action in a pool","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_pool_pause/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool_pause.md"},{"id":"docs/reference/cli/nodus_pool_recommendations","title":"nodus pool recommendations","description":"List a pool's recommendations","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_pool_recommendations/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool_recommendations.md"},{"id":"docs/reference/cli/nodus_pool_reject","title":"nodus pool reject","description":"Reject a proposed PoolAction","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_pool_reject/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool_reject.md"},{"id":"docs/reference/cli/nodus_pool_resume","title":"nodus pool resume","description":"Resume every automated action in a pool","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_pool_resume/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool_resume.md"},{"id":"docs/reference/cli/nodus_pool_revert","title":"nodus pool revert","description":"Undo an executed PoolAction where the action allows it","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_pool_revert/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool_revert.md"},{"id":"docs/reference/cli/nodus_pool_utilization","title":"nodus pool utilization","description":"Show a pool's GPU utilization and device-hour ledger","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_pool_utilization/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_pool_utilization.md"},{"id":"docs/reference/cli/nodus_port-forward","title":"nodus port-forward","description":"Forward local ports to a Job, Sandbox or Workspace","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_port-forward/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_port-forward.md"},{"id":"docs/reference/cli/nodus_request","title":"nodus request","description":"Request an action: restart, refresh-secrets, reload-sinks, verify, resend, start, reimport, approve-burst, drain","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_request/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_request.md"},{"id":"docs/reference/cli/nodus_resume","title":"nodus resume","description":"Resume a suspended run","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_resume/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_resume.md"},{"id":"docs/reference/cli/nodus_rollout","title":"nodus rollout","description":"Roll out changes","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_rollout/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_rollout.md"},{"id":"docs/reference/cli/nodus_rollout_restart","title":"nodus rollout restart","description":"Restart without a spec change (alias of `request restart`)","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_rollout_restart/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_rollout_restart.md"},{"id":"docs/reference/cli/nodus_run","title":"nodus run","description":"Run a command as a Job: estimate, phases, logs and the final cost","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_run/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_run.md"},{"id":"docs/reference/cli/nodus_secret","title":"nodus secret","description":"Create Secrets from literals, env files or registry logins","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_secret/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_secret.md"},{"id":"docs/reference/cli/nodus_secret_create","title":"nodus secret create","description":"Create a Secret","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_secret_create/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_secret_create.md"},{"id":"docs/reference/cli/nodus_serve","title":"nodus serve","description":"Run the App in APP.py and redeploy it whenever a file changes","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_serve/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_serve.md"},{"id":"docs/reference/cli/nodus_shell","title":"nodus shell","description":"Open an interactive shell in a Sandbox, creating it if it is not there","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_shell/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_shell.md"},{"id":"docs/reference/cli/nodus_ssh","title":"nodus ssh","description":"Connect to a Workspace over SSH","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_ssh/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_ssh.md"},{"id":"docs/reference/cli/nodus_start","title":"nodus start","description":"Start a stopped Sandbox, Workspace, Function, Agent or InferenceEndpoint","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_start/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_start.md"},{"id":"docs/reference/cli/nodus_stop","title":"nodus stop","description":"Stop a Sandbox, Workspace, Function, Agent or InferenceEndpoint","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_stop/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_stop.md"},{"id":"docs/reference/cli/nodus_suspend","title":"nodus suspend","description":"Suspend a Job, Pipeline, Sweep, TrainingJob or AgentRun (checkpointing first)","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_suspend/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_suspend.md"},{"id":"docs/reference/cli/nodus_top","title":"nodus top","description":"Show GPU, CPU and memory use, the hourly rate and spend of running Jobs","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_top/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_top.md"},{"id":"docs/reference/cli/nodus_version","title":"nodus version","description":"Print the client version","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_version/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_version.md"},{"id":"docs/reference/cli/nodus_volume","title":"nodus volume","description":"Put, get, list and remove the files of a Volume","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_volume/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_volume.md"},{"id":"docs/reference/cli/nodus_volume_clear","title":"nodus volume clear","description":"Commit an empty revision; the Volume and its history stay","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_volume_clear/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_volume_clear.md"},{"id":"docs/reference/cli/nodus_volume_get","title":"nodus volume get","description":"Download a file or directory from a Volume","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_volume_get/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_volume_get.md"},{"id":"docs/reference/cli/nodus_volume_ls","title":"nodus volume ls","description":"List a directory of a Volume","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_volume_ls/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_volume_ls.md"},{"id":"docs/reference/cli/nodus_volume_put","title":"nodus volume put","description":"Add a local file or directory to a Volume as a new revision","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_volume_put/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_volume_put.md"},{"id":"docs/reference/cli/nodus_volume_rm","title":"nodus volume rm","description":"Remove a file or directory from a Volume as a new revision","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_volume_rm/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_volume_rm.md"},{"id":"docs/reference/cli/nodus_wait","title":"nodus wait","description":"Wait until a resource meets a condition","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_wait/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_wait.md"},{"id":"docs/reference/cli/nodus_whoami","title":"nodus whoami","description":"Show the signed-in principal, org, role, project, scopes and available credit","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/cli/nodus_whoami/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/cli/nodus_whoami.md"},{"id":"docs/reference/environments","title":"Environments","description":"Every catalog Environment, its category, reward and readiness.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/environments/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/environments.md"},{"id":"docs/reference/environments/arithmetic-v2","title":"arithmetic-v2","description":"Evaluate short integer expressions with standard precedence and give the exact result.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/environments/arithmetic-v2/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/environments/arithmetic-v2.md"},{"id":"docs/reference/environments/graph-coloring","title":"graph-coloring","description":"Color a small graph with three colors so that no edge joins two nodes of the same color.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/environments/graph-coloring/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/environments/graph-coloring.md"},{"id":"docs/reference/environments/gsm8k","title":"gsm8k","description":"Eight thousand grade-school maths word problems, each with a worked solution and a single numeric answer.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/environments/gsm8k/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/environments/gsm8k.md"},{"id":"docs/reference/environments/letter-counting-legacy-eval","title":"letter-counting-legacy-eval","description":"Legacy letter-counting evaluation protocol: first 64 generated tasks, raw completion scoring.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/environments/letter-counting-legacy-eval/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/environments/letter-counting-legacy-eval.md"},{"id":"docs/reference/environments/letter-counting-legacy-rl","title":"letter-counting-legacy-rl","description":"Legacy letter-counting RL protocol: first 64 generated tasks train, next 64 held out.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/environments/letter-counting-legacy-rl/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/environments/letter-counting-legacy-rl.md"},{"id":"docs/reference/environments/python-functions","title":"python-functions","description":"Write solve(values: list[int]) -> int from a one-line specification; private cases decide the verdict.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/environments/python-functions/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/environments/python-functions.md"},{"id":"docs/reference/environments/reasoning-gym","title":"reasoning-gym","description":"Procedural reasoning generators with deterministic algorithmic scorers; only reviewed families are served.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/environments/reasoning-gym/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/environments/reasoning-gym.md"},{"id":"docs/reference/errors","title":"Error codes","description":"One page per API error code, with its HTTP status, what it means and how to fix it.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors.md"},{"id":"docs/reference/errors/admissions-paused","title":"AdmissionsPaused","description":"Operators paused admissions for this kind; existing objects keep running.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/admissions-paused/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/admissions-paused.md"},{"id":"docs/reference/errors/agent-group-closed","title":"AgentGroupClosed","description":"A sealed, canceled, finished or deleting AgentGroup admits no new member runs.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/agent-group-closed/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/agent-group-closed.md"},{"id":"docs/reference/errors/agent-group-full","title":"AgentGroupFull","description":"An AgentGroup admits at most spec.limits.maxPending unfinished member runs.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/agent-group-full/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/agent-group-full.md"},{"id":"docs/reference/errors/agent-run-finished","title":"AgentRunFinished","description":"A run in a terminal phase (Succeeded, Failed or canceled) no longer reads its inbox.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/agent-run-finished/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/agent-run-finished.md"},{"id":"docs/reference/errors/agent-stopped","title":"AgentStopped","description":"An Agent in the Stopped state refuses new runs; runs already created are not affected.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/agent-stopped/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/agent-stopped.md"},{"id":"docs/reference/errors/already-exists","title":"AlreadyExists","description":"A create by name found an object with that name whose spec differs; an identical create returns the object.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/already-exists/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/already-exists.md"},{"id":"docs/reference/errors/arrears-outstanding","title":"ArrearsOutstanding","description":"Charges that the org's credits could not cover are unpaid; they block new work until they are settled.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/arrears-outstanding/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/arrears-outstanding.md"},{"id":"docs/reference/errors/bad-request","title":"BadRequest","description":"The request is malformed: a query parameter, selector or body could not be parsed.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/bad-request/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/bad-request.md"},{"id":"docs/reference/errors/budget-exceeded","title":"BudgetExceeded","description":"A Block budget or a maxCostUSD cap that applies to the object has less room than the action's hold.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/budget-exceeded/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/budget-exceeded.md"},{"id":"docs/reference/errors/capacity-unavailable","title":"CapacityUnavailable","description":"No offering that meets the requirements has capacity at the moment.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/capacity-unavailable/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/capacity-unavailable.md"},{"id":"docs/reference/errors/cloud-account-not-verified","title":"CloudAccountNotVerified","description":"Nodus reads inventory only after it has verified the account's read-only access.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/cloud-account-not-verified/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/cloud-account-not-verified.md"},{"id":"docs/reference/errors/conflict","title":"Conflict","description":"The object changed after the caller read it (the resourceVersion is stale).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/conflict/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/conflict.md"},{"id":"docs/reference/errors/connection-not-ready","title":"ConnectionNotReady","description":"A Connection is usable once a verification passed.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/connection-not-ready/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/connection-not-ready.md"},{"id":"docs/reference/errors/encryption-failed","title":"EncryptionFailed","description":"The org's encryption key was unavailable; nothing was stored.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/encryption-failed/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/encryption-failed.md"},{"id":"docs/reference/errors/enrollment-token-invalid","title":"EnrollmentTokenInvalid","description":"An enrollment token works once, for 24 hours, for the pool it was created for.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/enrollment-token-invalid/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/enrollment-token-invalid.md"},{"id":"docs/reference/errors/expired","title":"Expired","description":"The watch position or list continue token is older than the 24-hour change history.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/expired/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/expired.md"},{"id":"docs/reference/errors/field-immutable","title":"FieldImmutable","description":"The update changes a spec field that is immutable after create; the causes list each changed field.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/field-immutable/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/field-immutable.md"},{"id":"docs/reference/errors/file-too-large","title":"FileTooLarge","description":"A file request carries at most 64 MiB; larger data does not go through the files API.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/file-too-large/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/file-too-large.md"},{"id":"docs/reference/errors/forbidden","title":"Forbidden","description":"The credential is valid but lacks the scope or project access the operation needs.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/forbidden/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/forbidden.md"},{"id":"docs/reference/errors/function-call-batch-too-large","title":"FunctionCallBatchTooLarge","description":"A batch create takes at most 1,000 calls and 8 MiB.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/function-call-batch-too-large/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/function-call-batch-too-large.md"},{"id":"docs/reference/errors/function-not-found","title":"FunctionNotFound","description":"The Function does not exist in the project, or it was deleted since the call was prepared.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/function-not-found/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/function-not-found.md"},{"id":"docs/reference/errors/idempotency-key-reused","title":"IdempotencyKeyReused","description":"The Idempotency-Key was used in the last 24 hours with a different request body.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/idempotency-key-reused/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/idempotency-key-reused.md"},{"id":"docs/reference/errors/image-build-unavailable","title":"ImageBuildUnavailable","description":"This deployment cannot build image steps, Dockerfiles or Sandbox snapshots; prebuilt registry images remain supported.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/image-build-unavailable/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/image-build-unavailable.md"},{"id":"docs/reference/errors/image-not-found","title":"ImageNotFound","description":"The tag or digest does not exist in the registry, or the pull credentials cannot see it.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/image-not-found/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/image-not-found.md"},{"id":"docs/reference/errors/image-not-ready","title":"ImageNotReady","description":"An imageRef runs the digest the Image built; the Image has none yet.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/image-not-ready/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/image-not-ready.md"},{"id":"docs/reference/errors/image-pull-failed","title":"ImagePullFailed","description":"The registry refused the credentials or was unavailable while pinning the image to a digest.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/image-pull-failed/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/image-pull-failed.md"},{"id":"docs/reference/errors/insufficient-credits","title":"InsufficientCredits","description":"The org's available credits do not cover the hold that the action reserves before it starts.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/insufficient-credits/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/insufficient-credits.md"},{"id":"docs/reference/errors/internal-error","title":"InternalError","description":"The server hit an unexpected failure; the request id finds it in the logs.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/internal-error/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/internal-error.md"},{"id":"docs/reference/errors/invalid","title":"Invalid","description":"The object fails strict decoding or validation; `details.causes` lists every field and reason.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/invalid/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/invalid.md"},{"id":"docs/reference/errors/method-not-allowed","title":"MethodNotAllowed","description":"The resource does not support this verb (for example, a read-only kind).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/method-not-allowed/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/method-not-allowed.md"},{"id":"docs/reference/errors/no-ssh-key","title":"NoSSHKey","description":"The Workspace accepts only the SSHKeys named in spec.sshKeys, or every project member's keys when it names none.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/no-ssh-key/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/no-ssh-key.md"},{"id":"docs/reference/errors/not-found","title":"NotFound","description":"The object, project or path does not exist in this org.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/not-found/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/not-found.md"},{"id":"docs/reference/errors/output-index-required","title":"OutputIndexRequired","description":"Several indexes of an Indexed Job committed the output; the download must pick one.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/output-index-required/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/output-index-required.md"},{"id":"docs/reference/errors/output-not-found","title":"OutputNotFound","description":"The Job did not commit an output by that name, or not at that index.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/output-not-found/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/output-not-found.md"},{"id":"docs/reference/errors/payment-disputed","title":"PaymentDisputed","description":"A card payment on the org is disputed; new work cannot start until the dispute closes.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/payment-disputed/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/payment-disputed.md"},{"id":"docs/reference/errors/payment-method-required","title":"PaymentMethodRequired","description":"New work requires a verified card, including work funded by promotional credit. Adding a card does not charge it.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/payment-method-required/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/payment-method-required.md"},{"id":"docs/reference/errors/payment-verification-unavailable","title":"PaymentVerificationUnavailable","description":"Stripe could not confirm the payment method. Existing running work retains its funded holds.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/payment-verification-unavailable/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/payment-verification-unavailable.md"},{"id":"docs/reference/errors/payments-not-configured","title":"PaymentsNotConfigured","description":"The deployment holds no Stripe key, so it takes no card payments; balances, grants and usage still work.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/payments-not-configured/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/payments-not-configured.md"},{"id":"docs/reference/errors/pool-act-paused","title":"PoolActPaused","description":"The pool's kill switch stops every action until it is resumed.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/pool-act-paused/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/pool-act-paused.md"},{"id":"docs/reference/errors/pool-action-not-pending","title":"PoolActionNotPending","description":"Only a queued, undecided action waits for a decision; it may have expired or been decided by someone else.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/pool-action-not-pending/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/pool-action-not-pending.md"},{"id":"docs/reference/errors/pool-action-not-reversible","title":"PoolActionNotReversible","description":"Only an executed drain, undrain or routing change can be reverted, once.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/pool-action-not-reversible/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/pool-action-not-reversible.md"},{"id":"docs/reference/errors/pool-in-use","title":"PoolInUse","description":"A Pool is deleted only once no Node is enrolled in it and no object names it in spec.placement.pool.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/pool-in-use/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/pool-in-use.md"},{"id":"docs/reference/errors/precondition-failed","title":"PreconditionFailed","description":"The If-Match value no longer matches the compiled spec and price book of a fresh dry-run.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/precondition-failed/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/precondition-failed.md"},{"id":"docs/reference/errors/price-consent-required","title":"PriceConsentRequired","description":"Pool routing and Predict are billed, so turning either on records consent to its current price.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/price-consent-required/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/price-consent-required.md"},{"id":"docs/reference/errors/promo-code-expired","title":"PromoCodeExpired","description":"The promo code exists but can no longer be redeemed.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/promo-code-expired/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/promo-code-expired.md"},{"id":"docs/reference/errors/promo-code-used","title":"PromoCodeUsed","description":"The org has already redeemed the code as often as it may, or the code has no redemptions left.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/promo-code-used/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/promo-code-used.md"},{"id":"docs/reference/errors/quota-exceeded","title":"QuotaExceeded","description":"The org or project already uses everything its Quota allows of this counter.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/quota-exceeded/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/quota-exceeded.md"},{"id":"docs/reference/errors/request-entity-too-large","title":"RequestEntityTooLarge","description":"The request body is larger than the route accepts (1 MiB for JSON).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/request-entity-too-large/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/request-entity-too-large.md"},{"id":"docs/reference/errors/request-in-progress","title":"RequestInProgress","description":"The original request with this Idempotency-Key has not finished yet.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/request-in-progress/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/request-in-progress.md"},{"id":"docs/reference/errors/sandbox-failed","title":"SandboxFailed","description":"The Sandbox is in the Failed phase, which is final: status.reason says why.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/sandbox-failed/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/sandbox-failed.md"},{"id":"docs/reference/errors/sandbox-not-running","title":"SandboxNotRunning","description":"The Sandbox is being deleted, so no command, file or port request can reach it and none starts it.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/sandbox-not-running/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/sandbox-not-running.md"},{"id":"docs/reference/errors/sandbox-starting","title":"SandboxStarting","description":"The request needs the Sandbox's container, which is not running yet. A stopped Sandbox is started by the request itself; the answer carries Retry-After.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/sandbox-starting/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/sandbox-starting.md"},{"id":"docs/reference/errors/secret-value-in-env","title":"SecretValueInEnv","description":"Secret values reach a Job or Sandbox only through secrets or valueFrom.secretKeyRef, never as literals.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/secret-value-in-env/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/secret-value-in-env.md"},{"id":"docs/reference/errors/sha256-mismatch","title":"SHA256Mismatch","description":"A write with expectedSHA256 found different content than the writer started from, so nothing was written.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/sha256-mismatch/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/sha256-mismatch.md"},{"id":"docs/reference/errors/stdin-backpressure","title":"StdinBackpressure","description":"The process's stdin buffer is full, so the write was refused without losing earlier input.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/stdin-backpressure/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/stdin-backpressure.md"},{"id":"docs/reference/errors/too-many-requests","title":"TooManyRequests","description":"The credential sent too many requests of this class; the RateLimit headers show the budget.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/too-many-requests/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/too-many-requests.md"},{"id":"docs/reference/errors/top-up-limit-reached","title":"TopUpLimitReached","description":"An org buys at most $5,000 of credit through Checkout per UTC day.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/top-up-limit-reached/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/top-up-limit-reached.md"},{"id":"docs/reference/errors/unauthorized","title":"Unauthorized","description":"The request carries no valid credential, or the credential expired.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/unauthorized/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/unauthorized.md"},{"id":"docs/reference/errors/unavailable","title":"Unavailable","description":"A dependency of the API is temporarily unavailable.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/unavailable/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/unavailable.md"},{"id":"docs/reference/errors/unsupported","title":"Unsupported","description":"The request is well formed but asks for a feature this API does not offer.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/unsupported/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/unsupported.md"},{"id":"docs/reference/errors/unsupported-media-type","title":"UnsupportedMediaType","description":"The request body's Content-Type is not accepted; strategic merge patch is not supported.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/unsupported-media-type/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/unsupported-media-type.md"},{"id":"docs/reference/errors/volume-busy","title":"VolumeBusy","description":"A ReadWriteOnce Volume has one writer; another attempt holds its lease.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/volume-busy/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/volume-busy.md"},{"id":"docs/reference/errors/worker-not-allowed","title":"WorkerNotAllowed","description":"Only the Function's own worker attempts, through their ServiceAccount token, can claim its calls.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/worker-not-allowed/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/worker-not-allowed.md"},{"id":"docs/reference/errors/workspace-starting","title":"WorkspaceStarting","description":"The Workspace has no running session yet: it is starting, or the request woke it from a stop.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/workspace-starting/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/workspace-starting.md"},{"id":"docs/reference/errors/workspace-tool-unavailable","title":"WorkspaceToolUnavailable","description":"A browser tool has a preview URL only while the Workspace is running and lists the tool in spec.tools.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/errors/workspace-tool-unavailable/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/errors/workspace-tool-unavailable.md"},{"id":"docs/reference/pricing","title":"Pricing","description":"Every published Nodus rate, from GPU and CPU list prices to Nodus nodes, storage, egress and models.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/pricing/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/pricing.md"},{"id":"docs/reference/python","title":"Python SDK reference","description":"Every public module, class and function of the nodus-compute package, generated from its docstrings.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python.md"},{"id":"docs/reference/python/nodus","title":"nodus","description":"Nodus Python SDK (`pip install nodus-compute`).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus.md"},{"id":"docs/reference/python/nodus-agent","title":"nodus.agent","description":"Agents: durable runs on the journal engine (resources.md §4.1 to §4.3, ADR-048, ADR-101).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-agent/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-agent.md"},{"id":"docs/reference/python/nodus-api","title":"nodus.api","description":"Layer 1 of the SDK: the generic resource client over every kind (resources.md §10.3).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-api/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-api.md"},{"id":"docs/reference/python/nodus-api-models","title":"nodus.api.models","description":"Pydantic v2 models for every kind, generated from `api/openapi` by `make gen` (datamodel-code-generator).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-api-models/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-api-models.md"},{"id":"docs/reference/python/nodus-app","title":"nodus.app","description":"`App`: the group of Functions defined in one Python file (resources.md §3.9, ADR-047).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-app/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-app.md"},{"id":"docs/reference/python/nodus-checkpoint","title":"nodus.checkpoint","description":"The checkpoint handshake and gang checkpoints (resources.md §8, distributed-training.md §10.3).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-checkpoint/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-checkpoint.md"},{"id":"docs/reference/python/nodus-cluster","title":"nodus.cluster","description":"`nodus.cluster.info()`: the gang env contract of distributed-training.md §3.6, as one object.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-cluster/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-cluster.md"},{"id":"docs/reference/python/nodus-envs","title":"nodus.envs","description":"Helpers for building your own Environment and datasets: `nodus.envs.split`.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-envs/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-envs.md"},{"id":"docs/reference/python/nodus-errors","title":"nodus.errors","description":"Errors raised by the Nodus SDK.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-errors/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-errors.md"},{"id":"docs/reference/python/nodus-examples","title":"nodus.examples","description":"Runnable examples that ship with the SDK: `python -m nodus.examples.rl` trains a model with RL.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-examples/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-examples.md"},{"id":"docs/reference/python/nodus-examples-rl","title":"nodus.examples.rl","description":"Reinforcement learning in one file: teach a small model to spell words backwards.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-examples-rl/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-examples-rl.md"},{"id":"docs/reference/python/nodus-functions","title":"nodus.functions","description":"Functions, FunctionCalls and `@app.cls` classes (resources.md §3.10, §3.11, ADR-047, ADR-110).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-functions/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-functions.md"},{"id":"docs/reference/python/nodus-image","title":"nodus.image","description":"The Modal-shaped `Image` builder (resources.md §5.3).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-image/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-image.md"},{"id":"docs/reference/python/nodus-integrations","title":"nodus.integrations","description":"Framework callbacks that report training progress to Nodus from inside a container.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-integrations/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-integrations.md"},{"id":"docs/reference/python/nodus-integrations-lightning","title":"nodus.integrations.lightning","description":"`NodusCallback` for a Lightning `Trainer` (ADR-103).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-integrations-lightning/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-integrations-lightning.md"},{"id":"docs/reference/python/nodus-integrations-transformers","title":"nodus.integrations.transformers","description":"`NodusCallback` for the Hugging Face `Trainer` and every TRL trainer built on it (ADR-103).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-integrations-transformers/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-integrations-transformers.md"},{"id":"docs/reference/python/nodus-job","title":"nodus.job","description":"`Job`: a run-to-completion container with checkpoints, recovery and outputs (resources.md §3.1).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-job/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-job.md"},{"id":"docs/reference/python/nodus-llm","title":"nodus.llm","description":"OpenAI- and Anthropic-compatible inference (resources.md §4.5, §4.6, ADR-049, ADR-100).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-llm/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-llm.md"},{"id":"docs/reference/python/nodus-log","title":"nodus.log","description":"Structured telemetry from inside a container: metrics, RL task outcomes, work units and phases.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-log/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-log.md"},{"id":"docs/reference/python/nodus-outputs","title":"nodus.outputs","description":"`nodus.outputs.verify()`: fail fast inside a Job when its model output would not load (resources.md §10.5).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-outputs/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-outputs.md"},{"id":"docs/reference/python/nodus-process","title":"nodus.process","description":"Processes and files inside a running Job, Sandbox or Workspace (resources.md §3.6).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-process/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-process.md"},{"id":"docs/reference/python/nodus-recipes","title":"nodus.recipes","description":"Training recipes: TrainingJob builders for fine-tuning, pretraining, distillation, preference training and RL.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-recipes/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-recipes.md"},{"id":"docs/reference/python/nodus-recipes-finetune","title":"nodus.recipes.finetune","description":"Fine-tuning, preference training, distillation and pretraining recipes on the catalog runtimes.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-recipes-finetune/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-recipes-finetune.md"},{"id":"docs/reference/python/nodus-recipes-rl","title":"nodus.recipes.rl","description":"Reinforcement learning and evaluation on catalog Environments or your own.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-recipes-rl/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-recipes-rl.md"},{"id":"docs/reference/python/nodus-runtime","title":"nodus.runtime","description":"In-container helpers that speak nodusd's sockets (resources.md §8); each is a no-op outside Nodus.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-runtime/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-runtime.md"},{"id":"docs/reference/python/nodus-sandbox","title":"nodus.sandbox","description":"`Sandbox`: an isolated long-running container driven by exec, files and tunnels (resources.md §3.5, ADR-044).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-sandbox/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-sandbox.md"},{"id":"docs/reference/python/nodus-secret","title":"nodus.secret","description":"`Secret` references (resources.md §5.2). Values are write-only: nothing the API returns contains them.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-secret/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-secret.md"},{"id":"docs/reference/python/nodus-sweep","title":"nodus.sweep","description":"`Sweep`: one Job template run across a matrix of GPUs, regions and parameters (resources.md §3.3, ADR-051).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-sweep/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-sweep.md"},{"id":"docs/reference/python/nodus-volume","title":"nodus.volume","description":"`Volume`: named storage with Modal's commit and reload semantics for `ReadWriteMany` (resources.md §5.1, ADR-091).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-volume/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-volume.md"},{"id":"docs/reference/python/nodus-workspace","title":"nodus.workspace","description":"`Workspace`: a development machine with SSH, VS Code, JupyterLab and a persistent home (resources.md §3.8).","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/python/nodus-workspace/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/python/nodus-workspace.md"},{"id":"docs/reference/runtimes","title":"Training runtimes","description":"Every catalog TrainingRuntime, its task and modes.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/runtimes/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/runtimes.md"},{"id":"docs/reference/runtimes/distill","title":"distill","description":"Knowledge distillation from a teacher model; lmbda 0 is offline distillation","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/runtimes/distill/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/runtimes/distill.md"},{"id":"docs/reference/runtimes/dpo","title":"dpo","description":"Direct preference optimization on prompt, chosen and rejected rows","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/runtimes/dpo/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/runtimes/dpo.md"},{"id":"docs/reference/runtimes/evaluate","title":"evaluate","description":"Benchmark evaluation on standard tasks, or over an Environment's held-out tasks","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/runtimes/evaluate/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/runtimes/evaluate.md"},{"id":"docs/reference/runtimes/grpo-lora","title":"grpo-lora","description":"GRPO reinforcement learning with a LoRA adapter over an Environment, graded by the platform","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/runtimes/grpo-lora/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/runtimes/grpo-lora.md"},{"id":"docs/reference/runtimes/kto","title":"kto","description":"Kahneman-Tversky optimization on unpaired desirable and undesirable completions","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/runtimes/kto/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/runtimes/kto.md"},{"id":"docs/reference/runtimes/orpo","title":"orpo","description":"Odds-ratio preference optimization: SFT and preference alignment in one pass, no reference model","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/runtimes/orpo/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/runtimes/orpo.md"},{"id":"docs/reference/runtimes/reward-model","title":"reward-model","description":"Reward-model training: a one-logit head scored on chosen versus rejected","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/runtimes/reward-model/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/runtimes/reward-model.md"},{"id":"docs/reference/runtimes/sft","title":"sft","description":"Supervised fine-tuning (full, LoRA, QLoRA) and pretraining with task: Pretrain","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/runtimes/sft/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/runtimes/sft.md"},{"id":"docs/reference/server-configuration","title":"Server configuration","description":"Every environment variable nodus-server, the node agent and the CLI read.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/server-configuration/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/server-configuration.md"},{"id":"docs/reference/troubleshooting","title":"Troubleshooting","description":"What to check when sign-in, a launch, a running job, outputs or billing do not behave as you expect.","stage":"GA","url":"https://nodus-platform-site.pages.dev/docs/reference/troubleshooting/","markdown":"https://nodus-platform-site.pages.dev/docs/source/reference/troubleshooting.md"}],"bundles":[{"title":"Start with Nodus","description":"Install, sign in, run a first job and connect a coding agent.","url":"https://nodus-platform-site.pages.dev/docs/bundles/start.md"},{"title":"Run code","description":"Jobs, interactive development, sandboxes and remote Python.","url":"https://nodus-platform-site.pages.dev/docs/bundles/compute.md"},{"title":"Models and agents","description":"Hosted inference, durable agents and model training (Beta).","url":"https://nodus-platform-site.pages.dev/docs/bundles/models.md"},{"title":"Data and recovery","description":"Images, volumes, outputs, secrets and checkpoint recovery.","url":"https://nodus-platform-site.pages.dev/docs/bundles/data.md"},{"title":"Billing and limits","description":"Prepaid credits, usage, budgets and what happens when funds run out.","url":"https://nodus-platform-site.pages.dev/docs/bundles/billing.md"}],"openapi":["https://nodus-platform-site.pages.dev/docs/openapi.json","https://nodus-platform-site.pages.dev/docs/openapi-v1beta1.json"]}