Files
claudetools/.claude/memory/reference_screenconnect_api.md
Howard Enos f6f0421ff3 sync: auto-sync from HOWARD-HOME at 2026-06-21 21:01:39
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-21 21:01:39
2026-06-21 21:02:05 -07:00

2.5 KiB

name, description, metadata
name description metadata
reference_screenconnect_api ACG ScreenConnect RESTful API auth + verified method surface (CTRLAuthHeader=raw secret); now wrapped by the /screenconnect skill
type
reference

ACG ScreenConnect (CW Control) RESTful API Manager extension. Auth verified 2026-06-02; full method surface + parameterized-installer deploy verified live 2026-06-21 (Howard). Now wrapped by the /screenconnect skill (.claude/skills/screenconnect/) — use that (sc.py/sc_client.py) rather than hand-rolling calls. Secret in vault msp-tools/screenconnect.sops.yaml (credentials.api_secret).

  • Host: https://computerguru.screenconnect.com extension-guid: 2d558935-686a-4bd0-9991-07539f5fe749
  • Auth (the non-obvious part): header CTRLAuthHeader: <raw api_secret> with NO Basic prefix and no base64 + header Origin: https://computerguru.screenconnect.com. Authorization: Basic <b64> or CTRLAuthHeader: Basic <b64> both 401. Raw secret in CTRLAuthHeader is what works. Endpoint: POST /App_Extensions/<guid>/Service.ashx/<Method>.
  • Verified methods (CORRECTS the old "only GetSessionsByName" note): reads take a JSON object, writes take a POSITIONAL ARRAY.
    • Reads: GetSessionsByName {"sessionName":"<name>"}, GetSessionDetailsBySessionID {"sessionID":"<id>"}, GetSessionBySessionID.
    • Writes (gated in the skill): SendCommandToSession ["<id>","<cmd>"] (backstage command on the guest), SendMessageToSession ["<id>","<msg>"], UpdateSessionCustomProperties ["<id>",["cp1","cp2","cp3",...]]. CP1=Company / CP2=Site / CP3=Tag (up to CP8).
  • Parameterized access installer (deploy): the cloud serves a pre-keyed installer at /Bin/ScreenConnect.ClientSetup.<ext>?e=Access&y=Guest&t=<name>&c=<CP1>&c=<CP2>&c=<CP3>... (ext: msi/exe/pkg/deb/rpm/sh). The repeated c= self-tag the agent on install, so an RMM-pushed install self-places into the right Company/Site/Tag. Windows silent: msiexec /i <file> /qn /norestart. VERIFIED end-to-end on RMM-TEST-MACHINE 2026-06-21.
  • Real limitation (still true): NO full-fleet inventory method — GetSessions/GetAllSessions/GetSessionGroups return 500 "Web method does not exist". You CANNOT list a client's whole machine inventory via this API yet; needs Mike to update the RESTful API Manager extension (coord msg 60d9e876). Workaround: the installer sets session Name = machine name, so by-name lookup works post-install.

Used during the Dataforth Syncro asset cleanup as a liveness source. See reference_acg_msp_stack and the /screenconnect skill SKILL.md.