Files
multi-simadmin/docs/api/simadmin-upstream-58e2204.md
T

62 KiB

SimAdmin upstream API static-contract evidence matrix — 58e2204

  • Audited commit: 58e220411d6599609f0eeda01eb7016e9212f970.
  • Coverage: 100 paths / 117 operations (GET 50, POST 62, DELETE 5); IA domain/owner mapping remains frozen.
  • Independent snapshot: repository fixture packages/operation-registry/test/fixtures/upstream-58e2204/ contains whole upstream source and all 82 Bruno .bru files. manifest.json records commit and SHA-256 for every whole file; tests re-hash files and exact handler slices without /tmp or registry-derived content.
  • Exact handlers: each handlerRange starts at the async function signature and ends at its brace-matched closing brace. Helper evidence, when needed, belongs in supplementalRanges, never in the handler digest.
  • Response evidence: explicit Rust returns, ApiResponse<T> payload construction, or dynamic JSON construction are implementation evidence, not real response fixtures or an exhaustive schema. opaque-into-response count: 0.
  • Bruno evidence: 67/117 operations reference parsed Bruno evidence from 82 files. This does not claim that 82 files cover all 117 operations; operations without Bruno are marked route+handler(+model).
  • Sensitive fields: every item carries snapshot-rebuildable evidence (file/range/SHA-256/symbol/model field), with explicit container model chains for array paths and exact handler slices for dynamic keys.
  • Boundary / semanticBindingReview: structural checks prove source/model/field relationships, not semantic payload intent. Each registry operation is marked semanticBindingReview: 'reviewed-phase-0.2'; manual review fixes the method/path/handler/payload-symbol tuple, especially high-value response bindings.
  • Policy: every R2 requires at least explicit confirmation; every R3 requires strong confirmation. Auth/session-sensitive operations use dedicated flow/replay protections.
  • Phase 0.3 仅负责采集真实响应样本 (responseFixtureStatus=pending-phase-0.3); static evidence is not a runtime fixture.

Whole-file snapshot SHA-256

See upstream-58e2204/manifest.json; it is machine-verified on every test run and is the authoritative complete whole-file SHA list.

All operations

