4.3 KiB
Syncro API — RMM / Policy Management capabilities (research)
- Date: 2026-06-16
- By: Mike (GURU-5070) + Claude
- Question: Does the Syncro (SyncroMSP) public REST API expose the RMM side of the product — specifically policy management (push AV like Bitdefender, manage monitors/ scripts/patch policies, assign policies to assets)?
- Status: Research only — NOT yet folded into the
/syncroskill (per Mike). Verify token scope before relying on/policy_folders.
TL;DR
No — RMM policy management is NOT exposed by the Syncro API. The API exposes the policy folder hierarchy (organizational only) plus read-only RMM inventory (assets, patch status, installed apps) and RMM alerts. There is no endpoint to run scripts, send remote commands, start a remote session, deploy software, install patches, or edit a policy's content (monitors/ scripts/patch schedule/AV). Those are UI-/agent-only. (This is exactly the gap GuruRMM fills, and why a Bitdefender push goes through the Syncro UI/policy, not the API.)
Method (authoritative)
Endpoint probing alone was misleading (guessed wrong path names → false 404s). The definitive source is Syncro's own OpenAPI 3.0.0 spec:
- Docs UI:
https://api-docs.syncromsp.com/(Swagger UI) - Raw spec:
https://api-docs.syncromsp.com/swagger.json(~470 KB) — read this, not the UI. - Live probes against
https://computerguru.syncromsp.com/api/v1confirmed behavior + the 401.
(Grok live-web pass returned empty — its known finalization quirk; the published spec is authoritative anyway, so no second-model opinion was needed.)
The ENTIRE RMM surface in the spec
Searching all paths in swagger.json for polic/script/rmm/run/command/remote/agent/patch/install
returns exactly:
| Path | Methods | Notes |
|---|---|---|
/policy_folders, /policy_folders/{id} |
GET, POST, PUT, DELETE | folder hierarchy only (see below) |
/customer_assets, /{id} |
GET, POST, PUT | RMM-managed devices (asset_type: "Syncro Device") |
/customer_assets/{id}/patches |
GET | Windows patch data (read) — works (200) |
/customer_assets/{id}/installed_applications |
GET | installed apps (read) — works (200) |
/rmm_alerts, /{id}, /{id}/mute |
GET, POST, mute, DELETE | RMM alert read/create/mute/clear |
That is the whole list. No /scripts, no run-script, no /remote_sessions, no agent/command
endpoint exists anywhere in the spec.
The decisive detail — /policy_folders is organization, not policy content
POST /policy_folders request body accepts only three fields:
customer_id # which customer the folder belongs to
name # folder name
parent_id # parent folder (for nesting)
So you can create/rename/nest/delete the policy-folder tree and tie a folder to a customer — but there is no field for the policy's content (monitors, scripts, patch schedule, AV/ Bitdefender), and no way to assign a policy to an asset via the API. RMM policy definition and assignment remain UI-only.
Gotcha — token scope
GET /policy_folders returned HTTP 401 with the same API token that returns 200 for
assets/patches/alerts → the endpoint exists but the token lacks the policy permission scope.
Enable it per-token in Syncro Admin → API Tokens before even the folder CRUD will work.
What you CAN automate against Syncro RMM today
- Read asset inventory, Windows patch status, and installed applications per device (reporting, drift detection, "who's missing patch X").
- RMM alerts: list / create / mute / clear.
- Policy folders: create/rename/nest/delete (e.g. auto-create a folder per new customer) — after enabling the token's policy scope.
What you CANNOT (must use the Syncro UI / agent, or GuruRMM)
- Run scripts / send remote commands / open remote sessions on agents.
- Deploy software (e.g. Bitdefender), trigger patch installs, reboot.
- Create/edit policy content (monitors, scripts, patch policy, AV) or assign policies to assets.
Next steps (if we want to act on this)
- Decide whether to enable the policy scope on a dedicated token and script the folder hierarchy.
- For programmatic endpoint actions (scripts/commands/deploy), route through GuruRMM, not Syncro.
- Fold the API-capability boundary into the
/syncroskill once reviewed (Mike: hold for now).