Skip to content
🚧 These docs are a work in progress and may contain inaccuracies. Content is being actively reviewed and validated.

Library Access

Library access controls which users can see and play content from each library. Owners and admins manage these permissions from the admin panel.

Each user can be granted access to specific libraries. Without a grant, a user cannot browse or play content from that library.

  • Owners and admins have access to all libraries automatically
  • Members and guests only see libraries they’ve been explicitly granted access to
  • When a user is invited, the invite can include specific library grants

When creating an invite, select which libraries the new user should have access to. These grants are applied automatically when the user registers with the invite code.

  1. Go to Settings > Users in the admin panel
  2. Select the user
  3. Under Library Access, toggle libraries on or off
  4. Changes take effect immediately
Terminal window
# Grant access
curl -X POST http://localhost:3000/v1/libraries/{libraryId}/permissions \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"userId": "user-id-here"}'
# Revoke access
curl -X DELETE http://localhost:3000/v1/libraries/{libraryId}/permissions/{userId} \
-H "Authorization: Bearer $TOKEN"
# List permissions for a library
curl http://localhost:3000/v1/libraries/{libraryId}/permissions \
-H "Authorization: Bearer $TOKEN"

When a user has access to a library, they can:

  • Browse all content in that library
  • View metadata, artwork, and descriptions
  • Play any media item
  • Track watch progress
  • Add items to continue watching

When a user does not have access:

  • The library doesn’t appear in their navigation
  • Content from that library doesn’t appear in search results, recently added, or recommendations
  • Direct API requests return 404

A common pattern is to organize content by audience:

LibraryGranted to
MoviesAll users
TV ShowsAll users
Kids MoviesFamily accounts
AnimeSpecific users

This lets you share your server with family and friends while controlling what each person sees.