Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ErsatzTV/legacy/llms.txt

Use this file to discover all available pages before exploring further.

Smart collections are search-query–driven groupings of media items. Rather than manually curating a fixed list of content, a smart collection re-evaluates a Lucene-style search query against the media library every time the playout engine references it. The Collections API gives full CRUD access to smart collections.

GET /api/collections/smart

Returns a list of all smart collections. Operation ID: GetSmartCollections.
curl http://localhost:8409/api/collections/smart

Response Fields

id
integer
required
Internal database identifier for the smart collection.
name
string
required
Display name for the collection.
query
string
required
The search query string that defines the collection’s contents. Uses ErsatzTV’s Lucene-style search syntax.

POST /api/collections/smart/new

Creates a new smart collection. Operation ID: CreateSmartCollection.

Request Body

name
string
required
Display name for the new smart collection.
query
string
required
The search query that populates the collection (e.g. genre:Action type:movie).
curl -X POST http://localhost:8409/api/collections/smart/new \
  -H "Content-Type: application/json" \
  -d '{
    "name": "80s Action Movies",
    "query": "genre:Action year:[1980 TO 1989] type:movie"
  }'

Response Fields

id
integer
required
The ID of the newly created smart collection.
Returns 200 OK with the CreateSmartCollectionResult object on success, or an HTTP Problem response on failure.

PUT /api/collections/smart/update

Updates an existing smart collection’s name or query. Operation ID: UpdateSmartCollection.

Request Body

id
integer
required
The ID of the smart collection to update.
name
string
required
The new display name for the collection.
query
string
required
The updated search query string.
curl -X PUT http://localhost:8409/api/collections/smart/update \
  -H "Content-Type: application/json" \
  -d '{
    "id": 3,
    "name": "80s & 90s Action Movies",
    "query": "genre:Action year:[1980 TO 1999] type:movie"
  }'
Returns 200 OK with an UpdateSmartCollectionResult on success, or a Problem response on failure.

DELETE /api/collections/smart/delete/

Deletes a smart collection by its integer ID. Operation ID: DeleteSmartCollection.
id
integer
required
The ID of the smart collection to delete.
curl -X DELETE http://localhost:8409/api/collections/smart/delete/3
Returns 200 OK on success, or a Problem response if the deletion fails (for example, if the collection is referenced by an active schedule block).
Deleting a smart collection does not immediately affect running playouts, but any schedule blocks or scripted schedules that reference the deleted collection will fail to resolve content on the next playout rebuild.

Build docs developers (and LLMs) love