Understand Semantics
If command impact is unclear, read this page and Rooms, Permissions, and Preferences before checking flags.
The CLI Reference lists commands. This page explains their operational meaning, ordering, and risk. Production administrators usually manage users, rooms, reviews, providers, runtime settings, system state, and cache cleanup through the management gRPC control plane.
Management gRPC is an operational control plane, not a normal user API.
Production guidance:
management.auth_token.Common connection methods:
synctv --endpoint unix:///var/lib/synctv/synctv.sock system statssynctv \ --endpoint http://127.0.0.1:50052 \ --auth-token-file /run/secrets/management_token \ system statsUsers have a global role and an effective status:
| Concept | Values | Meaning |
|---|---|---|
| Global role | root, admin, user | Platform-level management capability |
| Effective status | active, banned | Derived from ban records; affects login, room creation, and joining |
| Preferences | 2FA, notifications, provider defaults | User-level settings, not YAML configuration |
Role hierarchy:
root can manage all users and administrators.admin can manage normal users but cannot modify root or equally privileged admins.user can use rooms and media features according to business permissions.Common operations:
synctv user listsynctv user get alicesynctv user create alice --password 'StrongPass123'synctv user ban alice --reason "abuse"synctv user unban alicesynctv user set-role alice adminsynctv user preferences get aliceSecurity guidance:
ban over delete unless you intentionally want to remove related data.Room operations fall into lifecycle, members, settings, playback, and livestreaming.
| Category | Commands | Risk |
|---|---|---|
| Lifecycle | room create, room delete, room ban, room transfer-owner | Affects visibility, ownership, and data retention |
| Members | room member add/kick/ban/unban/set-permissions | Changes access and management ability |
| Settings | room settings update/reset | Changes join rules, guests, chat, danmaku, and permission defaults |
| Playback | room playback play/pause/seek/start/stop | Changes playback state for online members |
| Livestream | room stream list, provider rtmp create-publish-key | Involves stream keys and livestream sessions |
Recommended flow:
DELETE_ROOM as a room-scoped capability.Review queues cover:
Example:
synctv review user-registration listsynctv review user-registration approve <REVIEW_ID>synctv review user-registration reject <REVIEW_ID> --reason "reason"Recommendations:
user list or room member list to confirm targets.Provider instances are connection configurations for external media sources. They may contain URLs, tokens, cookies, user agents, authentication data, remote gRPC settings, or backend-specific parameters.
Common operations:
synctv provider availablesynctv provider listsynctv provider create <NAME> <PROVIDER_ENDPOINT> --provider alistsynctv provider update <NAME> --provider-endpoint <PROVIDER_ENDPOINT> --provider alistsynctv provider enable <NAME>synctv provider disable <NAME>synctv provider reconnect <NAME>synctv provider delete <NAME>Production guidance:
User-Agent, Referer, Range, and authentication headers.Runtime settings are hot-reload database settings. They are not YAML startup configuration.
synctv settings listsynctv settings get user.enable_password_signupsynctv settings update user --set enable_password_signup=trueSemantics:
See Runtime Settings Reference for all keys.
System state:
synctv system statssynctv system stream listsynctv system stream kick <STREAM_ID>Slice cache:
synctv slice-cache statssynctv slice-cache evict-expiredsynctv slice-cache purgeNotes:
cache.proxy_slice_cache_enabled.purge removes cache data and lowers future hit rate, but does not affect durable PostgreSQL business data.Understand Semantics
If command impact is unclear, read this page and Rooms, Permissions, and Preferences before checking flags.
Inspect State
Before delete, ban, transfer, or bulk operations, run list/get commands and confirm targets.
Keep Reasons
Use reasons for rejection, ban, kick, and delete operations to reduce audit cost.
Verify Results
After changes, check API, WebSocket, provider behavior, metrics, or logs.