Skip to main content
POST
Prepare a managed-service retirement review (browser session)

Authorizations

ankra_session
string
cookie
required

Browser session. Mutations also require X-Ankra-CSRF.

Path Parameters

instance_id
string<uuid>
required

Body

application/json
expected_generation
integer<int64>
required

The instance generation the person reviewed; a retirement of any other generation is refused.

Required range: x >= 1
disconnect_consumer_ids
string<uuid>[]
required

Exactly the service's consumer binding ids, each once. Omitted or null is invalid, never read as an empty list.

acknowledge_data_loss
boolean
required

Must be true: retiring a service deletes its data, and no export is offered.

Response

The stored retirement review, its plan and digest.

id
string<uuid>
required
instance_id
string<uuid>
required
plan
object
required

The server-resolved statement of what the retirement removes and keeps. The digest covers all of it; nothing in it is supplied by the client.

digest
string
required
Pattern: ^sha256:[a-f0-9]{64}$
state
enum<string>
required

pending and expired describe an unconfirmed review's window; in_progress and settled a confirmed retirement.

Available options:
pending,
expired,
in_progress,
settled
created_at
string<date-time>
required
expires_at
string<date-time>
required
execution_id
string<uuid> | null
required

The confirmation's receipt: the execution carrying out the retirement.

confirmed_at
string<date-time> | null
required
phase
enum<string> | null
required
Available options:
retire_stack,
await_teardown,
dispose_data
settled_at
string<date-time> | null
required
outcome
enum<string> | null
required

Only retired releases the service's name; every other outcome keeps it reserved and reason says why. Whether a retired service's data may remain is data_disposal, beside it.

Available options:
retired,
removal_failed,
disposal_unknown,
refused,
interrupted
reason
string | null
required

Why the retirement ended other than retired. A retired outcome carries one only when a reviewed volume still holds the service's data or could not be confirmed gone.

volume_disposal
object | null
required

What the retirement lane observed of the reviewed volumes once the namespace was gone: deleting a claim releases its volume, and the volume's reclaim policy decides its data. Each reviewed volume is read live; retained_volumes names exactly the persistent volumes that still hold the service's data, which Ankra does not delete (deleting a retained PersistentVolume would leave its disk behind). Null until the retirement settles retired, and for one that deleted no namespace or was reviewed before the namespace contents were read.

data_disposal
enum<string> | null
required

What became of the service's data once the retirement settled retired. complete only when Ankra can show the data is gone: nothing was ever deployed, or every claim of the deleted namespace was listed and every volume behind them was read gone. data_kept: a persistent volume was observed still holding the data after the namespace was gone. unconfirmed: every uncertain case - a volume could not be read or named another claim, a Retain volume's object was gone (its disk may remain), a claim had no volume when reviewed, the review was incomplete, the volumes were never read or their record is damaged, the service had no namespace of its own, or its cluster was recorded deleted in Ankra (which does not show its storage was destroyed). Null for every other outcome and until the retirement settles. data_kept and unconfirmed carry kept_data.

Available options:
complete,
data_kept,
unconfirmed
kept_data
object | null
required

What a retirement that released the name left of the service's data, or could not rule out, with the next step. Null unless data_disposal is data_kept or unconfirmed.