Skip to content

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 from
PUT /api/admin/external-address # set it ({ external_url }, http(s) only, empty clears)
GET /api/admin/devices # all connected devices
DELETE /api/admin/devices/{deviceID} # revoke a device (kills its sessions + MCP tokens)
GET /api/admin/users
PATCH /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 user
PUT /api/admin/users/{userID}/ai-access # grant/revoke use of the admin-funded AI profile
DELETE /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 support
POST /api/admin/users/{userID}/test-push # delivery diagnostics for one user
GET|PUT /api/admin/users/{userID}/default-instances # pin per-user default arr instances;
# for Chaptarr this doubles as the access grant
GET|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

View the maintained source for this page.