Method Path operationId Domain uiOwner Handler Evidence level Content-Type Idempotency Risk / policy Request contract Response contract Evidence digest
GET /api/device getDevice device-system overview get_device_info route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1076-1090 ApiResponse success payload/error envelope; success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1076-1090 7b4d3ba9a85015e5
GET /api/sim getSim sim overview get_sim_info route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1126-1145 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1126-1145 db5280e4e6d37c43
POST /api/sim/details/refresh postSimDetailsRefresh sim overview refresh_sim_details_handler route+handler none non-idempotent R1 / command / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1148-1164 dynamic-json construction in exact handler backend/src/handlers.rs:1148-1164; field shape is implementation evidence only ab04a42ae36c3495
POST /api/sim/cache postSimCache sim overview update_sim_cache_handler route+handler+model application/json conditional R1 / command / confirm:none / registeredOperation body extractor UpdateSimCacheRequest fields [phone_number:Option, sms_center:Option] (models.rs:1036); exact handler backend/src/handlers.rs:1167-1213 success/error payload evidenced by ApiResponse<serde_json::Value>; exact handler backend/src/handlers.rs:1167-1213 b2b5f366ff8b133d
GET /api/network getNetwork cellular cellular get_network_info route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1218-1232 ApiResponse success payload/error envelope; success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1218-1232 5d02208a69b79024
GET /api/cells getCells cellular cellular get_cells route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1235-1249 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1235-1249 2a0eb9db873a461a
POST /api/cell-monitor/start postCellMonitorStart cellular cellular start_cell_monitor_handler route+handler none conditional R1 / command / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1252-1282 success/error payload evidenced by ApiResponse<serde_json::Value>; exact handler backend/src/handlers.rs:1252-1282 c70d5916a800de22
POST /api/cell-monitor/stop postCellMonitorStop cellular cellular stop_cell_monitor_handler route+handler none conditional R1 / command / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1285-1312 success/error payload evidenced by ApiResponse<serde_json::Value>; exact handler backend/src/handlers.rs:1285-1312 81303fb59efb78b8
GET /api/radio-mode getRadioMode radio-lock cellular get_radio_mode_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1315-1329 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1315-1329 caba610280c2850f
POST /api/radio-mode postRadioMode radio-lock cellular set_radio_mode_handler route+handler+model+bruno application/json conditional R1 / command / confirm:none / registeredOperation body extractor RadioModeRequest fields [mode:RadioMode] (models.rs:351); exact handler backend/src/handlers.rs:1332-1352 success/error payload evidenced by ApiResponse<serde_json::Value>; exact handler backend/src/handlers.rs:1332-1352 c41c6134fe1f28b0
GET /api/band-lock getBandLock radio-lock cellular get_band_lock_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1355-1369 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1355-1369 6130c68b619423b3
POST /api/band-lock postBandLock radio-lock cellular set_band_lock_handler route+handler+model+bruno application/json conditional R2 / job / confirm:explicit / registeredOperation 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 success/error payload evidenced by ApiResponse<serde_json::Value>; exact handler backend/src/handlers.rs:1372-1392 04504f8b9b2d528e
GET /api/network/interfaces getNetworkInterfaces device-network device-network get_network_interfaces_info route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1619-1644 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1619-1644 a1ac88c365ed70bf
GET /api/network/connection-addresses getNetworkConnectionAddresses device-network device-network get_network_connection_addresses route+handler none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1647-1666 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1647-1666 a5f28ff95121c097
GET /api/device-network/ddns/config getDeviceNetworkDdnsConfig device-network device-network get_device_ddns_config_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1669-1679 dynamic-json construction in exact handler backend/src/handlers.rs:1669-1679; field shape is implementation evidence only 4ec8e855d61695c9
POST /api/device-network/ddns/config postDeviceNetworkDdnsConfig device-network device-network set_device_ddns_config_handler route+handler+model+bruno application/json conditional R2 / job / confirm:explicit / registeredOperation 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 success/error payload evidenced by ApiResponse<serde_json::Value>; exact handler backend/src/handlers.rs:1682-1721 10137722721a3ef9
GET /api/device-network/ddns/status getDeviceNetworkDdnsStatus device-network device-network get_device_ddns_status_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1750-1757 dynamic-json construction in exact handler backend/src/handlers.rs:1750-1757; field shape is implementation evidence only 02494bf7928a9a23
POST /api/device-network/ddns/sync postDeviceNetworkDdnsSync device-network device-network sync_device_ddns_handler route+handler+bruno none conditional R1 / command / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1760-1781 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1760-1781 43cf9573e2b43aaf
GET /api/device-network/ddns/logs getDeviceNetworkDdnsLogs device-network device-network get_device_ddns_logs_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1784-1790 dynamic-json construction in exact handler backend/src/handlers.rs:1784-1790; field shape is implementation evidence only ac80f3ada641ca13
POST /api/device-network/ddns/logs/clear postDeviceNetworkDdnsLogsClear device-network device-network clear_device_ddns_logs_handler route+handler+bruno none conditional R2 / job / confirm:explicit / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1793-1802 dynamic-json construction in exact handler backend/src/handlers.rs:1793-1802; field shape is implementation evidence only 8ebb7d7cfe772a4e
GET /api/device-network/wlan/status getDeviceNetworkWlanStatus device-network device-network get_device_wlan_status_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1805-1819 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1805-1819 66741c07471de1f7
POST /api/device-network/wlan/enabled postDeviceNetworkWlanEnabled device-network device-network set_device_wlan_enabled_handler route+handler+model+bruno application/json conditional R1 / command / confirm:none / registeredOperation body extractor WlanEnabledRequest fields [enabled:bool] (models.rs:606); exact handler backend/src/handlers.rs:1822-1841 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1822-1841 b6cc1238ca609208
POST /api/device-network/wlan/scan postDeviceNetworkWlanScan device-network device-network scan_device_wlan_handler route+handler+bruno none non-idempotent R1 / command / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1844-1858 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1844-1858 de90691d7c57a4e9
GET /api/device-network/wlan/profiles getDeviceNetworkWlanProfiles device-network device-network get_device_wlan_profiles_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1861-1875 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1861-1875 caadf1fc1c436c63
POST /api/device-network/wlan/forget postDeviceNetworkWlanForget device-network device-network forget_device_wlan_handler route+handler+model+bruno application/json conditional R2 / job / confirm:explicit / registeredOperation body extractor WlanForgetRequest fields [uuid:String, connection_id:String] (models.rs:635); exact handler backend/src/handlers.rs:1878-1897 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1878-1897 f5142f819f6da442
POST /api/device-network/wlan/connect postDeviceNetworkWlanConnect device-network device-network connect_device_wlan_handler route+handler+model+bruno application/json non-idempotent R1 / command / confirm:none / registeredOperation body extractor WlanConnectRequest fields [ssid:String, password:String, auto_join:bool] (models.rs:611); exact handler backend/src/handlers.rs:1900-1955 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1900-1955 9c422666a3db49cd
POST /api/device-network/wlan/disconnect postDeviceNetworkWlanDisconnect device-network device-network disconnect_device_wlan_handler route+handler+bruno none non-idempotent R1 / command / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1958-1991 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1958-1991 719a709dc8509a35
POST /api/device-network/wlan/profile postDeviceNetworkWlanProfile device-network device-network save_device_wlan_profile_handler route+handler+model+bruno application/json conditional R1 / command / confirm:none / registeredOperation 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 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1994-2013 b3180f55af718c04
GET /api/network/signal-strength getNetworkSignalStrength cellular cellular get_signal_strength_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:2016-2030 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2016-2030 2c04c31da8b4160b
GET /api/location/cell-info getLocationCellInfo cellular cellular get_cell_location_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1395-1409 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1395-1409 fc748f05e03bf684
GET /api/network/operators getNetworkOperators cellular cellular get_network_operators route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1412-1426 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1412-1426 d3b30db8a501b92a
GET /api/network/operators/scan getNetworkOperatorsScan cellular cellular scan_network_operators route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1429-1443 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1429-1443 4a8bfbd38a943df8
POST /api/network/register-manual postNetworkRegisterManual cellular cellular register_network_manual route+handler+model+bruno application/json non-idempotent R2 / job / confirm:explicit / registeredOperation body extractor ManualRegisterRequest fields [mccmnc:String] (models.rs:771); exact handler backend/src/handlers.rs:1446-1466 success/error payload evidenced by ApiResponse<serde_json::Value>; exact handler backend/src/handlers.rs:1446-1466 8b78cc782499ff83
POST /api/network/register-auto postNetworkRegisterAuto cellular cellular register_network_auto route+handler+bruno none non-idempotent R2 / job / confirm:explicit / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1469-1486 success/error payload evidenced by ApiResponse<serde_json::Value>; exact handler backend/src/handlers.rs:1469-1486 431aabcc9852603b
GET /api/apn getApn data-connection cellular get_apn_list_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1489-1504 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1489-1504 798953ca7e3857d0
POST /api/apn postApn data-connection cellular set_apn_handler route+handler+model+bruno application/json conditional R1 / command / confirm:none / registeredOperation 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 success/error payload evidenced by ApiResponse<serde_json::Value>; exact handler backend/src/handlers.rs:1507-1571 6edced468c5f3bcb
GET /api/cell-lock getCellLock radio-lock cellular get_cell_lock_status_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1574-1582 dynamic-json construction in exact handler backend/src/handlers.rs:1574-1582; field shape is implementation evidence only fe4b4aaedc6e5ccf
POST /api/cell-lock postCellLock radio-lock cellular set_cell_lock_handler route+handler+model+bruno application/json conditional R2 / job / confirm:explicit / registeredOperation 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 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:1585-1603 29ff2739b7d0b584
POST /api/cell-lock/unlock-all postCellLockUnlockAll radio-lock cellular unlock_all_cells_handler route+handler+bruno none conditional R2 / job / confirm:explicit / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:1606-1616 dynamic-json construction in exact handler backend/src/handlers.rs:1606-1616; field shape is implementation evidence only 390162e5ce89c095
GET /api/data getData data-connection cellular get_data_status route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:2035-2062 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2035-2062 43f00a519bd67c3a
POST /api/data postData data-connection cellular set_data_status route+handler+model+bruno application/json conditional R1 / command / confirm:none / registeredOperation body extractor DataConnectionRequest fields [active:bool] (models.rs:234); exact handler backend/src/handlers.rs:2065-2131 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2065-2131 f1653cfe4442172c
GET /api/roaming getRoaming data-connection cellular get_roaming_status_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:2172-2193 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2172-2193 687ff0cdb729645a
POST /api/roaming postRoaming data-connection cellular set_roaming_status_handler route+handler+model+bruno application/json conditional R1 / command / confirm:none / registeredOperation body extractor RoamingRequest fields [allowed:bool] (models.rs:244); exact handler backend/src/handlers.rs:2196-2247 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2196-2247 b18b5c87eb24ccc9
GET /api/airplane-mode getAirplaneMode data-connection cellular get_airplane_mode_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:2315-2329 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2315-2329 243c2a63fd99d45c
POST /api/airplane-mode postAirplaneMode data-connection cellular set_airplane_mode_handler route+handler+model+bruno application/json conditional R1 / command / confirm:none / registeredOperation body extractor AirplaneModeRequest fields [enabled:bool] (models.rs:255); exact handler backend/src/handlers.rs:2250-2312 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2250-2312 5efb8a55c495ea0b
POST /api/baseband/restart postBasebandRestart data-connection cellular restart_baseband_handler route+handler none non-idempotent R3 / job / confirm:strong / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:2133-2159 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2133-2159 ef18782a4b21d5b4
GET /api/baseband/restart/status getBasebandRestartStatus data-connection cellular get_baseband_restart_status_handler route+handler none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:2161-2169 dynamic-json construction in exact handler backend/src/handlers.rs:2161-2169; field shape is implementation evidence only 736cc766f31d5d71
GET /api/work-mode getWorkMode workmode-esim esim get_work_mode_handler route+handler none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:352-365 dynamic-json construction in exact handler backend/src/handlers.rs:352-365; field shape is implementation evidence only f2d3dca3f43326f8
POST /api/work-mode postWorkMode workmode-esim esim set_work_mode_handler route+handler+model application/json conditional R2 / job / confirm:explicit / registeredOperation body extractor WorkModeRequest fields [mode:WorkMode, confirm:bool] (models.rs:57); exact handler backend/src/handlers.rs:368-405 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:368-405 cf17a54e0df74a9d
GET /api/esim/config getEsimConfig workmode-esim esim get_esim_config_handler route+handler none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:456-462 dynamic-json construction in exact handler backend/src/handlers.rs:456-462; field shape is implementation evidence only 1be6b526e1a78451
POST /api/esim/config postEsimConfig workmode-esim esim set_esim_config_handler route+handler+model application/json conditional R2 / job / confirm:explicit / registeredOperation 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 dynamic-json construction in exact handler backend/src/handlers.rs:465-482; field shape is implementation evidence only b497f06687977d9f
GET /api/esim/lpac/status getEsimLpacStatus workmode-esim esim get_esim_lpac_status_handler route+handler none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:408-416 dynamic-json construction in exact handler backend/src/handlers.rs:408-416; field shape is implementation evidence only a4d5143d1f83089b
POST /api/esim/lpac/repair postEsimLpacRepair workmode-esim esim repair_esim_lpac_handler route+handler+model application/json conditional R2 / job / confirm:explicit / registeredOperation body extractor EsimLpacRepairRequest fields [proxy_prefix:Option, asset_url:Option] (models.rs:153); exact handler backend/src/handlers.rs:419-453 dynamic-json construction in exact handler backend/src/handlers.rs:419-453; field shape is implementation evidence only 4d88af6126732e94
GET /api/esim/euicc getEsimEuicc workmode-esim esim get_esim_euicc_handler route+handler none safe R0 / query / confirm:none / registeredOperation query extractor std::collections::HashMap<String, String>; exact exact handler backend/src/handlers.rs:485-521 dynamic-json construction in exact handler backend/src/handlers.rs:485-521; field shape is implementation evidence only 7bb950b7fe21268d
GET /api/esim/profiles getEsimProfiles workmode-esim esim get_esim_profiles_handler route+handler none safe R0 / query / confirm:none / registeredOperation query extractor std::collections::HashMap<String, String>; exact exact handler backend/src/handlers.rs:524-598 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:524-598 07f60eddaa9d20ff
POST /api/esim/profiles postEsimProfiles workmode-esim esim download_esim_profile_handler route+handler+model application/json conditional R1 / command / confirm:none / registeredOperation 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 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:803-1071 fe41273a15be55b3
POST /api/esim/profiles/{iccid}/enable postEsimProfilesIccidEnable workmode-esim esim enable_esim_profile_handler route+handler none conditional R1 / command / confirm:none / registeredOperation path extractor String; exact handler backend/src/handlers.rs:601-726 dynamic-json construction in exact handler backend/src/handlers.rs:601-726; field shape is implementation evidence only d54705546ca3bf2a
POST /api/esim/profiles/{iccid}/rename postEsimProfilesIccidRename workmode-esim esim rename_esim_profile_handler route+handler+model application/json conditional R1 / command / confirm:none / registeredOperation body extractor EsimRenameRequest fields [name:String] (models.rs:169); path extractor String; exact handler backend/src/handlers.rs:729-750 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:729-750 0d5cb68158e1e6c2
DELETE /api/esim/profiles/{iccid} deleteEsimProfilesIccid workmode-esim esim delete_esim_profile_handler route+handler none idempotent R3 / job / confirm:strong / registeredOperation path extractor String; exact handler backend/src/handlers.rs:753-780 dynamic-json construction in exact handler backend/src/handlers.rs:753-780; field shape is implementation evidence only 8ad25b4826f75d27
GET /api/calls getCalls calls calls get_calls_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:2634-2655 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2634-2655 21e77021b749876b
POST /api/call/dial postCallDial calls calls dial_call_handler route+handler+model+bruno application/json non-idempotent R1 / command / confirm:none / registeredOperation body extractor MakeCallRequest fields [phone_number:String] (models.rs:810); exact handler backend/src/handlers.rs:2657-2689 success/error payload evidenced by ApiResponse<serde_json::Value>; exact handler backend/src/handlers.rs:2657-2689 c440bb90bb4373b3
POST /api/call/hangup postCallHangup calls calls hangup_call_handler route+handler+model+bruno application/json non-idempotent R1 / command / confirm:none / registeredOperation body extractor HangupCallRequest fields [path:String] (models.rs:830); exact handler backend/src/handlers.rs:2691-2725 success/error payload evidenced by ApiResponse<serde_json::Value>; exact handler backend/src/handlers.rs:2691-2725 cffdc6b2f949af4d
POST /api/call/hangup-all postCallHangupAll calls calls hangup_all_calls_handler route+handler+bruno none non-idempotent R1 / command / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:2727-2760 success/error payload evidenced by ApiResponse<serde_json::Value>; exact handler backend/src/handlers.rs:2727-2760 3af8fab7bb4c0437
POST /api/call/answer postCallAnswer calls calls answer_call_handler route+handler+model+bruno application/json non-idempotent R1 / command / confirm:none / registeredOperation body extractor HangupCallRequest fields [path:String] (models.rs:830); exact handler backend/src/handlers.rs:2762-2789 success/error payload evidenced by ApiResponse<serde_json::Value>; exact handler backend/src/handlers.rs:2762-2789 cfcda6600d9ba27c
GET /api/call/volume getCallVolume calls calls get_call_volume_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:2899-2906 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2899-2906 4f96c358e70ba5b3
POST /api/call/volume postCallVolume calls calls set_call_volume_handler route+handler+model+bruno application/json conditional R1 / command / confirm:none / registeredOperation body extractor SetCallVolumeRequest fields [speaker_volume:Option, microphone_volume:Option, muted:Option] (models.rs:856); exact handler backend/src/handlers.rs:2908-2922 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2908-2922 9f2e624358e53aaf
GET /api/call/forwarding getCallForwarding calls calls get_call_forwarding_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:2924-2931 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2924-2931 f7916eb4c5c484e5
POST /api/call/forwarding postCallForwarding calls calls set_call_forwarding_handler route+handler+model+bruno application/json conditional R1 / command / confirm:none / registeredOperation body extractor SetCallForwardingRequest fields [forward_type:String, number:String, timeout:Option] (models.rs:891); exact handler backend/src/handlers.rs:2933-2943 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2933-2943 ddc8b848bccd96aa
GET /api/call/settings getCallSettings calls calls get_call_settings_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:2852-2866 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2852-2866 893ccecb6c077f7e
POST /api/call/settings postCallSettings calls calls set_call_settings_handler route+handler+model+bruno application/json conditional R2 / job / confirm:explicit / registeredOperation body extractor SetCallSettingRequest fields [property:String, value:String] (models.rs:875); exact handler backend/src/handlers.rs:2868-2897 success/error payload evidenced by ApiResponse<serde_json::Value>; exact handler backend/src/handlers.rs:2868-2897 55ab650b3c53b78a
GET /api/call/history getCallHistory calls calls get_call_history_handler route+handler+model none safe R0 / query / confirm:none / registeredOperation query extractor CallHistoryRequest fields [limit:i64, offset:i64] (models.rs:835); exact handler backend/src/handlers.rs:2791-2813 Rust return (StatusCode, Json<ApiResponse>); exact handler backend/src/handlers.rs:2791-2813 1def94db4c3d848e
DELETE /api/call/history/{id} deleteCallHistoryId calls calls delete_call_history_handler route+handler+bruno none idempotent R3 / job / confirm:strong / registeredOperation path extractor i64; exact handler backend/src/handlers.rs:2815-2832 Rust return (StatusCode, Json<ApiResponse<serde_json::Value>>); exact handler backend/src/handlers.rs:2815-2832 defa60d157769310
POST /api/call/history/clear postCallHistoryClear calls calls clear_call_history_handler route+handler+bruno none conditional R3 / job / confirm:strong / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:2834-2850 Rust return (StatusCode, Json<ApiResponse<serde_json::Value>>); exact handler backend/src/handlers.rs:2834-2850 b0e0002012256b5d
GET /api/ims/status getImsStatus calls calls get_ims_status_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:2945-2952 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2945-2952 e533ac5c9e7bc694
GET /api/voicemail/status getVoicemailStatus calls calls get_voicemail_status_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:2954-2961 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:2954-2961 837b8fbc971099b9
POST /api/sms/send postSmsSend messages messages send_sms_handler route+handler+model+bruno application/json non-idempotent R2 / job / confirm:explicit / registeredOperation body extractor SendSmsRequest fields [phone_number:String, content:String] (models.rs:912); exact handler backend/src/handlers.rs:2373-2404 success/error payload evidenced by ApiResponse<serde_json::Value>; exact handler backend/src/handlers.rs:2373-2404 6cd7eaa5e1a1f939
GET /api/sms/list getSmsList messages messages get_sms_list_handler route+handler+model none safe R0 / query / confirm:none / registeredOperation query extractor SmsListRequest fields [limit:i64, offset:i64, direction:Option] (models.rs:918); exact handler backend/src/handlers.rs:2407-2434 Rust return (StatusCode, Json<ApiResponse>); exact handler backend/src/handlers.rs:2407-2434 abbc14adc02b2f5f
GET /api/sms/conversation getSmsConversation messages messages get_sms_conversation_handler route+handler+model none safe R0 / query / confirm:none / registeredOperation query extractor SmsConversationRequest fields [phone_number:String, limit:i64] (models.rs:927); exact handler backend/src/handlers.rs:2437-2458 Rust return (StatusCode, Json<ApiResponse>); exact handler backend/src/handlers.rs:2437-2458 e0747d062889fe8c
GET /api/sms/stats getSmsStats messages messages get_sms_stats_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:2461-2477 Rust return (StatusCode, Json<ApiResponse>); exact handler backend/src/handlers.rs:2461-2477 bd62f399815cb0d1
POST /api/sms/batch-delete postSmsBatchDelete messages messages delete_sms_batch_handler route+handler+model application/json conditional R3 / job / confirm:strong / registeredOperation body extractor SmsBatchDeleteRequest fields [ids:Vec, phone_numbers:Vec] (models.rs:934); exact handler backend/src/handlers.rs:2551-2578 Rust return (StatusCode, Json<ApiResponse<serde_json::Value>>); exact handler backend/src/handlers.rs:2551-2578 94c5c83487401203
DELETE /api/sms/conversation/{phone_number} deleteSmsConversationPhoneNumber messages messages delete_sms_conversation_handler route+handler none idempotent R3 / job / confirm:strong / registeredOperation path extractor String; exact handler backend/src/handlers.rs:2528-2548 Rust return (StatusCode, Json<ApiResponse<serde_json::Value>>); exact handler backend/src/handlers.rs:2528-2548 8abd673088da8720
DELETE /api/sms/message/{id} deleteSmsMessageId messages messages delete_sms_message_handler route+handler none idempotent R3 / job / confirm:strong / registeredOperation path extractor i64; exact handler backend/src/handlers.rs:2508-2525 Rust return (StatusCode, Json<ApiResponse<serde_json::Value>>); exact handler backend/src/handlers.rs:2508-2525 8edc9f89854b5c8d
POST /api/sms/clear postSmsClear messages messages clear_sms_handler route+handler+bruno none conditional R3 / job / confirm:strong / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:2480-2505 Rust return (StatusCode, Json<ApiResponse<serde_json::Value>>); exact handler backend/src/handlers.rs:2480-2505 8c536214c43b65fc
GET /api/stats getStats device-system overview get_system_stats route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:3272-3288 dynamic-json construction in exact handler backend/src/handlers.rs:3272-3288; field shape is implementation evidence only 94834f33d10be4b6
GET /api/stats/cpu getStatsCpu device-system overview get_cpu_info route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:3291-3302 success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3291-3302 9f24be45c5c8df7a
GET /api/connectivity getConnectivity device-system overview get_connectivity_check route+handler none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:3305-3322 Rust return (StatusCode, Json<ApiResponse>); exact handler backend/src/handlers.rs:3305-3322 42ba5f81f052b992
POST /api/system/reboot postSystemReboot device-system overview system_reboot route+handler+model+bruno application/json non-idempotent R3 / job / confirm:strong / registeredOperation body extractor SystemRebootRequest fields [delay_seconds:u32] (models.rs:422); exact handler backend/src/handlers.rs:3381-3406 dynamic-json construction in exact handler backend/src/handlers.rs:3381-3406; field shape is implementation evidence only 362737633fd01332
POST /api/service/restart postServiceRestart device-system overview restart_service_handler route+handler none non-idempotent R3 / job / confirm:strong / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:3578-3601 dynamic-json construction in exact handler backend/src/handlers.rs:3578-3601; field shape is implementation evidence only 712a81c6cca94e0c
GET /api/notifications/config getNotificationsConfig notifications notifications get_notification_config_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:3641-3652 Rust return ( StatusCode, Json<ApiResponsecrate::config::NotificationConfig>, ); exact handler backend/src/handlers.rs:3641-3652 96344b8b2d1b8818
POST /api/notifications/config postNotificationsConfig notifications notifications set_notification_config_handler route+handler+model+bruno application/json conditional R2 / job / confirm:explicit / registeredOperation 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 Rust return (StatusCode, Json<ApiResponse<serde_json::Value>>); exact handler backend/src/handlers.rs:3655-3672 5fc4fbfff68050e0
POST /api/notifications/test/{channel} postNotificationsTestChannel notifications notifications test_notification_channel_handler route+handler none non-idempotent R2 / job / confirm:explicit / registeredOperation path extractor String; exact handler backend/src/handlers.rs:3675-3704 Rust return ( StatusCode, Json<ApiResponsecrate::models::WebhookTestResponse>, ); exact handler backend/src/handlers.rs:3675-3704 df28427afab1724a
GET /api/notifications/logs getNotificationsLogs notifications notifications get_notification_logs_handler route+handler+model none safe R0 / query / confirm:none / registeredOperation 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 Rust return ( StatusCode, Json<ApiResponsecrate::db::NotificationLogsResponse>, ); exact handler backend/src/handlers.rs:3709-3734 da933f5e679cb9e1
POST /api/notifications/logs/clear postNotificationsLogsClear notifications notifications clear_notification_logs_handler route+handler none conditional R3 / job / confirm:strong / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:3737-3760 Rust return (StatusCode, Json<ApiResponse<serde_json::Value>>); exact handler backend/src/handlers.rs:3737-3760 04de36a4268a3ab6
GET /api/notifications/queue getNotificationsQueue notifications notifications get_notification_queue_handler route+handler+model none safe R0 / query / confirm:none / registeredOperation query extractor NotificationQueueQuery fields [limit:i64] (notification_queue.rs:14); exact handler backend/src/notification_queue.rs:24-41 Rust return ( StatusCode, Json<ApiResponsecrate::db::NotificationQueueResponse>, ); exact handler backend/src/notification_queue.rs:24-41 babc88061bcb3386
POST /api/notifications/queue/retry-all postNotificationsQueueRetryAll notifications notifications retry_all_notification_queue_handler route+handler none non-idempotent R2 / job / confirm:explicit / registeredOperation none; no body/query/path extractor; exact handler backend/src/notification_queue.rs:84-100 Rust return (StatusCode, Json<ApiResponse<serde_json::Value>>); exact handler backend/src/notification_queue.rs:84-100 f58e1be1cbf6a022
POST /api/notifications/queue/clear postNotificationsQueueClear notifications notifications clear_notification_queue_handler route+handler none conditional R3 / job / confirm:strong / registeredOperation none; no body/query/path extractor; exact handler backend/src/notification_queue.rs:103-119 Rust return (StatusCode, Json<ApiResponse<serde_json::Value>>); exact handler backend/src/notification_queue.rs:103-119 2501068f6741e02e
DELETE /api/notifications/queue/{id} deleteNotificationsQueueId notifications notifications delete_notification_queue_item_handler route+handler none idempotent R3 / job / confirm:strong / registeredOperation path extractor i64; exact handler backend/src/notification_queue.rs:64-81 Rust return (StatusCode, Json<ApiResponse<serde_json::Value>>); exact handler backend/src/notification_queue.rs:64-81 6b845ad2da8f319d
POST /api/notifications/queue/{id}/retry postNotificationsQueueIdRetry notifications notifications retry_notification_queue_item_handler route+handler none non-idempotent R2 / job / confirm:explicit / registeredOperation path extractor i64; exact handler backend/src/notification_queue.rs:44-61 Rust return (StatusCode, Json<ApiResponse<serde_json::Value>>); exact handler backend/src/notification_queue.rs:44-61 068be5777b9d8f78
GET /api/automation/config getAutomationConfig automation automation get_automation_config_handler route+handler none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:3968-3979 Rust return ( StatusCode, Json<ApiResponsecrate::config::AutomationConfig>, ); exact handler backend/src/handlers.rs:3968-3979 eed75ffb9545cf5e
POST /api/automation/config postAutomationConfig automation automation set_automation_config_handler route+handler+model application/json conditional R2 / job / confirm:explicit / registeredOperation body extractor crate::config::AutomationConfig fields [enabled:bool, tasks:Vec] (config.rs:1394); exact handler backend/src/handlers.rs:3982-3999 Rust return (StatusCode, Json<ApiResponse<serde_json::Value>>); exact handler backend/src/handlers.rs:3982-3999 7f324660f7624a52
GET /api/automation/logs getAutomationLogs automation automation get_automation_logs_handler route+handler+model none safe R0 / query / confirm:none / registeredOperation 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 Rust return ( StatusCode, Json<ApiResponsecrate::db::AutomationLogsResponse>, ); exact handler backend/src/handlers.rs:4002-4027 b6cacc95a374e31a
POST /api/automation/logs/clear postAutomationLogsClear automation automation clear_automation_logs_handler route+handler none conditional R3 / job / confirm:strong / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:4030-4053 Rust return (StatusCode, Json<ApiResponse<serde_json::Value>>); exact handler backend/src/handlers.rs:4030-4053 0912300e74c831ac
POST /api/automation/test/{task_id} postAutomationTestTaskId automation automation test_automation_task_handler route+handler none non-idempotent R2 / job / confirm:explicit / registeredOperation path extractor String; exact handler backend/src/handlers.rs:4056-4146 Rust return (StatusCode, Json<ApiResponse<serde_json::Value>>); exact handler backend/src/handlers.rs:4056-4146 091db790a51ab185
GET /api/ota/status getOtaStatus ota ota get_ota_status_handler route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:3763-3769 dynamic-json construction in exact handler backend/src/handlers.rs:3763-3769; field shape is implementation evidence only 89d8afa94cbad60c
POST /api/ota/upload postOtaUpload ota ota upload_ota_handler route+handler application/octet-stream non-idempotent R3 / job / confirm:strong / registeredOperation bytes extractor axum::body::Bytes; exact exact handler backend/src/handlers.rs:3772-3792 ApiResponse success payload/error envelope; success/error payload evidenced by ApiResponse; exact handler backend/src/handlers.rs:3772-3792 becfb7dc7e9c1355
POST /api/ota/latest-release postOtaLatestRelease ota ota get_latest_ota_release_handler route+handler+model application/json non-idempotent R1 / command / confirm:none / registeredOperation body extractor crate::models::OtaOnlinePrepareRequest fields [proxy_prefix:Option] (models.rs:986); exact handler backend/src/handlers.rs:3795-3825 success/error payload evidenced by ApiResponsecrate::models::OtaLatestReleaseResponse; exact handler backend/src/handlers.rs:3795-3825 61083109860620e5
POST /api/ota/online-prepare postOtaOnlinePrepare ota ota prepare_online_ota_handler route+handler+model application/json non-idempotent R2 / job / confirm:explicit / registeredOperation body extractor crate::models::OtaOnlinePrepareRequest fields [proxy_prefix:Option] (models.rs:986); exact handler backend/src/handlers.rs:3828-3889 success/error payload evidenced by ApiResponsecrate::models::OtaUploadResponse; exact handler backend/src/handlers.rs:3828-3889 6d70f80714b7f004
POST /api/ota/apply postOtaApply ota ota apply_ota_handler route+handler+model+bruno application/json non-idempotent R3 / job / confirm:strong / registeredOperation body extractor crate::models::OtaApplyRequest fields [restart_now:bool] (models.rs:1030); exact handler backend/src/handlers.rs:3892-3911 success/error payload evidenced by ApiResponse<serde_json::Value>; exact handler backend/src/handlers.rs:3892-3911 46c24f90fdb71e52
POST /api/ota/cancel postOtaCancel ota ota cancel_ota_handler route+handler+bruno none conditional R1 / command / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:3914-3931 success/error payload evidenced by ApiResponse<serde_json::Value>; exact handler backend/src/handlers.rs:3914-3931 9085b81dc3f85886
POST /api/auth/password postAuthPassword instances-auth settings-instance auth::change_password route+handler+model application/json conditional R3 / job / confirm:strong / dedicatedFlow body extractor ChangePasswordRequest fields [new_password:String] (auth.rs:59); exact handler backend/src/auth.rs:491-553 success/error payload evidenced by ApiResponse; exact handler backend/src/auth.rs:491-553 ec7372792586fd2a
GET /api/auth/settings getAuthSettings instances-auth settings-instance auth::get_settings route+handler none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/auth.rs:555-570 Rust return (StatusCode, Json<ApiResponse>); exact handler backend/src/auth.rs:555-570 035bdb5afbefdcb8
POST /api/auth/settings postAuthSettings instances-auth settings-instance auth::set_settings route+handler+model application/json conditional R2 / job / confirm:explicit / dedicatedFlow 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 success/error payload evidenced by ApiResponse; exact handler backend/src/auth.rs:572-640 10b564c9437defd5
GET /api/health getHealth instances-auth instances-new health_check route+handler+bruno none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/handlers.rs:65-75 dynamic-json construction in exact handler backend/src/handlers.rs:65-75; field shape is implementation evidence only e169391fd5f376b8
GET /api/auth/status getAuthStatus instances-auth instances-new auth::status route+handler none safe R0 / query / confirm:none / registeredOperation none; no body/query/path extractor; exact handler backend/src/auth.rs:345-364 Rust return (StatusCode, Json<ApiResponse>); exact handler backend/src/auth.rs:345-364 0ee683548f9f8036
POST /api/auth/setup postAuthSetup instances-auth instances-new auth::setup route+handler+model application/json conditional R3 / job / confirm:strong / dedicatedFlow body extractor LoginRequest fields [password:String] (auth.rs:54); exact handler backend/src/auth.rs:366-427 success/error payload evidenced by ApiResponse; exact handler backend/src/auth.rs:366-427 1c0c5eb2cc77326d
POST /api/auth/login postAuthLogin instances-auth instances-new auth::login route+handler+model application/json conditional R1 / command / confirm:none / dedicatedFlow body extractor LoginRequest fields [password:String] (auth.rs:54); exact handler backend/src/auth.rs:429-489 success/error payload evidenced by ApiResponse; exact handler backend/src/auth.rs:429-489 defd9444410e5b12
POST /api/auth/logout postAuthLogout instances-auth settings-instance auth::logout route+handler none conditional R1 / command / confirm:none / dedicatedFlow none body; HeaderMap carries simadmin_session cookie; exact handler backend/src/auth.rs:642-655; cookie name backend/src/auth.rs:43-43 dynamic-json construction in exact handler backend/src/auth.rs:642-655; field shape is implementation evidence only 1ccf5c295251b2a2

