Search
Generated search operations.
GET/v1/searchSearch titles, people, years and collectionsread
- Audience
- Integrations · Native API
- Authorization
- API key or personal access token with the read scope, or a signed-in session
- OpenAPI operation ID
search
Parameters
| Name | In | Type | Description |
|---|---|---|---|
q | query | string | |
group | query | string | |
groups | query | string | |
cursor | query | string | |
limit | query | integer≥ 1 | |
sort | query | string | |
direction | query | string | |
libraryIds | query | string | |
record | query | string |
Responses
200Successapplication/json
{
"capabilities": {
"directions": [
"string"
],
"groupBudgetMs": 1800000,
"groups": [
{
"available": true,
"entityKind": "string",
"id": "id_8h2k4q",
"labelKey": "string",
"reason": "string",
"sorts": [
"string"
],
"title": "Fargo"
}
],
"maxLimit": 0,
"sorts": [
"string"
]
},
"empty": {
"fallback": "string",
"key": "string",
"params": {
"key": "string"
}
},
"groups": [
{
"entityKind": "string",
"errorCode": "string",
"hasMore": true,
"id": "id_8h2k4q",
"items": [
{
"absoluteNumber": 0,
"activeBeginYear": 0,
"activeEndYear": 0,
"addedAt": "2026-10-18T19:30:00Z",
"airDate": "string",
"album": {},
"albumCount": 0,
"albumType": "string",
"artist": {},
"artistType": "string",
"artworkPaths": [],
"audioFacts": {},
"author": "string",
"available": true,
"backdropUrl": "https://example.com/…",
"badges": [],
"bookProgress": {},
"contentRating": "string",
"count": 0,
"country": "string",
"dateBased": true,
"discNumber": 0,
"displayTitle": "Fargo",
"durationMs": 1800000,
"edition": "string",
"episodeNumber": 0,
"favorite": true,
"genres": [],
"hidden": true,
"homeActions": {},
"homeTitleContext": {},
"id": "id_8h2k4q",
"kind": "string",
"label": "string",
"language": "en",
"lastChanged": "string",
"latestEpisode": {},
"libraryId": "id_8h2k4q",
"media": {},
"missing": true,
"narrators": [],
"navigation": {},
"new": true,
"origin": "string",
"overview": "string",
"overviewSource": "string",
"overviewSourceUrl": "https://example.com/…",
"pageCount": 0,
"pinned": true,
"playback": {},
"plays": 0,
"posterUrl": "https://example.com/…",
"progressMs": 1800000,
"publicationType": "book",
"publishedYear": 0,
"publisher": "string",
"radioSeed": {},
"rating": 0,
"readingMark": {},
"releaseDate": "string",
"removed": true,
"resolution": "string",
"role": "string",
"seasonCount": 0,
"seasonNumber": 0,
"series": [],
"show": {},
"sortLetter": "string",
"special": true,
"stillUrl": "https://example.com/…",
"subtitle": "Fargo",
"title": "Fargo",
"totalAtLeast": 0,
"trackNumber": 0,
"unwatchedCount": 0,
"userRating": 0,
"watched": true,
"watchedCount": 0,
"watchlisted": true,
"year": 0,
"yearMax": 0,
"yearMin": 0
}
],
"labelKey": "string",
"nextCursor": "eyJvIjoyMH0",
"status": "string",
"title": "Fargo",
"totalCount": 0,
"totalCountExact": true
}
],
"heading": {
"fallback": "string",
"key": "string",
"params": {
"key": "string"
}
},
"query": {
"direction": "string",
"group": "string",
"groups": [
"string"
],
"libraryIds": [
"string"
],
"limit": 0,
"q": "string",
"recorded": true,
"searchMode": "string",
"sort": "string"
},
"revision": {
"catalog": 0,
"viewer": 0
},
"scope": {
"entityId": "id_8h2k4q",
"libraryId": "id_8h2k4q",
"libraryKind": "string",
"serverId": "id_8h2k4q",
"view": "string",
"viewerFence": "string"
}
}capabilitiesobjectrequired
- directionsarray of stringrequired
- groupBudgetMsintegerrequired
groupsarray of objectrequired
- availablebooleanrequired
- entityKindstringrequired
- idstringrequired
- labelKeystringrequired
- reasonstring
- sortsarray of stringrequired
- titlestringrequired
- maxLimitintegerrequired
- sortsarray of stringrequired
emptyobject
- fallbackstringrequired
- keystringrequired
- paramsobject
groupsarray of objectrequired
- entityKindstringrequired
- errorCodestringrequired
- hasMorebooleanrequired
- idstringrequired
itemsarray of objectrequired
- absoluteNumberinteger
- activeBeginYearinteger
- activeEndYearinteger
- addedAtstring | any | null
- airDatestring
albumobject
- idstringrequired
- namestringrequired
- albumCountinteger
- albumTypestring
artistobject
- idstringrequired
- namestringrequired
- artistTypestring
- artworkPathsarray of string
audioFactsobject
- atmosboolean
- bitDepthinteger
- channelsinteger
- codecstringrequired
- layoutstring
- losslessboolean
- sampleRateinteger
- authorstring
- availableboolean
- backdropUrlstring
badgesarray of object0–2 items
- bitDepthintegerrequired≥ 17
- codecstringrequiredpattern ^[A-Za-z0-9_.+-]{1,64}$
- sampleRateintegerrequired≥ 1
- variant"lossless"required
bookProgressobject
- bookIdstringrequired
chapterobject
- endMsintegerrequired
- indexintegerrequired
- startMsintegerrequired
- titlestringrequired
- durationMsinteger
- itemIdstringrequired
- partPositionMsintegerrequired
- positionMsinteger
- remainingMsinteger
- contentRatingstring
- countinteger
- countrystring
- dateBasedboolean
- discNumberinteger
- displayTitlestring
- durationMsinteger≥ 0
- editionstring
- episodeNumberinteger
- favoriteboolean
- genresarray of string
- hiddenboolean | any | null
homeActionsobject
- collectionbooleanrequired
- deletebooleanrequired
- detailsbooleanrequired
- downloadbooleanrequired
- editMetadatabooleanrequired
- favoritebooleanrequired
- myListbooleanrequired
- notInterestedboolean
- playbooleanrequired
- playedbooleanrequired
- playlistbooleanrequired
- queuebooleanrequired
- ratingbooleanrequired
- refreshMetadatabooleanrequired
- removeFromContinueboolean
selectionobjectrequired
- collectionbooleanrequired
- deletebooleanrequired
- downloadbooleanrequired
- editbooleanrequired
- favoritebooleanrequired
- myListbooleanrequired
- playbooleanrequired
- playlistbooleanrequired
- queuebooleanrequired
- refreshbooleanrequired
- watchedbooleanrequired
stateobjectrequired
- containerRevisionintegerrequired
- favoritebooleanrequired
- personalRevisionintegerrequired
- ratingnumber | any | nullrequired
- watchedbooleanrequired
- watchlistedbooleanrequired
- watchedbooleanrequired
homeTitleContextobject
- genresarray of stringrequired
- kindstringrequired
- seasonCountinteger
- yearinteger
- idstringrequired
- kindstringrequired
- labelstring
- languagestring
- lastChangedstring
latestEpisodeobject
- airDatestringrequired
- countintegerrequired
- episodeNumberintegerrequired
- seasonNumberinteger
- titlestring
- libraryIdstring
mediaobject
- absoluteNumberinteger
- activeBeginYearinteger
- activeEndYearinteger
- addedAtstring | any | nullrequired
- airDatestring
albumobject
- idstringrequired
- namestringrequired
- albumCountinteger
- albumTypestring
artistobject
- idstringrequired
- namestringrequired
- artistTypestring
- artworkPathsarray of string
audioFactsobject
- atmosboolean
- bitDepthinteger
- channelsinteger
- codecstringrequired
- layoutstring
- losslessboolean
- sampleRateinteger
- authorstring
- availableboolean
- backdropUrlstring
badgesarray of object0–2 items
- bitDepthintegerrequired≥ 17
- codecstringrequiredpattern ^[A-Za-z0-9_.+-]{1,64}$
- sampleRateintegerrequired≥ 1
- variant"lossless"required
bookProgressobject
- bookIdstringrequired
chapterobject
- endMsintegerrequired
- indexintegerrequired
- startMsintegerrequired
- titlestringrequired
- durationMsinteger
- itemIdstringrequired
- partPositionMsintegerrequired
- positionMsinteger
- remainingMsinteger
- contentRatingstring
- countinteger
- countrystring
- dateBasedboolean
- discNumberinteger
- displayTitlestring
- durationMsinteger≥ 0
- editionstring
- episodeNumberinteger
- favoriteboolean
- genresarray of string
homeActionsobject
- collectionbooleanrequired
- deletebooleanrequired
- detailsbooleanrequired
- downloadbooleanrequired
- editMetadatabooleanrequired
- favoritebooleanrequired
- myListbooleanrequired
- notInterestedboolean
- playbooleanrequired
- playedbooleanrequired
- playlistbooleanrequired
- queuebooleanrequired
- ratingbooleanrequired
- refreshMetadatabooleanrequired
- removeFromContinueboolean
selectionobjectrequired
- collectionbooleanrequired
- deletebooleanrequired
- downloadbooleanrequired
- editbooleanrequired
- favoritebooleanrequired
- myListbooleanrequired
- playbooleanrequired
- playlistbooleanrequired
- queuebooleanrequired
- refreshbooleanrequired
- watchedbooleanrequired
stateobjectrequired
- containerRevisionintegerrequired
- favoritebooleanrequired
- personalRevisionintegerrequired
- ratingnumber | any | nullrequired
- watchedbooleanrequired
- watchlistedbooleanrequired
- watchedbooleanrequired
homeTitleContextobject
- genresarray of stringrequired
- kindstringrequired
- seasonCountinteger
- yearinteger
- idstringrequired
- kindstringrequired
- labelstring
- languagestring
- lastChangedstring
latestEpisodeobject
- airDatestringrequired
- countintegerrequired
- episodeNumberintegerrequired
- seasonNumberinteger
- titlestring
- libraryIdstring
- missingbooleanrequired
- narratorsarray of string
navigationobject
browseobject
- pivotstringrequiredlength 1–256
- queryobject
sortarray of objectrequired0–1 items
- directionstringrequiredone of "asc", "desc"
- fieldstringrequired
- categorystring
- channelIdstring
- entityIdstring
- provenancestring
- sourceIdstring
- viewstringrequired
- newboolean
- originstring
- overviewstring
- overviewSourcestring
- overviewSourceUrlstring
- pageCountinteger
- pinnedboolean
playbackobject
- itemIdstringrequired
- startMsinteger≥ 0
- playsinteger
- posterUrlstring
- progressMsinteger≥ 0
- publicationTypestringone of "book", "magazine", "newspaper"
- publishedYearinteger
- publisherstring
radioSeedobject
- idstringrequired
- kindstringrequired
- ratingnumber
readingMarkobject
- itemIdstringrequired
- readbooleanrequired
- revisionintegerrequired
- releaseDatestring
- removedboolean
- resolutionstring
- rolestring
- seasonCountinteger
- seasonNumberinteger
seriesarray of object
- namestringrequired
- positionstring
showobject
- idstringrequired
- namestringrequired
- sortLetterstring
- specialboolean
- stillUrlstring
- subtitlestring
- titlestringrequired
- totalAtLeastinteger
- trackNumberinteger
- unwatchedCountinteger
- userRatinginteger | any | null
- watchedboolean
- watchedCountinteger
- watchlistedboolean
- yearinteger
- yearMaxinteger
- yearMininteger
- missingboolean
- narratorsarray of string
navigationobject
browseobject
- pivotstringrequiredlength 1–256
- queryobject
sortarray of objectrequired0–1 items
- directionstringrequiredone of "asc", "desc"
- fieldstringrequired
- categorystring
- channelIdstring
- entityIdstring
- provenancestring
- sourceIdstring
- viewstringrequired
- newboolean
- originstring
- overviewstring
- overviewSourcestring
- overviewSourceUrlstring
- pageCountinteger
- pinnedboolean
playbackobject
- itemIdstringrequired
- startMsinteger≥ 0
- playsinteger
- posterUrlstring
- progressMsinteger≥ 0
- publicationTypestringone of "book", "magazine", "newspaper"
- publishedYearinteger
- publisherstring
radioSeedobject
- idstringrequired
- kindstringrequired
- ratingnumber
readingMarkobject
- itemIdstringrequired
- readbooleanrequired
- revisionintegerrequired
- releaseDatestring
- removedboolean
- resolutionstring
- rolestring
- seasonCountinteger
- seasonNumberinteger
seriesarray of object
- namestringrequired
- positionstring
showobject
- idstringrequired
- namestringrequired
- sortLetterstring
- specialboolean
- stillUrlstring
- subtitlestring
- titlestring
- totalAtLeastinteger
- trackNumberinteger
- unwatchedCountinteger
- userRatinginteger | any | null
- watchedboolean
- watchedCountinteger
- watchlistedboolean
- yearinteger
- yearMaxinteger
- yearMininteger
- labelKeystringrequired
- nextCursorstringrequired
- statusstringrequired
- titlestringrequired
- totalCountintegerrequired
- totalCountExactbooleanrequired
headingobjectrequired
- fallbackstringrequired
- keystringrequired
- paramsobject
queryobjectrequired
- directionstringrequired
- groupstringrequired
- groupsarray of stringrequired
- libraryIdsarray of stringrequired
- limitintegerrequired
- qstringrequired
- recordedbooleanrequired
- searchModestringrequired
- sortstringrequired
revisionobjectrequired
- catalogintegerrequired
- viewerintegerrequired
scopeobjectrequired
- entityIdstringrequired
- libraryIdstringrequired
- libraryKindstringrequired
- serverIdstringrequired
- viewstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/search" \
-H "Authorization: Bearer $PORTICO_API_KEY"GET/v1/search/genresRead permitted video genres with selected representative artworkread
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the read scope, or a signed-in session
- OpenAPI operation ID
get_search_genres
Parameters
| Name | In | Type | Description |
|---|---|---|---|
limit | query | integer1–50 | |
cursor | query | string | |
preview | query | string |
Responses
200Successapplication/json
{
"genres": [
{
"backdrop": {
"id": "id_8h2k4q",
"kind": "item",
"path": "string"
},
"count": 1,
"covers": [
{
"id": "id_8h2k4q",
"kind": "item",
"path": "string"
}
],
"label": "string",
"value": "string"
}
],
"hasGenres": true,
"nextCursor": "eyJvIjoyMH0",
"previousCursor": "eyJvIjoyMH0",
"queryId": "id_8h2k4q",
"reloadCursor": "eyJvIjoyMH0",
"revision": "r12",
"variant": "ready"
}genresarray of objectrequired0–50 items
backdropobject
- idstringrequired
- kindstringrequiredone of "item", "show"
- pathstringrequired
- countintegerrequired≥ 1
coversarray of objectrequired0–2 items
- idstringrequired
- kindstringrequiredone of "item", "show"
- pathstringrequired
- labelstringrequired
- valuestringrequired
- hasGenresboolean
- nextCursorstringlength 1–512pattern ^[A-Za-z0-9_-]+$
- previousCursorstringlength 1–512pattern ^[A-Za-z0-9_-]+$
- queryIdstringrequiredlength 1–512pattern ^[A-Za-z0-9_-]+$
- reloadCursorstringlength 1–512pattern ^[A-Za-z0-9_-]+$
- revisionstringrequired
- variant"ready"required
202Successapplication/json
{
"kind": "genre-preparing",
"queryId": "id_8h2k4q",
"retryAfterMs": 1800000,
"state": "preparing",
"variant": "preparing"
}- kind"genre-preparing"required
- queryIdstringrequiredlength 1–512pattern ^[A-Za-z0-9_-]+$
- retryAfterMsintegerrequired≥ 1
- state"preparing"required
- variant"preparing"required
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesinvalid_requestunauthorizednot_permittednot_foundstale_continuationsearch_busymetadata_unavailableinternaldatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/search/genres" \
-H "Authorization: Bearer $PORTICO_API_KEY"DELETE/v1/search/historyRemove search historyplayback
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the playback scope, or a signed-in session
- OpenAPI operation ID
delete_search_history
Parameters
| Name | In | Type | Description |
|---|---|---|---|
query | query | string |
Responses
200Successapplication/json
{
"entries": [
{
"query": "string",
"updatedAt": "2026-10-18T19:30:00Z"
}
],
"remembered": true
}entriesarray of objectrequired
- querystringrequired
- updatedAtstringrequired
- rememberedbooleanrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busywriter_capacity
Example request
curl -X DELETE "http://127.0.0.1:32500/v1/search/history" \
-H "Authorization: Bearer $PORTICO_API_KEY"GET/v1/search/historyRead search historyread
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the read scope, or a signed-in session
- OpenAPI operation ID
get_search_history
Responses
200Successapplication/json
{
"entries": [
{
"query": "string",
"updatedAt": "2026-10-18T19:30:00Z"
}
],
"remembered": true
}entriesarray of objectrequired
- querystringrequired
- updatedAtstringrequired
- rememberedbooleanrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/search/history" \
-H "Authorization: Bearer $PORTICO_API_KEY"No operations match that filter.