Users, devices & connect links (admin)
HTTP routes and behavior for users, devices & connect links (admin).
POST /api/admin/connect-token # mint a connect link for a user; response says whether the # link used the external address or the app's own (origin_source)GET /api/admin/external-address # the origin connect links and passkey setup links are built fromPUT /api/admin/external-address # set it ({ external_url }, http(s) only, empty clears)GET /api/admin/devices # all connected devicesDELETE /api/admin/devices/{deviceID} # revoke a device (kills its sessions + MCP tokens)GET /api/admin/usersPATCH /api/admin/users/{userID} # change role (409 for a kids account: turn it off first)PATCH /api/admin/users/{userID}/auth-methods # enable/disable password & passkey per userPUT /api/admin/users/{userID}/ai-access # grant/revoke use of the admin-funded AI profileDELETE /api/admin/users/{userID}GET|PUT|DELETE /api/admin/users/{userID}/content-policy # kids account: GET 404 when the user is not one; # PUT { max_movie_rating, max_tv_rating, rating_region, # block_unrated, blocked_movie_genres, blocked_tv_genres } # creates/replaces it (400 a rating the region does not # know, 409 an admin, 503 lists unreachable for a non-US # region); DELETE turns it off (idempotent). Every title # surface then filters that user server-side (see Discover)GET /api/admin/certifications # every region's movie and TV rating schemes (TMDB's lists, # last good copy, or the built-in US scheme; `source` says # which), `default: true` on the suggested starting caps. # Also the app's probe for kids-account supportPOST /api/admin/users/{userID}/test-push # delivery diagnostics for one userGET|PUT /api/admin/users/{userID}/default-instances # pin per-user default arr instances; # for Chaptarr this doubles as the access grantGET|PUT /api/admin/users/{userID}/instance-grants # additional per-user instance access grants # ({service_type: [ids]}); additive to the default, # so one user can hold e.g. an HD and a 4K library