Compare commits

..

23 Commits

Author SHA1 Message Date
speakeasy-github
515f318f05 chore: update dependencies 2024-03-02 00:43:31 +00:00
speakeasybot
8b81bc5692 ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.200.0 2024-03-02 00:43:01 +00:00
speakeasy-github
9dd356ea91 chore: update dependencies 2024-02-27 00:44:01 +00:00
speakeasybot
efe42104bc ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.194.0 2024-02-27 00:43:22 +00:00
speakeasy-github
70001e1e72 chore: update dependencies 2024-02-24 00:42:39 +00:00
speakeasybot
0118475c63 ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.193.4 2024-02-24 00:42:08 +00:00
speakeasy-bot
f812f82747 🐝 Add license. 2024-02-23 15:37:13 +00:00
speakeasy-bot
7b38f4ba85 🐝 Update gen.yaml 2024-02-23 15:37:12 +00:00
speakeasy-bot
7caa38277c 🐝 Update workflow file 2024-02-23 15:37:11 +00:00
speakeasy-github[bot]
2cfb7aefac chore: update dependencies 2024-02-23 14:47:13 +00:00
speakeasybot
41ce744f6d ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.193.0 2024-02-23 14:46:43 +00:00
speakeasybot
2b4d612003 ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.166.1 2024-02-05 14:24:08 +00:00
speakeasy-bot
853bfe69d5 🐝 Add license. 2024-02-01 16:30:13 +00:00
speakeasy-bot
81cfd47570 🐝 Update gen.yaml 2024-02-01 16:30:13 +00:00
speakeasy-bot
44e551a11d 🐝 Update workflow file 2024-02-01 16:30:12 +00:00
speakeasybot
264d228db7 ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.161.0 2024-02-01 00:46:59 +00:00
speakeasybot
c1bc2419c8 ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.158.0 2024-01-31 15:06:07 +00:00
speakeasybot
471d850f17 ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.150.0 2024-01-23 21:56:23 +00:00
speakeasybot
b3ac2d0c2e ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.150.0 2024-01-23 20:47:32 +00:00
speakeasybot
61283a5769 ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.148.0 2024-01-22 17:16:34 +00:00
speakeasybot
70d2e2a152 ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.148.0 2024-01-20 03:10:30 +00:00
speakeasybot
89e9047e5b ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.147.0 2024-01-19 17:28:27 +00:00
speakeasybot
79e46e9d00 ci: regenerated with OpenAPI Doc 0.0.3, Speakeasy CLI 1.147.0 2024-01-18 23:37:24 +00:00
244 changed files with 13997 additions and 1571 deletions

View File

@@ -1,42 +1,43 @@
lockVersion: 2.0.0
id: dfa99515-01c0-42eb-9be5-ee212fd03eb3
management:
docChecksum: 34d22936f2456c2c461abdfc773e3fc4
docChecksum: e34dac84738ebf2d447ea2b9055a6eeb
docVersion: 0.0.3
speakeasyVersion: internal
generationVersion: 2.234.3
releaseVersion: 0.0.3
configChecksum: 9a4ca7acc5fd79b147c2ee13557b2a17
generationVersion: 2.277.0
releaseVersion: 0.4.3
configChecksum: 674d3a2999f009a34f988214b4866715
repoURL: https://github.com/LukeHagar/plexgo.git
repoSubDirectory: .
installationURL: https://github.com/LukeHagar/plexgo
published: true
features:
go:
constsAndDefaults: 0.1.2
core: 3.3.1
constsAndDefaults: 0.1.4
core: 3.4.3
flattening: 2.81.1
globalSecurity: 2.82.3
globalSecurity: 2.82.8
globalServerURLs: 2.82.1
methodServerURLs: 2.82.1
nameOverrides: 2.81.1
generatedFiles:
- server.go
- media.go
- video.go
- activities.go
- butler.go
- hubs.go
- search.go
- library.go
- log.go
- plex.go
- playlists.go
- security.go
- authentication.go
- statistics.go
- sessions.go
- updater.go
- video.go
- plexapi.go
- go.mod
- go.sum
- tests/helpers.go
- models/sdkerrors/sdkerror.go
- types/bigint.go
- types/date.go
@@ -64,6 +65,8 @@ generatedFiles:
- /models/operations/markplayed.go
- /models/operations/markunplayed.go
- /models/operations/updateplayprogress.go
- /models/operations/gettimeline.go
- /models/operations/startuniversaltranscode.go
- /models/operations/getserveractivities.go
- /models/operations/cancelserveractivities.go
- /models/operations/getbutlertasks.go
@@ -83,14 +86,15 @@ generatedFiles:
- /models/operations/deletelibrary.go
- /models/operations/getlibraryitems.go
- /models/operations/refreshlibrary.go
- /models/operations/getlatestlibraryitems.go
- /models/operations/getcommonlibraryitems.go
- /models/operations/searchlibrary.go
- /models/operations/getmetadata.go
- /models/operations/getmetadatachildren.go
- /models/operations/getondeck.go
- /models/operations/logline.go
- /models/operations/logmultiline.go
- /models/operations/enablepapertrail.go
- /models/operations/getpin.go
- /models/operations/gettoken.go
- /models/operations/createplaylist.go
- /models/operations/getplaylists.go
- /models/operations/getplaylist.go
@@ -102,6 +106,7 @@ generatedFiles:
- /models/operations/uploadplaylist.go
- /models/operations/gettransienttoken.go
- /models/operations/getsourceconnectioninformation.go
- /models/operations/getstatistics.go
- /models/operations/getsessions.go
- /models/operations/getsessionhistory.go
- /models/operations/gettranscodesessions.go
@@ -109,8 +114,6 @@ generatedFiles:
- /models/operations/getupdatestatus.go
- /models/operations/checkforupdates.go
- /models/operations/applyupdates.go
- /models/operations/startuniversaltranscode.go
- /models/operations/gettimeline.go
- /models/sdkerrors/getservercapabilities.go
- /models/sdkerrors/getserverpreferences.go
- /models/sdkerrors/getavailableclients.go
@@ -122,6 +125,8 @@ generatedFiles:
- /models/sdkerrors/markplayed.go
- /models/sdkerrors/markunplayed.go
- /models/sdkerrors/updateplayprogress.go
- /models/sdkerrors/gettimeline.go
- /models/sdkerrors/startuniversaltranscode.go
- /models/sdkerrors/getserveractivities.go
- /models/sdkerrors/cancelserveractivities.go
- /models/sdkerrors/getbutlertasks.go
@@ -139,16 +144,15 @@ generatedFiles:
- /models/sdkerrors/getlibraries.go
- /models/sdkerrors/getlibrary.go
- /models/sdkerrors/deletelibrary.go
- /models/sdkerrors/getlibraryitems.go
- /models/sdkerrors/refreshlibrary.go
- /models/sdkerrors/getlatestlibraryitems.go
- /models/sdkerrors/getcommonlibraryitems.go
- /models/sdkerrors/getmetadata.go
- /models/sdkerrors/getmetadatachildren.go
- /models/sdkerrors/getondeck.go
- /models/sdkerrors/logline.go
- /models/sdkerrors/logmultiline.go
- /models/sdkerrors/enablepapertrail.go
- /models/sdkerrors/getpin.go
- /models/sdkerrors/gettoken.go
- /models/sdkerrors/createplaylist.go
- /models/sdkerrors/getplaylists.go
- /models/sdkerrors/getplaylist.go
@@ -160,6 +164,7 @@ generatedFiles:
- /models/sdkerrors/uploadplaylist.go
- /models/sdkerrors/gettransienttoken.go
- /models/sdkerrors/getsourceconnectioninformation.go
- /models/sdkerrors/getstatistics.go
- /models/sdkerrors/getsessions.go
- /models/sdkerrors/getsessionhistory.go
- /models/sdkerrors/gettranscodesessions.go
@@ -167,17 +172,18 @@ generatedFiles:
- /models/sdkerrors/getupdatestatus.go
- /models/sdkerrors/checkforupdates.go
- /models/sdkerrors/applyupdates.go
- /models/sdkerrors/startuniversaltranscode.go
- /models/sdkerrors/gettimeline.go
- /models/components/security.go
- docs/models/operations/directory.md
- docs/models/operations/mediacontainer.md
- docs/models/operations/getservercapabilitiesresponsebody.md
- docs/models/operations/getservercapabilitiesresponse.md
- docs/models/operations/setting.md
- docs/models/operations/getserverpreferencesmediacontainer.md
- docs/models/operations/getserverpreferencesresponsebody.md
- docs/models/operations/getserverpreferencesresponse.md
- docs/models/operations/server.md
- docs/models/operations/getavailableclientsmediacontainer.md
- docs/models/operations/responsebody.md
- docs/models/operations/getavailableclientsresponsebody.md
- docs/models/operations/getavailableclientsresponse.md
- docs/models/operations/device.md
- docs/models/operations/getdevicesmediacontainer.md
@@ -203,6 +209,11 @@ generatedFiles:
- docs/models/operations/markunplayedresponse.md
- docs/models/operations/updateplayprogressrequest.md
- docs/models/operations/updateplayprogressresponse.md
- docs/models/operations/state.md
- docs/models/operations/gettimelinerequest.md
- docs/models/operations/gettimelineresponse.md
- docs/models/operations/startuniversaltranscoderequest.md
- docs/models/operations/startuniversaltranscoderesponse.md
- docs/models/operations/context.md
- docs/models/operations/activity.md
- docs/models/operations/getserveractivitiesmediacontainer.md
@@ -224,9 +235,25 @@ generatedFiles:
- docs/models/operations/stoptaskresponse.md
- docs/models/operations/onlytransient.md
- docs/models/operations/getglobalhubsrequest.md
- docs/models/operations/getglobalhubsmetadata.md
- docs/models/operations/hub.md
- docs/models/operations/getglobalhubsmediacontainer.md
- docs/models/operations/getglobalhubsresponsebody.md
- docs/models/operations/getglobalhubsresponse.md
- docs/models/operations/queryparamonlytransient.md
- docs/models/operations/getlibraryhubsrequest.md
- docs/models/operations/getlibraryhubspart.md
- docs/models/operations/getlibraryhubsmedia.md
- docs/models/operations/getlibraryhubsgenre.md
- docs/models/operations/getlibraryhubscountry.md
- docs/models/operations/getlibraryhubsdirector.md
- docs/models/operations/getlibraryhubsrole.md
- docs/models/operations/getlibraryhubswriter.md
- docs/types/date.md
- docs/models/operations/getlibraryhubsmetadata.md
- docs/models/operations/getlibraryhubshub.md
- docs/models/operations/getlibraryhubsmediacontainer.md
- docs/models/operations/getlibraryhubsresponsebody.md
- docs/models/operations/getlibraryhubsresponse.md
- docs/models/operations/performsearchrequest.md
- docs/models/operations/performsearchresponse.md
@@ -258,28 +285,72 @@ generatedFiles:
- docs/models/operations/getrecentlyaddedmediacontainer.md
- docs/models/operations/getrecentlyaddedresponsebody.md
- docs/models/operations/getrecentlyaddedresponse.md
- docs/models/operations/getlibrarieslocation.md
- docs/models/operations/getlibrariesdirectory.md
- docs/models/operations/getlibrariesmediacontainer.md
- docs/models/operations/getlibrariesresponsebody.md
- docs/models/operations/getlibrariesresponse.md
- docs/models/operations/includedetails.md
- docs/models/operations/getlibraryrequest.md
- docs/models/operations/getlibrarydirectory.md
- docs/models/operations/filter.md
- docs/models/operations/sort.md
- docs/models/operations/field.md
- docs/models/operations/getlibrarytype.md
- docs/models/operations/operator.md
- docs/models/operations/fieldtype.md
- docs/models/operations/getlibrarymediacontainer.md
- docs/models/operations/getlibraryresponsebody.md
- docs/models/operations/getlibraryresponse.md
- docs/models/operations/deletelibraryrequest.md
- docs/models/operations/deletelibraryresponse.md
- docs/models/operations/tag.md
- docs/models/operations/getlibraryitemsrequest.md
- docs/models/operations/getlibraryitemspart.md
- docs/models/operations/getlibraryitemsmedia.md
- docs/models/operations/getlibraryitemsgenre.md
- docs/models/operations/getlibraryitemscountry.md
- docs/models/operations/getlibraryitemsdirector.md
- docs/models/operations/getlibraryitemswriter.md
- docs/models/operations/getlibraryitemsrole.md
- docs/models/operations/getlibraryitemsmetadata.md
- docs/models/operations/getlibraryitemsmediacontainer.md
- docs/models/operations/getlibraryitemsresponsebody.md
- docs/models/operations/getlibraryitemsresponse.md
- docs/models/operations/refreshlibraryrequest.md
- docs/models/operations/refreshlibraryresponse.md
- docs/models/operations/getlatestlibraryitemsrequest.md
- docs/models/operations/getlatestlibraryitemsresponse.md
- docs/models/operations/getcommonlibraryitemsrequest.md
- docs/models/operations/getcommonlibraryitemsresponse.md
- docs/models/operations/type.md
- docs/models/operations/searchlibraryrequest.md
- docs/models/operations/searchlibrarymetadata.md
- docs/models/operations/searchlibrarymediacontainer.md
- docs/models/operations/searchlibraryresponsebody.md
- docs/models/operations/searchlibraryresponse.md
- docs/models/operations/getmetadatarequest.md
- docs/models/operations/stream.md
- docs/models/operations/getmetadatapart.md
- docs/models/operations/getmetadatamedia.md
- docs/models/operations/getmetadatagenre.md
- docs/models/operations/getmetadatacountry.md
- docs/models/operations/guids.md
- docs/models/operations/ratings.md
- docs/models/operations/getmetadatadirector.md
- docs/models/operations/getmetadatawriter.md
- docs/models/operations/getmetadatarole.md
- docs/models/operations/producer.md
- docs/models/operations/getmetadatametadata.md
- docs/models/operations/getmetadatamediacontainer.md
- docs/models/operations/getmetadataresponsebody.md
- docs/models/operations/getmetadataresponse.md
- docs/models/operations/getmetadatachildrenrequest.md
- docs/models/operations/getmetadatachildrendirectory.md
- docs/models/operations/getmetadatachildrenmetadata.md
- docs/models/operations/getmetadatachildrenmediacontainer.md
- docs/models/operations/getmetadatachildrenresponsebody.md
- docs/models/operations/getmetadatachildrenresponse.md
- docs/models/operations/stream.md
- docs/models/operations/getondeckstream.md
- docs/models/operations/getondeckpart.md
- docs/models/operations/getondeckmedia.md
- docs/models/operations/guids.md
- docs/models/operations/getondeckguids.md
- docs/models/operations/getondeckmetadata.md
- docs/models/operations/getondeckmediacontainer.md
- docs/models/operations/getondeckresponsebody.md
@@ -289,36 +360,83 @@ generatedFiles:
- docs/models/operations/loglineresponse.md
- docs/models/operations/logmultilineresponse.md
- docs/models/operations/enablepapertrailresponse.md
- docs/models/operations/type.md
- docs/models/operations/getpinrequest.md
- docs/models/operations/location.md
- docs/models/operations/getpinresponsebody.md
- docs/models/operations/getpinresponse.md
- docs/models/operations/gettokenrequest.md
- docs/models/operations/gettokenresponse.md
- docs/models/operations/queryparamtype.md
- docs/models/operations/smart.md
- docs/models/operations/createplaylistrequest.md
- docs/models/operations/createplaylistmetadata.md
- docs/models/operations/createplaylistmediacontainer.md
- docs/models/operations/createplaylistresponsebody.md
- docs/models/operations/createplaylistresponse.md
- docs/models/operations/playlisttype.md
- docs/models/operations/queryparamsmart.md
- docs/models/operations/getplaylistsrequest.md
- docs/models/operations/getplaylistsmetadata.md
- docs/models/operations/getplaylistsmediacontainer.md
- docs/models/operations/getplaylistsresponsebody.md
- docs/models/operations/getplaylistsresponse.md
- docs/models/operations/getplaylistrequest.md
- docs/models/operations/getplaylistmetadata.md
- docs/models/operations/getplaylistmediacontainer.md
- docs/models/operations/getplaylistresponsebody.md
- docs/models/operations/getplaylistresponse.md
- docs/models/operations/deleteplaylistrequest.md
- docs/models/operations/deleteplaylistresponse.md
- docs/models/operations/updateplaylistrequest.md
- docs/models/operations/updateplaylistresponse.md
- docs/models/operations/getplaylistcontentsrequest.md
- docs/models/operations/getplaylistcontentspart.md
- docs/models/operations/getplaylistcontentsmedia.md
- docs/models/operations/getplaylistcontentsgenre.md
- docs/models/operations/getplaylistcontentscountry.md
- docs/models/operations/getplaylistcontentsdirector.md
- docs/models/operations/getplaylistcontentswriter.md
- docs/models/operations/getplaylistcontentsrole.md
- docs/models/operations/getplaylistcontentsmetadata.md
- docs/models/operations/getplaylistcontentsmediacontainer.md
- docs/models/operations/getplaylistcontentsresponsebody.md
- docs/models/operations/getplaylistcontentsresponse.md
- docs/models/operations/clearplaylistcontentsrequest.md
- docs/models/operations/clearplaylistcontentsresponse.md
- docs/models/operations/addplaylistcontentsrequest.md
- docs/models/operations/addplaylistcontentsmetadata.md
- docs/models/operations/addplaylistcontentsmediacontainer.md
- docs/models/operations/addplaylistcontentsresponsebody.md
- docs/models/operations/addplaylistcontentsresponse.md
- docs/models/operations/force.md
- docs/models/operations/uploadplaylistrequest.md
- docs/models/operations/uploadplaylistresponse.md
- docs/models/operations/queryparamtype.md
- docs/models/operations/gettransienttokenqueryparamtype.md
- docs/models/operations/scope.md
- docs/models/operations/gettransienttokenrequest.md
- docs/models/operations/gettransienttokenresponse.md
- docs/models/operations/getsourceconnectioninformationrequest.md
- docs/models/operations/getsourceconnectioninformationresponse.md
- docs/models/operations/getstatisticsrequest.md
- docs/models/operations/getstatisticsdevice.md
- docs/models/operations/account.md
- docs/models/operations/statisticsmedia.md
- docs/models/operations/getstatisticsmediacontainer.md
- docs/models/operations/getstatisticsresponsebody.md
- docs/models/operations/getstatisticsresponse.md
- docs/models/operations/getsessionsstream.md
- docs/models/operations/getsessionspart.md
- docs/models/operations/getsessionsmedia.md
- docs/models/operations/user.md
- docs/models/operations/player.md
- docs/models/operations/session.md
- docs/models/operations/getsessionsmetadata.md
- docs/models/operations/getsessionsmediacontainer.md
- docs/models/operations/getsessionsresponsebody.md
- docs/models/operations/getsessionsresponse.md
- docs/models/operations/getsessionhistorymetadata.md
- docs/models/operations/getsessionhistorymediacontainer.md
- docs/models/operations/getsessionhistoryresponsebody.md
- docs/models/operations/getsessionhistoryresponse.md
- docs/models/operations/transcodesession.md
- docs/models/operations/gettranscodesessionsmediacontainer.md
@@ -326,6 +444,9 @@ generatedFiles:
- docs/models/operations/gettranscodesessionsresponse.md
- docs/models/operations/stoptranscodesessionrequest.md
- docs/models/operations/stoptranscodesessionresponse.md
- docs/models/operations/release.md
- docs/models/operations/getupdatestatusmediacontainer.md
- docs/models/operations/getupdatestatusresponsebody.md
- docs/models/operations/getupdatestatusresponse.md
- docs/models/operations/download.md
- docs/models/operations/checkforupdatesrequest.md
@@ -334,11 +455,6 @@ generatedFiles:
- docs/models/operations/skip.md
- docs/models/operations/applyupdatesrequest.md
- docs/models/operations/applyupdatesresponse.md
- docs/models/operations/startuniversaltranscoderequest.md
- docs/models/operations/startuniversaltranscoderesponse.md
- docs/models/operations/state.md
- docs/models/operations/gettimelinerequest.md
- docs/models/operations/gettimelineresponse.md
- docs/models/sdkerrors/errors.md
- docs/models/sdkerrors/getservercapabilitiesresponsebody.md
- docs/models/sdkerrors/getserverpreferenceserrors.md
@@ -361,6 +477,10 @@ generatedFiles:
- docs/models/sdkerrors/markunplayedresponsebody.md
- docs/models/sdkerrors/updateplayprogresserrors.md
- docs/models/sdkerrors/updateplayprogressresponsebody.md
- docs/models/sdkerrors/gettimelineerrors.md
- docs/models/sdkerrors/gettimelineresponsebody.md
- docs/models/sdkerrors/startuniversaltranscodeerrors.md
- docs/models/sdkerrors/startuniversaltranscoderesponsebody.md
- docs/models/sdkerrors/getserveractivitieserrors.md
- docs/models/sdkerrors/getserveractivitiesresponsebody.md
- docs/models/sdkerrors/cancelserveractivitieserrors.md
@@ -395,14 +515,8 @@ generatedFiles:
- docs/models/sdkerrors/getlibraryresponsebody.md
- docs/models/sdkerrors/deletelibraryerrors.md
- docs/models/sdkerrors/deletelibraryresponsebody.md
- docs/models/sdkerrors/getlibraryitemserrors.md
- docs/models/sdkerrors/getlibraryitemsresponsebody.md
- docs/models/sdkerrors/refreshlibraryerrors.md
- docs/models/sdkerrors/refreshlibraryresponsebody.md
- docs/models/sdkerrors/getlatestlibraryitemserrors.md
- docs/models/sdkerrors/getlatestlibraryitemsresponsebody.md
- docs/models/sdkerrors/getcommonlibraryitemserrors.md
- docs/models/sdkerrors/getcommonlibraryitemsresponsebody.md
- docs/models/sdkerrors/getmetadataerrors.md
- docs/models/sdkerrors/getmetadataresponsebody.md
- docs/models/sdkerrors/getmetadatachildrenerrors.md
@@ -415,6 +529,10 @@ generatedFiles:
- docs/models/sdkerrors/logmultilineresponsebody.md
- docs/models/sdkerrors/enablepapertrailerrors.md
- docs/models/sdkerrors/enablepapertrailresponsebody.md
- docs/models/sdkerrors/getpinerrors.md
- docs/models/sdkerrors/getpinresponsebody.md
- docs/models/sdkerrors/gettokenerrors.md
- docs/models/sdkerrors/gettokenresponsebody.md
- docs/models/sdkerrors/createplaylisterrors.md
- docs/models/sdkerrors/createplaylistresponsebody.md
- docs/models/sdkerrors/getplaylistserrors.md
@@ -437,6 +555,8 @@ generatedFiles:
- docs/models/sdkerrors/gettransienttokenresponsebody.md
- docs/models/sdkerrors/getsourceconnectioninformationerrors.md
- docs/models/sdkerrors/getsourceconnectioninformationresponsebody.md
- docs/models/sdkerrors/getstatisticserrors.md
- docs/models/sdkerrors/getstatisticsresponsebody.md
- docs/models/sdkerrors/getsessionserrors.md
- docs/models/sdkerrors/getsessionsresponsebody.md
- docs/models/sdkerrors/getsessionhistoryerrors.md
@@ -451,24 +571,25 @@ generatedFiles:
- docs/models/sdkerrors/checkforupdatesresponsebody.md
- docs/models/sdkerrors/applyupdateserrors.md
- docs/models/sdkerrors/applyupdatesresponsebody.md
- docs/models/sdkerrors/startuniversaltranscodeerrors.md
- docs/models/sdkerrors/startuniversaltranscoderesponsebody.md
- docs/models/sdkerrors/gettimelineerrors.md
- docs/models/sdkerrors/gettimelineresponsebody.md
- docs/models/components/security.md
- docs/sdks/plexapi/README.md
- docs/sdks/server/README.md
- docs/sdks/media/README.md
- docs/sdks/video/README.md
- docs/sdks/activities/README.md
- docs/sdks/butler/README.md
- docs/sdks/hubs/README.md
- docs/sdks/search/README.md
- docs/sdks/library/README.md
- docs/sdks/log/README.md
- docs/models/operations/option.md
- docs/sdks/plex/README.md
- docs/sdks/playlists/README.md
- docs/sdks/security/README.md
- docs/sdks/authentication/README.md
- docs/sdks/statistics/README.md
- docs/sdks/sessions/README.md
- docs/sdks/updater/README.md
- docs/sdks/video/README.md
- USAGE.md
- models/operations/options.go
- .gitattributes
- internal/hooks/hooks.go

