The Items API is the primary interface for your media library. It lets you add movies and shows by external ID, search and filter the entire collection, control item lifecycle states (pause, retry, reset, remove), and inspect or manage the cached torrent streams associated with each item. All routes are prefixed withDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/rivenmedia/riven/llms.txt
Use this file to discover all available pages before exploring further.
/api/v1/items and require a valid API key.
States
GET /items/states
Returns the list of all valid item state names with asuccess flag. Use these values as filters in GET /items.
true when the request succeeded.List of state name strings, e.g.
Requested, Indexed, Scraped, Downloaded, Symlinked, Completed, Failed, Paused, Unreleased.List and search items
GET /items
Fetch a paginated, filterable list of media items. Supports full-text search by title, lookup by external ID, state filtering, media-type filtering, and sort ordering.Number of items per page. Minimum: 1.
Page number. Minimum: 1.
Search by title (substring match) or by external ID. Prefix with
tt for IMDb IDs, tmdb_ for TMDB, or tvdb_ for TVDB. Example: tt0133093, tmdb_550, tvdb_81189.Filter by one or more states. Accepted values are those returned by
GET /items/states. Pass the special value All to skip state filtering.Filter by media type. Accepted values:
movie, show, season, episode, anime.Sort order. Accepted values:
title_asc, title_desc, date_asc, date_desc. Only one sort per dimension (title or date) is allowed. Defaults to date_desc.Include extended item details in each object.
Whether the request succeeded.
Array of media item objects.
Current page number.
Items per page.
Total matching items across all pages.
Total number of pages.
Add items
POST /items/add
Add one or more items to the processing queue by TMDB ID (for movies) or TVDB ID (for TV shows). Duplicate entries are silently ignored. Request bodyList of TMDB IDs to add as movies. Only used when
media_type is movie.List of TVDB IDs to add as TV shows. Only used when
media_type is tv.Must be
movie or tv.Get a single item
GET /items/
Fetch one media item by its internal numeric ID, TMDB ID, or TVDB ID.The item identifier. For
media_type=item this is the numeric database ID; for movie use the TMDB ID string; for tv use the TVDB ID string.item, movie, or tv. Determines how id is interpreted.Return extended item details.
Reset items
POST /items/reset
Reset one or more items back to theIndexed state so they re-enter the scraping pipeline. Blacklists the currently active stream before resetting. Triggers a media-server library refresh when an updater service is configured.
Request body
List of internal numeric item IDs (as strings) to reset. Minimum 1 item.
Human-readable summary.
IDs that were processed.
Retry items
POST /items/retry
Re-add specific items to the processing queue. Request bodyList of item IDs to retry.
POST /items/retry_library
Retry all failed and incomplete items in the library in one call. No request body is required.Summary including the number of retried items.
IDs that were queued for retry.
Remove items
DELETE /items/remove
Permanently remove one or more movies or shows from the database. Cancels active jobs, deletes the corresponding Overseerr request if present, removes the item from the VFS, and triggers a media-server library refresh.Only
movie and show items can be removed. Attempting to remove a season or episode directly returns 400 Bad Request.List of item IDs to remove.
Human-readable summary.
IDs that were removed.
Streams
Each item tracks a list of candidate torrent streams. The following endpoints let you inspect and manage those streams.GET /items//streams
Retrieve all active and blacklisted streams cached for an item.Internal database ID of the media item.
Status message.
Active (non-blacklisted) streams.
Streams that have been blacklisted for this item.
POST /items//streams//blacklist
Blacklist a specific stream so that Riven will not attempt to download it again for this item.Database ID of the media item.
Database ID of the stream.
POST /items//streams//unblacklist
Remove a stream from the blacklist, allowing it to be selected again.POST /items//streams/reset
Clear all streams (active and blacklisted) for an item so fresh scrape results can be stored.Pause and unpause
POST /items/pause
Pause one or more items. Paused items are skipped by the processing pipeline until explicitly unpaused. Request bodyList of item IDs to pause.
POST /items/unpause
Resume processing for paused items. Request bodyList of item IDs to unpause.
Status message.
IDs that were processed.
Reindex
POST /items/reindex
Force an item back through the composite indexer to pick up new seasons, episodes, or corrected metadata. Requires exactly one of the identifier fields. Request bodyInternal database ID.
TVDB ID string.
TMDB ID string.
IMDb ID string (e.g.
tt0944947).Aliases
GET /items//aliases
Retrieve all known title aliases for an item (alternative titles from metadata providers).Internal database ID of the media item.
Dictionary mapping locale codes to a list of alternative title strings.
null if none are stored.Metadata
GET /items//metadata
Return all stored metadata for an item. The response follows theMediaMetadata model from the indexer.
Internal database ID of the media item.
404 if no metadata entry exists for the item yet.