### G-Core Bridge Test Suite ### Use with VS Code REST Client extension or similar @baseUrl = http://localhost:7721 ### Health Check GET {{baseUrl}}/health ### Root (service info) GET {{baseUrl}}/ ### Status (before connect) GET {{baseUrl}}/status ### Connect to G-Core Server POST {{baseUrl}}/connect Content-Type: application/json { "Address": "192.168.1.20", "Username": "operator", "Password": "password" } ### Status (after connect) GET {{baseUrl}}/status ### Get Media Channels GET {{baseUrl}}/channels ### Get Monitor States (tracked from events) GET {{baseUrl}}/monitors ### Get Specific Monitor State GET {{baseUrl}}/monitors/17 ### Get Active Alarms (tracked from events) GET {{baseUrl}}/alarms/active ### Get All Alarms (including stopped) GET {{baseUrl}}/alarms ### ViewerConnectLive - Switch Camera 101 to Monitor 17 POST {{baseUrl}}/viewer/connect-live Content-Type: application/json { "Viewer": 17, "Channel": 101 } ### CrossSwitch (compatibility endpoint) POST {{baseUrl}}/crossswitch Content-Type: application/json { "VideoInput": 102, "VideoOutput": 18, "SwitchMode": 0 } ### ViewerClear - Clear Monitor 17 POST {{baseUrl}}/viewer/clear Content-Type: application/json { "Viewer": 17 } ### PTZ Pan Right POST {{baseUrl}}/camera/pan Content-Type: application/json { "Camera": 101, "Direction": "right", "Speed": 50 } ### PTZ Pan Stop POST {{baseUrl}}/camera/pan-stop Content-Type: application/json { "Camera": 101 } ### PTZ Tilt Down POST {{baseUrl}}/camera/tilt Content-Type: application/json { "Camera": 101, "Direction": "down", "Speed": 30 } ### PTZ Zoom Out POST {{baseUrl}}/camera/zoom Content-Type: application/json { "Camera": 101, "Direction": "out", "Speed": 50 } ### PTZ Stop All POST {{baseUrl}}/camera/stop Content-Type: application/json { "Camera": 101 } ### PTZ Go to Preset POST {{baseUrl}}/camera/preset Content-Type: application/json { "Camera": 101, "Preset": 2 } ### Playback - Set Play Mode (Step Forward) POST {{baseUrl}}/viewer/set-play-mode Content-Type: application/json { "Viewer": 17, "PlayMode": "step forward", "PlaySpeed": 1.0 } ### Playback - Jump to Time POST {{baseUrl}}/viewer/play-from-time Content-Type: application/json { "Viewer": 17, "Channel": 101, "PlayMode": "play forward", "Time": "2026/02/03 09:00:00,000 GMT+01:00" } ### Playback - Jump Forward 30 Seconds POST {{baseUrl}}/viewer/jump-by-time Content-Type: application/json { "Viewer": 17, "Channel": 101, "PlayMode": "play forward", "TimeInSec": 30 } ### Digital Output - Close Contact POST {{baseUrl}}/digital-io/close Content-Type: application/json { "ContactId": 100 } ### Digital Output - Open Contact POST {{baseUrl}}/digital-io/open Content-Type: application/json { "ContactId": 100 } ### Get Message Log GET {{baseUrl}}/messages ### Clear Message Log POST {{baseUrl}}/messages/clear ### Send Generic Action POST {{baseUrl}}/action Content-Type: application/json { "Action": "ViewerConnectLive(17, 101)" } ### Send Custom Action POST {{baseUrl}}/custom-action Content-Type: application/json { "TypeId": 1, "Text": "Test custom action" } ### Disconnect POST {{baseUrl}}/disconnect ### Swagger UI # Open in browser: http://localhost:7721/swagger