View File

@@ -69,6 +69,11 @@ func main() {
* [MarkUnplayed](docs/sdks/media/README.md#markunplayed) - Mark Media Unplayed
* [UpdatePlayProgress](docs/sdks/media/README.md#updateplayprogress) - Update Media Play Progress
### [Video](docs/sdks/video/README.md)
* [GetTimeline](docs/sdks/video/README.md#gettimeline) - Get the timeline for a media item
* [StartUniversalTranscode](docs/sdks/video/README.md#startuniversaltranscode) - Start Universal Transcode
### [Activities](docs/sdks/activities/README.md)
* [GetServerActivities](docs/sdks/activities/README.md#getserveractivities) - Get Server Activities
@@ -102,8 +107,7 @@ func main() {
* [DeleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section
* [GetLibraryItems](docs/sdks/library/README.md#getlibraryitems) - Get Library Items
* [RefreshLibrary](docs/sdks/library/README.md#refreshlibrary) - Refresh Library
* [GetLatestLibraryItems](docs/sdks/library/README.md#getlatestlibraryitems) - Get Latest Library Items
* [GetCommonLibraryItems](docs/sdks/library/README.md#getcommonlibraryitems) - Get Common Library Items
* [SearchLibrary](docs/sdks/library/README.md#searchlibrary) - Search Library
* [GetMetadata](docs/sdks/library/README.md#getmetadata) - Get Items Metadata
* [GetMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children
* [GetOnDeck](docs/sdks/library/README.md#getondeck) - Get On Deck
@@ -114,6 +118,11 @@ func main() {
* [LogMultiLine](docs/sdks/log/README.md#logmultiline) - Logging a multi-line message
* [EnablePaperTrail](docs/sdks/log/README.md#enablepapertrail) - Enabling Papertrail
### [Plex](docs/sdks/plex/README.md)
* [GetPin](docs/sdks/plex/README.md#getpin) - Get a Pin
* [GetToken](docs/sdks/plex/README.md#gettoken) - Get Access Token
### [Playlists](docs/sdks/playlists/README.md)
* [CreatePlaylist](docs/sdks/playlists/README.md#createplaylist) - Create a Playlist
@@ -126,10 +135,14 @@ func main() {
* [AddPlaylistContents](docs/sdks/playlists/README.md#addplaylistcontents) - Adding to a Playlist
* [UploadPlaylist](docs/sdks/playlists/README.md#uploadplaylist) - Upload Playlist
### [Security](docs/sdks/security/README.md)
### [Authentication](docs/sdks/authentication/README.md)
* [GetTransientToken](docs/sdks/security/README.md#gettransienttoken) - Get a Transient Token.
* [GetSourceConnectionInformation](docs/sdks/security/README.md#getsourceconnectioninformation) - Get Source Connection Information
* [GetTransientToken](docs/sdks/authentication/README.md#gettransienttoken) - Get a Transient Token.
* [GetSourceConnectionInformation](docs/sdks/authentication/README.md#getsourceconnectioninformation) - Get Source Connection Information
### [Statistics](docs/sdks/statistics/README.md)
* [GetStatistics](docs/sdks/statistics/README.md#getstatistics) - Get Media Statistics
### [Sessions](docs/sdks/sessions/README.md)
@@ -143,11 +156,6 @@ func main() {
* [GetUpdateStatus](docs/sdks/updater/README.md#getupdatestatus) - Querying status of updates
* [CheckForUpdates](docs/sdks/updater/README.md#checkforupdates) - Checking for updates
* [ApplyUpdates](docs/sdks/updater/README.md#applyupdates) - Apply Updates
### [Video](docs/sdks/video/README.md)
* [StartUniversalTranscode](docs/sdks/video/README.md#startuniversaltranscode) - Start Universal Transcode
* [GetTimeline](docs/sdks/video/README.md#gettimeline) - Get the timeline for a media item
<!-- End Available Resources and Operations [operations] -->
<!-- Start Error Handling [errors] -->
@@ -279,6 +287,38 @@ func main() {
}
}
```
### Override Server URL Per-Operation
The server URL can also be overridden on a per-operation basis, provided a server list was specified for the operation. For example:
```go
package main
import (
"context"
"github.com/LukeHagar/plexgo"
"log"
)
func main() {
s := plexgo.New()
var xPlexClientIdentifier string = "<value>"
var strong *bool = plexgo.Bool(false)
ctx := context.Background()
res, err := s.Plex.GetPin(ctx, operations.WithServerURL("https://plex.tv/api/v2"), xPlexClientIdentifier, strong)
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}
```
<!-- End Server Selection [server] -->
@@ -354,7 +394,27 @@ func main() {
<!-- Start Special Types [types] -->
## Special Types
This SDK defines the following custom types to assist with marshalling and unmarshalling data.
### Date
`types.Date` is a wrapper around time.Time that allows for JSON marshaling a date string formatted as "2006-01-02".
#### Usage
```go
d1 := types.NewDate(time.Now()) // returns *types.Date
d2 := types.DateFromTime(time.Now()) // returns types.Date
d3, err := types.NewDateFromString("2019-01-01") // returns *types.Date, error
d4, err := types.DateFromString("2019-01-01") // returns types.Date, error
d5 := types.MustNewDateFromString("2019-01-01") // returns *types.Date and panics on error
d6 := types.MustDateFromString("2019-01-01") // returns types.Date and panics on error
```
<!-- End Special Types [types] -->
<!-- Placeholder for Future Speakeasy SDK Sections -->

View File

@@ -28,4 +28,134 @@ Based on:
### Generated
- [go v0.0.3] .
### Releases
- [Go v0.0.3] https://github.com/LukeHagar/plexgo/releases/tag/v0.0.3 - .
- [Go v0.0.3] https://github.com/LukeHagar/plexgo/releases/tag/v0.0.3 - .
## 2024-01-18 23:37:12
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.147.0 (2.237.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.0.4] .
### Releases
- [Go v0.0.4] https://github.com/LukeHagar/plexgo/releases/tag/v0.0.4 - .
## 2024-01-19 17:28:15
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.147.0 (2.237.2) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.0.5] .
### Releases
- [Go v0.0.5] https://github.com/LukeHagar/plexgo/releases/tag/v0.0.5 - .
## 2024-01-20 03:10:19
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.148.0 (2.237.3) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.1.0] .
### Releases
- [Go v0.1.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.1.0 - .
## 2024-01-22 17:16:22
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.148.0 (2.237.3) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.1.1] .
### Releases
- [Go v0.1.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.1.1 - .
## 2024-01-23 20:47:20
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.150.0 (2.237.3) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.1.2] .
### Releases
- [Go v0.1.2] https://github.com/LukeHagar/plexgo/releases/tag/v0.1.2 - .
## 2024-01-23 21:56:10
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.150.0 (2.237.3) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.1.3] .
### Releases
- [Go v0.1.3] https://github.com/LukeHagar/plexgo/releases/tag/v0.1.3 - .
## 2024-01-31 15:05:54
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.158.0 (2.239.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.2.0] .
### Releases
- [Go v0.2.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.2.0 - .
## 2024-02-01 00:46:46
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.161.0 (2.245.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.2.1] .
### Releases
- [Go v0.2.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.2.1 - .
## 2024-02-05 14:23:54
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.166.1 (2.249.1) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.3.0] .
### Releases
- [Go v0.3.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.3.0 - .
## 2024-02-23 14:46:30
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.193.0 (2.269.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.4.0] .
### Releases
- [Go v0.4.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.4.0 - .
## 2024-02-24 00:41:54
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.193.4 (2.272.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.4.1] .
### Releases
- [Go v0.4.1] https://github.com/LukeHagar/plexgo/releases/tag/v0.4.1 - .
## 2024-02-27 00:43:09
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.194.0 (2.272.7) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.4.2] .
### Releases
- [Go v0.4.2] https://github.com/LukeHagar/plexgo/releases/tag/v0.4.2 - .
## 2024-03-02 00:42:48
### Changes
Based on:
- OpenAPI Doc 0.0.3
- Speakeasy CLI 1.200.0 (2.277.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [go v0.4.3] .
### Releases
- [Go v0.4.3] https://github.com/LukeHagar/plexgo/releases/tag/v0.4.3 - .

View File

@@ -6,12 +6,13 @@ import (
"bytes"
"context"
"fmt"
"github.com/LukeHagar/plexgo/internal/hooks"
"github.com/LukeHagar/plexgo/internal/utils"
"github.com/LukeHagar/plexgo/models/operations"
"github.com/LukeHagar/plexgo/models/sdkerrors"
"io"
"net/http"
"strings"
"net/url"
)
// Activities are awesome. They provide a way to monitor and control asynchronous operations on the server. In order to receive real-time updates for activities, a client would normally subscribe via either EventSource or Websocket endpoints.
@@ -34,26 +35,53 @@ func newActivities(sdkConfig sdkConfiguration) *Activities {
// GetServerActivities - Get Server Activities
// Get Server Activities
func (s *Activities) GetServerActivities(ctx context.Context) (*operations.GetServerActivitiesResponse, error) {
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
url := strings.TrimSuffix(baseURL, "/") + "/activities"
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getServerActivities",
SecuritySource: s.sdkConfiguration.Security,
}
req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
opURL, err := url.JoinPath(baseURL, "/activities")
if err != nil {
return nil, fmt.Errorf("error generating URL: %w", err)
}
req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil)
if err != nil {
return nil, fmt.Errorf("error creating request: %w", err)
}
req.Header.Set("Accept", "application/json")
req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
client := s.sdkConfiguration.SecurityClient
httpRes, err := client.Do(req)
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
if err != nil {
return nil, fmt.Errorf("error sending request: %w", err)
}
if httpRes == nil {
return nil, fmt.Errorf("error sending request: no response")
return nil, err
}
httpRes, err := client.Do(req)
if err != nil || httpRes == nil {
if err != nil {
err = fmt.Errorf("error sending request: %w", err)
} else {
err = fmt.Errorf("error sending request: no response")
}
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
return nil, err
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
if err != nil {
return nil, err
}
} else {
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
if err != nil {
return nil, err
}
}
contentType := httpRes.Header.Get("Content-Type")
res := &operations.GetServerActivitiesResponse{
@@ -68,6 +96,7 @@ func (s *Activities) GetServerActivities(ctx context.Context) (*operations.GetSe
}
httpRes.Body.Close()
httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
switch {
case httpRes.StatusCode == 200:
switch {
@@ -108,33 +137,57 @@ func (s *Activities) GetServerActivities(ctx context.Context) (*operations.GetSe
// CancelServerActivities - Cancel Server Activities
// Cancel Server Activities
func (s *Activities) CancelServerActivities(ctx context.Context, activityUUID string) (*operations.CancelServerActivitiesResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "cancelServerActivities",
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.CancelServerActivitiesRequest{
ActivityUUID: activityUUID,
}
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
url, err := utils.GenerateURL(ctx, baseURL, "/activities/{activityUUID}", request, nil)
opURL, err := utils.GenerateURL(ctx, baseURL, "/activities/{activityUUID}", request, nil)
if err != nil {
return nil, fmt.Errorf("error generating URL: %w", err)
}
req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil)
req, err := http.NewRequestWithContext(ctx, "DELETE", opURL, nil)
if err != nil {
return nil, fmt.Errorf("error creating request: %w", err)
}
req.Header.Set("Accept", "application/json")
req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
client := s.sdkConfiguration.SecurityClient
httpRes, err := client.Do(req)
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
if err != nil {
return nil, fmt.Errorf("error sending request: %w", err)
}
if httpRes == nil {
return nil, fmt.Errorf("error sending request: no response")
return nil, err
}
httpRes, err := client.Do(req)
if err != nil || httpRes == nil {
if err != nil {
err = fmt.Errorf("error sending request: %w", err)
} else {
err = fmt.Errorf("error sending request: no response")
}
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
return nil, err
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
if err != nil {
return nil, err
}
} else {
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
if err != nil {
return nil, err
}
}
contentType := httpRes.Header.Get("Content-Type")
res := &operations.CancelServerActivitiesResponse{
@@ -149,6 +202,7 @@ func (s *Activities) CancelServerActivities(ctx context.Context, activityUUID st
}
httpRes.Body.Close()
httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
switch {
case httpRes.StatusCode == 200:
case httpRes.StatusCode == 400:

View File

@@ -6,42 +6,52 @@ import (
"bytes"
"context"
"fmt"
"github.com/LukeHagar/plexgo/internal/hooks"
"github.com/LukeHagar/plexgo/internal/utils"
"github.com/LukeHagar/plexgo/models/operations"
"github.com/LukeHagar/plexgo/models/sdkerrors"
"io"
"net/http"
"strings"
"net/url"
)
// Security - API Calls against Security for Plex Media Server
type Security struct {
// Authentication - API Calls regarding authentication for Plex Media Server
type Authentication struct {
sdkConfiguration sdkConfiguration
}
func newSecurity(sdkConfig sdkConfiguration) *Security {
return &Security{
func newAuthentication(sdkConfig sdkConfiguration) *Authentication {
return &Authentication{
sdkConfiguration: sdkConfig,
}
}
// GetTransientToken - Get a Transient Token.
// This endpoint provides the caller with a temporary token with the same access level as the caller's token. These tokens are valid for up to 48 hours and are destroyed if the server instance is restarted.
func (s *Security) GetTransientToken(ctx context.Context, type_ operations.QueryParamType, scope operations.Scope) (*operations.GetTransientTokenResponse, error) {
func (s *Authentication) GetTransientToken(ctx context.Context, type_ operations.GetTransientTokenQueryParamType, scope operations.Scope) (*operations.GetTransientTokenResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getTransientToken",
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetTransientTokenRequest{
Type: type_,
Scope: scope,
}
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
url := strings.TrimSuffix(baseURL, "/") + "/security/token"
opURL, err := url.JoinPath(baseURL, "/security/token")
if err != nil {
return nil, fmt.Errorf("error generating URL: %w", err)
}
req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil)
if err != nil {
return nil, fmt.Errorf("error creating request: %w", err)
}
req.Header.Set("Accept", "application/json")
req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
return nil, fmt.Errorf("error populating query params: %w", err)
@@ -49,14 +59,32 @@ func (s *Security) GetTransientToken(ctx context.Context, type_ operations.Query
client := s.sdkConfiguration.SecurityClient
httpRes, err := client.Do(req)
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
if err != nil {
return nil, fmt.Errorf("error sending request: %w", err)
}
if httpRes == nil {
return nil, fmt.Errorf("error sending request: no response")
return nil, err
}
httpRes, err := client.Do(req)
if err != nil || httpRes == nil {
if err != nil {
err = fmt.Errorf("error sending request: %w", err)
} else {
err = fmt.Errorf("error sending request: no response")
}
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
return nil, err
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
if err != nil {
return nil, err
}
} else {
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
if err != nil {
return nil, err
}
}
contentType := httpRes.Header.Get("Content-Type")
res := &operations.GetTransientTokenResponse{
@@ -71,6 +99,7 @@ func (s *Security) GetTransientToken(ctx context.Context, type_ operations.Query
}
httpRes.Body.Close()
httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
switch {
case httpRes.StatusCode == 200:
case httpRes.StatusCode == 400:
@@ -100,20 +129,29 @@ func (s *Security) GetTransientToken(ctx context.Context, type_ operations.Query
// GetSourceConnectionInformation - Get Source Connection Information
// If a caller requires connection details and a transient token for a source that is known to the server, for example a cloud media provider or shared PMS, then this endpoint can be called. This endpoint is only accessible with either an admin token or a valid transient token generated from an admin token.
// Note: requires Plex Media Server >= 1.15.4.
func (s *Security) GetSourceConnectionInformation(ctx context.Context, source string) (*operations.GetSourceConnectionInformationResponse, error) {
func (s *Authentication) GetSourceConnectionInformation(ctx context.Context, source string) (*operations.GetSourceConnectionInformationResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getSourceConnectionInformation",
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.GetSourceConnectionInformationRequest{
Source: source,
}
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
url := strings.TrimSuffix(baseURL, "/") + "/security/resources"
opURL, err := url.JoinPath(baseURL, "/security/resources")
if err != nil {
return nil, fmt.Errorf("error generating URL: %w", err)
}
req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil)
if err != nil {
return nil, fmt.Errorf("error creating request: %w", err)
}
req.Header.Set("Accept", "application/json")
req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
return nil, fmt.Errorf("error populating query params: %w", err)
@@ -121,14 +159,32 @@ func (s *Security) GetSourceConnectionInformation(ctx context.Context, source st
client := s.sdkConfiguration.SecurityClient
httpRes, err := client.Do(req)
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
if err != nil {
return nil, fmt.Errorf("error sending request: %w", err)
}
if httpRes == nil {
return nil, fmt.Errorf("error sending request: no response")
return nil, err
}
httpRes, err := client.Do(req)
if err != nil || httpRes == nil {
if err != nil {
err = fmt.Errorf("error sending request: %w", err)
} else {
err = fmt.Errorf("error sending request: no response")
}
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
return nil, err
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
if err != nil {
return nil, err
}
} else {
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
if err != nil {
return nil, err
}
}
contentType := httpRes.Header.Get("Content-Type")
res := &operations.GetSourceConnectionInformationResponse{
@@ -143,6 +199,7 @@ func (s *Security) GetSourceConnectionInformation(ctx context.Context, source st
}
httpRes.Body.Close()
httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
switch {
case httpRes.StatusCode == 200:
case httpRes.StatusCode == 400:

223
butler.go
View File

@@ -6,12 +6,13 @@ import (
"bytes"
"context"
"fmt"
"github.com/LukeHagar/plexgo/internal/hooks"
"github.com/LukeHagar/plexgo/internal/utils"
"github.com/LukeHagar/plexgo/models/operations"
"github.com/LukeHagar/plexgo/models/sdkerrors"
"io"
"net/http"
"strings"
"net/url"
)
// Butler is the task manager of the Plex Media Server Ecosystem.
@@ -28,26 +29,53 @@ func newButler(sdkConfig sdkConfiguration) *Butler {
// GetButlerTasks - Get Butler tasks
// Returns a list of butler tasks
func (s *Butler) GetButlerTasks(ctx context.Context) (*operations.GetButlerTasksResponse, error) {
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
url := strings.TrimSuffix(baseURL, "/") + "/butler"
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "getButlerTasks",
SecuritySource: s.sdkConfiguration.Security,
}
req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
opURL, err := url.JoinPath(baseURL, "/butler")
if err != nil {
return nil, fmt.Errorf("error generating URL: %w", err)
}
req, err := http.NewRequestWithContext(ctx, "GET", opURL, nil)
if err != nil {
return nil, fmt.Errorf("error creating request: %w", err)
}
req.Header.Set("Accept", "application/json")
req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
client := s.sdkConfiguration.SecurityClient
httpRes, err := client.Do(req)
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
if err != nil {
return nil, fmt.Errorf("error sending request: %w", err)
}
if httpRes == nil {
return nil, fmt.Errorf("error sending request: no response")
return nil, err
}
httpRes, err := client.Do(req)
if err != nil || httpRes == nil {
if err != nil {
err = fmt.Errorf("error sending request: %w", err)
} else {
err = fmt.Errorf("error sending request: no response")
}
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
return nil, err
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
if err != nil {
return nil, err
}
} else {
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
if err != nil {
return nil, err
}
}
contentType := httpRes.Header.Get("Content-Type")
res := &operations.GetButlerTasksResponse{
@@ -62,6 +90,7 @@ func (s *Butler) GetButlerTasks(ctx context.Context) (*operations.GetButlerTasks
}
httpRes.Body.Close()
httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
switch {
case httpRes.StatusCode == 200:
switch {
@@ -106,26 +135,53 @@ func (s *Butler) GetButlerTasks(ctx context.Context) (*operations.GetButlerTasks
// 3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window.
// 4. If we are outside the configured window, the task will start immediately.
func (s *Butler) StartAllTasks(ctx context.Context) (*operations.StartAllTasksResponse, error) {
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
url := strings.TrimSuffix(baseURL, "/") + "/butler"
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "startAllTasks",
SecuritySource: s.sdkConfiguration.Security,
}
req, err := http.NewRequestWithContext(ctx, "POST", url, nil)
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
opURL, err := url.JoinPath(baseURL, "/butler")
if err != nil {
return nil, fmt.Errorf("error generating URL: %w", err)
}
req, err := http.NewRequestWithContext(ctx, "POST", opURL, nil)
if err != nil {
return nil, fmt.Errorf("error creating request: %w", err)
}
req.Header.Set("Accept", "application/json")
req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
client := s.sdkConfiguration.SecurityClient
httpRes, err := client.Do(req)
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
if err != nil {
return nil, fmt.Errorf("error sending request: %w", err)
}
if httpRes == nil {
return nil, fmt.Errorf("error sending request: no response")
return nil, err
}
httpRes, err := client.Do(req)
if err != nil || httpRes == nil {
if err != nil {
err = fmt.Errorf("error sending request: %w", err)
} else {
err = fmt.Errorf("error sending request: no response")
}
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
return nil, err
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
if err != nil {
return nil, err
}
} else {
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
if err != nil {
return nil, err
}
}
contentType := httpRes.Header.Get("Content-Type")
res := &operations.StartAllTasksResponse{
@@ -140,6 +196,7 @@ func (s *Butler) StartAllTasks(ctx context.Context) (*operations.StartAllTasksRe
}
httpRes.Body.Close()
httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
switch {
case httpRes.StatusCode == 200:
case httpRes.StatusCode == 400:
@@ -169,26 +226,53 @@ func (s *Butler) StartAllTasks(ctx context.Context) (*operations.StartAllTasksRe
// StopAllTasks - Stop all Butler tasks
// This endpoint will stop all currently running tasks and remove any scheduled tasks from the queue.
func (s *Butler) StopAllTasks(ctx context.Context) (*operations.StopAllTasksResponse, error) {
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
url := strings.TrimSuffix(baseURL, "/") + "/butler"
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "stopAllTasks",
SecuritySource: s.sdkConfiguration.Security,
}
req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil)
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
opURL, err := url.JoinPath(baseURL, "/butler")
if err != nil {
return nil, fmt.Errorf("error generating URL: %w", err)
}
req, err := http.NewRequestWithContext(ctx, "DELETE", opURL, nil)
if err != nil {
return nil, fmt.Errorf("error creating request: %w", err)
}
req.Header.Set("Accept", "application/json")
req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
client := s.sdkConfiguration.SecurityClient
httpRes, err := client.Do(req)
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
if err != nil {
return nil, fmt.Errorf("error sending request: %w", err)
}
if httpRes == nil {
return nil, fmt.Errorf("error sending request: no response")
return nil, err
}
httpRes, err := client.Do(req)
if err != nil || httpRes == nil {
if err != nil {
err = fmt.Errorf("error sending request: %w", err)
} else {
err = fmt.Errorf("error sending request: no response")
}
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
return nil, err
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
if err != nil {
return nil, err
}
} else {
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
if err != nil {
return nil, err
}
}
contentType := httpRes.Header.Get("Content-Type")
res := &operations.StopAllTasksResponse{
@@ -203,6 +287,7 @@ func (s *Butler) StopAllTasks(ctx context.Context) (*operations.StopAllTasksResp
}
httpRes.Body.Close()
httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
switch {
case httpRes.StatusCode == 200:
case httpRes.StatusCode == 400:
@@ -236,33 +321,57 @@ func (s *Butler) StopAllTasks(ctx context.Context) (*operations.StopAllTasksResp
// 3. If a task is configured to run at a random time during the configured window and we are within that window, the task will be scheduled at a random time within the window.
// 4. If we are outside the configured window, the task will start immediately.
func (s *Butler) StartTask(ctx context.Context, taskName operations.TaskName) (*operations.StartTaskResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "startTask",
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.StartTaskRequest{
TaskName: taskName,
}
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
url, err := utils.GenerateURL(ctx, baseURL, "/butler/{taskName}", request, nil)
opURL, err := utils.GenerateURL(ctx, baseURL, "/butler/{taskName}", request, nil)
if err != nil {
return nil, fmt.Errorf("error generating URL: %w", err)
}
req, err := http.NewRequestWithContext(ctx, "POST", url, nil)
req, err := http.NewRequestWithContext(ctx, "POST", opURL, nil)
if err != nil {
return nil, fmt.Errorf("error creating request: %w", err)
}
req.Header.Set("Accept", "application/json")
req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
client := s.sdkConfiguration.SecurityClient
httpRes, err := client.Do(req)
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
if err != nil {
return nil, fmt.Errorf("error sending request: %w", err)
}
if httpRes == nil {
return nil, fmt.Errorf("error sending request: no response")
return nil, err
}
httpRes, err := client.Do(req)
if err != nil || httpRes == nil {
if err != nil {
err = fmt.Errorf("error sending request: %w", err)
} else {
err = fmt.Errorf("error sending request: no response")
}
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
return nil, err
} else if utils.MatchStatusCodes([]string{"400", "401", "4XX", "5XX"}, httpRes.StatusCode) {
httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
if err != nil {
return nil, err
}
} else {
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
if err != nil {
return nil, err
}
}
contentType := httpRes.Header.Get("Content-Type")
res := &operations.StartTaskResponse{
@@ -277,6 +386,7 @@ func (s *Butler) StartTask(ctx context.Context, taskName operations.TaskName) (*
}
httpRes.Body.Close()
httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
switch {
case httpRes.StatusCode == 200:
fallthrough
@@ -308,33 +418,57 @@ func (s *Butler) StartTask(ctx context.Context, taskName operations.TaskName) (*
// StopTask - Stop a single Butler task
// This endpoint will stop a currently running task by name, or remove it from the list of scheduled tasks if it exists. See the section above for a list of task names for this endpoint.
func (s *Butler) StopTask(ctx context.Context, taskName operations.PathParamTaskName) (*operations.StopTaskResponse, error) {
hookCtx := hooks.HookContext{
Context: ctx,
OperationID: "stopTask",
SecuritySource: s.sdkConfiguration.Security,
}
request := operations.StopTaskRequest{
TaskName: taskName,
}
baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
url, err := utils.GenerateURL(ctx, baseURL, "/butler/{taskName}", request, nil)
opURL, err := utils.GenerateURL(ctx, baseURL, "/butler/{taskName}", request, nil)
if err != nil {
return nil, fmt.Errorf("error generating URL: %w", err)
}
req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil)
req, err := http.NewRequestWithContext(ctx, "DELETE", opURL, nil)
if err != nil {
return nil, fmt.Errorf("error creating request: %w", err)
}
req.Header.Set("Accept", "application/json")
req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
req.Header.Set("User-Agent", s.sdkConfiguration.UserAgent)
client := s.sdkConfiguration.SecurityClient
httpRes, err := client.Do(req)
req, err = s.sdkConfiguration.Hooks.BeforeRequest(hooks.BeforeRequestContext{HookContext: hookCtx}, req)
if err != nil {
return nil, fmt.Errorf("error sending request: %w", err)
}
if httpRes == nil {
return nil, fmt.Errorf("error sending request: no response")
return nil, err
}
httpRes, err := client.Do(req)
if err != nil || httpRes == nil {
if err != nil {
err = fmt.Errorf("error sending request: %w", err)
} else {
err = fmt.Errorf("error sending request: no response")
}
_, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, nil, err)
return nil, err
} else if utils.MatchStatusCodes([]string{"400", "401", "404", "4XX", "5XX"}, httpRes.StatusCode) {
httpRes, err = s.sdkConfiguration.Hooks.AfterError(hooks.AfterErrorContext{HookContext: hookCtx}, httpRes, nil)
if err != nil {
return nil, err
}
} else {
httpRes, err = s.sdkConfiguration.Hooks.AfterSuccess(hooks.AfterSuccessContext{HookContext: hookCtx}, httpRes)
if err != nil {
return nil, err
}
}
contentType := httpRes.Header.Get("Content-Type")
res := &operations.StopTaskResponse{
@@ -349,6 +483,7 @@ func (s *Butler) StopTask(ctx context.Context, taskName operations.PathParamTask
}
httpRes.Body.Close()
httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
switch {
case httpRes.StatusCode == 200:
case httpRes.StatusCode == 400:

View File

@@ -0,0 +1,15 @@
# Account
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
| `ID` | **int* | :heavy_minus_sign: | N/A | 238960586 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /accounts/238960586 |
| `Name` | **string* | :heavy_minus_sign: | N/A | Diane |
| `DefaultAudioLanguage` | **string* | :heavy_minus_sign: | N/A | en |
| `AutoSelectAudio` | **bool* | :heavy_minus_sign: | N/A | true |
| `DefaultSubtitleLanguage` | **string* | :heavy_minus_sign: | N/A | en |
| `SubtitleMode` | **int* | :heavy_minus_sign: | N/A | 1 |
| `Thumb` | **string* | :heavy_minus_sign: | N/A | https://plex.tv/users/50d83634246da1de/avatar?c=1707110967 |

View File

@@ -0,0 +1,11 @@
# AddPlaylistContentsMediaContainer
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Size` | **int* | :heavy_minus_sign: | N/A | 1 |
| `LeafCountAdded` | **int* | :heavy_minus_sign: | N/A | 1 |
| `LeafCountRequested` | **int* | :heavy_minus_sign: | N/A | 1 |
| `Metadata` | [][operations.AddPlaylistContentsMetadata](../../models/operations/addplaylistcontentsmetadata.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"ratingKey": "94",<br/>"key": "/playlists/94/items",<br/>"guid": "com.plexapp.agents.none://972e3047-83d6-4848-a000-261f0af26ba2",<br/>"type": "playlist",<br/>"title": "A great playlist",<br/>"summary": "One of my great playlists",<br/>"smart": false,<br/>"playlistType": "video",<br/>"composite": "/playlists/94/composite/1705800070",<br/>"duration": 423000,<br/>"leafCount": 3,<br/>"addedAt": 1705716458,<br/>"updatedAt": 1705800070<br/>}<br/>] |

View File

@@ -0,0 +1,20 @@
# AddPlaylistContentsMetadata
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 94 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /playlists/94/items |
| `GUID` | **string* | :heavy_minus_sign: | N/A | com.plexapp.agents.none://972e3047-83d6-4848-a000-261f0af26ba2 |
| `Type` | **string* | :heavy_minus_sign: | N/A | playlist |
| `Title` | **string* | :heavy_minus_sign: | N/A | A great playlist |
| `Summary` | **string* | :heavy_minus_sign: | N/A | One of my great playlists |
| `Smart` | **bool* | :heavy_minus_sign: | N/A | false |
| `PlaylistType` | **string* | :heavy_minus_sign: | N/A | video |
| `Composite` | **string* | :heavy_minus_sign: | N/A | /playlists/94/composite/1705800070 |
| `Duration` | **int* | :heavy_minus_sign: | N/A | 423000 |
| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 3 |
| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1705716458 |
| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1705800070 |

View File

@@ -3,8 +3,8 @@
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
| `PlaylistID` | *float64* | :heavy_check_mark: | the ID of the playlist | |
| `URI` | *string* | :heavy_check_mark: | the content URI for the playlist | library://.. |
| `PlayQueueID` | *float64* | :heavy_check_mark: | the play queue to add to a playlist | 123 |
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
| `PlaylistID` | *float64* | :heavy_check_mark: | the ID of the playlist | |
| `URI` | *string* | :heavy_check_mark: | the content URI for the playlist | server://12345/com.plexapp.plugins.library/library/metadata/1 |
| `PlayQueueID` | **float64* | :heavy_minus_sign: | the play queue to add to a playlist | 123 |

View File

@@ -3,8 +3,9 @@
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `Object` | [*operations.AddPlaylistContentsResponseBody](../../models/operations/addplaylistcontentsresponsebody.md) | :heavy_minus_sign: | Playlist Updated |

View File

@@ -0,0 +1,10 @@
# AddPlaylistContentsResponseBody
Playlist Updated
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `MediaContainer` | [*operations.AddPlaylistContentsMediaContainer](../../models/operations/addplaylistcontentsmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,9 @@
# CreatePlaylistMediaContainer
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Size` | **int* | :heavy_minus_sign: | N/A | 7 |
| `Metadata` | [][operations.CreatePlaylistMetadata](../../models/operations/createplaylistmetadata.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"ratingKey": "96",<br/>"key": "/playlists/96/items",<br/>"guid": "com.plexapp.agents.none://a2f92937-1408-40e2-b022-63a8a9377e55",<br/>"type": "playlist",<br/>"title": "A Great Playlist",<br/>"summary": "What a great playlist",<br/>"smart": false,<br/>"playlistType": "video",<br/>"icon": "playlist://image.smart",<br/>"viewCount": 1,<br/>"lastViewedAt": 1705719589,<br/>"leafCount": 1,<br/>"addedAt": 1705719589,<br/>"updatedAt": 1705724593,<br/>"composite": "/playlists/96/composite/1705724593",<br/>"duration": 141000<br/>}<br/>] |

View File

@@ -0,0 +1,23 @@
# CreatePlaylistMetadata
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 96 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /playlists/96/items |
| `GUID` | **string* | :heavy_minus_sign: | N/A | com.plexapp.agents.none://a2f92937-1408-40e2-b022-63a8a9377e55 |
| `Type` | **string* | :heavy_minus_sign: | N/A | playlist |
| `Title` | **string* | :heavy_minus_sign: | N/A | A Great Playlist |
| `Summary` | **string* | :heavy_minus_sign: | N/A | What a great playlist |
| `Smart` | **bool* | :heavy_minus_sign: | N/A | false |
| `PlaylistType` | **string* | :heavy_minus_sign: | N/A | video |
| `Icon` | **string* | :heavy_minus_sign: | N/A | playlist://image.smart |
| `ViewCount` | **int* | :heavy_minus_sign: | N/A | 1 |
| `LastViewedAt` | **int* | :heavy_minus_sign: | N/A | 1705719589 |
| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 1 |
| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1705719589 |
| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1705724593 |
| `Composite` | **string* | :heavy_minus_sign: | N/A | /playlists/96/composite/1705724593 |
| `Duration` | **int* | :heavy_minus_sign: | N/A | 141000 |

View File

@@ -3,10 +3,10 @@
## Fields
| Field | Type | Required | Description |
| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
| `Title` | *string* | :heavy_check_mark: | name of the playlist |
| `Type` | [operations.Type](../../models/operations/type.md) | :heavy_check_mark: | type of playlist to create |
| `Smart` | [operations.Smart](../../models/operations/smart.md) | :heavy_check_mark: | whether the playlist is smart or not |
| `URI` | **string* | :heavy_minus_sign: | the content URI for the playlist |
| `PlayQueueID` | **float64* | :heavy_minus_sign: | the play queue to copy to a playlist |
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `Title` | *string* | :heavy_check_mark: | name of the playlist |
| `Type` | [operations.QueryParamType](../../models/operations/queryparamtype.md) | :heavy_check_mark: | type of playlist to create |
| `Smart` | [operations.Smart](../../models/operations/smart.md) | :heavy_check_mark: | whether the playlist is smart or not |
| `URI` | *string* | :heavy_check_mark: | the content URI for the playlist |
| `PlayQueueID` | **float64* | :heavy_minus_sign: | the play queue to copy to a playlist |

View File

@@ -3,8 +3,9 @@
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| Field | Type | Required | Description |
| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `Object` | [*operations.CreatePlaylistResponseBody](../../models/operations/createplaylistresponsebody.md) | :heavy_minus_sign: | returns all playlists |

View File

@@ -0,0 +1,10 @@
# CreatePlaylistResponseBody
returns all playlists
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `MediaContainer` | [*operations.CreatePlaylistMediaContainer](../../models/operations/createplaylistmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,11 @@
# Field
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Key` | **string* | :heavy_minus_sign: | N/A | label |
| `Title` | **string* | :heavy_minus_sign: | N/A | Label |
| `Type` | **string* | :heavy_minus_sign: | N/A | tag |
| `SubType` | **string* | :heavy_minus_sign: | N/A | bitrate |

View File

@@ -0,0 +1,9 @@
# FieldType
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| `Type` | **string* | :heavy_minus_sign: | N/A | resolution |
| `Operator` | [][operations.Operator](../../models/operations/operator.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"key": "=",<br/>"title": "is"<br/>}<br/>] |

View File

@@ -0,0 +1,12 @@
# Filter
## Fields
| Field | Type | Required | Description | Example |
| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- |
| `Filter` | **string* | :heavy_minus_sign: | N/A | label |
| `FilterType` | **string* | :heavy_minus_sign: | N/A | string |
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/sections/1/label |
| `Title` | **string* | :heavy_minus_sign: | N/A | Labels |
| `Type` | **string* | :heavy_minus_sign: | N/A | filter |

View File

@@ -1,7 +1,9 @@
# Force
force overwriting of duplicate playlists. By default, a playlist file uploaded with the same path will overwrite the existing playlist.
The `force` argument is used to disable overwriting. If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.
Force overwriting of duplicate playlists.
By default, a playlist file uploaded with the same path will overwrite the existing playlist.
The `force` argument is used to disable overwriting.
If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded.

View File

@@ -3,9 +3,9 @@
## Fields
| Field | Type | Required | Description |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `ResponseBodies` | [][operations.ResponseBody](../../models/operations/responsebody.md) | :heavy_minus_sign: | Available Clients |
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `Object` | [*operations.GetAvailableClientsResponseBody](../../models/operations/getavailableclientsresponsebody.md) | :heavy_minus_sign: | Available Clients |

View File

@@ -1,4 +1,6 @@
# ResponseBody
# GetAvailableClientsResponseBody
Available Clients
## Fields

View File

@@ -1,10 +0,0 @@
# GetCommonLibraryItemsRequest
## Fields
| Field | Type | Required | Description |
| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ |
| `SectionID` | *float64* | :heavy_check_mark: | the Id of the library to query |
| `Type` | *float64* | :heavy_check_mark: | item type |
| `Filter` | **string* | :heavy_minus_sign: | the filter parameter |

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,24 @@
# GetGlobalHubsMetadata
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 57070 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /playlists/57070/items |
| `GUID` | **string* | :heavy_minus_sign: | N/A | com.plexapp.agents.none://9fee6c5b-3143-4923-813e-57bd0190056c |
| `Type` | **string* | :heavy_minus_sign: | N/A | playlist |
| `Title` | **string* | :heavy_minus_sign: | N/A | November Movie Day |
| `TitleSort` | **string* | :heavy_minus_sign: | N/A | Tracks |
| `Summary` | **string* | :heavy_minus_sign: | N/A | |
| `Smart` | **bool* | :heavy_minus_sign: | N/A | false |
| `PlaylistType` | **string* | :heavy_minus_sign: | N/A | video |
| `Composite` | **string* | :heavy_minus_sign: | N/A | /playlists/57070/composite/1668787730 |
| `Icon` | **string* | :heavy_minus_sign: | N/A | playlist://image.smart |
| `ViewCount` | **int* | :heavy_minus_sign: | N/A | 2 |
| `LastViewedAt` | **int* | :heavy_minus_sign: | N/A | 1668787732 |
| `Duration` | **int* | :heavy_minus_sign: | N/A | 16873000 |
| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 3 |
| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1668779618 |
| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1668787730 |

View File

@@ -3,8 +3,9 @@
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `Object` | [*operations.GetGlobalHubsResponseBody](../../models/operations/getglobalhubsresponsebody.md) | :heavy_minus_sign: | returns global hubs |

View File

@@ -0,0 +1,10 @@
# GetGlobalHubsResponseBody
returns global hubs
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| `MediaContainer` | [*operations.GetGlobalHubsMediaContainer](../../models/operations/getglobalhubsmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -1,10 +0,0 @@
# GetLatestLibraryItemsRequest
## Fields
| Field | Type | Required | Description |
| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ |
| `SectionID` | *float64* | :heavy_check_mark: | the Id of the library to query |
| `Type` | *float64* | :heavy_check_mark: | item type |
| `Filter` | **string* | :heavy_minus_sign: | the filter parameter |

View File

@@ -1,10 +0,0 @@
# GetLatestLibraryItemsResponse
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |

View File

@@ -0,0 +1,28 @@
# GetLibrariesDirectory
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | true |
| `Art` | **string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg |
| `Composite` | **string* | :heavy_minus_sign: | N/A | /library/sections/1/composite/1705615584 |
| `Filters` | **bool* | :heavy_minus_sign: | N/A | true |
| `Refreshing` | **bool* | :heavy_minus_sign: | N/A | false |
| `Thumb` | **string* | :heavy_minus_sign: | N/A | /:/resources/movie.png |
| `Key` | **string* | :heavy_minus_sign: | N/A | 1 |
| `Type` | **string* | :heavy_minus_sign: | N/A | movie |
| `Title` | **string* | :heavy_minus_sign: | N/A | Movies |
| `Agent` | **string* | :heavy_minus_sign: | N/A | tv.plex.agents.movie |
| `Scanner` | **string* | :heavy_minus_sign: | N/A | Plex Movie |
| `Language` | **string* | :heavy_minus_sign: | N/A | en-US |
| `UUID` | **string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 |
| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1705615634 |
| `CreatedAt` | **int* | :heavy_minus_sign: | N/A | 1654131312 |
| `ScannedAt` | **int* | :heavy_minus_sign: | N/A | 1705615584 |
| `Content` | **bool* | :heavy_minus_sign: | N/A | true |
| `Directory` | **bool* | :heavy_minus_sign: | N/A | true |
| `ContentChangedAt` | **int* | :heavy_minus_sign: | N/A | 3192854 |
| `Hidden` | **int* | :heavy_minus_sign: | N/A | 0 |
| `Location` | [][operations.GetLibrariesLocation](../../models/operations/getlibrarieslocation.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"id": 1,<br/>"path": "/movies"<br/>}<br/>] |

View File

@@ -0,0 +1,9 @@
# GetLibrariesLocation
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `ID` | **int* | :heavy_minus_sign: | N/A | 1 |
| `Path` | **string* | :heavy_minus_sign: | N/A | /movies |

View File

@@ -0,0 +1,11 @@
# GetLibrariesMediaContainer
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Size` | **int* | :heavy_minus_sign: | N/A | 5 |
| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | false |
| `Title1` | **string* | :heavy_minus_sign: | N/A | Plex Library |
| `Directory` | [][operations.GetLibrariesDirectory](../../models/operations/getlibrariesdirectory.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"allowSync": true,<br/>"art": "/:/resources/movie-fanart.jpg",<br/>"composite": "/library/sections/1/composite/1705615584",<br/>"filters": true,<br/>"refreshing": false,<br/>"thumb": "/:/resources/movie.png",<br/>"key": "1",<br/>"type": "movie",<br/>"title": "Movies",<br/>"agent": "tv.plex.agents.movie",<br/>"scanner": "Plex Movie",<br/>"language": "en-US",<br/>"uuid": "322a231a-b7f7-49f5-920f-14c61199cd30",<br/>"updatedAt": 1705615634,<br/>"createdAt": 1654131312,<br/>"scannedAt": 1705615584,<br/>"content": true,<br/>"directory": true,<br/>"contentChangedAt": 3192854,<br/>"hidden": 0,<br/>"Location": [<br/>{<br/>"id": 1,<br/>"path": "/movies"<br/>}<br/>]<br/>}<br/>] |

View File

@@ -3,8 +3,9 @@
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `Object` | [*operations.GetLibrariesResponseBody](../../models/operations/getlibrariesresponsebody.md) | :heavy_minus_sign: | The libraries available on the Server |

View File

@@ -0,0 +1,10 @@
# GetLibrariesResponseBody
The libraries available on the Server
## Fields
| Field | Type | Required | Description |
| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `MediaContainer` | [*operations.GetLibrariesMediaContainer](../../models/operations/getlibrariesmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,12 @@
# GetLibraryDirectory
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Key` | **string* | :heavy_minus_sign: | N/A | search?type=1 |
| `Title` | **string* | :heavy_minus_sign: | N/A | Search... |
| `Secondary` | **bool* | :heavy_minus_sign: | N/A | true |
| `Prompt` | **string* | :heavy_minus_sign: | N/A | Search Movies |
| `Search` | **bool* | :heavy_minus_sign: | N/A | true |

View File

@@ -0,0 +1,8 @@
# GetLibraryHubsCountry
## Fields
| Field | Type | Required | Description | Example |
| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | United States of America |

View File

@@ -0,0 +1,8 @@
# GetLibraryHubsDirector
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | Nathan Greno |

View File

@@ -0,0 +1,8 @@
# GetLibraryHubsGenre
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | Animation |

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,24 @@
# GetLibraryHubsMedia
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `ID` | **int* | :heavy_minus_sign: | N/A | 38247 |
| `Duration` | **int* | :heavy_minus_sign: | N/A | 6017237 |
| `Bitrate` | **int* | :heavy_minus_sign: | N/A | 2051 |
| `Width` | **int* | :heavy_minus_sign: | N/A | 1920 |
| `Height` | **int* | :heavy_minus_sign: | N/A | 1080 |
| `AspectRatio` | **float64* | :heavy_minus_sign: | N/A | 1.78 |
| `AudioChannels` | **int* | :heavy_minus_sign: | N/A | 2 |
| `AudioCodec` | **string* | :heavy_minus_sign: | N/A | aac |
| `VideoCodec` | **string* | :heavy_minus_sign: | N/A | h264 |
| `VideoResolution` | **string* | :heavy_minus_sign: | N/A | 1080 |
| `Container` | **string* | :heavy_minus_sign: | N/A | mp4 |
| `VideoFrameRate` | **string* | :heavy_minus_sign: | N/A | 24p |
| `OptimizedForStreaming` | **int* | :heavy_minus_sign: | N/A | 1 |
| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc |
| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false |
| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | high |
| `Part` | [][operations.GetLibraryHubsPart](../../models/operations/getlibraryhubspart.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"id": 38247,<br/>"key": "/library/parts/38247/1589412494/file.mp4",<br/>"duration": 6017237,<br/>"file": "/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4",<br/>"size": 1545647447,<br/>"audioProfile": "lc",<br/>"container": "mp4",<br/>"has64bitOffsets": false,<br/>"optimizedForStreaming": true,<br/>"videoProfile": "high"<br/>}<br/>] |

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,41 @@
# GetLibraryHubsMetadata
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 14944 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/metadata/14944 |
| `GUID` | **string* | :heavy_minus_sign: | N/A | plex://movie/5d77686eeb5d26001f1eb339 |
| `Studio` | **string* | :heavy_minus_sign: | N/A | Walt Disney Animation Studios |
| `Type` | **string* | :heavy_minus_sign: | N/A | movie |
| `Title` | **string* | :heavy_minus_sign: | N/A | Tangled |
| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | Movies |
| `LibrarySectionID` | **int* | :heavy_minus_sign: | N/A | 1 |
| `LibrarySectionKey` | **string* | :heavy_minus_sign: | N/A | /library/sections/1 |
| `ContentRating` | **string* | :heavy_minus_sign: | N/A | PG |
| `Summary` | **string* | :heavy_minus_sign: | N/A | The magically long-haired Rapunzel has spent her entire life in a tower, but now that a runaway thief has stumbled upon her, she is about to discover the world for the first time, and who she really is. |
| `Rating` | **float64* | :heavy_minus_sign: | N/A | 8.9 |
| `AudienceRating` | **float64* | :heavy_minus_sign: | N/A | 8.7 |
| `ViewCount` | **int* | :heavy_minus_sign: | N/A | 1 |
| `LastViewedAt` | **int* | :heavy_minus_sign: | N/A | 1704936047 |
| `Year` | **int* | :heavy_minus_sign: | N/A | 2010 |
| `Tagline` | **string* | :heavy_minus_sign: | N/A | They're taking adventure to new lengths. |
| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/14944/thumb/1705739847 |
| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/14944/art/1705739847 |
| `Duration` | **int* | :heavy_minus_sign: | N/A | 6017237 |
| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | N/A | 2010-11-24 00:00:00 +0000 UTC |
| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1589412494 |
| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1705739847 |
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright |
| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/14952 |
| `RatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe |
| `Media` | [][operations.GetLibraryHubsMedia](../../models/operations/getlibraryhubsmedia.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"id": 38247,<br/>"duration": 6017237,<br/>"bitrate": 2051,<br/>"width": 1920,<br/>"height": 1080,<br/>"aspectRatio": 1.78,<br/>"audioChannels": 2,<br/>"audioCodec": "aac",<br/>"videoCodec": "h264",<br/>"videoResolution": "1080",<br/>"container": "mp4",<br/>"videoFrameRate": "24p",<br/>"optimizedForStreaming": 1,<br/>"audioProfile": "lc",<br/>"has64bitOffsets": false,<br/>"videoProfile": "high",<br/>"Part": [<br/>{<br/>"id": 38247,<br/>"key": "/library/parts/38247/1589412494/file.mp4",<br/>"duration": 6017237,<br/>"file": "/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4",<br/>"size": 1545647447,<br/>"audioProfile": "lc",<br/>"container": "mp4",<br/>"has64bitOffsets": false,<br/>"optimizedForStreaming": true,<br/>"videoProfile": "high"<br/>}<br/>]<br/>}<br/>] |
| `Genre` | [][operations.GetLibraryHubsGenre](../../models/operations/getlibraryhubsgenre.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "Animation"<br/>}<br/>] |
| `Country` | [][operations.GetLibraryHubsCountry](../../models/operations/getlibraryhubscountry.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "United States of America"<br/>}<br/>] |
| `Director` | [][operations.GetLibraryHubsDirector](../../models/operations/getlibraryhubsdirector.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "Nathan Greno"<br/>}<br/>] |
| `Role` | [][operations.GetLibraryHubsRole](../../models/operations/getlibraryhubsrole.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "Donna Murphy"<br/>}<br/>] |
| `Writer` | [][operations.GetLibraryHubsWriter](../../models/operations/getlibraryhubswriter.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "Wilhelm Grimm"<br/>}<br/>] |
| `SkipCount` | **int* | :heavy_minus_sign: | N/A | 1 |
| `ChapterSource` | **string* | :heavy_minus_sign: | N/A | media |

View File

@@ -0,0 +1,17 @@
# GetLibraryHubsPart
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |
| `ID` | **int* | :heavy_minus_sign: | N/A | 38247 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/parts/38247/1589412494/file.mp4 |
| `Duration` | **int* | :heavy_minus_sign: | N/A | 6017237 |
| `File` | **string* | :heavy_minus_sign: | N/A | /movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4 |
| `Size` | **int* | :heavy_minus_sign: | N/A | 1545647447 |
| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc |
| `Container` | **string* | :heavy_minus_sign: | N/A | mp4 |
| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false |
| `OptimizedForStreaming` | **bool* | :heavy_minus_sign: | N/A | true |
| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | high |

View File

@@ -3,8 +3,9 @@
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| Field | Type | Required | Description |
| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `Object` | [*operations.GetLibraryHubsResponseBody](../../models/operations/getlibraryhubsresponsebody.md) | :heavy_minus_sign: | The hubs specific to the library |

View File

@@ -0,0 +1,10 @@
# GetLibraryHubsResponseBody
The hubs specific to the library
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `MediaContainer` | [*operations.GetLibraryHubsMediaContainer](../../models/operations/getlibraryhubsmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,8 @@
# GetLibraryHubsRole
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | Donna Murphy |

View File

@@ -0,0 +1,8 @@
# GetLibraryHubsWriter
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | Wilhelm Grimm |

View File

@@ -0,0 +1,8 @@
# GetLibraryItemsCountry
## Fields
| Field | Type | Required | Description | Example |
| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | United States of America |

View File

@@ -0,0 +1,8 @@
# GetLibraryItemsDirector
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | James Cameron |

View File

@@ -0,0 +1,8 @@
# GetLibraryItemsGenre
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | Adventure |

View File

@@ -0,0 +1,21 @@
# GetLibraryItemsMedia
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ID` | **int* | :heavy_minus_sign: | N/A | 119534 |
| `Duration` | **int* | :heavy_minus_sign: | N/A | 11558112 |
| `Bitrate` | **int* | :heavy_minus_sign: | N/A | 25025 |
| `Width` | **int* | :heavy_minus_sign: | N/A | 3840 |
| `Height` | **int* | :heavy_minus_sign: | N/A | 2072 |
| `AspectRatio` | **float64* | :heavy_minus_sign: | N/A | 1.85 |
| `AudioChannels` | **int* | :heavy_minus_sign: | N/A | 6 |
| `AudioCodec` | **string* | :heavy_minus_sign: | N/A | eac3 |
| `VideoCodec` | **string* | :heavy_minus_sign: | N/A | hevc |
| `VideoResolution` | **string* | :heavy_minus_sign: | N/A | 4k |
| `Container` | **string* | :heavy_minus_sign: | N/A | mkv |
| `VideoFrameRate` | **string* | :heavy_minus_sign: | N/A | 24p |
| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main 10 |
| `Part` | [][operations.GetLibraryItemsPart](../../models/operations/getlibraryitemspart.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"id": 119542,<br/>"key": "/library/parts/119542/1680457526/file.mkv",<br/>"duration": 11558112,<br/>"file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",<br/>"size": 36158371307,<br/>"container": "mkv",<br/>"videoProfile": "main 10"<br/>}<br/>] |

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,64 @@
# GetLibraryItemsMetadata
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 58683 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58683 |
| `GUID` | **string* | :heavy_minus_sign: | N/A | plex://movie/5d7768ba96b655001fdc0408 |
| `Studio` | **string* | :heavy_minus_sign: | N/A | 20th Century Studios |
| `Type` | **string* | :heavy_minus_sign: | N/A | movie |
| `Title` | **string* | :heavy_minus_sign: | N/A | Avatar: The Way of Water |
| `ContentRating` | **string* | :heavy_minus_sign: | N/A | PG-13 |
| `Summary` | **string* | :heavy_minus_sign: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. |
| `Rating` | **float64* | :heavy_minus_sign: | N/A | 7.6 |
| `AudienceRating` | **float64* | :heavy_minus_sign: | N/A | 9.2 |
| `Year` | **int* | :heavy_minus_sign: | N/A | 2022 |
| `Tagline` | **string* | :heavy_minus_sign: | N/A | Return to Pandora. |
| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 |
| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 |
| `Duration` | **int* | :heavy_minus_sign: | N/A | 11558112 |
| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC |
| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1680457607 |
| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1703239236 |
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright |
| `ChapterSource` | **string* | :heavy_minus_sign: | N/A | media |
| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58684 |
| `RatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe |
| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | N/A | 66 |
| `GrandparentGUID` | **string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 |
| `GrandparentKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66 |
| `GrandparentTitle` | **string* | :heavy_minus_sign: | N/A | Caprica |
| `GrandparentThumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 |
| `GrandparentArt` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 |
| `GrandparentTheme` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 |
| `Media` | [][operations.GetLibraryItemsMedia](../../models/operations/getlibraryitemsmedia.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"id": 119534,<br/>"duration": 11558112,<br/>"bitrate": 25025,<br/>"width": 3840,<br/>"height": 2072,<br/>"aspectRatio": 1.85,<br/>"audioChannels": 6,<br/>"audioCodec": "eac3",<br/>"videoCodec": "hevc",<br/>"videoResolution": "4k",<br/>"container": "mkv",<br/>"videoFrameRate": "24p",<br/>"videoProfile": "main 10",<br/>"Part": [<br/>{<br/>"id": 119542,<br/>"key": "/library/parts/119542/1680457526/file.mkv",<br/>"duration": 11558112,<br/>"file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",<br/>"size": 36158371307,<br/>"container": "mkv",<br/>"videoProfile": "main 10"<br/>}<br/>]<br/>}<br/>] |
| `Genre` | [][operations.GetLibraryItemsGenre](../../models/operations/getlibraryitemsgenre.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "Adventure"<br/>}<br/>] |
| `Country` | [][operations.GetLibraryItemsCountry](../../models/operations/getlibraryitemscountry.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "United States of America"<br/>}<br/>] |
| `Director` | [][operations.GetLibraryItemsDirector](../../models/operations/getlibraryitemsdirector.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "James Cameron"<br/>}<br/>] |
| `Writer` | [][operations.GetLibraryItemsWriter](../../models/operations/getlibraryitemswriter.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "James Cameron"<br/>}<br/>] |
| `Role` | [][operations.GetLibraryItemsRole](../../models/operations/getlibraryitemsrole.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "Sigourney Weaver"<br/>}<br/>] |
| `TitleSort` | **string* | :heavy_minus_sign: | N/A | Whale |
| `ViewCount` | **int* | :heavy_minus_sign: | N/A | 1 |
| `LastViewedAt` | **int* | :heavy_minus_sign: | N/A | 1682752242 |
| `OriginalTitle` | **string* | :heavy_minus_sign: | N/A | 映画 ブラッククローバー 魔法帝の剣 |
| `ViewOffset` | **int* | :heavy_minus_sign: | N/A | 5222500 |
| `SkipCount` | **int* | :heavy_minus_sign: | N/A | 1 |
| `Index` | **int* | :heavy_minus_sign: | N/A | 1 |
| `Theme` | **string* | :heavy_minus_sign: | N/A | /library/metadata/1/theme/1705636920 |
| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 14 |
| `ViewedLeafCount` | **int* | :heavy_minus_sign: | N/A | 0 |
| `ChildCount` | **int* | :heavy_minus_sign: | N/A | 1 |
| `HasPremiumExtras` | **string* | :heavy_minus_sign: | N/A | 1 |
| `HasPremiumPrimaryExtra` | **string* | :heavy_minus_sign: | N/A | 1 |
| `ParentRatingKey` | **string* | :heavy_minus_sign: | N/A | 66 |
| `ParentGUID` | **string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 |
| `ParentStudio` | **string* | :heavy_minus_sign: | N/A | UCP |
| `ParentKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66 |
| `ParentTitle` | **string* | :heavy_minus_sign: | N/A | Caprica |
| `ParentIndex` | **int* | :heavy_minus_sign: | N/A | 1 |
| `ParentYear` | **int* | :heavy_minus_sign: | N/A | 2010 |
| `ParentThumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 |
| `ParentTheme` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 |

View File

@@ -0,0 +1,14 @@
# GetLibraryItemsPart
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `ID` | **int* | :heavy_minus_sign: | N/A | 119542 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/parts/119542/1680457526/file.mkv |
| `Duration` | **int* | :heavy_minus_sign: | N/A | 11558112 |
| `File` | **string* | :heavy_minus_sign: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv |
| `Size` | **int64* | :heavy_minus_sign: | N/A | 36158371307 |
| `Container` | **string* | :heavy_minus_sign: | N/A | mkv |
| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main 10 |

View File

@@ -3,8 +3,7 @@
## Fields
| Field | Type | Required | Description |
| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ |
| `SectionID` | *float64* | :heavy_check_mark: | the Id of the library to query |
| `Type` | **float64* | :heavy_minus_sign: | item type |
| `Filter` | **string* | :heavy_minus_sign: | the filter parameter |
| Field | Type | Required | Description |
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
| `SectionID` | *int64* | :heavy_check_mark: | the Id of the library to query |
| `Tag` | [operations.Tag](../../models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. |

View File

@@ -3,8 +3,9 @@
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `Object` | [*operations.GetLibraryItemsResponseBody](../../models/operations/getlibraryitemsresponsebody.md) | :heavy_minus_sign: | The contents of the library by section and tag |

View File

@@ -0,0 +1,10 @@
# GetLibraryItemsResponseBody
The contents of the library by section and tag
## Fields
| Field | Type | Required | Description |
| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `MediaContainer` | [*operations.GetLibraryItemsMediaContainer](../../models/operations/getlibraryitemsmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,8 @@
# GetLibraryItemsRole
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | Sigourney Weaver |

View File

@@ -0,0 +1,8 @@
# GetLibraryItemsWriter
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | James Cameron |

File diff suppressed because one or more lines are too long

View File

@@ -3,8 +3,9 @@
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `Object` | [*operations.GetLibraryResponseBody](../../models/operations/getlibraryresponsebody.md) | :heavy_minus_sign: | The details of the library |

View File

@@ -0,0 +1,10 @@
# GetLibraryResponseBody
The details of the library
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| `MediaContainer` | [*operations.GetLibraryMediaContainer](../../models/operations/getlibrarymediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,14 @@
# GetLibraryType
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/sections/1/all?type=1 |
| `Type` | **string* | :heavy_minus_sign: | N/A | movie |
| `Title` | **string* | :heavy_minus_sign: | N/A | Movies |
| `Active` | **bool* | :heavy_minus_sign: | N/A | false |
| `Filter` | [][operations.Filter](../../models/operations/filter.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"filter": "label",<br/>"filterType": "string",<br/>"key": "/library/sections/1/label",<br/>"title": "Labels",<br/>"type": "filter"<br/>}<br/>] |
| `Sort` | [][operations.Sort](../../models/operations/sort.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"default": "asc",<br/>"defaultDirection": "desc",<br/>"descKey": "random:desc",<br/>"firstCharacterKey": "/library/sections/1/firstCharacter",<br/>"key": "random",<br/>"title": "Randomly"<br/>}<br/>] |
| `Field` | [][operations.Field](../../models/operations/field.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"key": "label",<br/>"title": "Label",<br/>"type": "tag",<br/>"subType": "bitrate"<br/>}<br/>] |

View File

@@ -0,0 +1,12 @@
# GetMetadataChildrenDirectory
## Fields
| Field | Type | Required | Description | Example |
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 16 |
| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072/thumb/1705739923 |
| `ViewedLeafCount` | **int* | :heavy_minus_sign: | N/A | 16 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072/allLeaves |
| `Title` | **string* | :heavy_minus_sign: | N/A | All episodes |

View File

@@ -0,0 +1,30 @@
# GetMetadataChildrenMediaContainer
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Size` | **int* | :heavy_minus_sign: | N/A | 3 |
| `AllowSync` | **bool* | :heavy_minus_sign: | N/A | true |
| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072/art/1705739923 |
| `Identifier` | **string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library |
| `Key` | **string* | :heavy_minus_sign: | N/A | 30072 |
| `LibrarySectionID` | **int* | :heavy_minus_sign: | N/A | 2 |
| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | TV Shows |
| `LibrarySectionUUID` | **string* | :heavy_minus_sign: | N/A | 4bb2521c-8ba9-459b-aaee-8ab8bc35eabd |
| `MediaTagPrefix` | **string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ |
| `MediaTagVersion` | **int* | :heavy_minus_sign: | N/A | 1701731894 |
| `Nocache` | **bool* | :heavy_minus_sign: | N/A | true |
| `ParentIndex` | **int* | :heavy_minus_sign: | N/A | 1 |
| `ParentTitle` | **string* | :heavy_minus_sign: | N/A | Reacher |
| `ParentYear` | **int* | :heavy_minus_sign: | N/A | 2022 |
| `Summary` | **string* | :heavy_minus_sign: | N/A | When retired Military Police Officer Jack Reacher is arrested for a murder he did not commit, he finds himself in the middle of a deadly conspiracy full of dirty cops, shady businessmen, and scheming politicians. With nothing but his wits, he must figure out what is happening in Margrave, Georgia. |
| `Theme` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072/theme/1705739923 |
| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072/thumb/1705739923 |
| `Title1` | **string* | :heavy_minus_sign: | N/A | TV Shows |
| `Title2` | **string* | :heavy_minus_sign: | N/A | Reacher |
| `ViewGroup` | **string* | :heavy_minus_sign: | N/A | season |
| `ViewMode` | **int* | :heavy_minus_sign: | N/A | 65593 |
| `Directory` | [][operations.GetMetadataChildrenDirectory](../../models/operations/getmetadatachildrendirectory.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"leafCount": 16,<br/>"thumb": "/library/metadata/30072/thumb/1705739923",<br/>"viewedLeafCount": 16,<br/>"key": "/library/metadata/30072/allLeaves",<br/>"title": "All episodes"<br/>}<br/>] |
| `Metadata` | [][operations.GetMetadataChildrenMetadata](../../models/operations/getmetadatachildrenmetadata.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"ratingKey": "66488",<br/>"key": "/library/metadata/66488/children",<br/>"parentRatingKey": "30072",<br/>"guid": "plex://season/652aea6549508477c34c6000",<br/>"parentGuid": "plex://show/5d9c09190aaccd001f8f42f0",<br/>"parentStudio": "Amazon Studios",<br/>"type": "season",<br/>"title": "Season 2",<br/>"parentKey": "/library/metadata/30072",<br/>"parentTitle": "Reacher",<br/>"summary": "Based on\"Bad Luck and Trouble,\" when members of Reacher's old military unit start turning up dead, Reacher has just one thing on his mind—revenge.",<br/>"index": 2,<br/>"parentIndex": 1,<br/>"viewCount": 11,<br/>"lastViewedAt": 1705646565,<br/>"parentYear": 2022,<br/>"thumb": "/library/metadata/66488/thumb/1703065033",<br/>"art": "/library/metadata/30072/art/1705739923",<br/>"parentThumb": "/library/metadata/30072/thumb/1705739923",<br/>"parentTheme": "/library/metadata/30072/theme/1705739923",<br/>"leafCount": 8,<br/>"viewedLeafCount": 8,<br/>"addedAt": 1702602021,<br/>"updatedAt": 1703065033,<br/>"userRating": 9,<br/>"skipCount": 1,<br/>"lastRatedAt": 1703881224<br/>}<br/>] |

View File

@@ -0,0 +1,34 @@
# GetMetadataChildrenMetadata
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 66488 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66488/children |
| `ParentRatingKey` | **string* | :heavy_minus_sign: | N/A | 30072 |
| `GUID` | **string* | :heavy_minus_sign: | N/A | plex://season/652aea6549508477c34c6000 |
| `ParentGUID` | **string* | :heavy_minus_sign: | N/A | plex://show/5d9c09190aaccd001f8f42f0 |
| `ParentStudio` | **string* | :heavy_minus_sign: | N/A | Amazon Studios |
| `Type` | **string* | :heavy_minus_sign: | N/A | season |
| `Title` | **string* | :heavy_minus_sign: | N/A | Season 2 |
| `ParentKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072 |
| `ParentTitle` | **string* | :heavy_minus_sign: | N/A | Reacher |
| `Summary` | **string* | :heavy_minus_sign: | N/A | Based on"Bad Luck and Trouble," when members of Reacher's old military unit start turning up dead, Reacher has just one thing on his mind—revenge. |
| `Index` | **int* | :heavy_minus_sign: | N/A | 2 |
| `ParentIndex` | **int* | :heavy_minus_sign: | N/A | 1 |
| `ViewCount` | **int* | :heavy_minus_sign: | N/A | 11 |
| `LastViewedAt` | **int* | :heavy_minus_sign: | N/A | 1705646565 |
| `ParentYear` | **int* | :heavy_minus_sign: | N/A | 2022 |
| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66488/thumb/1703065033 |
| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072/art/1705739923 |
| `ParentThumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072/thumb/1705739923 |
| `ParentTheme` | **string* | :heavy_minus_sign: | N/A | /library/metadata/30072/theme/1705739923 |
| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 8 |
| `ViewedLeafCount` | **int* | :heavy_minus_sign: | N/A | 8 |
| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1702602021 |
| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1703065033 |
| `UserRating` | **int* | :heavy_minus_sign: | N/A | 9 |
| `SkipCount` | **int* | :heavy_minus_sign: | N/A | 1 |
| `LastRatedAt` | **int* | :heavy_minus_sign: | N/A | 1703881224 |

View File

@@ -3,8 +3,9 @@
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `Object` | [*operations.GetMetadataChildrenResponseBody](../../models/operations/getmetadatachildrenresponsebody.md) | :heavy_minus_sign: | The children of the library item. |

View File

@@ -0,0 +1,10 @@
# GetMetadataChildrenResponseBody
The children of the library item.
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `MediaContainer` | [*operations.GetMetadataChildrenMediaContainer](../../models/operations/getmetadatachildrenmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,10 @@
# GetMetadataCountry
## Fields
| Field | Type | Required | Description | Example |
| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ |
| `ID` | **int* | :heavy_minus_sign: | N/A | 116 |
| `Filter` | **string* | :heavy_minus_sign: | N/A | country=116 |
| `Tag` | **string* | :heavy_minus_sign: | N/A | United States of America |

View File

@@ -0,0 +1,12 @@
# GetMetadataDirector
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
| `ID` | **int* | :heavy_minus_sign: | N/A | 130 |
| `Filter` | **string* | :heavy_minus_sign: | N/A | director=130 |
| `Tag` | **string* | :heavy_minus_sign: | N/A | Joss Whedon |
| `TagKey` | **string* | :heavy_minus_sign: | N/A | 5d776828880197001ec90e8f |
| `Thumb` | **string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg |

View File

@@ -0,0 +1,10 @@
# GetMetadataGenre
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `ID` | **int* | :heavy_minus_sign: | N/A | 184 |
| `Filter` | **string* | :heavy_minus_sign: | N/A | genre=184 |
| `Tag` | **string* | :heavy_minus_sign: | N/A | Thriller |

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,18 @@
# GetMetadataPart
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ID` | **int* | :heavy_minus_sign: | N/A | 15 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/parts/15/1705637151/file.mp4 |
| `Duration` | **int* | :heavy_minus_sign: | N/A | 141417 |
| `File` | **string* | :heavy_minus_sign: | N/A | /movies/Serenity (2005)/Serenity (2005).mp4 |
| `Size` | **int* | :heavy_minus_sign: | N/A | 40271948 |
| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc |
| `Container` | **string* | :heavy_minus_sign: | N/A | mp4 |
| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false |
| `OptimizedForStreaming` | **bool* | :heavy_minus_sign: | N/A | false |
| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | high |
| `Stream` | [][operations.Stream](../../models/operations/stream.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"id": 29,<br/>"streamType": 2,<br/>"default": true,<br/>"codec": "aac",<br/>"index": 0,<br/>"bitrate": 128,<br/>"bitDepth": 8,<br/>"chromaLocation": "left",<br/>"chromaSubsampling": 14520,<br/>"codedHeight": 816,<br/>"codedWidth": 1920,<br/>"colorPrimaries": "bt709",<br/>"colorRange": "tv",<br/>"colorSpace": "bt709",<br/>"colorTrc": "bt709",<br/>"frameRate": 24,<br/>"hasScalingMatrix": false,<br/>"height": 814,<br/>"level": 40,<br/>"profile": "lc",<br/>"refFrames": 4,<br/>"scanType": "progressive",<br/>"streamIdentifier": "1",<br/>"width": 1920,<br/>"displayTitle": "English (AAC Stereo)",<br/>"extendedDisplayTitle": "English (AAC Stereo)",<br/>"selected": true,<br/>"channels": 2,<br/>"language": "English",<br/>"languageTag": "en",<br/>"languageCode": "eng",<br/>"samplingRate": 44100<br/>}<br/>] |

View File

@@ -3,8 +3,9 @@
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| Field | Type | Required | Description |
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `Object` | [*operations.GetMetadataResponseBody](../../models/operations/getmetadataresponsebody.md) | :heavy_minus_sign: | The metadata of the library item. |

View File

@@ -0,0 +1,10 @@
# GetMetadataResponseBody
The metadata of the library item.
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| `MediaContainer` | [*operations.GetMetadataMediaContainer](../../models/operations/getmetadatamediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,13 @@
# GetMetadataRole
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `ID` | **int* | :heavy_minus_sign: | N/A | 220 |
| `Filter` | **string* | :heavy_minus_sign: | N/A | actor=220 |
| `Tag` | **string* | :heavy_minus_sign: | N/A | Dennis Keiffer |
| `TagKey` | **string* | :heavy_minus_sign: | N/A | 5d77683554f42c001f8c4708 |
| `Role` | **string* | :heavy_minus_sign: | N/A | Bar Guy (uncredited) |
| `Thumb` | **string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg |

View File

@@ -0,0 +1,12 @@
# GetMetadataWriter
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
| `ID` | **int* | :heavy_minus_sign: | N/A | 132 |
| `Filter` | **string* | :heavy_minus_sign: | N/A | writer=132 |
| `Tag` | **string* | :heavy_minus_sign: | N/A | Joss Whedon |
| `TagKey` | **string* | :heavy_minus_sign: | N/A | 5d776828880197001ec90e8f |
| `Thumb` | **string* | :heavy_minus_sign: | N/A | https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg |

View File

@@ -0,0 +1,8 @@
# GetOnDeckGuids
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `ID` | **string* | :heavy_minus_sign: | N/A | imdb://tt13303712 |

View File

@@ -40,4 +40,4 @@
| `AddedAt` | **float64* | :heavy_minus_sign: | N/A | 1654258196 |
| `UpdatedAt` | **float64* | :heavy_minus_sign: | N/A | 1654258204 |
| `Media` | [][operations.GetOnDeckMedia](../../models/operations/getondeckmedia.md) | :heavy_minus_sign: | N/A | |
| `Guids` | [][operations.Guids](../../models/operations/guids.md) | :heavy_minus_sign: | N/A | |
| `Guids` | [][operations.GetOnDeckGuids](../../models/operations/getondeckguids.md) | :heavy_minus_sign: | N/A | |

View File

@@ -3,14 +3,14 @@
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
| `ID` | **float64* | :heavy_minus_sign: | N/A | 80994 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/parts/80994/1655007810/file.mkv |
| `Duration` | **float64* | :heavy_minus_sign: | N/A | 420080 |
| `File` | **string* | :heavy_minus_sign: | N/A | /tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv |
| `Size` | **float64* | :heavy_minus_sign: | N/A | 55148931 |
| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc |
| `Container` | **string* | :heavy_minus_sign: | N/A | mkv |
| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main |
| `Stream` | [][operations.Stream](../../models/operations/stream.md) | :heavy_minus_sign: | N/A | |
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| `ID` | **float64* | :heavy_minus_sign: | N/A | 80994 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/parts/80994/1655007810/file.mkv |
| `Duration` | **float64* | :heavy_minus_sign: | N/A | 420080 |
| `File` | **string* | :heavy_minus_sign: | N/A | /tvshows/Bluey (2018)/Bluey (2018) - S02E33 - Circus.mkv |
| `Size` | **float64* | :heavy_minus_sign: | N/A | 55148931 |
| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc |
| `Container` | **string* | :heavy_minus_sign: | N/A | mkv |
| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main |
| `Stream` | [][operations.GetOnDeckStream](../../models/operations/getondeckstream.md) | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,30 @@
# GetOnDeckStream
## Fields
| Field | Type | Required | Description | Example |
| ---------------------- | ---------------------- | ---------------------- | ---------------------- | ---------------------- |
| `ID` | **float64* | :heavy_minus_sign: | N/A | 211234 |
| `StreamType` | **float64* | :heavy_minus_sign: | N/A | 1 |
| `Default` | **bool* | :heavy_minus_sign: | N/A | |
| `Codec` | **string* | :heavy_minus_sign: | N/A | hevc |
| `Index` | **float64* | :heavy_minus_sign: | N/A | 0 |
| `Bitrate` | **float64* | :heavy_minus_sign: | N/A | 918 |
| `Language` | **string* | :heavy_minus_sign: | N/A | English |
| `LanguageTag` | **string* | :heavy_minus_sign: | N/A | en |
| `LanguageCode` | **string* | :heavy_minus_sign: | N/A | eng |
| `BitDepth` | **float64* | :heavy_minus_sign: | N/A | 8 |
| `ChromaLocation` | **string* | :heavy_minus_sign: | N/A | left |
| `ChromaSubsampling` | **string* | :heavy_minus_sign: | N/A | 4:2:0 |
| `CodedHeight` | **float64* | :heavy_minus_sign: | N/A | 1080 |
| `CodedWidth` | **float64* | :heavy_minus_sign: | N/A | 1920 |
| `ColorRange` | **string* | :heavy_minus_sign: | N/A | tv |
| `FrameRate` | **float64* | :heavy_minus_sign: | N/A | 25 |
| `Height` | **float64* | :heavy_minus_sign: | N/A | 1080 |
| `Level` | **float64* | :heavy_minus_sign: | N/A | 120 |
| `Profile` | **string* | :heavy_minus_sign: | N/A | main |
| `RefFrames` | **float64* | :heavy_minus_sign: | N/A | 1 |
| `Width` | **float64* | :heavy_minus_sign: | N/A | 1920 |
| `DisplayTitle` | **string* | :heavy_minus_sign: | N/A | 1080p (HEVC Main) |
| `ExtendedDisplayTitle` | **string* | :heavy_minus_sign: | N/A | 1080p (HEVC Main) |

View File

@@ -0,0 +1,9 @@
# GetPinRequest
## Fields
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `XPlexClientIdentifier` | *string* | :heavy_check_mark: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> |
| `Strong` | **bool* | :heavy_minus_sign: | Determines the kind of code returned by the API call<br/>Strong codes are used for Pin authentication flows<br/>Non-Strong codes are used for `Plex.tv/link`<br/> |

View File

@@ -0,0 +1,11 @@
# GetPinResponse
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `Object` | [*operations.GetPinResponseBody](../../models/operations/getpinresponsebody.md) | :heavy_minus_sign: | The Pin |

View File

@@ -0,0 +1,21 @@
# GetPinResponseBody
The Pin
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ID` | **float64* | :heavy_minus_sign: | PinID for use with authentication | 1272322473 |
| `Code` | **string* | :heavy_minus_sign: | N/A | 3patfx1a78ukcbr7x0n9bl26t |
| `Product` | **string* | :heavy_minus_sign: | N/A | Plex Web |
| `Trusted` | **bool* | :heavy_minus_sign: | N/A | |
| `Qr` | **string* | :heavy_minus_sign: | a link to a QR code hosted on plex.tv <br/>The QR code redirects to the relevant `plex.tv/link` authentication page<br/>Which then prompts the user for the 4 Digit Link Pin<br/> | https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t |
| `ClientIdentifier` | **string* | :heavy_minus_sign: | N/A | Postman |
| `Location` | [*operations.Location](../../models/operations/location.md) | :heavy_minus_sign: | N/A | |
| `ExpiresIn` | **float64* | :heavy_minus_sign: | N/A | 1800 |
| `CreatedAt` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | 2023-04-12 17:00:03 +0000 UTC |
| `ExpiresAt` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | 2023-04-12 17:30:03 +0000 UTC |
| `AuthToken` | **string* | :heavy_minus_sign: | N/A | |
| `NewRegistration` | **string* | :heavy_minus_sign: | N/A | |

View File

@@ -0,0 +1,8 @@
# GetPlaylistContentsCountry
## Fields
| Field | Type | Required | Description | Example |
| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | United States of America |

View File

@@ -0,0 +1,8 @@
# GetPlaylistContentsDirector
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | Joss Whedon |

View File

@@ -0,0 +1,8 @@
# GetPlaylistContentsGenre
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | Action |

View File

@@ -0,0 +1,24 @@
# GetPlaylistContentsMedia
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ID` | **int* | :heavy_minus_sign: | N/A | 15 |
| `Duration` | **int* | :heavy_minus_sign: | N/A | 141416 |
| `Bitrate` | **int* | :heavy_minus_sign: | N/A | 2273 |
| `Width` | **int* | :heavy_minus_sign: | N/A | 1920 |
| `Height` | **int* | :heavy_minus_sign: | N/A | 814 |
| `AspectRatio` | **float64* | :heavy_minus_sign: | N/A | 2.35 |
| `AudioChannels` | **int* | :heavy_minus_sign: | N/A | 2 |
| `AudioCodec` | **string* | :heavy_minus_sign: | N/A | aac |
| `VideoCodec` | **string* | :heavy_minus_sign: | N/A | h264 |
| `VideoResolution` | **string* | :heavy_minus_sign: | N/A | 1080 |
| `Container` | **string* | :heavy_minus_sign: | N/A | mp4 |
| `VideoFrameRate` | **string* | :heavy_minus_sign: | N/A | 24p |
| `OptimizedForStreaming` | **int* | :heavy_minus_sign: | N/A | 0 |
| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc |
| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false |
| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | high |
| `Part` | [][operations.GetPlaylistContentsPart](../../models/operations/getplaylistcontentspart.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"id": 15,<br/>"key": "/library/parts/15/1705637151/file.mp4",<br/>"duration": 141416,<br/>"file": "/movies/Serenity (2005)/Serenity (2005).mp4",<br/>"size": 40271948,<br/>"audioProfile": "lc",<br/>"container": "mp4",<br/>"has64bitOffsets": false,<br/>"optimizedForStreaming": false,<br/>"videoProfile": "high"<br/>}<br/>] |

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,39 @@
# GetPlaylistContentsMetadata
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 17 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/metadata/17 |
| `GUID` | **string* | :heavy_minus_sign: | N/A | plex://movie/5d77683f6f4521001ea9dc53 |
| `Studio` | **string* | :heavy_minus_sign: | N/A | Universal Pictures |
| `Type` | **string* | :heavy_minus_sign: | N/A | movie |
| `Title` | **string* | :heavy_minus_sign: | N/A | Serenity |
| `TitleSort` | **string* | :heavy_minus_sign: | N/A | Amazing Spider-Man 2 |
| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | Movies |
| `LibrarySectionID` | **int* | :heavy_minus_sign: | N/A | 1 |
| `LibrarySectionKey` | **string* | :heavy_minus_sign: | N/A | /library/sections/1 |
| `ContentRating` | **string* | :heavy_minus_sign: | N/A | PG-13 |
| `Summary` | **string* | :heavy_minus_sign: | N/A | Serenity continues the story of the TV series it was based upon ("Firefly"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job. |
| `Rating` | **float64* | :heavy_minus_sign: | N/A | 8.2 |
| `AudienceRating` | **float64* | :heavy_minus_sign: | N/A | 9.1 |
| `Year` | **int* | :heavy_minus_sign: | N/A | 2005 |
| `Tagline` | **string* | :heavy_minus_sign: | N/A | They aim to misbehave. |
| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/17/thumb/1705637165 |
| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/17/art/1705637165 |
| `Duration` | **int* | :heavy_minus_sign: | N/A | 141416 |
| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | N/A | 2005-09-29 00:00:00 +0000 UTC |
| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1705637164 |
| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1705637165 |
| `AudienceRatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright |
| `HasPremiumExtras` | **string* | :heavy_minus_sign: | N/A | 1 |
| `HasPremiumPrimaryExtra` | **string* | :heavy_minus_sign: | N/A | 1 |
| `RatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe |
| `Media` | [][operations.GetPlaylistContentsMedia](../../models/operations/getplaylistcontentsmedia.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"id": 15,<br/>"duration": 141416,<br/>"bitrate": 2273,<br/>"width": 1920,<br/>"height": 814,<br/>"aspectRatio": 2.35,<br/>"audioChannels": 2,<br/>"audioCodec": "aac",<br/>"videoCodec": "h264",<br/>"videoResolution": "1080",<br/>"container": "mp4",<br/>"videoFrameRate": "24p",<br/>"optimizedForStreaming": 0,<br/>"audioProfile": "lc",<br/>"has64bitOffsets": false,<br/>"videoProfile": "high",<br/>"Part": [<br/>{<br/>"id": 15,<br/>"key": "/library/parts/15/1705637151/file.mp4",<br/>"duration": 141416,<br/>"file": "/movies/Serenity (2005)/Serenity (2005).mp4",<br/>"size": 40271948,<br/>"audioProfile": "lc",<br/>"container": "mp4",<br/>"has64bitOffsets": false,<br/>"optimizedForStreaming": false,<br/>"videoProfile": "high"<br/>}<br/>]<br/>}<br/>] |
| `Genre` | [][operations.GetPlaylistContentsGenre](../../models/operations/getplaylistcontentsgenre.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "Action"<br/>}<br/>] |
| `Country` | [][operations.GetPlaylistContentsCountry](../../models/operations/getplaylistcontentscountry.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "United States of America"<br/>}<br/>] |
| `Director` | [][operations.GetPlaylistContentsDirector](../../models/operations/getplaylistcontentsdirector.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "Joss Whedon"<br/>}<br/>] |
| `Writer` | [][operations.GetPlaylistContentsWriter](../../models/operations/getplaylistcontentswriter.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "Joss Whedon"<br/>}<br/>] |
| `Role` | [][operations.GetPlaylistContentsRole](../../models/operations/getplaylistcontentsrole.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"tag": "Gina Torres"<br/>}<br/>] |

View File

@@ -0,0 +1,17 @@
# GetPlaylistContentsPart
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
| `ID` | **int* | :heavy_minus_sign: | N/A | 15 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /library/parts/15/1705637151/file.mp4 |
| `Duration` | **int* | :heavy_minus_sign: | N/A | 141416 |
| `File` | **string* | :heavy_minus_sign: | N/A | /movies/Serenity (2005)/Serenity (2005).mp4 |
| `Size` | **int* | :heavy_minus_sign: | N/A | 40271948 |
| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | lc |
| `Container` | **string* | :heavy_minus_sign: | N/A | mp4 |
| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false |
| `OptimizedForStreaming` | **bool* | :heavy_minus_sign: | N/A | false |
| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | high |

View File

@@ -3,8 +3,9 @@
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing |
| `Object` | [*operations.GetPlaylistContentsResponseBody](../../models/operations/getplaylistcontentsresponsebody.md) | :heavy_minus_sign: | The playlist contents |

View File

@@ -0,0 +1,10 @@
# GetPlaylistContentsResponseBody
The playlist contents
## Fields
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `MediaContainer` | [*operations.GetPlaylistContentsMediaContainer](../../models/operations/getplaylistcontentsmediacontainer.md) | :heavy_minus_sign: | N/A |

View File

@@ -0,0 +1,8 @@
# GetPlaylistContentsRole
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | Gina Torres |

View File

@@ -0,0 +1,8 @@
# GetPlaylistContentsWriter
## Fields
| Field | Type | Required | Description | Example |
| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `Tag` | **string* | :heavy_minus_sign: | N/A | Joss Whedon |

View File

@@ -0,0 +1,9 @@
# GetPlaylistMediaContainer
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Size` | **int* | :heavy_minus_sign: | N/A | 1 |
| `Metadata` | [][operations.GetPlaylistMetadata](../../models/operations/getplaylistmetadata.md) | :heavy_minus_sign: | N/A | [<br/>{<br/>"content": "library://x/directory/%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1%26push%3D1%26title%3D2%26or%3D1%26title%3DSerenity%26pop%3D1",<br/>"ratingKey": "95",<br/>"key": "/playlists/95/items",<br/>"guid": "com.plexapp.agents.none://87425529-380f-44b8-a689-9a0537e7ec91",<br/>"type": "playlist",<br/>"title": "Smart Movie Playlist",<br/>"summary": "",<br/>"smart": true,<br/>"playlistType": "video",<br/>"composite": "/playlists/95/composite/1705717387",<br/>"icon": "playlist://image.smart",<br/>"duration": 282000,<br/>"leafCount": 2,<br/>"addedAt": 1705716493,<br/>"updatedAt": 1705717387<br/>}<br/>] |

View File

@@ -0,0 +1,22 @@
# GetPlaylistMetadata
## Fields
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `Content` | **string* | :heavy_minus_sign: | N/A | library://x/directory/%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1%26push%3D1%26title%3D2%26or%3D1%26title%3DSerenity%26pop%3D1 |
| `RatingKey` | **string* | :heavy_minus_sign: | N/A | 95 |
| `Key` | **string* | :heavy_minus_sign: | N/A | /playlists/95/items |
| `GUID` | **string* | :heavy_minus_sign: | N/A | com.plexapp.agents.none://87425529-380f-44b8-a689-9a0537e7ec91 |
| `Type` | **string* | :heavy_minus_sign: | N/A | playlist |
| `Title` | **string* | :heavy_minus_sign: | N/A | Smart Movie Playlist |
| `Summary` | **string* | :heavy_minus_sign: | N/A | |
| `Smart` | **bool* | :heavy_minus_sign: | N/A | true |
| `PlaylistType` | **string* | :heavy_minus_sign: | N/A | video |
| `Composite` | **string* | :heavy_minus_sign: | N/A | /playlists/95/composite/1705717387 |
| `Icon` | **string* | :heavy_minus_sign: | N/A | playlist://image.smart |
| `Duration` | **int* | :heavy_minus_sign: | N/A | 282000 |
| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 2 |
| `AddedAt` | **int* | :heavy_minus_sign: | N/A | 1705716493 |
| `UpdatedAt` | **int* | :heavy_minus_sign: | N/A | 1705717387 |

Some files were not shown because too many files have changed in this diff Show More