2.5 KiB
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 |
|
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.comextension-guid:2d558935-686a-4bd0-9991-07539f5fe749 - Auth (the non-obvious part): header
CTRLAuthHeader: <raw api_secret>with NOBasicprefix and no base64 + headerOrigin: https://computerguru.screenconnect.com.Authorization: Basic <b64>orCTRLAuthHeader: 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).
- Reads:
- 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 repeatedc=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/GetSessionGroupsreturn 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.