Read exact node credential retirement evidence, not physical cleanup
const url = 'https://example.com/apis/nodus.dev/v1/nodes/example/retirement?uid=example';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://example.com/apis/nodus.dev/v1/nodes/example/retirement?uid=example'Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ”The object’s name.
Query Parameters
Section titled “ Query Parameters ”Exact immutable Node metadata.uid; absence is never retirement proof.
Responses
Section titled “ Responses ”OK
NodeRetirement proves only platform credential retirement for one retained host identity. Native access still requires local workload termination and verified device cleanup.
object
CredentialGeneration is the durable node-credential revocation fence.
Node names the immutable enrolled host.
NodeIdentityRevokedTime is the retained explicit node-identity tombstone time.
OrganizationUID binds the proof to the authenticated organization.
Retired is true only when every retirement predicate agrees in one snapshot.
UID is the exact Node metadata.uid supplied in the request.
Example generated
{ "apiVersion": "example", "credentialGeneration": 1, "kind": "example", "node": "example", "nodeIdentityRevokedTime": "example", "organizationUID": "example", "retired": true, "uid": "example"}default
Section titled “ default ”An error: a metav1.Status whose reason is a registered code.
Status is the error body of every API response: a Kubernetes metav1.Status (so kubectl and client-go understand it) plus three top-level extensions that those clients ignore (ADR-028).
object
object
object
Docs is the URL of the code’s docs page.
Fix says what to do next, for example a CLI command or the field to change.
object
object
RequestID identifies the request in logs and support tickets.
Example generated
{ "apiVersion": "example", "code": 1, "details": { "causes": [ { "field": "example", "message": "example", "reason": "example" } ], "group": "example", "kind": "example", "name": "example", "retryAfterSeconds": 1, "uid": "example" }, "docs": "example", "fix": "example", "kind": "example", "message": "example", "metadata": { "continue": "example", "remainingItemCount": 1, "resourceVersion": "example", "selfLink": "example", "shardInfo": { "selector": "example" } }, "reason": "example", "requestId": "example", "status": "example"}