---
title: "Replace virtual machine PCI passthrough configuration"
method: PUT
path: "/vm/{rid}/hardware/pci-devices"
tags: ["VM"]
---

# Replace virtual machine PCI passthrough configuration

`PUT /vm/{rid}/hardware/pci-devices`

## Request

- Base URL: `https://sylve.lan:8181/api`
- URL: `https://sylve.lan:8181/api/vm/{rid}/hardware/pci-devices`
- Auth: API key in header `Authorization`

Replace the PCI passthrough device assignments of a shut-off virtual machine; an empty array clears all assignments

## Path parameters

- `rid` integer, required

## Request body

- InternalHandlersVmModifyPassthroughRequest
  - `pciDevices` integer[], required

## Response `200`

Success

- GithubComAlchemillahqSylveInternalAPIResponseAny
  - `data` unknown
  - `error` string
  - `message` string
  - `status` string

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `500`: Internal Server Error
- `503`: Service Unavailable

## Changes

- **2026-08-12** `9a5026bf9057`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/alchemillahq/apis/sylve-api/changes/vm/:rid/hardware/pci-devices/put.md)

---

[API](https://skmtc.dev/alchemillahq/apis/sylve-api.md) - [All operations](https://skmtc.dev/alchemillahq/apis/sylve-api/llms.txt) - [OpenAPI document](https://skmtc.dev/alchemillahq/apis/sylve-api/revisions/9565cdd0abf5?raw)
