---
title: "Provision Confirm"
method: POST
path: "/servers/{vm_name}/provision/confirm"
tags: ["Servers"]
---

# Provision Confirm

`POST /servers/{vm_name}/provision/confirm`

Confirm or discard pending storage-passphrase rotations from POST /provision.

Delegates to the same shared logic as the legacy /luks/confirm (process_luks_confirm):
require_confirm_nonce validates and consumes the nonce, then volumes with rotated=True
have pending passphrases promoted to current and rotated=False discards pending.

## Path parameters

- `vm_name` string, required

## Headers

- `X-Chutes-Hotkey` string, nullable
- `X-Confirm-Nonce` string, nullable

## Request body

- LuksConfirmRequest — Request model for POST /luks/confirm.
  - `volumes` object, required — Per-volume rotation result reported by the VM

## Response `200`

Successful Response

- LuksConfirmResponse — Response model for POST /luks/confirm.
  - `status` string, required
  - `volumes` object, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/chutes/apis/fastapi.md) · [All operations](https://skmtc.net/chutes/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/chutes/fastapi/versions/352418d4e3a2/schema)
