Skip to content

Real-time

HTTP routes and behavior for real-time.

WS /api/ws # WebSocket (JWT via subprotocol header)

WebSocket events:

  • config_changed; payload-free invalidation after Discover visibility or instance/access changes; every session re-fetches /api/config.
  • download_progress: { tmdb_id, media_type, progress, status }
  • request_status_changed: { tmdb_id, media_type, status } (queue polling and arr webhooks; status here is available, partially_available, requested, or unavailable: note the longer spelling vs the REST partial)
  • downloads_queue: full download-client queue snapshot { instance_id, paused, speed_bps, items }, sent on change
  • arr_queue_changed: { instance_id, service_type } invalidation ping; clients refetch via REST
  • targeted events fanned out per user/admin: request_pending, request_decision, request_quota_changed (user ID only; caller and admins refetch allowance state), issue_created, issue_updated, agent_action_pending, agent_action_decided, agent_autoapproval_paused, remediation_autodispatch_disabled, plex_access_request, media_server_access, issue_question, issue_fix_confirm, issue_closed, profile_change_pending, profile_change_decided (WS-only, no push; drains the other admins’ approval badges after a decision; both proposal events carry the authoritative pending_count)

View the maintained source for this page.