---
title: "Create a pool for read-only measurement"
method: POST
path: "/v1/pools"
tags: ["Pools"]
---

# Create a pool for read-only measurement

`POST /v1/pools`

## Request

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

The pool belongs to the authenticated team. This operation has no idempotency contract. Inspect the pool list after a timeout before repeating creation.

## Request body

- PoolCreateRequest
  - `name` string, required: Trimmed nonempty pool name, at most 200 UTF-8 bytes.

## Response `201`

Create a pool for read-only measurement

- 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)
