---
title: "Close an unvaulted-deploy advisory"
method: POST
path: "/vaults/v1/{vault_id}/override-completions"
tags: ["vault"]
---

# Close an unvaulted-deploy advisory

`POST /vaults/v1/{vault_id}/override-completions`

## Request

- Base URL: `https://api.run402.com`
- URL: `https://api.run402.com/vaults/v1/{vault_id}/override-completions`
- Auth: one of:
  - API key in header `SIGN-IN-WITH-X`
  - HTTP bearer
  - HTTP bearer

A deploy that used the unvaulted override carries a persistent advisory until the source is actually captured. Present the capture receipt for that operation and the gateway checks FULL-FIELD equality against the journaled operation and the ledger's committed admission (capture id, plan digest, snapshot commitment, head hash, admission-record digest) — any mismatch names the failing field and the advisory persists. Idempotent: replaying the same receipt returns `deduplicated: true`; a DIFFERENT receipt for an already-completed operation is refused.

## Path parameters

- `vault_id` string, required

## Headers

- `SIGN-IN-WITH-X` string, required

## Request body

- object
  - `operation_id` string, required
  - `capture_receipt` object, required: The signed capture receipt naming this vault, its generation, and the head hash.

## Response `200`

Idempotent replay of the same receipt

- object
  - `operation_id` string
  - `advisory_cleared` boolean
  - `generation` string
  - `head_sha256` string
  - `deduplicated` boolean

## Other responses

- `201`: Advisory cleared
- `400`: VALIDATION_FAILED — names the mismatching field in `details.mismatched_field`
- `403`: Not authorized (VAULT_ACCESS_DENIED)
- `404`: No unvaulted-override operation with this id on the vault's project

---

[API](https://skmtc.dev/run402/apis/run402-api.md) · [All operations](https://skmtc.dev/run402/apis/run402-api/llms.txt) · [OpenAPI document](https://skmtc.dev/run402/apis/run402-api/revisions/893607557f50?raw)
