## Reboot Command Payload Schema Snippets This file provides copy-ready validation snippets for client and integration test helpers. ### Canonical Topics (v1) 1. Command topic: infoscreen/{client_uuid}/commands 2. Ack topic: infoscreen/{client_uuid}/commands/ack ### Transitional Compatibility Topics 1. Command topic alias: infoscreen/{client_uuid}/command 2. Ack topic alias: infoscreen/{client_uuid}/command/ack ### Canonical Action Values 1. reboot_host 2. shutdown_host ### Ack Status Values 1. accepted 2. execution_started 3. completed 4. failed ### JSON Schema Source Use this file for machine validation: 1. implementation-plans/reboot-command-payload-schemas.json ### Minimal Command Schema Snippet ```json { "type": "object", "additionalProperties": false, "required": ["schema_version", "command_id", "client_uuid", "action", "issued_at", "expires_at", "requested_by", "reason"], "properties": { "schema_version": { "const": "1.0" }, "command_id": { "type": "string", "format": "uuid" }, "client_uuid": { "type": "string", "format": "uuid" }, "action": { "enum": ["reboot_host", "shutdown_host"] }, "issued_at": { "type": "string", "format": "date-time" }, "expires_at": { "type": "string", "format": "date-time" }, "requested_by": { "type": ["integer", "null"] }, "reason": { "type": ["string", "null"] } } } ``` ### Minimal Ack Schema Snippet ```json { "type": "object", "additionalProperties": false, "required": ["command_id", "status", "error_code", "error_message"], "properties": { "command_id": { "type": "string", "format": "uuid" }, "status": { "enum": ["accepted", "execution_started", "completed", "failed"] }, "error_code": { "type": ["string", "null"] }, "error_message": { "type": ["string", "null"] } } } ```