---
title: "Add Machines To Pool"
method: POST
path: "/v1/pools/{pool_id}/machines"
tags: ["pools"]
---

# Add Machines To Pool

`POST /v1/pools/{pool_id}/machines`

Add machines to a pool.

## Path parameters

- `pool_id` string, uuid, required

## Headers

- `Idempotency-Key` string

## Request body

- MachinePoolAssignment — Schema for assigning machines to pools
  - `machine_ids` string[], required — List of machine IDs to assign to the pool

## Response `200`

Successful Response

- PoolWithMachines — Pool response with machines included
  - `name` string, required
  - `description` string, nullable
  - `pool_parameters` object, nullable — Pool-level input values that auto-populate runs selecting this pool
  - `pool_sensitive_parameters` object, nullable — Pool-level sensitive input aliases (stored in Basis Theory)
  - `id` string, uuid, required
  - `organization_id` string, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `machine_count` integer, nullable — Number of machines in this pool
  - `machines` MachineResponse[]
    - `name` string, nullable
    - `version` string, nullable
    - `hostname` string, nullable
    - `os_info` string, nullable
    - `machine_parameters` object, nullable — Machine-specific input values that auto-populate runs
    - `machine_sensitive_parameters` object, nullable — Machine-specific sensitive input aliases (stored in Basis Theory)
    - `id` string, uuid, required
    - `user_id` string, uuid, nullable
    - `organization_id` string, nullable
    - `unkey_key_id` string, required
    - `status` 'connected' | 'disconnected' | 'error', required
    - `is_available` boolean, required
    - `alerts_enabled` boolean, required
    - `reserved_session_id` string, uuid, nullable
    - `linked_keepalive_machine_id` string, uuid, nullable
    - `physical_server_id` string, nullable — Fly machine ID hosting the WebSocket connection
    - `created_at` string, date-time, required
    - `last_seen` string, date-time, required
    - `pools` PoolResponse[], nullable
      - `name` string, required
      - `description` string, nullable
      - `pool_parameters` object, nullable — Pool-level input values that auto-populate runs selecting this pool
      - `pool_sensitive_parameters` object, nullable — Pool-level sensitive input aliases (stored in Basis Theory)
      - `id` string, uuid, required
      - `organization_id` string, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `machine_count` integer, nullable — Number of machines in this pool

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/cyberdesk-hq/apis/cyberdesk-cloud.md) · [All operations](https://skmtc.net/cyberdesk-hq/apis/cyberdesk-cloud/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cyberdesk-hq/cyberdesk-cloud/revisions/830d2f48963d/schema)
