---
title: "Add or Remove Pool Members"
method: PATCH
path: "/resources/{resource_id}/pool_members"
tags: ["Pool Members"]
---

# Add or Remove Pool Members

`PATCH /resources/{resource_id}/pool_members`

Adds and/or removes individual Clients, leaving every other member of the
pool untouched.

Both operations are idempotent: adding a Client already in the pool and
removing one that isn't are both no-ops. `remove` is applied before `add`,
so a Client named in both ends up in the pool.

## Path parameters

- `resource_id` string, required

## Request body

- PoolMemberPatchRequest — PATCH body for adding and removing individual pool members. Both operations are idempotent, and `remove` is applied before `add`, so a Client named in both ends up in the pool.
  - `pool_members` object, required
    - `add` string[] — Client IDs to add to the pool
    - `remove` string[] — Client IDs to remove from the pool

## Response `200`

Pool Member Response

- PoolMemberResponse — Response schema for Pool Member updates
  - `data` object — Pool members
    - `device_ids` string[] — Client IDs currently in the pool

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `422` — Unprocessable Content
- `429` — Too Many Requests

---

[API](https://skmtc.dev/firezone/apis/firezone-api.md) · [All operations](https://skmtc.dev/firezone/apis/firezone-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/firezone/firezone-api/revisions/110de2cb2283/schema)
