---
title: "Update a pool name or owned hardware cost"
method: PATCH
path: "/v1/pools/{id}"
tags: ["Pools"]
---

# Update a pool name or owned hardware cost

`PATCH /v1/pools/{id}`

## Request

- Base URL: `/` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/v1/pools/{id}`
- Auth: HTTP bearer

Only name and owned_cost_micros_per_hour can be changed. Predict and Route cannot be enabled.

## Path parameters

- `id` string, required

## Request body

- PoolPatchRequest: Change Predict separately from other settings. Customer-owned pools have no fixed Predict fee and accept byoc-free-v1 with accepted_predict_monthly_micros 0. The API also permits omitted consent for these free Predict terms. Historical charges remain readable. Disabling requires only predict_enabled false and stops future refresh. Cached views remain readable. Change Route and its waiting settings separately from Predict, name, and owned cost. Enabling Route requires an active pool. Cloud-connected pools use byoc-free-v1 at zero and may omit consent. Other customer-owned pools require explicit private-supplier-cost-v2 consent at zero fixed platform rate. Cloud provider charges and separately authorized market capacity remain separate. Consent fields are rejected unless enabling. Disabling blocks new admission and retains accepted terms, existing work, and exact cleanup.
  - `name` string: Trimmed nonempty pool name, at most 200 UTF-8 bytes.
  - `owned_cost_micros_per_hour` integer
  - `predict_enabled` boolean
  - `accepted_predict_rate_version` string
  - `accepted_predict_monthly_micros` integer
  - `route_enabled` boolean
  - `accepted_route_rate_version` string: Cloud-connected pools accept byoc-free-v1 at zero. Other customer-owned pools require explicit private-supplier-cost-v2 consent on each enable request.
  - `accepted_route_rate_micros` integer: Zero for customer-owned pools. Non-cloud pools require explicit zero with private-supplier-cost-v2 on each enable request. Existing reservations retain their accepted terms.
  - `wait_policy` 'never' | 'after_wait' | 'cheaper': never keeps waiting for private capacity without market fallback. after_wait permits fallback after the retained wait. cheaper requires active Predict and a current forecast showing lower expected market completion cost. Missing evidence keeps waiting.
  - `wait_alpha` number: Finite nonnegative wait tolerance multiplier. New pools default to 0.1.
  - `waiting_budget_pct` number
  - `burst_approval` 'auto' | 'above_threshold' | 'always'
  - `burst_threshold_micros` integer: Approval threshold in USD micros.
  - `burst_timeout_behaviour` 'keep_waiting' | 'cancel'

## Response `200`

Update a pool name or owned hardware cost

- Pool: Customer infrastructure pool with read-only measurement. Cloud-connected pools have free Predict and Route under byoc-free-v1. Other pools retain their separately accepted pricing. Each execution host requires host-bound reenrollment. Owned cost is advisory and does not create a charge.
  - `id` string, required
  - `name` string, required
  - `kind` string, required
  - `state` string, required
  - `wait_policy` 'never' | 'after_wait' | 'cheaper', required: never keeps waiting for private capacity without market fallback. after_wait permits fallback after the retained wait. cheaper requires active Predict and a current forecast showing lower expected market completion cost. Missing evidence keeps waiting.
  - `burst_approval` 'auto' | 'above_threshold' | 'always', required
  - `burst_timeout_behaviour` 'keep_waiting' | 'cancel', required
  - `predict_enabled` boolean, required
  - `route_enabled` boolean, required
  - `sandbox_capable` boolean, required
  - `wait_alpha` number, required: Finite nonnegative wait tolerance multiplier. New pools default to 0.1.
  - `waiting_budget_pct` number, required
  - `burst_threshold_micros` integer, required: Approval threshold in USD micros.
  - `platform_rate_micros` integer, required: Accepted Route rate per active customer device-hour in USD micros. Retained when Route is disabled.
  - `owned_cost_micros_per_hour` integer, required: Customer-supplied owned hardware cost in USD micros per hour. This value does not create a charge.
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `route_price_version` string: Accepted Nodus Route pricing version. byoc-free-v1 with a zero platform rate identifies free cloud-connected execution. Absent before pricing terms are accepted. Retained when routing is disabled.

## Other responses

- `default`: Authentication, disabled feature, invalid input, missing pool or host, rate limits, and transient failures apply.

---

[API](https://skmtc.dev/nodus-compute/apis/nodus-infrastructure-execution-api.md) - [All operations](https://skmtc.dev/nodus-compute/apis/nodus-infrastructure-execution-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nodus-compute/apis/nodus-infrastructure-execution-api/revisions/a59210899d95?raw)
