---
title: "Void a regime (retroactive, operator-floored)"
method: POST
path: "/v2/workspaces/{id}/regimes/{regime}/void"
tags: ["Regimes"]
---

# Void a regime (retroactive, operator-floored)

`POST /v2/workspaces/{id}/regimes/{regime}/void`

## Request

- Base URL: `https://api.infolang.ai`
- URL: `https://api.infolang.ai/v2/workspaces/{id}/regimes/{regime}/void`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer

The phase was never real: its memories annotate `inapplicable_void` at every T. Still not a delete — the rows stay, which is the difference between withdrawing an applicability and destroying evidence.

**Operator-floored upstream, and the gateway clamps every lane to `observation`.** So today this record is written and folds INERT, and the response says so on `inert`. A console session is a human's SHARED credential, not proof a human said so, so the gateway does not raise its own ceiling to make this work.

Requires the `coord:write` scope. Accepts all three lanes: a session JWT (bounded by the caller's role on this workspace) or an `il_*` machine credential whose own scope set, workspace set and validity window cover it — both ceilings apply and neither can raise the other, so a credential carrying `coord:write` is still refused where the role does not permit it.

A credential with no scope record resolves to `LEGACY_DEFAULT`, which does NOT include `coord:write` — mint a key with it explicitly (`POST /v2/workspaces/{id}/keys`).

## Path parameters

- `id` string, required
- `regime` string, required

## Request body

- object
  - `reason` string, required

## Response `200`

The record, with `inert` when the fold will ignore it

- object
  - `record` string, required
  - `authority` 'inference' | 'observation' | 'operator', required
  - `minted` string, nullable
  - `appended` boolean
  - `advisory` unknown
  - `folded_inert` boolean

## Other responses

- `401`: Missing/invalid credential, or `credential_expired` — the credential is outside its `[not_before, expires_at)` window and must be replaced
- `403`: `insufficient_scope` — the credential's own scope set, or the caller's role on this workspace, does not cover the scope this route requires (the missing scope is named in the message). Or `forbidden` — the credential is not scoped to this workspace, or holds no grant on it
- `501`: The regime verbs are not compiled into this deployment (`kernel-verbs` is off upstream)

---

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