Sensitive-field audit ledger

This table is generated from the registry. Each row is an exact directional redaction contract; evidence details remain machine-readable in the registry.

Method Path Direction Sensitive path Mode Reason
GET /api/sim response $.response.data.iccid mask SIM/subscriber identifier
GET /api/sim response $.response.data.imsi mask SIM/subscriber identifier
GET /api/sim response $.response.data.phone_numbers mask SIM/subscriber identifier
GET /api/sim response $.response.data.sms_center mask SIM/subscriber identifier
POST /api/sim/cache request $.body.phone_number mask subscriber contact value
POST /api/sim/cache request $.body.sms_center mask subscriber contact value
GET /api/device-network/ddns/config response $.response.data.access_id mask identifier or address
GET /api/device-network/ddns/config response $.response.data.access_secret drop secret or message content
POST /api/device-network/ddns/config request $.body.access_id mask identifier or address
POST /api/device-network/ddns/config request $.body.access_secret drop secret or message content
GET /api/device-network/wlan/status response $.response.data.ssid mask network identifier
GET /api/device-network/wlan/status response $.response.data.ipv4_addresses mask network identifier
GET /api/device-network/wlan/status response $.response.data.ipv6_addresses mask network identifier
POST /api/device-network/wlan/scan response $.response.data.networks[*].ssid mask network identifier
POST /api/device-network/wlan/scan response $.response.data.networks[*].bssid mask network identifier
GET /api/device-network/wlan/profiles response $.response.data.profiles[*].ssid mask network identifier
POST /api/device-network/wlan/connect request $.body.ssid mask network identifier
POST /api/device-network/wlan/connect request $.body.password drop WLAN credential
GET /api/apn response $.response.data.contexts[*].username drop APN credential
GET /api/apn response $.response.data.contexts[*].password drop APN credential
POST /api/apn request $.body.username mask identifier or address
POST /api/apn request $.body.password drop secret or message content
GET /api/esim/euicc response $.response.data.eid mask eUICC identifier
GET /api/esim/profiles response $.response.data.profiles[*].iccid mask eSIM identifier
POST /api/esim/profiles request $.body.matching_id mask identifier or address
POST /api/esim/profiles request $.body.confirmation_code drop secret or message content
POST /api/esim/profiles request $.body.imei mask identifier or address
GET /api/calls response $.response.data.calls[*].phone_number mask call party
POST /api/call/dial request $.body.phone_number mask identifier or address
GET /api/call/forwarding response $.response.data.voice_unconditional mask forwarding destination
GET /api/call/forwarding response $.response.data.voice_busy mask forwarding destination
GET /api/call/forwarding response $.response.data.voice_no_reply mask forwarding destination
GET /api/call/forwarding response $.response.data.voice_not_reachable mask forwarding destination
POST /api/call/forwarding request $.body.number mask identifier or address
GET /api/call/history response $.response.data.records[*].phone_number mask call party
GET /api/voicemail/status response $.response.data.mailbox_number mask voicemail number
POST /api/sms/send request $.body.phone_number mask identifier or address
POST /api/sms/send request $.body.content drop secret or message content
GET /api/sms/list response $.response.data.messages[*].phone_number mask message correspondent
GET /api/sms/list response $.response.data.messages[*].content drop message body
GET /api/sms/conversation query $.query.phone_number mask message correspondent
GET /api/sms/conversation response $.response.data.messages[*].phone_number mask message correspondent
GET /api/sms/conversation response $.response.data.messages[*].content drop message body
POST /api/sms/batch-delete request $.body.phone_numbers[*] mask identifier or address
DELETE /api/sms/conversation/{phone_number} path $.path.phone_number mask identifier or address
GET /api/notifications/config response $.response.data.channels[*].config mask identifier or address
POST /api/notifications/config request $.body.channels[*].config mask identifier or address
GET /api/automation/config response $.response.data.tasks[*].config mask identifier or address
POST /api/automation/config request $.body.tasks[*].config mask identifier or address
POST /api/auth/password request $.body.new_password drop secret or message content
POST /api/auth/password session $.session.set-cookie drop secret or message content
GET /api/auth/settings session $.session.cookie drop secret or message content
POST /api/auth/settings session $.session.cookie drop secret or message content
GET /api/auth/status session $.session.cookie drop secret or message content
POST /api/auth/setup request $.body.password drop secret or message content
POST /api/auth/setup session $.session.set-cookie drop secret or message content
POST /api/auth/login request $.body.password drop secret or message content
POST /api/auth/login session $.session.set-cookie drop secret or message content
POST /api/auth/logout session $.session.cookie drop secret or message content
POST /api/auth/logout session $.session.set-cookie drop secret or message content