---
title: "Revoke an invite"
method: DELETE
path: "/vaults/v1/{vault_id}/invites/{invite_id}"
tags: ["vault"]
---

# Revoke an invite

`DELETE /vaults/v1/{vault_id}/invites/{invite_id}`

## Request

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

kygit-invite. Idempotent — revoking an already-terminal (claimed/expired/revoked) invite is a no-op 200 naming its current state. Authorized at the ROUTE level by gitvault.writer, then at the SERVICE level by minter-or-owner. Never lifecycle-gated.

## Path parameters

- `vault_id` string, required
- `invite_id` string, uuid, required

## Headers

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

## Response `200`

Revoked (or already terminal — idempotent).

- object
  - `invite_id` string, uuid, required
  - `state` 'issued' | 'adopted' | 'expired' | 'revoked', required

## Other responses

- `403`: VAULT_ACCESS_DENIED — the caller is neither the minter nor an active owner of the org.
- `404`: RESOURCE_NOT_FOUND — no invite with this id on this vault.

---

[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)
