List Movies
Display a paginated listing of available movies with optional category filtering.movies
Middleware: auth, verified
Controller: VodStreamController::index (app/Http/Controllers/VodStream/VodStreamController.php:28)
Query Parameters
Filter movies by category provider ID
- If invalid, redirects with warning and shows all categories
- Empty string or omitted shows all categories
- Special value for uncategorized items handled internally
Pagination cursor timestamp
- Used for cursor-based pagination
- Auto-generated if not provided
Pagination cursor ID
- Used with
as_offor stable pagination - Must be positive integer
Response
Returns Inertia response renderingmovies/index component.
Props:
Paginated collection of movies
- 20 items per page
- Ordered by
addedDESC,stream_idDESC - Each movie includes
in_watchlistflag for current user
Current filter state
- Contains selected category ID
Available category sidebar items
- Generated for MediaType::Movie
- Includes selected state
Example
Show Movie Details
Display detailed information about a specific movie.movies.show
Middleware: auth, verified
Controller: VodStreamController::show (app/Http/Controllers/VodStream/VodStreamController.php:134)
Path Parameters
Movie stream ID
- Must be numeric (validated with
whereNumber) - Must exist in VodStream model
Response
Returns Inertia response renderingmovies/show component.
Props:
Complete movie information from Xtream Codes API
- Retrieved via
GetVodInfoRequest - Contains metadata, cover art, stream URLs, etc.
Whether current user has this movie in their watchlist
Example
Clear Movie Cache
Invalidate cached movie information to force fresh data retrieval.movies.cache
Middleware: auth, verified
Controller: VodStreamCacheController::destroy (app/Http/Controllers/VodStream/VodStreamCacheController.php:15)
Path Parameters
Movie stream ID
- Must be numeric
Response
Returns redirect back to previous page. Process:- Creates
GetVodInfoRequestwith cache invalidation - Sends request to Xtream Codes connector
- Redirects back
Example
Add to Watchlist
Add a movie to the current user’s watchlist.movies.watchlist
Middleware: auth, verified
Controller: VodStreamWatchlistController::store (app/Http/Controllers/VodStream/VodStreamWatchlistController.php:20)
Path Parameters
Movie stream ID
- Must be numeric
Response
Returns redirect back to previous page. Success:- Movie added to user’s watchlist
- No flash message (silent success)
Example
Remove from Watchlist
Remove a movie from the current user’s watchlist.movies.watchlist.destroy
Middleware: auth, verified
Controller: VodStreamWatchlistController::destroy (app/Http/Controllers/VodStream/VodStreamWatchlistController.php:33)
Path Parameters
Movie stream ID
- Must be numeric
Response
Returns redirect back to previous page. Success:Example
Download Movie (Server)
Trigger a server-side download of a movie through Aria2.movies.download
Middleware: auth, verified, can:server-download
Controller: VodStreamDownloadController::create (app/Http/Controllers/VodStream/VodStreamDownloadController.php:28)
Path Parameters
Movie stream ID
- Must be numeric
Query Parameters
URL to redirect to after download starts
- Must match pattern
/downloads(with optional path/query) - Defaults to downloads page if not provided or invalid
Response
Redirects to downloads page with query parameters. Redirect Parameters:downloadable_id- Stream IDgid- Aria2 download GID
- Fetches movie info from Xtream Codes API
- Checks for existing active downloads
- If exists, redirects to existing download
- If new, creates Xtream Codes download URL
- Initiates Aria2 download
- Creates MediaDownloadRef record
- Redirects to downloads page
Example
Direct Download Link
Generate a signed direct download link for client-side downloading.movies.direct
Middleware: auth, verified
Controller: VodStreamDownloadController::direct (app/Http/Controllers/VodStream/VodStreamDownloadController.php:56)
Feature Flag
Requires feature flag enabled:Path Parameters
Movie stream ID
- Must be numeric
Response
Returns view response with direct download page. View:direct-download.start
Data:
signedUrl- Signed URL for secure direct download
- Fetches movie info from Xtream Codes API
- Creates signed direct link
- Renders download start page
Example
Movie Model
Movies are stored in theVodStream model with the following key attributes:
Key Fields:
stream_id- Unique identifier from providername- Movie titlestream_icon- Cover/poster image URLcategory_id- Category provider IDadded- Timestamp when addedin_watchlist- Virtual attribute (exists check)
watchlists- User watchlist entriescategory- Category relationship
Next Steps
Series API
Access TV series and episodes
Downloads API
Manage download operations
Watchlist API
Manage watchlist items