import { structuredEvidence58e2204 } from './structured-evidence-58e2204.ts'; import { sensitiveModelEvidence58e2204 } from './sensitive-evidence-58e2204.ts'; /** Frozen static-contract OperationRegistry audited at upstream commit 58e2204. */ const rawUpstream58e2204Operations = [ { "operationId": "getDevice", "method": "GET", "pathTemplate": "/api/device", "handler": "get_device_info", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1076-1090", "responseSchemaEvidence": "ApiResponse success payload/error envelope; success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1076-1090", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "overview", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:506-506", "backend/src/handlers.rs:1076-1090", "bruno-api/get_device_info.bru:8" ], "upstreamDomain": "device-system", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getSim", "method": "GET", "pathTemplate": "/api/sim", "handler": "get_sim_info", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1126-1145", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1126-1145", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "overview", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:508-508", "backend/src/handlers.rs:1126-1145", "bruno-api/get_sim_info.bru:8" ], "upstreamDomain": "sim", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postSimDetailsRefresh", "method": "POST", "pathTemplate": "/api/sim/details/refresh", "handler": "refresh_sim_details_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1148-1164", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:1148-1164; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "non-idempotent", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "overview", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:510-511", "backend/src/handlers.rs:1148-1164" ], "upstreamDomain": "sim", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postSimCache", "method": "POST", "pathTemplate": "/api/sim/cache", "handler": "update_sim_cache_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "body extractor UpdateSimCacheRequest fields [phone_number:Option, sms_center:Option] (models.rs:1036); exact handler backend/src/handlers.rs:1167-1213", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1167-1213", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "overview", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:514-515", "backend/src/handlers.rs:1167-1213" ], "upstreamDomain": "sim", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getNetwork", "method": "GET", "pathTemplate": "/api/network", "handler": "get_network_info", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1218-1232", "responseSchemaEvidence": "ApiResponse success payload/error envelope; success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1218-1232", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:519-520", "backend/src/handlers.rs:1218-1232", "bruno-api/get_network_info.bru:8" ], "upstreamDomain": "cellular", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getCells", "method": "GET", "pathTemplate": "/api/cells", "handler": "get_cells", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1235-1249", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1235-1249", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:522-522", "backend/src/handlers.rs:1235-1249", "bruno-api/get_cells_info.bru:8" ], "upstreamDomain": "cellular", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postCellMonitorStart", "method": "POST", "pathTemplate": "/api/cell-monitor/start", "handler": "start_cell_monitor_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1252-1282", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1252-1282", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:524-525", "backend/src/handlers.rs:1252-1282" ], "upstreamDomain": "cellular", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postCellMonitorStop", "method": "POST", "pathTemplate": "/api/cell-monitor/stop", "handler": "stop_cell_monitor_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1285-1312", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1285-1312", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:528-529", "backend/src/handlers.rs:1285-1312" ], "upstreamDomain": "cellular", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getRadioMode", "method": "GET", "pathTemplate": "/api/radio-mode", "handler": "get_radio_mode_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1315-1329", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1315-1329", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:532-533", "backend/src/handlers.rs:1315-1329", "bruno-api/get_radio_mode.bru:8" ], "upstreamDomain": "radio-lock", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postRadioMode", "method": "POST", "pathTemplate": "/api/radio-mode", "handler": "set_radio_mode_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "body extractor RadioModeRequest fields [mode:RadioMode] (models.rs:351); exact handler backend/src/handlers.rs:1332-1352", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1332-1352", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:532-534", "backend/src/handlers.rs:1332-1352", "bruno-api/set_radio_mode_nr.bru:8", "bruno-api/set_radio_mode_lte.bru:8", "bruno-api/set_radio_mode_auto.bru:8" ], "upstreamDomain": "radio-lock", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getBandLock", "method": "GET", "pathTemplate": "/api/band-lock", "handler": "get_band_lock_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1355-1369", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1355-1369", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:538-539", "backend/src/handlers.rs:1355-1369", "bruno-api/get_band_lock.bru:8" ], "upstreamDomain": "radio-lock", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postBandLock", "method": "POST", "pathTemplate": "/api/band-lock", "handler": "set_band_lock_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "body extractor BandLockRequest fields [lte_fdd_bands:Vec, lte_tdd_bands:Vec, nr_fdd_bands:Vec, nr_tdd_bands:Vec] (models.rs:377); exact handler backend/src/handlers.rs:1372-1392", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1372-1392", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:538-540", "backend/src/handlers.rs:1372-1392", "bruno-api/set_band_lock_nr_n78.bru:8", "bruno-api/set_band_lock_lte_b1_b3.bru:8", "bruno-api/unlock_all_bands.bru:8", "bruno-api/set_band_lock_lte_nr_mix.bru:8" ], "upstreamDomain": "radio-lock", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getNetworkInterfaces", "method": "GET", "pathTemplate": "/api/network/interfaces", "handler": "get_network_interfaces_info", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1619-1644", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1619-1644", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "device-network", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:544-545", "backend/src/handlers.rs:1619-1644", "bruno-api/get_network_interfaces.bru:8" ], "upstreamDomain": "device-network", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getNetworkConnectionAddresses", "method": "GET", "pathTemplate": "/api/network/connection-addresses", "handler": "get_network_connection_addresses", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1647-1666", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1647-1666", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "device-network", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:548-549", "backend/src/handlers.rs:1647-1666" ], "upstreamDomain": "device-network", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getDeviceNetworkDdnsConfig", "method": "GET", "pathTemplate": "/api/device-network/ddns/config", "handler": "get_device_ddns_config_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1669-1679", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:1669-1679; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [ "$.response.data.access_id", "$.response.data.access_secret" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "device-network", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:552-553", "backend/src/handlers.rs:1669-1679", "bruno-api/get_device_ddns_config.bru:8" ], "upstreamDomain": "device-network", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postDeviceNetworkDdnsConfig", "method": "POST", "pathTemplate": "/api/device-network/ddns/config", "handler": "set_device_ddns_config_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "body extractor crate::config::DdnsConfig fields [enabled:bool, provider:String, access_id:String, access_secret:String, interval_seconds:u64, ttl:u32, ipv4:DdnsIpConfig, ipv6:DdnsIpConfig] (config.rs:634); exact handler backend/src/handlers.rs:1682-1721", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1682-1721", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [ "$.body.access_id", "$.body.access_secret" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "device-network", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:552-554", "backend/src/handlers.rs:1682-1721", "bruno-api/set_device_ddns_config.bru:8" ], "upstreamDomain": "device-network", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getDeviceNetworkDdnsStatus", "method": "GET", "pathTemplate": "/api/device-network/ddns/status", "handler": "get_device_ddns_status_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1750-1757", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:1750-1757; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "device-network", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:558-559", "backend/src/handlers.rs:1750-1757", "bruno-api/get_device_ddns_status.bru:8" ], "upstreamDomain": "device-network", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postDeviceNetworkDdnsSync", "method": "POST", "pathTemplate": "/api/device-network/ddns/sync", "handler": "sync_device_ddns_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1760-1781", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1760-1781", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "device-network", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:562-563", "backend/src/handlers.rs:1760-1781", "bruno-api/post_device_ddns_sync.bru:8" ], "upstreamDomain": "device-network", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getDeviceNetworkDdnsLogs", "method": "GET", "pathTemplate": "/api/device-network/ddns/logs", "handler": "get_device_ddns_logs_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1784-1790", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:1784-1790; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "device-network", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:566-567", "backend/src/handlers.rs:1784-1790", "bruno-api/get_device_ddns_logs.bru:8" ], "upstreamDomain": "device-network", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postDeviceNetworkDdnsLogsClear", "method": "POST", "pathTemplate": "/api/device-network/ddns/logs/clear", "handler": "clear_device_ddns_logs_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1793-1802", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:1793-1802; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "device-network", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:570-571", "backend/src/handlers.rs:1793-1802", "bruno-api/post_device_ddns_logs_clear.bru:8" ], "upstreamDomain": "device-network", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getDeviceNetworkWlanStatus", "method": "GET", "pathTemplate": "/api/device-network/wlan/status", "handler": "get_device_wlan_status_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1805-1819", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1805-1819", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [ "$.response.data.ssid" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "device-network", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:574-575", "backend/src/handlers.rs:1805-1819", "bruno-api/get_device_wlan_status.bru:8" ], "upstreamDomain": "device-network", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postDeviceNetworkWlanEnabled", "method": "POST", "pathTemplate": "/api/device-network/wlan/enabled", "handler": "set_device_wlan_enabled_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "body extractor WlanEnabledRequest fields [enabled:bool] (models.rs:606); exact handler backend/src/handlers.rs:1822-1841", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1822-1841", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "device-network", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:578-579", "backend/src/handlers.rs:1822-1841", "bruno-api/set_device_wlan_enabled.bru:8" ], "upstreamDomain": "device-network", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postDeviceNetworkWlanScan", "method": "POST", "pathTemplate": "/api/device-network/wlan/scan", "handler": "scan_device_wlan_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1844-1858", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1844-1858", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "non-idempotent", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "device-network", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:582-583", "backend/src/handlers.rs:1844-1858", "bruno-api/post_device_wlan_scan.bru:8" ], "upstreamDomain": "device-network", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getDeviceNetworkWlanProfiles", "method": "GET", "pathTemplate": "/api/device-network/wlan/profiles", "handler": "get_device_wlan_profiles_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1861-1875", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1861-1875", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [ "$.response.data[*].ssid" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "device-network", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:586-587", "backend/src/handlers.rs:1861-1875", "bruno-api/get_device_wlan_profiles.bru:8" ], "upstreamDomain": "device-network", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postDeviceNetworkWlanForget", "method": "POST", "pathTemplate": "/api/device-network/wlan/forget", "handler": "forget_device_wlan_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "body extractor WlanForgetRequest fields [uuid:String, connection_id:String] (models.rs:635); exact handler backend/src/handlers.rs:1878-1897", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1878-1897", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "device-network", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:590-591", "backend/src/handlers.rs:1878-1897", "bruno-api/post_device_wlan_forget.bru:8" ], "upstreamDomain": "device-network", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postDeviceNetworkWlanConnect", "method": "POST", "pathTemplate": "/api/device-network/wlan/connect", "handler": "connect_device_wlan_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "body extractor WlanConnectRequest fields [ssid:String, password:String, auto_join:bool] (models.rs:611); exact handler backend/src/handlers.rs:1900-1955", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1900-1955", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "non-idempotent", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [ "$.body.ssid", "$.body.password" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "device-network", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:594-595", "backend/src/handlers.rs:1900-1955", "bruno-api/post_device_wlan_connect.bru:8" ], "upstreamDomain": "device-network", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postDeviceNetworkWlanDisconnect", "method": "POST", "pathTemplate": "/api/device-network/wlan/disconnect", "handler": "disconnect_device_wlan_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1958-1991", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1958-1991", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "non-idempotent", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "device-network", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:598-599", "backend/src/handlers.rs:1958-1991", "bruno-api/post_device_wlan_disconnect.bru:8" ], "upstreamDomain": "device-network", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postDeviceNetworkWlanProfile", "method": "POST", "pathTemplate": "/api/device-network/wlan/profile", "handler": "save_device_wlan_profile_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "body extractor WlanProfileRequest fields [connection_id:String, auto_join:Option, ipv4_mode:Option, ipv4_address:Option, ipv4_prefix:Option, ipv4_gateway:Option] (models.rs:620); exact handler backend/src/handlers.rs:1994-2013", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1994-2013", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [ "$.body.credentials" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "device-network", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:602-603", "backend/src/handlers.rs:1994-2013", "bruno-api/post_device_wlan_profile.bru:8" ], "upstreamDomain": "device-network", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getNetworkSignalStrength", "method": "GET", "pathTemplate": "/api/network/signal-strength", "handler": "get_signal_strength_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2016-2030", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2016-2030", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:606-607", "backend/src/handlers.rs:2016-2030", "bruno-api/get_signal_strength.bru:8" ], "upstreamDomain": "cellular", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getLocationCellInfo", "method": "GET", "pathTemplate": "/api/location/cell-info", "handler": "get_cell_location_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1395-1409", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1395-1409", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:610-611", "backend/src/handlers.rs:1395-1409", "bruno-api/get_cell_location_info.bru:8" ], "upstreamDomain": "cellular", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getNetworkOperators", "method": "GET", "pathTemplate": "/api/network/operators", "handler": "get_network_operators", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1412-1426", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1412-1426", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:614-615", "backend/src/handlers.rs:1412-1426", "bruno-api/get_operators.bru:8" ], "upstreamDomain": "cellular", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getNetworkOperatorsScan", "method": "GET", "pathTemplate": "/api/network/operators/scan", "handler": "scan_network_operators", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1429-1443", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1429-1443", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:618-619", "backend/src/handlers.rs:1429-1443", "bruno-api/scan_operators.bru:8" ], "upstreamDomain": "cellular", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postNetworkRegisterManual", "method": "POST", "pathTemplate": "/api/network/register-manual", "handler": "register_network_manual", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "body extractor ManualRegisterRequest fields [mccmnc:String] (models.rs:771); exact handler backend/src/handlers.rs:1446-1466", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1446-1466", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "non-idempotent", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:622-623", "backend/src/handlers.rs:1446-1466", "bruno-api/register_operator_manual.bru:8" ], "upstreamDomain": "cellular", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postNetworkRegisterAuto", "method": "POST", "pathTemplate": "/api/network/register-auto", "handler": "register_network_auto", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1469-1486", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1469-1486", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "non-idempotent", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:626-627", "backend/src/handlers.rs:1469-1486", "bruno-api/register_operator_auto.bru:8" ], "upstreamDomain": "cellular", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getApn", "method": "GET", "pathTemplate": "/api/apn", "handler": "get_apn_list_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1489-1504", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1489-1504", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [ "$.body.username", "$.body.password" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:630-631", "backend/src/handlers.rs:1489-1504", "bruno-api/get_apn_list.bru:8" ], "upstreamDomain": "data-connection", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postApn", "method": "POST", "pathTemplate": "/api/apn", "handler": "set_apn_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "body extractor SetApnRequest fields [context_path:String, apn:Option, protocol:Option, username:Option, password:Option, auth_method:Option] (models.rs:795); exact handler backend/src/handlers.rs:1507-1571", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1507-1571", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [ "$.body.username", "$.body.password" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:630-632", "backend/src/handlers.rs:1507-1571", "bruno-api/set_apn.bru:8" ], "upstreamDomain": "data-connection", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getCellLock", "method": "GET", "pathTemplate": "/api/cell-lock", "handler": "get_cell_lock_status_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1574-1582", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:1574-1582; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:636-637", "backend/src/handlers.rs:1574-1582", "bruno-api/get_cell_lock.bru:8" ], "upstreamDomain": "radio-lock", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postCellLock", "method": "POST", "pathTemplate": "/api/cell-lock", "handler": "set_cell_lock_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "body extractor CellLockRequest fields [rat:u8, enable:bool, lock_type:u8, pci:Option, arfcn:Option] (models.rs:405); exact handler backend/src/handlers.rs:1585-1603", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1585-1603", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:636-638", "backend/src/handlers.rs:1585-1603", "bruno-api/set_cell_lock_lte.bru:8", "bruno-api/set_cell_lock_nr.bru:8", "bruno-api/unlock_cell_nr.bru:8" ], "upstreamDomain": "radio-lock", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postCellLockUnlockAll", "method": "POST", "pathTemplate": "/api/cell-lock/unlock-all", "handler": "unlock_all_cells_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:1606-1616", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:1606-1616; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:642-643", "backend/src/handlers.rs:1606-1616", "bruno-api/unlock_all_cells.bru:8" ], "upstreamDomain": "radio-lock", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getData", "method": "GET", "pathTemplate": "/api/data", "handler": "get_data_status", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2035-2062", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2035-2062", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:647-648", "backend/src/handlers.rs:2035-2062", "bruno-api/get_data_status.bru:8" ], "upstreamDomain": "data-connection", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postData", "method": "POST", "pathTemplate": "/api/data", "handler": "set_data_status", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "body extractor DataConnectionRequest fields [active:bool] (models.rs:234); exact handler backend/src/handlers.rs:2065-2131", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2065-2131", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:647-649", "backend/src/handlers.rs:2065-2131", "bruno-api/set_data_status_disable.bru:8", "bruno-api/set_data_status_enable.bru:8" ], "upstreamDomain": "data-connection", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getRoaming", "method": "GET", "pathTemplate": "/api/roaming", "handler": "get_roaming_status_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2172-2193", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2172-2193", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:653-654", "backend/src/handlers.rs:2172-2193", "bruno-api/get_roaming_status.bru:8" ], "upstreamDomain": "data-connection", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postRoaming", "method": "POST", "pathTemplate": "/api/roaming", "handler": "set_roaming_status_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "body extractor RoamingRequest fields [allowed:bool] (models.rs:244); exact handler backend/src/handlers.rs:2196-2247", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2196-2247", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:653-655", "backend/src/handlers.rs:2196-2247", "bruno-api/set_roaming_enable.bru:8", "bruno-api/set_roaming_disable.bru:8" ], "upstreamDomain": "data-connection", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getAirplaneMode", "method": "GET", "pathTemplate": "/api/airplane-mode", "handler": "get_airplane_mode_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2315-2329", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2315-2329", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:659-660", "backend/src/handlers.rs:2315-2329", "bruno-api/get_airplane_mode.bru:8" ], "upstreamDomain": "data-connection", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postAirplaneMode", "method": "POST", "pathTemplate": "/api/airplane-mode", "handler": "set_airplane_mode_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "body extractor AirplaneModeRequest fields [enabled:bool] (models.rs:255); exact handler backend/src/handlers.rs:2250-2312", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2250-2312", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:659-661", "backend/src/handlers.rs:2250-2312", "bruno-api/set_airplane_mode_disable.bru:8", "bruno-api/set_airplane_mode_enable.bru:8" ], "upstreamDomain": "data-connection", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postBasebandRestart", "method": "POST", "pathTemplate": "/api/baseband/restart", "handler": "restart_baseband_handler", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2133-2159", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2133-2159", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "non-idempotent", "confirmationPolicy": "strong", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:665-666", "backend/src/handlers.rs:2133-2159" ], "upstreamDomain": "data-connection", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getBasebandRestartStatus", "method": "GET", "pathTemplate": "/api/baseband/restart/status", "handler": "get_baseband_restart_status_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2161-2169", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:2161-2169; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "cellular", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:669-670", "backend/src/handlers.rs:2161-2169" ], "upstreamDomain": "data-connection", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getWorkMode", "method": "GET", "pathTemplate": "/api/work-mode", "handler": "get_work_mode_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:352-365", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:352-365; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "esim", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:674-675", "backend/src/handlers.rs:352-365" ], "upstreamDomain": "workmode-esim", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postWorkMode", "method": "POST", "pathTemplate": "/api/work-mode", "handler": "set_work_mode_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "body extractor WorkModeRequest fields [mode:WorkMode, confirm:bool] (models.rs:57); exact handler backend/src/handlers.rs:368-405", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:368-405", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "esim", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:674-676", "backend/src/handlers.rs:368-405" ], "upstreamDomain": "workmode-esim", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getEsimConfig", "method": "GET", "pathTemplate": "/api/esim/config", "handler": "get_esim_config_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:456-462", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:456-462; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "esim", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:680-681", "backend/src/handlers.rs:456-462" ], "upstreamDomain": "workmode-esim", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postEsimConfig", "method": "POST", "pathTemplate": "/api/esim/config", "handler": "set_esim_config_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "body extractor crate::config::EsimConfig fields [lpac_path:String, custom_memory_total_kb:Option] (config.rs:1660); exact handler backend/src/handlers.rs:465-482", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:465-482; field shape is implementation evidence only", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "esim", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:680-682", "backend/src/handlers.rs:465-482" ], "upstreamDomain": "workmode-esim", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getEsimLpacStatus", "method": "GET", "pathTemplate": "/api/esim/lpac/status", "handler": "get_esim_lpac_status_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:408-416", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:408-416; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "esim", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:686-687", "backend/src/handlers.rs:408-416" ], "upstreamDomain": "workmode-esim", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postEsimLpacRepair", "method": "POST", "pathTemplate": "/api/esim/lpac/repair", "handler": "repair_esim_lpac_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "body extractor EsimLpacRepairRequest fields [proxy_prefix:Option, asset_url:Option] (models.rs:153); exact handler backend/src/handlers.rs:419-453", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:419-453; field shape is implementation evidence only", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "esim", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:690-691", "backend/src/handlers.rs:419-453" ], "upstreamDomain": "workmode-esim", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getEsimEuicc", "method": "GET", "pathTemplate": "/api/esim/euicc", "handler": "get_esim_euicc_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "query extractor std::collections::HashMap; exact exact handler backend/src/handlers.rs:485-521", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:485-521; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "esim", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:694-695", "backend/src/handlers.rs:485-521" ], "upstreamDomain": "workmode-esim", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getEsimProfiles", "method": "GET", "pathTemplate": "/api/esim/profiles", "handler": "get_esim_profiles_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "query extractor std::collections::HashMap; exact exact handler backend/src/handlers.rs:524-598", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:524-598", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "esim", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:698-699", "backend/src/handlers.rs:524-598" ], "upstreamDomain": "workmode-esim", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postEsimProfiles", "method": "POST", "pathTemplate": "/api/esim/profiles", "handler": "download_esim_profile_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "body extractor EsimDownloadRequest fields [smdp:String, matching_id:String, confirmation_code:Option, imei:Option] (models.rs:174); exact handler backend/src/handlers.rs:803-1071", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:803-1071", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [ "$.body.matching_id", "$.body.confirmation_code", "$.body.imei" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "esim", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:698-700", "backend/src/handlers.rs:803-1071" ], "upstreamDomain": "workmode-esim", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postEsimProfilesIccidEnable", "method": "POST", "pathTemplate": "/api/esim/profiles/{iccid}/enable", "handler": "enable_esim_profile_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "path extractor String; exact handler backend/src/handlers.rs:601-726", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:601-726; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "esim", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:704-705", "backend/src/handlers.rs:601-726" ], "upstreamDomain": "workmode-esim", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postEsimProfilesIccidRename", "method": "POST", "pathTemplate": "/api/esim/profiles/{iccid}/rename", "handler": "rename_esim_profile_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "body extractor EsimRenameRequest fields [name:String] (models.rs:169); path extractor String; exact handler backend/src/handlers.rs:729-750", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:729-750", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "esim", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:708-709", "backend/src/handlers.rs:729-750" ], "upstreamDomain": "workmode-esim", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "deleteEsimProfilesIccid", "method": "DELETE", "pathTemplate": "/api/esim/profiles/{iccid}", "handler": "delete_esim_profile_handler", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "path extractor String; exact handler backend/src/handlers.rs:753-780", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:753-780; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "idempotent", "confirmationPolicy": "strong", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "esim", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:712-713", "backend/src/handlers.rs:753-780" ], "upstreamDomain": "workmode-esim", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getCalls", "method": "GET", "pathTemplate": "/api/calls", "handler": "get_calls_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2634-2655", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2634-2655", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "calls", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:717-718", "backend/src/handlers.rs:2634-2655", "bruno-api/get_calls.bru:8" ], "upstreamDomain": "calls", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postCallDial", "method": "POST", "pathTemplate": "/api/call/dial", "handler": "dial_call_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "body extractor MakeCallRequest fields [phone_number:String] (models.rs:810); exact handler backend/src/handlers.rs:2657-2689", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2657-2689", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "non-idempotent", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [ "$.body.phone_number" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "calls", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:721-722", "backend/src/handlers.rs:2657-2689", "bruno-api/post_call_dial.bru:8" ], "upstreamDomain": "calls", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postCallHangup", "method": "POST", "pathTemplate": "/api/call/hangup", "handler": "hangup_call_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "body extractor HangupCallRequest fields [path:String] (models.rs:830); exact handler backend/src/handlers.rs:2691-2725", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2691-2725", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "non-idempotent", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "calls", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:725-726", "backend/src/handlers.rs:2691-2725", "bruno-api/post_call_hangup.bru:8" ], "upstreamDomain": "calls", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postCallHangupAll", "method": "POST", "pathTemplate": "/api/call/hangup-all", "handler": "hangup_all_calls_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2727-2760", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2727-2760", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "non-idempotent", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "calls", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:729-730", "backend/src/handlers.rs:2727-2760", "bruno-api/post_call_hangup_all.bru:8" ], "upstreamDomain": "calls", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postCallAnswer", "method": "POST", "pathTemplate": "/api/call/answer", "handler": "answer_call_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "body extractor HangupCallRequest fields [path:String] (models.rs:830); exact handler backend/src/handlers.rs:2762-2789", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2762-2789", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "non-idempotent", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "calls", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:733-734", "backend/src/handlers.rs:2762-2789", "bruno-api/post_call_answer.bru:8" ], "upstreamDomain": "calls", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getCallVolume", "method": "GET", "pathTemplate": "/api/call/volume", "handler": "get_call_volume_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2899-2906", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2899-2906", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "calls", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:737-738", "backend/src/handlers.rs:2899-2906", "bruno-api/get_call_volume.bru:8" ], "upstreamDomain": "calls", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postCallVolume", "method": "POST", "pathTemplate": "/api/call/volume", "handler": "set_call_volume_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "body extractor SetCallVolumeRequest fields [speaker_volume:Option, microphone_volume:Option, muted:Option] (models.rs:856); exact handler backend/src/handlers.rs:2908-2922", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2908-2922", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "calls", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:737-739", "backend/src/handlers.rs:2908-2922", "bruno-api/set_call_volume.bru:8" ], "upstreamDomain": "calls", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getCallForwarding", "method": "GET", "pathTemplate": "/api/call/forwarding", "handler": "get_call_forwarding_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2924-2931", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2924-2931", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "calls", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:743-744", "backend/src/handlers.rs:2924-2931", "bruno-api/get_call_forwarding.bru:8" ], "upstreamDomain": "calls", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postCallForwarding", "method": "POST", "pathTemplate": "/api/call/forwarding", "handler": "set_call_forwarding_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "body extractor SetCallForwardingRequest fields [forward_type:String, number:String, timeout:Option] (models.rs:891); exact handler backend/src/handlers.rs:2933-2943", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2933-2943", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [ "$.body.number" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "calls", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:743-745", "backend/src/handlers.rs:2933-2943", "bruno-api/set_call_forwarding.bru:8" ], "upstreamDomain": "calls", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getCallSettings", "method": "GET", "pathTemplate": "/api/call/settings", "handler": "get_call_settings_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2852-2866", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2852-2866", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "calls", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:749-750", "backend/src/handlers.rs:2852-2866", "bruno-api/get_call_settings.bru:8" ], "upstreamDomain": "calls", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postCallSettings", "method": "POST", "pathTemplate": "/api/call/settings", "handler": "set_call_settings_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "body extractor SetCallSettingRequest fields [property:String, value:String] (models.rs:875); exact handler backend/src/handlers.rs:2868-2897", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2868-2897", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "calls", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:749-751", "backend/src/handlers.rs:2868-2897", "bruno-api/set_call_settings.bru:8" ], "upstreamDomain": "calls", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getCallHistory", "method": "GET", "pathTemplate": "/api/call/history", "handler": "get_call_history_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "query extractor CallHistoryRequest fields [limit:i64, offset:i64] (models.rs:835); exact handler backend/src/handlers.rs:2791-2813", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2791-2813", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "calls", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:755-756", "backend/src/handlers.rs:2791-2813" ], "upstreamDomain": "calls", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "deleteCallHistoryId", "method": "DELETE", "pathTemplate": "/api/call/history/{id}", "handler": "delete_call_history_handler", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "path extractor i64; exact handler backend/src/handlers.rs:2815-2832", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2815-2832", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "idempotent", "confirmationPolicy": "strong", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "calls", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:759-760", "backend/src/handlers.rs:2815-2832", "bruno-api/delete_call_history.bru:8" ], "upstreamDomain": "calls", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postCallHistoryClear", "method": "POST", "pathTemplate": "/api/call/history/clear", "handler": "clear_call_history_handler", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2834-2850", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2834-2850", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "strong", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "calls", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:763-764", "backend/src/handlers.rs:2834-2850", "bruno-api/clear_call_history.bru:8" ], "upstreamDomain": "calls", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getImsStatus", "method": "GET", "pathTemplate": "/api/ims/status", "handler": "get_ims_status_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2945-2952", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2945-2952", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "calls", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:767-768", "backend/src/handlers.rs:2945-2952", "bruno-api/get_ims_status.bru:8" ], "upstreamDomain": "calls", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getVoicemailStatus", "method": "GET", "pathTemplate": "/api/voicemail/status", "handler": "get_voicemail_status_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2954-2961", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2954-2961", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "calls", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:771-772", "backend/src/handlers.rs:2954-2961", "bruno-api/get_voicemail_status.bru:8" ], "upstreamDomain": "calls", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postSmsSend", "method": "POST", "pathTemplate": "/api/sms/send", "handler": "send_sms_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "body extractor SendSmsRequest fields [phone_number:String, content:String] (models.rs:912); exact handler backend/src/handlers.rs:2373-2404", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2373-2404", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "non-idempotent", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [ "$.body.phone_number", "$.body.content" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "messages", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:776-777", "backend/src/handlers.rs:2373-2404", "bruno-api/post_sms_send.bru:8" ], "upstreamDomain": "messages", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getSmsList", "method": "GET", "pathTemplate": "/api/sms/list", "handler": "get_sms_list_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "query extractor SmsListRequest fields [limit:i64, offset:i64, direction:Option] (models.rs:918); exact handler backend/src/handlers.rs:2407-2434", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2407-2434", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "messages", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:780-781", "backend/src/handlers.rs:2407-2434" ], "upstreamDomain": "messages", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getSmsConversation", "method": "GET", "pathTemplate": "/api/sms/conversation", "handler": "get_sms_conversation_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "query extractor SmsConversationRequest fields [phone_number:String, limit:i64] (models.rs:927); exact handler backend/src/handlers.rs:2437-2458", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2437-2458", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [ "$.query.phone_number" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "messages", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:784-785", "backend/src/handlers.rs:2437-2458" ], "upstreamDomain": "messages", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getSmsStats", "method": "GET", "pathTemplate": "/api/sms/stats", "handler": "get_sms_stats_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2461-2477", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2461-2477", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "messages", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:788-789", "backend/src/handlers.rs:2461-2477", "bruno-api/get_sms_stats.bru:8" ], "upstreamDomain": "messages", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postSmsBatchDelete", "method": "POST", "pathTemplate": "/api/sms/batch-delete", "handler": "delete_sms_batch_handler", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "body extractor SmsBatchDeleteRequest fields [ids:Vec, phone_numbers:Vec] (models.rs:934); exact handler backend/src/handlers.rs:2551-2578", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2551-2578", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "strong", "batchable": true, "syncSafe": false, "sensitiveFields": [ "$.body.phone_numbers[*]" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "messages", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:792-793", "backend/src/handlers.rs:2551-2578" ], "upstreamDomain": "messages", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "deleteSmsConversationPhoneNumber", "method": "DELETE", "pathTemplate": "/api/sms/conversation/{phone_number}", "handler": "delete_sms_conversation_handler", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "path extractor String; exact handler backend/src/handlers.rs:2528-2548", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2528-2548", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "idempotent", "confirmationPolicy": "strong", "batchable": false, "syncSafe": false, "sensitiveFields": [ "$.path.phone_number" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "messages", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:796-797", "backend/src/handlers.rs:2528-2548" ], "upstreamDomain": "messages", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "deleteSmsMessageId", "method": "DELETE", "pathTemplate": "/api/sms/message/{id}", "handler": "delete_sms_message_handler", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "path extractor i64; exact handler backend/src/handlers.rs:2508-2525", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2508-2525", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "idempotent", "confirmationPolicy": "strong", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "messages", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:800-801", "backend/src/handlers.rs:2508-2525" ], "upstreamDomain": "messages", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postSmsClear", "method": "POST", "pathTemplate": "/api/sms/clear", "handler": "clear_sms_handler", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:2480-2505", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:2480-2505", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "strong", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "messages", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:804-805", "backend/src/handlers.rs:2480-2505", "bruno-api/post_sms_clear.bru:8" ], "upstreamDomain": "messages", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getStats", "method": "GET", "pathTemplate": "/api/stats", "handler": "get_system_stats", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3272-3288", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:3272-3288; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "overview", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:808-808", "backend/src/handlers.rs:3272-3288", "bruno-api/get_stats.bru:8" ], "upstreamDomain": "device-system", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getStatsCpu", "method": "GET", "pathTemplate": "/api/stats/cpu", "handler": "get_cpu_info", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3291-3302", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3291-3302", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "overview", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:809-809", "backend/src/handlers.rs:3291-3302", "bruno-api/get_cpu_info.bru:8" ], "upstreamDomain": "device-system", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getConnectivity", "method": "GET", "pathTemplate": "/api/connectivity", "handler": "get_connectivity_check", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3305-3322", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:3305-3322", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "overview", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:811-812", "backend/src/handlers.rs:3305-3322" ], "upstreamDomain": "device-system", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postSystemReboot", "method": "POST", "pathTemplate": "/api/system/reboot", "handler": "system_reboot", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "body extractor SystemRebootRequest fields [delay_seconds:u32] (models.rs:422); exact handler backend/src/handlers.rs:3381-3406", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:3381-3406; field shape is implementation evidence only", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "non-idempotent", "confirmationPolicy": "strong", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "overview", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:815-816", "backend/src/handlers.rs:3381-3406", "bruno-api/post_system_reboot.bru:8" ], "upstreamDomain": "device-system", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postServiceRestart", "method": "POST", "pathTemplate": "/api/service/restart", "handler": "restart_service_handler", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3578-3601", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:3578-3601; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "non-idempotent", "confirmationPolicy": "strong", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "overview", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:819-820", "backend/src/handlers.rs:3578-3601" ], "upstreamDomain": "device-system", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getNotificationsConfig", "method": "GET", "pathTemplate": "/api/notifications/config", "handler": "get_notification_config_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3641-3652", "responseSchemaEvidence": "Rust return ( StatusCode, Json>, ); exact handler backend/src/handlers.rs:3641-3652", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [ "$.response.data.channels[*].config" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "notifications", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:824-825", "backend/src/handlers.rs:3641-3652", "bruno-api/get_notification_config.bru:8" ], "upstreamDomain": "notifications", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postNotificationsConfig", "method": "POST", "pathTemplate": "/api/notifications/config", "handler": "set_notification_config_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "body extractor crate::config::NotificationConfig fields [version:u8, channels:Vec, rules:Vec, log_cleanup:NotificationLogCleanupConfig] (config.rs:548); exact handler backend/src/handlers.rs:3655-3672", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:3655-3672", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [ "$.body.channels[*].config" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "notifications", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:824-826", "backend/src/handlers.rs:3655-3672", "bruno-api/set_notification_config.bru:8" ], "upstreamDomain": "notifications", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postNotificationsTestChannel", "method": "POST", "pathTemplate": "/api/notifications/test/{channel}", "handler": "test_notification_channel_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "path extractor String; exact handler backend/src/handlers.rs:3675-3704", "responseSchemaEvidence": "Rust return ( StatusCode, Json>, ); exact handler backend/src/handlers.rs:3675-3704", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "non-idempotent", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "notifications", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:830-831", "backend/src/handlers.rs:3675-3704" ], "upstreamDomain": "notifications", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getNotificationsLogs", "method": "GET", "pathTemplate": "/api/notifications/logs", "handler": "get_notification_logs_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "query extractor NotificationLogQuery fields [event_type:String, status:String, q:String, start_date:String, end_date:String, limit:i64, offset:i64] (handlers.rs:3607); exact handler backend/src/handlers.rs:3709-3734", "responseSchemaEvidence": "Rust return ( StatusCode, Json>, ); exact handler backend/src/handlers.rs:3709-3734", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "notifications", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:835-836", "backend/src/handlers.rs:3709-3734" ], "upstreamDomain": "notifications", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postNotificationsLogsClear", "method": "POST", "pathTemplate": "/api/notifications/logs/clear", "handler": "clear_notification_logs_handler", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3737-3760", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:3737-3760", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "strong", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "notifications", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:839-840", "backend/src/handlers.rs:3737-3760" ], "upstreamDomain": "notifications", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getNotificationsQueue", "method": "GET", "pathTemplate": "/api/notifications/queue", "handler": "get_notification_queue_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "query extractor NotificationQueueQuery fields [limit:i64] (notification_queue.rs:14); exact handler backend/src/notification_queue.rs:24-41", "responseSchemaEvidence": "Rust return ( StatusCode, Json>, ); exact handler backend/src/notification_queue.rs:24-41", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "notifications", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:843-844", "backend/src/notification_queue.rs:24-41" ], "upstreamDomain": "notifications", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postNotificationsQueueRetryAll", "method": "POST", "pathTemplate": "/api/notifications/queue/retry-all", "handler": "retry_all_notification_queue_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/notification_queue.rs:84-100", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/notification_queue.rs:84-100", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "non-idempotent", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "notifications", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:847-848", "backend/src/notification_queue.rs:84-100" ], "upstreamDomain": "notifications", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postNotificationsQueueClear", "method": "POST", "pathTemplate": "/api/notifications/queue/clear", "handler": "clear_notification_queue_handler", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/notification_queue.rs:103-119", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/notification_queue.rs:103-119", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "strong", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "notifications", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:851-852", "backend/src/notification_queue.rs:103-119" ], "upstreamDomain": "notifications", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "deleteNotificationsQueueId", "method": "DELETE", "pathTemplate": "/api/notifications/queue/{id}", "handler": "delete_notification_queue_item_handler", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "path extractor i64; exact handler backend/src/notification_queue.rs:64-81", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/notification_queue.rs:64-81", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "idempotent", "confirmationPolicy": "strong", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "notifications", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:855-856", "backend/src/notification_queue.rs:64-81" ], "upstreamDomain": "notifications", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postNotificationsQueueIdRetry", "method": "POST", "pathTemplate": "/api/notifications/queue/{id}/retry", "handler": "retry_notification_queue_item_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "path extractor i64; exact handler backend/src/notification_queue.rs:44-61", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/notification_queue.rs:44-61", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "non-idempotent", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "notifications", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:859-860", "backend/src/notification_queue.rs:44-61" ], "upstreamDomain": "notifications", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getAutomationConfig", "method": "GET", "pathTemplate": "/api/automation/config", "handler": "get_automation_config_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3968-3979", "responseSchemaEvidence": "Rust return ( StatusCode, Json>, ); exact handler backend/src/handlers.rs:3968-3979", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [ "$.response.data.tasks[*].config" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "automation", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:864-865", "backend/src/handlers.rs:3968-3979" ], "upstreamDomain": "automation", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postAutomationConfig", "method": "POST", "pathTemplate": "/api/automation/config", "handler": "set_automation_config_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "body extractor crate::config::AutomationConfig fields [enabled:bool, tasks:Vec] (config.rs:1394); exact handler backend/src/handlers.rs:3982-3999", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:3982-3999", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [ "$.body.tasks[*].config" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "automation", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:864-866", "backend/src/handlers.rs:3982-3999" ], "upstreamDomain": "automation", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getAutomationLogs", "method": "GET", "pathTemplate": "/api/automation/logs", "handler": "get_automation_logs_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "query extractor AutomationLogQuery fields [task_type:String, status:String, q:String, start_date:String, end_date:String, limit:i64, offset:i64] (handlers.rs:3938); exact handler backend/src/handlers.rs:4002-4027", "responseSchemaEvidence": "Rust return ( StatusCode, Json>, ); exact handler backend/src/handlers.rs:4002-4027", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "automation", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:870-871", "backend/src/handlers.rs:4002-4027" ], "upstreamDomain": "automation", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postAutomationLogsClear", "method": "POST", "pathTemplate": "/api/automation/logs/clear", "handler": "clear_automation_logs_handler", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:4030-4053", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:4030-4053", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "strong", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "automation", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:874-875", "backend/src/handlers.rs:4030-4053" ], "upstreamDomain": "automation", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postAutomationTestTaskId", "method": "POST", "pathTemplate": "/api/automation/test/{task_id}", "handler": "test_automation_task_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "path extractor String; exact handler backend/src/handlers.rs:4056-4146", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/handlers.rs:4056-4146", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "non-idempotent", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "automation", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:878-879", "backend/src/handlers.rs:4056-4146" ], "upstreamDomain": "automation", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getOtaStatus", "method": "GET", "pathTemplate": "/api/ota/status", "handler": "get_ota_status_handler", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3763-3769", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:3763-3769; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "ota", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:882-883", "backend/src/handlers.rs:3763-3769", "bruno-api/get_ota_status.bru:8" ], "upstreamDomain": "ota", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postOtaUpload", "method": "POST", "pathTemplate": "/api/ota/upload", "handler": "upload_ota_handler", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "bytes extractor axum::body::Bytes; exact exact handler backend/src/handlers.rs:3772-3792", "responseSchemaEvidence": "ApiResponse success payload/error envelope; success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3772-3792", "requestContentType": "application/octet-stream", "timeoutMs": 30000, "idempotency": "non-idempotent", "confirmationPolicy": "strong", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "ota", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:886-887", "backend/src/handlers.rs:3772-3792" ], "upstreamDomain": "ota", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postOtaLatestRelease", "method": "POST", "pathTemplate": "/api/ota/latest-release", "handler": "get_latest_ota_release_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "body extractor crate::models::OtaOnlinePrepareRequest fields [proxy_prefix:Option] (models.rs:986); exact handler backend/src/handlers.rs:3795-3825", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3795-3825", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "non-idempotent", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "ota", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:892-893", "backend/src/handlers.rs:3795-3825" ], "upstreamDomain": "ota", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postOtaOnlinePrepare", "method": "POST", "pathTemplate": "/api/ota/online-prepare", "handler": "prepare_online_ota_handler", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "body extractor crate::models::OtaOnlinePrepareRequest fields [proxy_prefix:Option] (models.rs:986); exact handler backend/src/handlers.rs:3828-3889", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3828-3889", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "non-idempotent", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "ota", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:896-897", "backend/src/handlers.rs:3828-3889" ], "upstreamDomain": "ota", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postOtaApply", "method": "POST", "pathTemplate": "/api/ota/apply", "handler": "apply_ota_handler", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "body extractor crate::models::OtaApplyRequest fields [restart_now:bool] (models.rs:1030); exact handler backend/src/handlers.rs:3892-3911", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3892-3911", "requestContentType": "application/json", "timeoutMs": 30000, "idempotency": "non-idempotent", "confirmationPolicy": "strong", "batchable": false, "syncSafe": false, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "ota", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:900-901", "backend/src/handlers.rs:3892-3911", "bruno-api/post_ota_apply_restart.bru:8", "bruno-api/post_ota_apply.bru:8" ], "upstreamDomain": "ota", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postOtaCancel", "method": "POST", "pathTemplate": "/api/ota/cancel", "handler": "cancel_ota_handler", "capability": "command", "riskLevel": "R1", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:3914-3931", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3914-3931", "requestContentType": "none", "timeoutMs": 30000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "ota", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:904-905", "backend/src/handlers.rs:3914-3931", "bruno-api/post_ota_cancel.bru:8" ], "upstreamDomain": "ota", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postAuthPassword", "method": "POST", "pathTemplate": "/api/auth/password", "handler": "auth::change_password", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "body extractor ChangePasswordRequest fields [new_password:String] (auth.rs:59); exact handler backend/src/auth.rs:491-553", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/auth.rs:491-553", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "strong", "batchable": false, "syncSafe": false, "sensitiveFields": [ "$.body.new_password", "$.response.headers.set-cookie" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "settings-instance", "executionPolicy": "dedicatedFlow", "sourceEvidence": [ "backend/src/main.rs:908-909", "backend/src/auth.rs:491-553", "backend/src/auth.rs:43-43" ], "upstreamDomain": "instances-auth", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getAuthSettings", "method": "GET", "pathTemplate": "/api/auth/settings", "handler": "auth::get_settings", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/auth.rs:555-570", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/auth.rs:555-570", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [ "$.request.headers.cookie" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "settings-instance", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:912-913", "backend/src/auth.rs:555-570", "backend/src/auth.rs:43-43" ], "upstreamDomain": "instances-auth", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postAuthSettings", "method": "POST", "pathTemplate": "/api/auth/settings", "handler": "auth::set_settings", "capability": "job", "riskLevel": "R2", "sessionSensitive": false, "requestSchemaEvidence": "body extractor SecurityConfig fields [password_protection_enabled:bool, password_min_length:u8, password_require_letters:bool, password_require_digits:bool, password_require_symbols:bool, session_ttl_seconds:i64, idle_timeout_seconds:i64] (config.rs:615); exact handler backend/src/auth.rs:572-640", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/auth.rs:572-640", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "explicit", "batchable": false, "syncSafe": false, "sensitiveFields": [ "$.request.headers.cookie" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "settings-instance", "executionPolicy": "dedicatedFlow", "sourceEvidence": [ "backend/src/main.rs:912-914", "backend/src/auth.rs:572-640", "backend/src/auth.rs:43-43" ], "upstreamDomain": "instances-auth", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getHealth", "method": "GET", "pathTemplate": "/api/health", "handler": "health_check", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/handlers.rs:65-75", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/handlers.rs:65-75; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "instances-new", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:923-923", "backend/src/handlers.rs:65-75", "bruno-api/get_health.bru:8", "backend/src/auth.rs:43-43" ], "upstreamDomain": "instances-auth", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "getAuthStatus", "method": "GET", "pathTemplate": "/api/auth/status", "handler": "auth::status", "capability": "query", "riskLevel": "R0", "sessionSensitive": false, "requestSchemaEvidence": "none; no body/query/path extractor; exact handler backend/src/auth.rs:345-364", "responseSchemaEvidence": "Rust return (StatusCode, Json>); exact handler backend/src/auth.rs:345-364", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "safe", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [ "$.request.headers.cookie" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "instances-new", "executionPolicy": "registeredOperation", "sourceEvidence": [ "backend/src/main.rs:925-926", "backend/src/auth.rs:345-364", "backend/src/auth.rs:43-43" ], "upstreamDomain": "instances-auth", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postAuthSetup", "method": "POST", "pathTemplate": "/api/auth/setup", "handler": "auth::setup", "capability": "job", "riskLevel": "R3", "sessionSensitive": false, "requestSchemaEvidence": "body extractor LoginRequest fields [password:String] (auth.rs:54); exact handler backend/src/auth.rs:366-427", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/auth.rs:366-427", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "strong", "batchable": false, "syncSafe": false, "sensitiveFields": [ "$.body.password", "$.response.headers.set-cookie" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "instances-new", "executionPolicy": "dedicatedFlow", "sourceEvidence": [ "backend/src/main.rs:929-930", "backend/src/auth.rs:366-427", "backend/src/auth.rs:43-43" ], "upstreamDomain": "instances-auth", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3" }, { "operationId": "postAuthLogin", "method": "POST", "pathTemplate": "/api/auth/login", "handler": "auth::login", "capability": "command", "riskLevel": "R1", "sessionSensitive": true, "requestSchemaEvidence": "body extractor LoginRequest fields [password:String] (auth.rs:54); exact handler backend/src/auth.rs:429-489", "responseSchemaEvidence": "success/error payload evidenced by ApiResponse; exact handler backend/src/auth.rs:429-489", "requestContentType": "application/json", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [ "$.body.password", "$.response.headers.set-cookie" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "instances-new", "executionPolicy": "dedicatedFlow", "sourceEvidence": [ "backend/src/main.rs:933-934", "backend/src/auth.rs:429-489", "backend/src/auth.rs:43-43" ], "upstreamDomain": "instances-auth", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3", "automaticReplay": "forbidden" }, { "operationId": "postAuthLogout", "method": "POST", "pathTemplate": "/api/auth/logout", "handler": "auth::logout", "capability": "command", "riskLevel": "R1", "sessionSensitive": true, "requestSchemaEvidence": "none body; HeaderMap carries simadmin_session cookie; exact handler backend/src/auth.rs:642-655; cookie name backend/src/auth.rs:43-43", "responseSchemaEvidence": "dynamic-json construction in exact handler backend/src/auth.rs:642-655; field shape is implementation evidence only", "requestContentType": "none", "timeoutMs": 10000, "idempotency": "conditional", "confirmationPolicy": "none", "batchable": false, "syncSafe": true, "sensitiveFields": [ "$.request.headers.cookie", "$.response.headers.set-cookie" ], "compatibilityAdapter": "none-pinned-commit", "uiOwner": "settings-instance", "executionPolicy": "dedicatedFlow", "sourceEvidence": [ "backend/src/main.rs:937-938", "backend/src/auth.rs:642-655", "backend/src/auth.rs:43-43" ], "upstreamDomain": "instances-auth", "auditedAtCommit": "58e220411d6599609f0eeda01eb7016e9212f970", "responseFixtureStatus": "pending-phase-0.3", "automaticReplay": "forbidden" } ] as const; type Direction = 'request' | 'response' | 'path' | 'query' | 'session'; type SensitiveHint = { symbol?: string; containers?: [string, string, string][]; handlerToken?: string }; const sensitive = (direction: Direction, path: string, reason: string, redactionMode: 'drop' | 'mask' = 'mask', hint: SensitiveHint = {}) => ({ direction, path, reason, redactionMode, hint }); /* Paths below are deliberately endpoint-specific. They are review policy layered on top of the * mechanically rebuilt source claims; the snapshot proves the anchors exist, not their semantics. */ const sensitiveSupplements: Record[]> = { 'GET /api/sim': ['iccid','imsi','phone_numbers','sms_center'].map(f => sensitive('response', `$.response.data.${f}`, 'SIM/subscriber identifier', 'mask', { symbol: 'SimInfoResponse' })), 'POST /api/sim/cache': ['phone_number','sms_center'].map(f => sensitive('request', `$.body.${f}`, 'subscriber contact value')), 'GET /api/sms/list': [sensitive('response','$.response.data.messages[*].phone_number','message correspondent','mask',{symbol:'SmsMessage',containers:[['SmsListResponse','messages','SmsMessage']]}), sensitive('response','$.response.data.messages[*].content','message body','drop',{symbol:'SmsMessage',containers:[['SmsListResponse','messages','SmsMessage']]})], 'GET /api/sms/conversation': [sensitive('query','$.query.phone_number','message correspondent','mask',{symbol:'SmsConversationRequest'}), sensitive('response','$.response.data.messages[*].phone_number','message correspondent','mask',{symbol:'SmsMessage',containers:[['SmsListResponse','messages','SmsMessage']]}), sensitive('response','$.response.data.messages[*].content','message body','drop',{symbol:'SmsMessage',containers:[['SmsListResponse','messages','SmsMessage']]})], 'GET /api/calls': [sensitive('response','$.response.data.calls[*].phone_number','call party','mask',{symbol:'CallInfo',containers:[['CallListResponse','calls','CallInfo']]})], 'GET /api/call/history': [sensitive('response','$.response.data.records[*].phone_number','call party','mask',{symbol:'CallRecord',containers:[['CallHistoryResponse','records','CallRecord']]})], 'GET /api/call/forwarding': ['voice_unconditional','voice_busy','voice_no_reply','voice_not_reachable'].map(f=>sensitive('response',`$.response.data.${f}`,'forwarding destination','mask',{symbol:'CallForwardingResponse'})), 'GET /api/voicemail/status': [sensitive('response','$.response.data.mailbox_number','voicemail number','mask',{symbol:'VoicemailStatusResponse'})], 'GET /api/apn': [sensitive('response','$.response.data.contexts[*].username','APN credential','drop',{symbol:'ApnContext',containers:[['ApnListResponse','contexts','ApnContext']]}), sensitive('response','$.response.data.contexts[*].password','APN credential','drop',{symbol:'ApnContext',containers:[['ApnListResponse','contexts','ApnContext']]})], 'GET /api/device-network/wlan/status': ['ssid','ipv4_addresses','ipv6_addresses'].map(f => sensitive('response',`$.response.data.${f}`,'network identifier','mask',{symbol:'WlanStatusResponse'})), 'POST /api/device-network/wlan/scan': ['ssid','bssid'].map(f => sensitive('response',`$.response.data.networks[*].${f}`,'network identifier','mask',{symbol:'WlanNetwork',containers:[['WlanScanResponse','networks','WlanNetwork']]})), 'GET /api/device-network/wlan/profiles': [sensitive('response','$.response.data.profiles[*].ssid','network identifier','mask',{symbol:'WlanSavedNetwork',containers:[['WlanProfilesResponse','profiles','WlanSavedNetwork']]})], 'POST /api/device-network/wlan/connect': [sensitive('request','$.body.ssid','network identifier'), sensitive('request','$.body.password','WLAN credential','drop')], 'GET /api/esim/euicc': [sensitive('response','$.response.data.eid','eUICC identifier','mask',{symbol:'EsimEuiccInfo'})], 'GET /api/esim/profiles': [sensitive('response','$.response.data.profiles[*].iccid','eSIM identifier','mask',{symbol:'EsimProfile',containers:[['EsimProfilesResponse','profiles','EsimProfile']]})], }; function legacySensitive(path: string) { const isDrop = /password|secret|token|cookie|content|confirmation_code/i.test(path); const direction: Direction = path.startsWith('$.body') ? 'request' : path.startsWith('$.query') ? 'query' : path.startsWith('$.path') ? 'path' : /cookie|session/.test(path) ? 'session' : 'response'; const canonical = path.replace('$.request.headers.', '$.session.').replace('$.response.headers.', '$.session.'); return sensitive(direction, canonical, isDrop ? 'secret or message content' : 'identifier or address', isDrop ? 'drop' : 'mask'); } function anchorSensitive(field: ReturnType, operation: any) { const modelField = field.path.replace(/\[\*\]/g, '').split('.').at(-1)!; const claim = ['request','path','query'].includes(field.direction) ? operation.requestEvidence : operation.responseEvidence; const candidates = [...claim.modelEvidence.map((m: any) => m.symbol), ...Object.keys(sensitiveModelEvidence58e2204)]; const symbol = field.hint.symbol ?? candidates.find(s => (sensitiveModelEvidence58e2204 as any)[s]?.fields?.[modelField]); if (symbol) { const model = (sensitiveModelEvidence58e2204 as any)[symbol]; const containerPath = (field.hint.containers ?? []).map(([owner, linkField, targetSymbol]) => ({ ...(sensitiveModelEvidence58e2204 as any)[owner], field: linkField, targetSymbol })); return { ...field, sourceAnchor: { symbol, sourceSha256: model.sourceSha256 }, evidence: { ...model, modelField, fieldPath: field.path, containerPath } }; } if (field.direction === 'session') { const sessionEvidence = { sourceFile: 'backend/src/auth.rs', startLine: 43, endLine: 43, sourceSha256: 'b5bc3eefe0f9312882f59ddacf3a062064fdd90e448e5022b81d9ba940a9d266', symbol: 'SESSION_COOKIE', fieldPath: field.path, handlerToken: 'simadmin_session' }; return { ...field, sourceAnchor: { symbol: 'SESSION_COOKIE', sourceSha256: sessionEvidence.sourceSha256 }, evidence: sessionEvidence }; } const fallbackToken = modelField; return { ...field, sourceAnchor: { symbol: operation.handler, sourceSha256: claim.sourceSha256 }, evidence: { sourceFile: claim.sourceFile, startLine: claim.startLine, endLine: claim.endLine, sourceSha256: claim.sourceSha256, symbol: operation.handler, fieldPath: field.path, handlerToken: field.hint.handlerToken ?? fallbackToken } }; } export const upstream58e2204Operations = rawUpstream58e2204Operations.map(operation => { const route = `${operation.method} ${operation.pathTemplate}`; const evidence = structuredEvidence58e2204[route as keyof typeof structuredEvidence58e2204]; const merged = [...operation.sensitiveFields.map(legacySensitive), ...(sensitiveSupplements[route] ?? [])] .filter(field => !(route === 'GET /api/apn' && field.path.startsWith('$.body.'))) .filter(field => !(route === 'GET /api/device-network/wlan/profiles' && field.path === '$.response.data[*].ssid')) .filter(field => !(route === 'POST /api/device-network/wlan/profile' && field.path.endsWith('.credentials'))); const unique = [...new Map(merged.map(field => [`${field.direction}:${field.path}`, field])).values()]; const withEvidence = { ...operation, ...evidence }; return { ...withEvidence, semanticBindingReview: 'reviewed-phase-0.2', sensitiveFields: unique.map(field => anchorSensitive(field, withEvidence)) }; });