diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock
index aa2407a..a27f534 100755
--- a/.speakeasy/gen.lock
+++ b/.speakeasy/gen.lock
@@ -1,20 +1,21 @@
lockVersion: 2.0.0
id: 7fc33f51-d778-40ef-b094-90972c025d39
management:
- docChecksum: 95d4ac4070b7f9db42126fc81b258e02
+ docChecksum: 94439465ae5d544f0e52b00719af05ee
docVersion: 0.0.3
speakeasyVersion: internal
- generationVersion: 2.239.0
- releaseVersion: 0.2.1
- configChecksum: 5421929b3e489a66ede916e408575cf8
+ generationVersion: 2.245.1
+ releaseVersion: 0.3.0
+ configChecksum: 263b58c1fc894b4f65ef4ffd5a694be3
published: true
features:
docs:
constsAndDefaults: 0.1.0
- core: 1.24.2
+ core: 1.25.0
flattening: 0.1.0
globalSecurity: 0.1.1
globalServerURLs: 0.1.1
+ methodServerURLs: 0.1.1
nameOverrides: 0.1.0
unions: 0.1.2
generatedFiles:
@@ -205,6 +206,18 @@ generatedFiles:
- content/pages/01-reference/go/resources/playlists/upload_playlist/_response.mdx
- content/pages/01-reference/go/resources/playlists/upload_playlist/_usage.mdx
- content/pages/01-reference/go/resources/playlists/upload_playlist/upload_playlist.mdx
+ - content/pages/01-reference/go/resources/plex/plex.mdx
+ - content/pages/01-reference/go/resources/plex/tv/get_pin/_header.mdx
+ - content/pages/01-reference/go/resources/plex/tv/get_pin/_parameters.mdx
+ - content/pages/01-reference/go/resources/plex/tv/get_pin/_response.mdx
+ - content/pages/01-reference/go/resources/plex/tv/get_pin/_usage.mdx
+ - content/pages/01-reference/go/resources/plex/tv/get_pin/get_pin.mdx
+ - content/pages/01-reference/go/resources/plex/tv/get_token/_header.mdx
+ - content/pages/01-reference/go/resources/plex/tv/get_token/_parameters.mdx
+ - content/pages/01-reference/go/resources/plex/tv/get_token/_response.mdx
+ - content/pages/01-reference/go/resources/plex/tv/get_token/_usage.mdx
+ - content/pages/01-reference/go/resources/plex/tv/get_token/get_token.mdx
+ - content/pages/01-reference/go/resources/plex/tv/tv.mdx
- content/pages/01-reference/go/resources/search/get_search_results/_header.mdx
- content/pages/01-reference/go/resources/search/get_search_results/_parameters.mdx
- content/pages/01-reference/go/resources/search/get_search_results/_response.mdx
@@ -510,6 +523,18 @@ generatedFiles:
- content/pages/01-reference/python/resources/playlists/upload_playlist/_response.mdx
- content/pages/01-reference/python/resources/playlists/upload_playlist/_usage.mdx
- content/pages/01-reference/python/resources/playlists/upload_playlist/upload_playlist.mdx
+ - content/pages/01-reference/python/resources/plex/plex.mdx
+ - content/pages/01-reference/python/resources/plex/tv/get_pin/_header.mdx
+ - content/pages/01-reference/python/resources/plex/tv/get_pin/_parameters.mdx
+ - content/pages/01-reference/python/resources/plex/tv/get_pin/_response.mdx
+ - content/pages/01-reference/python/resources/plex/tv/get_pin/_usage.mdx
+ - content/pages/01-reference/python/resources/plex/tv/get_pin/get_pin.mdx
+ - content/pages/01-reference/python/resources/plex/tv/get_token/_header.mdx
+ - content/pages/01-reference/python/resources/plex/tv/get_token/_parameters.mdx
+ - content/pages/01-reference/python/resources/plex/tv/get_token/_response.mdx
+ - content/pages/01-reference/python/resources/plex/tv/get_token/_usage.mdx
+ - content/pages/01-reference/python/resources/plex/tv/get_token/get_token.mdx
+ - content/pages/01-reference/python/resources/plex/tv/tv.mdx
- content/pages/01-reference/python/resources/search/get_search_results/_header.mdx
- content/pages/01-reference/python/resources/search/get_search_results/_parameters.mdx
- content/pages/01-reference/python/resources/search/get_search_results/_response.mdx
@@ -815,6 +840,18 @@ generatedFiles:
- content/pages/01-reference/typescript/resources/playlists/upload_playlist/_response.mdx
- content/pages/01-reference/typescript/resources/playlists/upload_playlist/_usage.mdx
- content/pages/01-reference/typescript/resources/playlists/upload_playlist/upload_playlist.mdx
+ - content/pages/01-reference/typescript/resources/plex/plex.mdx
+ - content/pages/01-reference/typescript/resources/plex/tv/get_pin/_header.mdx
+ - content/pages/01-reference/typescript/resources/plex/tv/get_pin/_parameters.mdx
+ - content/pages/01-reference/typescript/resources/plex/tv/get_pin/_response.mdx
+ - content/pages/01-reference/typescript/resources/plex/tv/get_pin/_usage.mdx
+ - content/pages/01-reference/typescript/resources/plex/tv/get_pin/get_pin.mdx
+ - content/pages/01-reference/typescript/resources/plex/tv/get_token/_header.mdx
+ - content/pages/01-reference/typescript/resources/plex/tv/get_token/_parameters.mdx
+ - content/pages/01-reference/typescript/resources/plex/tv/get_token/_response.mdx
+ - content/pages/01-reference/typescript/resources/plex/tv/get_token/_usage.mdx
+ - content/pages/01-reference/typescript/resources/plex/tv/get_token/get_token.mdx
+ - content/pages/01-reference/typescript/resources/plex/tv/tv.mdx
- content/pages/01-reference/typescript/resources/search/get_search_results/_header.mdx
- content/pages/01-reference/typescript/resources/search/get_search_results/_parameters.mdx
- content/pages/01-reference/typescript/resources/search/get_search_results/_response.mdx
@@ -1022,6 +1059,10 @@ generatedFiles:
- content/types/models/errors/get_on_deck_errors/typescript.mdx
- content/types/models/errors/get_on_deck_response_body/python.mdx
- content/types/models/errors/get_on_deck_response_body/typescript.mdx
+ - content/types/models/errors/get_pin_errors/python.mdx
+ - content/types/models/errors/get_pin_errors/typescript.mdx
+ - content/types/models/errors/get_pin_response_body/python.mdx
+ - content/types/models/errors/get_pin_response_body/typescript.mdx
- content/types/models/errors/get_playlist_contents_errors/python.mdx
- content/types/models/errors/get_playlist_contents_errors/typescript.mdx
- content/types/models/errors/get_playlist_contents_response_body/python.mdx
@@ -1080,6 +1121,10 @@ generatedFiles:
- content/types/models/errors/get_timeline_errors/typescript.mdx
- content/types/models/errors/get_timeline_response_body/python.mdx
- content/types/models/errors/get_timeline_response_body/typescript.mdx
+ - content/types/models/errors/get_token_errors/python.mdx
+ - content/types/models/errors/get_token_errors/typescript.mdx
+ - content/types/models/errors/get_token_response_body/python.mdx
+ - content/types/models/errors/get_token_response_body/typescript.mdx
- content/types/models/errors/get_transcode_sessions_errors/python.mdx
- content/types/models/errors/get_transcode_sessions_errors/typescript.mdx
- content/types/models/errors/get_transcode_sessions_response_body/python.mdx
@@ -1315,6 +1360,9 @@ generatedFiles:
- content/types/models/operations/get_libraries_directory/go.mdx
- content/types/models/operations/get_libraries_directory/python.mdx
- content/types/models/operations/get_libraries_directory/typescript.mdx
+ - content/types/models/operations/get_libraries_location/go.mdx
+ - content/types/models/operations/get_libraries_location/python.mdx
+ - content/types/models/operations/get_libraries_location/typescript.mdx
- content/types/models/operations/get_libraries_media_container/go.mdx
- content/types/models/operations/get_libraries_media_container/python.mdx
- content/types/models/operations/get_libraries_media_container/typescript.mdx
@@ -1501,6 +1549,15 @@ generatedFiles:
- content/types/models/operations/get_on_deck_stream/go.mdx
- content/types/models/operations/get_on_deck_stream/python.mdx
- content/types/models/operations/get_on_deck_stream/typescript.mdx
+ - content/types/models/operations/get_pin_request/go.mdx
+ - content/types/models/operations/get_pin_request/python.mdx
+ - content/types/models/operations/get_pin_request/typescript.mdx
+ - content/types/models/operations/get_pin_response/go.mdx
+ - content/types/models/operations/get_pin_response/python.mdx
+ - content/types/models/operations/get_pin_response/typescript.mdx
+ - content/types/models/operations/get_pin_response_body/go.mdx
+ - content/types/models/operations/get_pin_response_body/python.mdx
+ - content/types/models/operations/get_pin_response_body/typescript.mdx
- content/types/models/operations/get_playlist_contents_country/go.mdx
- content/types/models/operations/get_playlist_contents_country/python.mdx
- content/types/models/operations/get_playlist_contents_country/typescript.mdx
@@ -1708,6 +1765,12 @@ generatedFiles:
- content/types/models/operations/get_timeline_response/go.mdx
- content/types/models/operations/get_timeline_response/python.mdx
- content/types/models/operations/get_timeline_response/typescript.mdx
+ - content/types/models/operations/get_token_request/go.mdx
+ - content/types/models/operations/get_token_request/python.mdx
+ - content/types/models/operations/get_token_request/typescript.mdx
+ - content/types/models/operations/get_token_response/go.mdx
+ - content/types/models/operations/get_token_response/python.mdx
+ - content/types/models/operations/get_token_response/typescript.mdx
- content/types/models/operations/get_transcode_sessions_media_container/go.mdx
- content/types/models/operations/get_transcode_sessions_media_container/python.mdx
- content/types/models/operations/get_transcode_sessions_media_container/typescript.mdx
@@ -1938,7 +2001,7 @@ generatedFiles:
- content/types/models/operations/two/typescript.mdx
- content/types/models/operations/type/go.mdx
- content/types/models/operations/type/python.mdx
- - content/types/models/operations/type_t/typescript.mdx
+ - content/types/models/operations/type/typescript.mdx
- content/types/models/operations/update_play_progress_request/go.mdx
- content/types/models/operations/update_play_progress_request/python.mdx
- content/types/models/operations/update_play_progress_request/typescript.mdx
@@ -2009,6 +2072,8 @@ generatedFiles:
- content/types/models/sdkerrors/get_my_plex_account_response_body/go.mdx
- content/types/models/sdkerrors/get_on_deck_errors/go.mdx
- content/types/models/sdkerrors/get_on_deck_response_body/go.mdx
+ - content/types/models/sdkerrors/get_pin_errors/go.mdx
+ - content/types/models/sdkerrors/get_pin_response_body/go.mdx
- content/types/models/sdkerrors/get_playlist_contents_errors/go.mdx
- content/types/models/sdkerrors/get_playlist_contents_response_body/go.mdx
- content/types/models/sdkerrors/get_playlist_errors/go.mdx
@@ -2038,6 +2103,8 @@ generatedFiles:
- content/types/models/sdkerrors/get_source_connection_information_response_body/go.mdx
- content/types/models/sdkerrors/get_timeline_errors/go.mdx
- content/types/models/sdkerrors/get_timeline_response_body/go.mdx
+ - content/types/models/sdkerrors/get_token_errors/go.mdx
+ - content/types/models/sdkerrors/get_token_response_body/go.mdx
- content/types/models/sdkerrors/get_transcode_sessions_errors/go.mdx
- content/types/models/sdkerrors/get_transcode_sessions_response_body/go.mdx
- content/types/models/sdkerrors/get_transient_token_errors/go.mdx
@@ -2308,6 +2375,20 @@ generatedFiles:
- content/pages/01-reference/curl/resources/log/enable_paper_trail/_parameters.mdx
- content/pages/01-reference/curl/resources/log/enable_paper_trail/_usage.mdx
- content/pages/01-reference/curl/resources/log/enable_paper_trail/_header.mdx
+ - content/pages/01-reference/curl/resources/plex/plex.mdx
+ - content/pages/01-reference/curl/resources/plex/tv/tv.mdx
+ - content/pages/01-reference/curl/resources/plex/tv/get_pin/get_pin.mdx
+ - content/pages/01-reference/curl/resources/plex/tv/get_pin/_authentication.mdx
+ - content/pages/01-reference/curl/resources/plex/tv/get_pin/_response.mdx
+ - content/pages/01-reference/curl/resources/plex/tv/get_pin/_parameters.mdx
+ - content/pages/01-reference/curl/resources/plex/tv/get_pin/_usage.mdx
+ - content/pages/01-reference/curl/resources/plex/tv/get_pin/_header.mdx
+ - content/pages/01-reference/curl/resources/plex/tv/get_token/get_token.mdx
+ - content/pages/01-reference/curl/resources/plex/tv/get_token/_authentication.mdx
+ - content/pages/01-reference/curl/resources/plex/tv/get_token/_response.mdx
+ - content/pages/01-reference/curl/resources/plex/tv/get_token/_parameters.mdx
+ - content/pages/01-reference/curl/resources/plex/tv/get_token/_usage.mdx
+ - content/pages/01-reference/curl/resources/plex/tv/get_token/_header.mdx
- content/pages/01-reference/curl/resources/playlists/playlists.mdx
- content/pages/01-reference/curl/resources/playlists/create_playlist/create_playlist.mdx
- content/pages/01-reference/curl/resources/playlists/create_playlist/_authentication.mdx
@@ -2593,7 +2674,7 @@ generatedFiles:
- content/types/operations/get_recently_added_response/curl.mdx
- content/types/operations/get_libraries_errors/curl.mdx
- content/types/operations/get_libraries_library_response_body/curl.mdx
- - content/types/operations/location/curl.mdx
+ - content/types/operations/get_libraries_location/curl.mdx
- content/types/operations/get_libraries_directory/curl.mdx
- content/types/operations/get_libraries_media_container/curl.mdx
- content/types/operations/get_libraries_response_body/curl.mdx
@@ -2687,6 +2768,16 @@ generatedFiles:
- content/types/operations/enable_paper_trail_errors/curl.mdx
- content/types/operations/enable_paper_trail_response_body/curl.mdx
- content/types/operations/enable_paper_trail_response/curl.mdx
+ - content/types/operations/get_pin_request/curl.mdx
+ - content/types/operations/get_pin_errors/curl.mdx
+ - content/types/operations/get_pin_plex_tv_response_body/curl.mdx
+ - content/types/operations/location/curl.mdx
+ - content/types/operations/get_pin_response_body/curl.mdx
+ - content/types/operations/get_pin_response/curl.mdx
+ - content/types/operations/get_token_request/curl.mdx
+ - content/types/operations/get_token_errors/curl.mdx
+ - content/types/operations/get_token_response_body/curl.mdx
+ - content/types/operations/get_token_response/curl.mdx
- content/types/operations/query_param_type/curl.mdx
- content/types/operations/smart/curl.mdx
- content/types/operations/create_playlist_request/curl.mdx
@@ -3167,6 +3258,22 @@ generatedFiles:
- src/.gen/pages/01-reference/python/resources/playlists/upload_playlist/upload_playlist_content.mdx
- src/.gen/pages/01-reference/python/resources/playlists/playlists.mdx
- src/.gen/pages/01-reference/python/resources/playlists/playlists_content.mdx
+ - src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/_header.mdx
+ - src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/_parameters.mdx
+ - src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/_response.mdx
+ - src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/_usage.mdx
+ - src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/get_pin.mdx
+ - src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/get_pin_content.mdx
+ - src/.gen/pages/01-reference/python/resources/plex/tv/get_token/_header.mdx
+ - src/.gen/pages/01-reference/python/resources/plex/tv/get_token/_parameters.mdx
+ - src/.gen/pages/01-reference/python/resources/plex/tv/get_token/_response.mdx
+ - src/.gen/pages/01-reference/python/resources/plex/tv/get_token/_usage.mdx
+ - src/.gen/pages/01-reference/python/resources/plex/tv/get_token/get_token.mdx
+ - src/.gen/pages/01-reference/python/resources/plex/tv/get_token/get_token_content.mdx
+ - src/.gen/pages/01-reference/python/resources/plex/tv/tv.mdx
+ - src/.gen/pages/01-reference/python/resources/plex/tv/tv_content.mdx
+ - src/.gen/pages/01-reference/python/resources/plex/plex.mdx
+ - src/.gen/pages/01-reference/python/resources/plex/plex_content.mdx
- src/.gen/pages/01-reference/python/resources/search/get_search_results/_header.mdx
- src/.gen/pages/01-reference/python/resources/search/get_search_results/_parameters.mdx
- src/.gen/pages/01-reference/python/resources/search/get_search_results/_response.mdx
@@ -3369,6 +3476,10 @@ generatedFiles:
- src/pages/python/playlists/update_playlist/_meta.json
- src/pages/python/playlists/upload_playlist/_meta.json
- src/pages/python/playlists/_meta.json
+ - src/pages/python/plex/tv/get_pin/_meta.json
+ - src/pages/python/plex/tv/get_token/_meta.json
+ - src/pages/python/plex/tv/_meta.json
+ - src/pages/python/plex/_meta.json
- src/pages/python/search/get_search_results/_meta.json
- src/pages/python/search/perform_search/_meta.json
- src/pages/python/search/perform_voice_search/_meta.json
@@ -3635,6 +3746,22 @@ generatedFiles:
- src/.gen/pages/01-reference/typescript/resources/playlists/upload_playlist/upload_playlist_content.mdx
- src/.gen/pages/01-reference/typescript/resources/playlists/playlists.mdx
- src/.gen/pages/01-reference/typescript/resources/playlists/playlists_content.mdx
+ - src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/_header.mdx
+ - src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/_parameters.mdx
+ - src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/_response.mdx
+ - src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/_usage.mdx
+ - src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/get_pin.mdx
+ - src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/get_pin_content.mdx
+ - src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/_header.mdx
+ - src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/_parameters.mdx
+ - src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/_response.mdx
+ - src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/_usage.mdx
+ - src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/get_token.mdx
+ - src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/get_token_content.mdx
+ - src/.gen/pages/01-reference/typescript/resources/plex/tv/tv.mdx
+ - src/.gen/pages/01-reference/typescript/resources/plex/tv/tv_content.mdx
+ - src/.gen/pages/01-reference/typescript/resources/plex/plex.mdx
+ - src/.gen/pages/01-reference/typescript/resources/plex/plex_content.mdx
- src/.gen/pages/01-reference/typescript/resources/search/get_search_results/_header.mdx
- src/.gen/pages/01-reference/typescript/resources/search/get_search_results/_parameters.mdx
- src/.gen/pages/01-reference/typescript/resources/search/get_search_results/_response.mdx
@@ -3837,6 +3964,10 @@ generatedFiles:
- src/pages/typescript/playlists/update_playlist/_meta.json
- src/pages/typescript/playlists/upload_playlist/_meta.json
- src/pages/typescript/playlists/_meta.json
+ - src/pages/typescript/plex/tv/get_pin/_meta.json
+ - src/pages/typescript/plex/tv/get_token/_meta.json
+ - src/pages/typescript/plex/tv/_meta.json
+ - src/pages/typescript/plex/_meta.json
- src/pages/typescript/search/get_search_results/_meta.json
- src/pages/typescript/search/perform_search/_meta.json
- src/pages/typescript/search/perform_voice_search/_meta.json
@@ -4103,6 +4234,22 @@ generatedFiles:
- src/.gen/pages/01-reference/go/resources/playlists/upload_playlist/upload_playlist_content.mdx
- src/.gen/pages/01-reference/go/resources/playlists/playlists.mdx
- src/.gen/pages/01-reference/go/resources/playlists/playlists_content.mdx
+ - src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/_header.mdx
+ - src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/_parameters.mdx
+ - src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/_response.mdx
+ - src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/_usage.mdx
+ - src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/get_pin.mdx
+ - src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/get_pin_content.mdx
+ - src/.gen/pages/01-reference/go/resources/plex/tv/get_token/_header.mdx
+ - src/.gen/pages/01-reference/go/resources/plex/tv/get_token/_parameters.mdx
+ - src/.gen/pages/01-reference/go/resources/plex/tv/get_token/_response.mdx
+ - src/.gen/pages/01-reference/go/resources/plex/tv/get_token/_usage.mdx
+ - src/.gen/pages/01-reference/go/resources/plex/tv/get_token/get_token.mdx
+ - src/.gen/pages/01-reference/go/resources/plex/tv/get_token/get_token_content.mdx
+ - src/.gen/pages/01-reference/go/resources/plex/tv/tv.mdx
+ - src/.gen/pages/01-reference/go/resources/plex/tv/tv_content.mdx
+ - src/.gen/pages/01-reference/go/resources/plex/plex.mdx
+ - src/.gen/pages/01-reference/go/resources/plex/plex_content.mdx
- src/.gen/pages/01-reference/go/resources/search/get_search_results/_header.mdx
- src/.gen/pages/01-reference/go/resources/search/get_search_results/_parameters.mdx
- src/.gen/pages/01-reference/go/resources/search/get_search_results/_response.mdx
@@ -4305,6 +4452,10 @@ generatedFiles:
- src/pages/go/playlists/update_playlist/_meta.json
- src/pages/go/playlists/upload_playlist/_meta.json
- src/pages/go/playlists/_meta.json
+ - src/pages/go/plex/tv/get_pin/_meta.json
+ - src/pages/go/plex/tv/get_token/_meta.json
+ - src/pages/go/plex/tv/_meta.json
+ - src/pages/go/plex/_meta.json
- src/pages/go/search/get_search_results/_meta.json
- src/pages/go/search/perform_search/_meta.json
- src/pages/go/search/perform_voice_search/_meta.json
@@ -4597,6 +4748,24 @@ generatedFiles:
- src/.gen/pages/01-reference/curl/resources/playlists/upload_playlist/upload_playlist_content.mdx
- src/.gen/pages/01-reference/curl/resources/playlists/playlists.mdx
- src/.gen/pages/01-reference/curl/resources/playlists/playlists_content.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_authentication.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_header.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_parameters.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_response.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_usage.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/get_pin.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/get_pin_content.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_authentication.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_header.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_parameters.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_response.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_usage.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/get_token.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/get_token_content.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/tv/tv.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/tv/tv_content.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/plex.mdx
+ - src/.gen/pages/01-reference/curl/resources/plex/plex_content.mdx
- src/.gen/pages/01-reference/curl/resources/search/get_search_results/_authentication.mdx
- src/.gen/pages/01-reference/curl/resources/search/get_search_results/_header.mdx
- src/.gen/pages/01-reference/curl/resources/search/get_search_results/_parameters.mdx
@@ -4810,6 +4979,10 @@ generatedFiles:
- src/pages/curl/playlists/update_playlist/_meta.json
- src/pages/curl/playlists/upload_playlist/_meta.json
- src/pages/curl/playlists/_meta.json
+ - src/pages/curl/plex/tv/get_pin/_meta.json
+ - src/pages/curl/plex/tv/get_token/_meta.json
+ - src/pages/curl/plex/tv/_meta.json
+ - src/pages/curl/plex/_meta.json
- src/pages/curl/search/get_search_results/_meta.json
- src/pages/curl/search/perform_search/_meta.json
- src/pages/curl/search/perform_voice_search/_meta.json
diff --git a/Makefile b/Makefile
index c4d4f37..bd57d63 100644
--- a/Makefile
+++ b/Makefile
@@ -1,2 +1,12 @@
+.PHONY: *
+
docs:
- speakeasy generate docs --schema /github/workspace/openapi/openapi_0 --out ./ --langs python,typescript,go,curl --compile
\ No newline at end of file
+ rm -rf src || true
+ speakeasy generate docs --schema /github/workspace/openapi/openapi_0 --out ./ --langs python,typescript,go,curl --compile
+
+build:
+ pnpm run build
+
+run-server:
+ $(MAKE) build
+ go run server.go
\ No newline at end of file
diff --git a/RELEASES.md b/RELEASES.md
index 7890a65..40b8082 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -40,4 +40,10 @@ Based on:
### Changes
Based on:
- OpenAPI Doc 0.0.3
-- Speakeasy CLI 1.151.0 (2.239.0) https://github.com/speakeasy-api/speakeasy
\ No newline at end of file
+- Speakeasy CLI 1.151.0 (2.239.0) https://github.com/speakeasy-api/speakeasy
+
+## 2024-02-01 00:29:50
+### Changes
+Based on:
+- OpenAPI Doc 0.0.3
+- Speakeasy CLI 1.161.0 (2.245.1) https://github.com/speakeasy-api/speakeasy
\ No newline at end of file
diff --git a/content/pages/01-reference/curl/resources/plex/plex.mdx b/content/pages/01-reference/curl/resources/plex/plex.mdx
new file mode 100644
index 0000000..60cab7a
--- /dev/null
+++ b/content/pages/01-reference/curl/resources/plex/plex.mdx
@@ -0,0 +1,5 @@
+import Tv from "./tv/tv.mdx";
+
+## Plex
+
+
diff --git a/content/pages/01-reference/curl/resources/plex/tv/get_pin/_authentication.mdx b/content/pages/01-reference/curl/resources/plex/tv/get_pin/_authentication.mdx
new file mode 100644
index 0000000..ac82b0b
--- /dev/null
+++ b/content/pages/01-reference/curl/resources/plex/tv/get_pin/_authentication.mdx
@@ -0,0 +1,9 @@
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### API key _— in HTTP header_
+
+Set your API key in a `X-Plex-Token` HTTP header.
+
+Example: ``
+
diff --git a/content/pages/01-reference/curl/resources/plex/tv/get_pin/_header.mdx b/content/pages/01-reference/curl/resources/plex/tv/get_pin/_header.mdx
new file mode 100644
index 0000000..02e5b59
--- /dev/null
+++ b/content/pages/01-reference/curl/resources/plex/tv/get_pin/_header.mdx
@@ -0,0 +1,7 @@
+import OperationInfo from '/src/components/OperationInfo';
+
+## Get Pin
+
+
+
+Retrieve a Pin from Plex.tv for authentication flows
diff --git a/content/pages/01-reference/curl/resources/plex/tv/get_pin/_parameters.mdx b/content/pages/01-reference/curl/resources/plex/tv/get_pin/_parameters.mdx
new file mode 100644
index 0000000..6cabb95
--- /dev/null
+++ b/content/pages/01-reference/curl/resources/plex/tv/get_pin/_parameters.mdx
@@ -0,0 +1,11 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `X-Plex-Client-Identifier` _string_
+Plex Authentication Token
+
+---
+##### `strong` _boolean (optional)_
+Determines the kind of code returned by the API call
+Strong codes are used for Pin authentication flows
+Non\-Strong codes are used for `Plex.tv/link`
+
+
diff --git a/content/pages/01-reference/curl/resources/plex/tv/get_pin/_response.mdx b/content/pages/01-reference/curl/resources/plex/tv/get_pin/_response.mdx
new file mode 100644
index 0000000..13397ee
--- /dev/null
+++ b/content/pages/01-reference/curl/resources/plex/tv/get_pin/_response.mdx
@@ -0,0 +1,96 @@
+{/* Autogenerated DO NOT EDIT */}
+import Location from "/content/types/operations/location/curl.mdx"
+
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+import { TabbedSection, Tab } from '@/src/components/TabbedSection';
+import StatusCode from '@/src/components/StatusCode';
+
+
+ {/* prettier-ignore */}
+ }>
+ *JSON object*
+
+ ##### `id` _number (optional)_
+ PinID for use with authentication
+
+
+ **Example:** `1272322473`
+
+ ---
+ ##### `code` _string (optional)_
+
+
+ **Example:** `3patfx1a78ukcbr7x0n9bl26t`
+
+ ---
+ ##### `product` _string (optional)_
+
+
+ **Example:** `Plex Web`
+
+ ---
+ ##### `trusted` _boolean (optional)_
+
+
+ ---
+ ##### `qr` _string (optional)_
+ a link to a QR code hosted on plex.tv
+The QR code redirects to the relevant `plex.tv/link` authentication page
+Which then prompts the user for the 4 Digit Link Pin
+
+
+
+ **Example:** `https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t`
+
+ ---
+ ##### `clientIdentifier` _string (optional)_
+
+
+ **Example:** `Postman`
+
+ ---
+ ##### `location` _object (optional)_
+
+
+
+
+
+ ---
+ ##### `expiresIn` _number (optional)_
+
+
+ **Example:** `1800`
+
+ ---
+ ##### `createdAt` _datetime (optional)_
+
+
+ **Example:** `2023-04-12 17:00:03 +0000 UTC`
+
+ ---
+ ##### `expiresAt` _datetime (optional)_
+
+
+ **Example:** `2023-04-12 17:30:03 +0000 UTC`
+
+ ---
+ ##### `authToken` _string (optional)_
+
+
+ ---
+ ##### `newRegistration` _string (optional)_
+
+
+
+
+ {/* prettier-ignore */}
+ }>
+ *JSON object*
+
+ ##### `errors` _array (optional)_
+
+
+
+
+
diff --git a/content/pages/01-reference/curl/resources/plex/tv/get_pin/_usage.mdx b/content/pages/01-reference/curl/resources/plex/tv/get_pin/_usage.mdx
new file mode 100644
index 0000000..44ec682
--- /dev/null
+++ b/content/pages/01-reference/curl/resources/plex/tv/get_pin/_usage.mdx
@@ -0,0 +1,38 @@
+
+
+```bash Example Request
+curl https://plex.tv/api/v2/pins?strong=false \
+--header 'Accept: application/json' \
+--header 'X-Plex-Token: YOUR_API_KEY_HERE' \
+--header 'X-Plex-Client-Identifier: string'
+```
+---
+
+```json Example Response
+ {
+ "id": 1272322473,
+ "code": "3patfx1a78ukcbr7x0n9bl26t",
+ "product": "Plex Web",
+ "trusted": false,
+ "qr": "https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t",
+ "clientIdentifier": "Postman",
+ "location": {
+ "code": "US",
+ "european_union_member": false,
+ "continent_code": "NA",
+ "country": "United States",
+ "city": "Austin",
+ "time_zone": "America/Chicago",
+ "postal_code": 78732,
+ "in_privacy_restricted_country": false,
+ "subdivisions": "Texas",
+ "coordinates": "30.3768 -97.8935"
+ },
+ "expiresIn": 1800,
+ "createdAt": "2023-04-12T17:00:03Z",
+ "expiresAt": "2023-04-12T17:30:03Z",
+ "authToken": "string",
+ "newRegistration": "string"
+ }
+```
+
diff --git a/content/pages/01-reference/curl/resources/plex/tv/get_pin/get_pin.mdx b/content/pages/01-reference/curl/resources/plex/tv/get_pin/get_pin.mdx
new file mode 100644
index 0000000..ca03266
--- /dev/null
+++ b/content/pages/01-reference/curl/resources/plex/tv/get_pin/get_pin.mdx
@@ -0,0 +1,12 @@
+import CurlHeader from './_header.mdx';
+import SDKHeader from './_header.mdx';
+import OperationHeader from '/src/components/OperationHeader';
+
+###### *Plex* / *Tv*
+
+}
+ curlHeader={}
+/>
+
+{/* render operation */}
diff --git a/content/pages/01-reference/curl/resources/plex/tv/get_token/_authentication.mdx b/content/pages/01-reference/curl/resources/plex/tv/get_token/_authentication.mdx
new file mode 100644
index 0000000..ac82b0b
--- /dev/null
+++ b/content/pages/01-reference/curl/resources/plex/tv/get_token/_authentication.mdx
@@ -0,0 +1,9 @@
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### API key _— in HTTP header_
+
+Set your API key in a `X-Plex-Token` HTTP header.
+
+Example: ``
+
diff --git a/content/pages/01-reference/curl/resources/plex/tv/get_token/_header.mdx b/content/pages/01-reference/curl/resources/plex/tv/get_token/_header.mdx
new file mode 100644
index 0000000..19f76f4
--- /dev/null
+++ b/content/pages/01-reference/curl/resources/plex/tv/get_token/_header.mdx
@@ -0,0 +1,7 @@
+import OperationInfo from '/src/components/OperationInfo';
+
+## Get Token
+
+
+
+Retrieve an Access Token from Plex.tv after the Pin has already been authenticated
diff --git a/content/pages/01-reference/curl/resources/plex/tv/get_token/_parameters.mdx b/content/pages/01-reference/curl/resources/plex/tv/get_token/_parameters.mdx
new file mode 100644
index 0000000..41033e0
--- /dev/null
+++ b/content/pages/01-reference/curl/resources/plex/tv/get_token/_parameters.mdx
@@ -0,0 +1,8 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `pinID` _string_
+The PinID to retrieve an access token for
+
+---
+##### `X-Plex-Client-Identifier` _string_
+Plex Authentication Token
+
diff --git a/content/pages/01-reference/curl/resources/plex/tv/get_token/_response.mdx b/content/pages/01-reference/curl/resources/plex/tv/get_token/_response.mdx
new file mode 100644
index 0000000..9bcb92b
--- /dev/null
+++ b/content/pages/01-reference/curl/resources/plex/tv/get_token/_response.mdx
@@ -0,0 +1,22 @@
+{/* Autogenerated DO NOT EDIT */}
+
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+import { TabbedSection, Tab } from '@/src/components/TabbedSection';
+import StatusCode from '@/src/components/StatusCode';
+
+
+ {/* prettier-ignore */}
+ }>
+ _No response body._
+
+ {/* prettier-ignore */}
+ }>
+ *JSON object*
+
+ ##### `errors` _array (optional)_
+
+
+
+
+
diff --git a/content/pages/01-reference/curl/resources/plex/tv/get_token/_usage.mdx b/content/pages/01-reference/curl/resources/plex/tv/get_token/_usage.mdx
new file mode 100644
index 0000000..3682ff9
--- /dev/null
+++ b/content/pages/01-reference/curl/resources/plex/tv/get_token/_usage.mdx
@@ -0,0 +1,22 @@
+
+
+```bash Example Request
+curl https://plex.tv/api/v2/pins/string \
+--header 'Accept: application/json' \
+--header 'X-Plex-Token: YOUR_API_KEY_HERE' \
+--header 'X-Plex-Client-Identifier: string'
+```
+---
+
+```json Example Response
+ {
+ "errors": [
+ {
+ "code": 1000,
+ "message": "X-Plex-Client-Identifier is missing",
+ "status": 400
+ }
+ ]
+ }
+```
+
diff --git a/content/pages/01-reference/curl/resources/plex/tv/get_token/get_token.mdx b/content/pages/01-reference/curl/resources/plex/tv/get_token/get_token.mdx
new file mode 100644
index 0000000..ca03266
--- /dev/null
+++ b/content/pages/01-reference/curl/resources/plex/tv/get_token/get_token.mdx
@@ -0,0 +1,12 @@
+import CurlHeader from './_header.mdx';
+import SDKHeader from './_header.mdx';
+import OperationHeader from '/src/components/OperationHeader';
+
+###### *Plex* / *Tv*
+
+}
+ curlHeader={}
+/>
+
+{/* render operation */}
diff --git a/content/pages/01-reference/curl/resources/plex/tv/tv.mdx b/content/pages/01-reference/curl/resources/plex/tv/tv.mdx
new file mode 100644
index 0000000..a708b04
--- /dev/null
+++ b/content/pages/01-reference/curl/resources/plex/tv/tv.mdx
@@ -0,0 +1,15 @@
+import GetPin from "./get_pin/get_pin.mdx";
+import GetToken from "./get_token/get_token.mdx";
+
+## Tv
+
+### Available Operations
+
+* [Get Pin](/curl/plex/tv/get_pin) - Get a Pin
+* [Get Token](/curl/plex/tv/get_token) - Get Access Token
+
+---
+
+
+---
+
diff --git a/content/pages/01-reference/curl/resources/resources.mdx b/content/pages/01-reference/curl/resources/resources.mdx
index 9bca8da..779acea 100644
--- a/content/pages/01-reference/curl/resources/resources.mdx
+++ b/content/pages/01-reference/curl/resources/resources.mdx
@@ -10,6 +10,7 @@ import Hubs from "./hubs/hubs.mdx";
import Search from "./search/search.mdx";
import Library from "./library/library.mdx";
import Log from "./log/log.mdx";
+import Plex from "./plex/plex.mdx";
import Playlists from "./playlists/playlists.mdx";
import Security from "./security/security.mdx";
import Sessions from "./sessions/sessions.mdx";
@@ -39,6 +40,9 @@ import Video from "./video/video.mdx";
---
+---
+
+
---
diff --git a/content/pages/01-reference/go/resources/plex/plex.mdx b/content/pages/01-reference/go/resources/plex/plex.mdx
new file mode 100644
index 0000000..60cab7a
--- /dev/null
+++ b/content/pages/01-reference/go/resources/plex/plex.mdx
@@ -0,0 +1,5 @@
+import Tv from "./tv/tv.mdx";
+
+## Plex
+
+
diff --git a/content/pages/01-reference/go/resources/plex/tv/get_pin/_header.mdx b/content/pages/01-reference/go/resources/plex/tv/get_pin/_header.mdx
new file mode 100644
index 0000000..5c6a65f
--- /dev/null
+++ b/content/pages/01-reference/go/resources/plex/tv/get_pin/_header.mdx
@@ -0,0 +1,3 @@
+## Get Pin
+
+Retrieve a Pin from Plex.tv for authentication flows
\ No newline at end of file
diff --git a/content/pages/01-reference/go/resources/plex/tv/get_pin/_parameters.mdx b/content/pages/01-reference/go/resources/plex/tv/get_pin/_parameters.mdx
new file mode 100644
index 0000000..8e7dfcf
--- /dev/null
+++ b/content/pages/01-reference/go/resources/plex/tv/get_pin/_parameters.mdx
@@ -0,0 +1,19 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `ctx` [*{ `context.Context` }*](https://pkg.go.dev/context#Context)
+The context to use for the request.
+
+---
+##### `xPlexClientIdentifier` *{`string`}*
+Plex Authentication Token
+
+---
+##### `strong` *{`*bool`}*
+Determines the kind of code returned by the API call
+Strong codes are used for Pin authentication flows
+Non\-Strong codes are used for `Plex.tv/link`
+
+
+---
+##### `opts` *{`[]operations.Option`}*
+The options for this request.
+
diff --git a/content/pages/01-reference/go/resources/plex/tv/get_pin/_response.mdx b/content/pages/01-reference/go/resources/plex/tv/get_pin/_response.mdx
new file mode 100644
index 0000000..6e5769b
--- /dev/null
+++ b/content/pages/01-reference/go/resources/plex/tv/get_pin/_response.mdx
@@ -0,0 +1,16 @@
+{/* Autogenerated DO NOT EDIT */}
+import GetPinResponse from "/content/types/models/operations/get_pin_response/go.mdx"
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### *{`*operations.GetPinResponse`}*
+
+
+
+
+
+
+---
+##### *{`error`}*
+
+
diff --git a/content/pages/01-reference/go/resources/plex/tv/get_pin/_usage.mdx b/content/pages/01-reference/go/resources/plex/tv/get_pin/_usage.mdx
new file mode 100644
index 0000000..3f61d4c
--- /dev/null
+++ b/content/pages/01-reference/go/resources/plex/tv/get_pin/_usage.mdx
@@ -0,0 +1,63 @@
+
+
+```go GetPin.go
+package main
+
+import(
+ "github.com/LukeHagar/plexgo/models/components"
+ "github.com/LukeHagar/plexgo"
+ "context"
+ "log"
+)
+
+func main() {
+ s := plexgo.New(
+ plexgo.WithSecurity(""),
+ )
+
+
+ var xPlexClientIdentifier string = "string"
+
+ var strong *bool = false
+
+ ctx := context.Background()
+ res, err := s.Plex.Tv.GetPin(ctx, xPlexClientIdentifier, strong)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ if res.Object != nil {
+ // handle response
+ }
+}
+```
+---
+
+```json Example Response
+ {
+ "id": 1272322473,
+ "code": "3patfx1a78ukcbr7x0n9bl26t",
+ "product": "Plex Web",
+ "trusted": false,
+ "qr": "https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t",
+ "clientIdentifier": "Postman",
+ "location": {
+ "code": "US",
+ "european_union_member": false,
+ "continent_code": "NA",
+ "country": "United States",
+ "city": "Austin",
+ "time_zone": "America/Chicago",
+ "postal_code": 78732,
+ "in_privacy_restricted_country": false,
+ "subdivisions": "Texas",
+ "coordinates": "30.3768 -97.8935"
+ },
+ "expiresIn": 1800,
+ "createdAt": "2023-04-12T17:00:03Z",
+ "expiresAt": "2023-04-12T17:30:03Z",
+ "authToken": "string",
+ "newRegistration": "string"
+ }
+```
+
diff --git a/content/pages/01-reference/go/resources/plex/tv/get_pin/get_pin.mdx b/content/pages/01-reference/go/resources/plex/tv/get_pin/get_pin.mdx
new file mode 100644
index 0000000..ca03266
--- /dev/null
+++ b/content/pages/01-reference/go/resources/plex/tv/get_pin/get_pin.mdx
@@ -0,0 +1,12 @@
+import CurlHeader from './_header.mdx';
+import SDKHeader from './_header.mdx';
+import OperationHeader from '/src/components/OperationHeader';
+
+###### *Plex* / *Tv*
+
+}
+ curlHeader={}
+/>
+
+{/* render operation */}
diff --git a/content/pages/01-reference/go/resources/plex/tv/get_token/_header.mdx b/content/pages/01-reference/go/resources/plex/tv/get_token/_header.mdx
new file mode 100644
index 0000000..17a7e70
--- /dev/null
+++ b/content/pages/01-reference/go/resources/plex/tv/get_token/_header.mdx
@@ -0,0 +1,3 @@
+## Get Token
+
+Retrieve an Access Token from Plex.tv after the Pin has already been authenticated
\ No newline at end of file
diff --git a/content/pages/01-reference/go/resources/plex/tv/get_token/_parameters.mdx b/content/pages/01-reference/go/resources/plex/tv/get_token/_parameters.mdx
new file mode 100644
index 0000000..b1f8d82
--- /dev/null
+++ b/content/pages/01-reference/go/resources/plex/tv/get_token/_parameters.mdx
@@ -0,0 +1,16 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `ctx` [*{ `context.Context` }*](https://pkg.go.dev/context#Context)
+The context to use for the request.
+
+---
+##### `pinID` *{`string`}*
+The PinID to retrieve an access token for
+
+---
+##### `xPlexClientIdentifier` *{`string`}*
+Plex Authentication Token
+
+---
+##### `opts` *{`[]operations.Option`}*
+The options for this request.
+
diff --git a/content/pages/01-reference/go/resources/plex/tv/get_token/_response.mdx b/content/pages/01-reference/go/resources/plex/tv/get_token/_response.mdx
new file mode 100644
index 0000000..f91fd35
--- /dev/null
+++ b/content/pages/01-reference/go/resources/plex/tv/get_token/_response.mdx
@@ -0,0 +1,16 @@
+{/* Autogenerated DO NOT EDIT */}
+import GetTokenResponse from "/content/types/models/operations/get_token_response/go.mdx"
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### *{`*operations.GetTokenResponse`}*
+
+
+
+
+
+
+---
+##### *{`error`}*
+
+
diff --git a/content/pages/01-reference/go/resources/plex/tv/get_token/_usage.mdx b/content/pages/01-reference/go/resources/plex/tv/get_token/_usage.mdx
new file mode 100644
index 0000000..6d96ab4
--- /dev/null
+++ b/content/pages/01-reference/go/resources/plex/tv/get_token/_usage.mdx
@@ -0,0 +1,48 @@
+
+
+```go GetToken.go
+package main
+
+import(
+ "github.com/LukeHagar/plexgo/models/components"
+ "github.com/LukeHagar/plexgo"
+ "context"
+ "log"
+ "net/http"
+)
+
+func main() {
+ s := plexgo.New(
+ plexgo.WithSecurity(""),
+ )
+
+
+ var pinID string = "string"
+
+ var xPlexClientIdentifier string = "string"
+
+ ctx := context.Background()
+ res, err := s.Plex.Tv.GetToken(ctx, pinID, xPlexClientIdentifier)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ if res.StatusCode == http.StatusOK {
+ // handle response
+ }
+}
+```
+---
+
+```json Example Response
+ {
+ "errors": [
+ {
+ "code": 1000,
+ "message": "X-Plex-Client-Identifier is missing",
+ "status": 400
+ }
+ ]
+ }
+```
+
diff --git a/content/pages/01-reference/go/resources/plex/tv/get_token/get_token.mdx b/content/pages/01-reference/go/resources/plex/tv/get_token/get_token.mdx
new file mode 100644
index 0000000..ca03266
--- /dev/null
+++ b/content/pages/01-reference/go/resources/plex/tv/get_token/get_token.mdx
@@ -0,0 +1,12 @@
+import CurlHeader from './_header.mdx';
+import SDKHeader from './_header.mdx';
+import OperationHeader from '/src/components/OperationHeader';
+
+###### *Plex* / *Tv*
+
+}
+ curlHeader={}
+/>
+
+{/* render operation */}
diff --git a/content/pages/01-reference/go/resources/plex/tv/tv.mdx b/content/pages/01-reference/go/resources/plex/tv/tv.mdx
new file mode 100644
index 0000000..9eb2884
--- /dev/null
+++ b/content/pages/01-reference/go/resources/plex/tv/tv.mdx
@@ -0,0 +1,15 @@
+import GetPin from "./get_pin/get_pin.mdx";
+import GetToken from "./get_token/get_token.mdx";
+
+## Tv
+
+### Available Operations
+
+* [Get Pin](/go/plex/tv/get_pin) - Get a Pin
+* [Get Token](/go/plex/tv/get_token) - Get Access Token
+
+---
+
+
+---
+
diff --git a/content/pages/01-reference/go/resources/resources.mdx b/content/pages/01-reference/go/resources/resources.mdx
index 9bca8da..779acea 100644
--- a/content/pages/01-reference/go/resources/resources.mdx
+++ b/content/pages/01-reference/go/resources/resources.mdx
@@ -10,6 +10,7 @@ import Hubs from "./hubs/hubs.mdx";
import Search from "./search/search.mdx";
import Library from "./library/library.mdx";
import Log from "./log/log.mdx";
+import Plex from "./plex/plex.mdx";
import Playlists from "./playlists/playlists.mdx";
import Security from "./security/security.mdx";
import Sessions from "./sessions/sessions.mdx";
@@ -39,6 +40,9 @@ import Video from "./video/video.mdx";
---
+---
+
+
---
diff --git a/content/pages/01-reference/go/server_options/_snippet.mdx b/content/pages/01-reference/go/server_options/_snippet.mdx
index 0bef277..e41328d 100644
--- a/content/pages/01-reference/go/server_options/_snippet.mdx
+++ b/content/pages/01-reference/go/server_options/_snippet.mdx
@@ -74,5 +74,40 @@ 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"
+ "github.com/LukeHagar/plexgo/models/components"
+ "log"
+)
+
+func main() {
+ s := plexgo.New(
+ plexgo.WithSecurity(""),
+ )
+
+ var xPlexClientIdentifier string = "string"
+
+ var strong *bool = false
+
+ ctx := context.Background()
+ res, err := s.Plex.Tv.GetPin(ctx, operations.WithServerURL("https://plex.tv/api/v2"), xPlexClientIdentifier, strong)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ if res.Object != nil {
+ // handle response
+ }
+}
+
```
{/* End Go Server Options */}
diff --git a/content/pages/01-reference/python/resources/plex/plex.mdx b/content/pages/01-reference/python/resources/plex/plex.mdx
new file mode 100644
index 0000000..60cab7a
--- /dev/null
+++ b/content/pages/01-reference/python/resources/plex/plex.mdx
@@ -0,0 +1,5 @@
+import Tv from "./tv/tv.mdx";
+
+## Plex
+
+
diff --git a/content/pages/01-reference/python/resources/plex/tv/get_pin/_header.mdx b/content/pages/01-reference/python/resources/plex/tv/get_pin/_header.mdx
new file mode 100644
index 0000000..5c6a65f
--- /dev/null
+++ b/content/pages/01-reference/python/resources/plex/tv/get_pin/_header.mdx
@@ -0,0 +1,3 @@
+## Get Pin
+
+Retrieve a Pin from Plex.tv for authentication flows
\ No newline at end of file
diff --git a/content/pages/01-reference/python/resources/plex/tv/get_pin/_parameters.mdx b/content/pages/01-reference/python/resources/plex/tv/get_pin/_parameters.mdx
new file mode 100644
index 0000000..7b38527
--- /dev/null
+++ b/content/pages/01-reference/python/resources/plex/tv/get_pin/_parameters.mdx
@@ -0,0 +1,15 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `x_plex_client_identifier` *{`str`}*
+Plex Authentication Token
+
+---
+##### `strong` *{`Optional[bool]`}*
+Determines the kind of code returned by the API call
+Strong codes are used for Pin authentication flows
+Non\-Strong codes are used for `Plex.tv/link`
+
+
+---
+##### `server_url` *{`Optional[str]`}*
+An optional server URL to use.
+
diff --git a/content/pages/01-reference/python/resources/plex/tv/get_pin/_response.mdx b/content/pages/01-reference/python/resources/plex/tv/get_pin/_response.mdx
new file mode 100644
index 0000000..aa52594
--- /dev/null
+++ b/content/pages/01-reference/python/resources/plex/tv/get_pin/_response.mdx
@@ -0,0 +1,13 @@
+{/* Autogenerated DO NOT EDIT */}
+import GetPinResponse from "/content/types/models/operations/get_pin_response/python.mdx"
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### *{`operations.GetPinResponse`}*
+
+
+
+
+
+
+
diff --git a/content/pages/01-reference/python/resources/plex/tv/get_pin/_usage.mdx b/content/pages/01-reference/python/resources/plex/tv/get_pin/_usage.mdx
new file mode 100644
index 0000000..527c361
--- /dev/null
+++ b/content/pages/01-reference/python/resources/plex/tv/get_pin/_usage.mdx
@@ -0,0 +1,47 @@
+
+
+```python GetPin.py
+import plex_api
+from plex_api.models import operations
+
+s = plex_api.PlexAPI(
+ access_token="",
+)
+
+
+res = s.plex.tv.get_pin(x_plex_client_identifier='string', strong=False)
+
+if res.object is not None:
+ # handle response
+ pass
+```
+---
+
+```json Example Response
+ {
+ "id": 1272322473,
+ "code": "3patfx1a78ukcbr7x0n9bl26t",
+ "product": "Plex Web",
+ "trusted": false,
+ "qr": "https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t",
+ "clientIdentifier": "Postman",
+ "location": {
+ "code": "US",
+ "european_union_member": false,
+ "continent_code": "NA",
+ "country": "United States",
+ "city": "Austin",
+ "time_zone": "America/Chicago",
+ "postal_code": 78732,
+ "in_privacy_restricted_country": false,
+ "subdivisions": "Texas",
+ "coordinates": "30.3768 -97.8935"
+ },
+ "expiresIn": 1800,
+ "createdAt": "2023-04-12T17:00:03Z",
+ "expiresAt": "2023-04-12T17:30:03Z",
+ "authToken": "string",
+ "newRegistration": "string"
+ }
+```
+
diff --git a/content/pages/01-reference/python/resources/plex/tv/get_pin/get_pin.mdx b/content/pages/01-reference/python/resources/plex/tv/get_pin/get_pin.mdx
new file mode 100644
index 0000000..ca03266
--- /dev/null
+++ b/content/pages/01-reference/python/resources/plex/tv/get_pin/get_pin.mdx
@@ -0,0 +1,12 @@
+import CurlHeader from './_header.mdx';
+import SDKHeader from './_header.mdx';
+import OperationHeader from '/src/components/OperationHeader';
+
+###### *Plex* / *Tv*
+
+}
+ curlHeader={}
+/>
+
+{/* render operation */}
diff --git a/content/pages/01-reference/python/resources/plex/tv/get_token/_header.mdx b/content/pages/01-reference/python/resources/plex/tv/get_token/_header.mdx
new file mode 100644
index 0000000..17a7e70
--- /dev/null
+++ b/content/pages/01-reference/python/resources/plex/tv/get_token/_header.mdx
@@ -0,0 +1,3 @@
+## Get Token
+
+Retrieve an Access Token from Plex.tv after the Pin has already been authenticated
\ No newline at end of file
diff --git a/content/pages/01-reference/python/resources/plex/tv/get_token/_parameters.mdx b/content/pages/01-reference/python/resources/plex/tv/get_token/_parameters.mdx
new file mode 100644
index 0000000..476f9eb
--- /dev/null
+++ b/content/pages/01-reference/python/resources/plex/tv/get_token/_parameters.mdx
@@ -0,0 +1,12 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `pin_id` *{`str`}*
+The PinID to retrieve an access token for
+
+---
+##### `x_plex_client_identifier` *{`str`}*
+Plex Authentication Token
+
+---
+##### `server_url` *{`Optional[str]`}*
+An optional server URL to use.
+
diff --git a/content/pages/01-reference/python/resources/plex/tv/get_token/_response.mdx b/content/pages/01-reference/python/resources/plex/tv/get_token/_response.mdx
new file mode 100644
index 0000000..9a48813
--- /dev/null
+++ b/content/pages/01-reference/python/resources/plex/tv/get_token/_response.mdx
@@ -0,0 +1,13 @@
+{/* Autogenerated DO NOT EDIT */}
+import GetTokenResponse from "/content/types/models/operations/get_token_response/python.mdx"
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### *{`operations.GetTokenResponse`}*
+
+
+
+
+
+
+
diff --git a/content/pages/01-reference/python/resources/plex/tv/get_token/_usage.mdx b/content/pages/01-reference/python/resources/plex/tv/get_token/_usage.mdx
new file mode 100644
index 0000000..ca391f1
--- /dev/null
+++ b/content/pages/01-reference/python/resources/plex/tv/get_token/_usage.mdx
@@ -0,0 +1,31 @@
+
+
+```python GetToken.py
+import plex_api
+from plex_api.models import operations
+
+s = plex_api.PlexAPI(
+ access_token="",
+)
+
+
+res = s.plex.tv.get_token(pin_id='string', x_plex_client_identifier='string')
+
+if res.status_code == 200:
+ # handle response
+ pass
+```
+---
+
+```json Example Response
+ {
+ "errors": [
+ {
+ "code": 1000,
+ "message": "X-Plex-Client-Identifier is missing",
+ "status": 400
+ }
+ ]
+ }
+```
+
diff --git a/content/pages/01-reference/python/resources/plex/tv/get_token/get_token.mdx b/content/pages/01-reference/python/resources/plex/tv/get_token/get_token.mdx
new file mode 100644
index 0000000..ca03266
--- /dev/null
+++ b/content/pages/01-reference/python/resources/plex/tv/get_token/get_token.mdx
@@ -0,0 +1,12 @@
+import CurlHeader from './_header.mdx';
+import SDKHeader from './_header.mdx';
+import OperationHeader from '/src/components/OperationHeader';
+
+###### *Plex* / *Tv*
+
+}
+ curlHeader={}
+/>
+
+{/* render operation */}
diff --git a/content/pages/01-reference/python/resources/plex/tv/tv.mdx b/content/pages/01-reference/python/resources/plex/tv/tv.mdx
new file mode 100644
index 0000000..a93b249
--- /dev/null
+++ b/content/pages/01-reference/python/resources/plex/tv/tv.mdx
@@ -0,0 +1,15 @@
+import GetPin from "./get_pin/get_pin.mdx";
+import GetToken from "./get_token/get_token.mdx";
+
+## Tv
+
+### Available Operations
+
+* [Get Pin](/python/plex/tv/get_pin) - Get a Pin
+* [Get Token](/python/plex/tv/get_token) - Get Access Token
+
+---
+
+
+---
+
diff --git a/content/pages/01-reference/python/resources/resources.mdx b/content/pages/01-reference/python/resources/resources.mdx
index 9bca8da..779acea 100644
--- a/content/pages/01-reference/python/resources/resources.mdx
+++ b/content/pages/01-reference/python/resources/resources.mdx
@@ -10,6 +10,7 @@ import Hubs from "./hubs/hubs.mdx";
import Search from "./search/search.mdx";
import Library from "./library/library.mdx";
import Log from "./log/log.mdx";
+import Plex from "./plex/plex.mdx";
import Playlists from "./playlists/playlists.mdx";
import Security from "./security/security.mdx";
import Sessions from "./sessions/sessions.mdx";
@@ -39,6 +40,9 @@ import Video from "./video/video.mdx";
---
+---
+
+
---
diff --git a/content/pages/01-reference/python/server_options/_snippet.mdx b/content/pages/01-reference/python/server_options/_snippet.mdx
index f4847ab..6e0e325 100644
--- a/content/pages/01-reference/python/server_options/_snippet.mdx
+++ b/content/pages/01-reference/python/server_options/_snippet.mdx
@@ -45,6 +45,25 @@ s = plex_api.PlexAPI(
res = s.server.get_server_capabilities()
+if res.object is not None:
+ # handle response
+ pass
+```
+
+### 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:
+```python
+import plex_api
+from plex_api.models import operations
+
+s = plex_api.PlexAPI(
+ access_token="",
+)
+
+
+res = s.plex.tv.get_pin(server_url="https://plex.tv/api/v2", x_plex_client_identifier='string', strong=False)
+
if res.object is not None:
# handle response
pass
diff --git a/content/pages/01-reference/typescript/resources/library/search_library/_parameters.mdx b/content/pages/01-reference/typescript/resources/library/search_library/_parameters.mdx
index 5d285de..f7d7852 100644
--- a/content/pages/01-reference/typescript/resources/library/search_library/_parameters.mdx
+++ b/content/pages/01-reference/typescript/resources/library/search_library/_parameters.mdx
@@ -1,5 +1,5 @@
{/* Autogenerated DO NOT EDIT */}
-import TypeT from "/content/types/models/operations/type_t/typescript.mdx"
+import Type from "/content/types/models/operations/type/typescript.mdx"
import Collapsible from "/src/components/Collapsible";
import Labels from "/src/lib/labels";
@@ -7,11 +7,11 @@ import Labels from "/src/lib/labels";
the Id of the library to query
---
-##### `type`: *{`operations.TypeT`}*
+##### `type`: *{`operations.Type`}*
Plex content type to search for
-
+
---
diff --git a/content/pages/01-reference/typescript/resources/library/search_library/_usage.mdx b/content/pages/01-reference/typescript/resources/library/search_library/_usage.mdx
index 3378364..341e518 100644
--- a/content/pages/01-reference/typescript/resources/library/search_library/_usage.mdx
+++ b/content/pages/01-reference/typescript/resources/library/search_library/_usage.mdx
@@ -2,7 +2,7 @@
```typescript SearchLibrary.ts
import { PlexAPI } from "@lukehagar/plexjs";
-import { TypeT } from "@lukehagar/plexjs/models/operations";
+import { Type } from "@lukehagar/plexjs/models/operations";
async function run() {
const sdk = new PlexAPI({
@@ -10,7 +10,7 @@ async function run() {
});
const sectionId = 791725;
- const type = TypeT.Four;
+ const type = Type.Four;
const result = await sdk.library.searchLibrary(sectionId, type);
diff --git a/content/pages/01-reference/typescript/resources/plex/plex.mdx b/content/pages/01-reference/typescript/resources/plex/plex.mdx
new file mode 100644
index 0000000..60cab7a
--- /dev/null
+++ b/content/pages/01-reference/typescript/resources/plex/plex.mdx
@@ -0,0 +1,5 @@
+import Tv from "./tv/tv.mdx";
+
+## Plex
+
+
diff --git a/content/pages/01-reference/typescript/resources/plex/tv/get_pin/_header.mdx b/content/pages/01-reference/typescript/resources/plex/tv/get_pin/_header.mdx
new file mode 100644
index 0000000..5c6a65f
--- /dev/null
+++ b/content/pages/01-reference/typescript/resources/plex/tv/get_pin/_header.mdx
@@ -0,0 +1,3 @@
+## Get Pin
+
+Retrieve a Pin from Plex.tv for authentication flows
\ No newline at end of file
diff --git a/content/pages/01-reference/typescript/resources/plex/tv/get_pin/_parameters.mdx b/content/pages/01-reference/typescript/resources/plex/tv/get_pin/_parameters.mdx
new file mode 100644
index 0000000..edcdb64
--- /dev/null
+++ b/content/pages/01-reference/typescript/resources/plex/tv/get_pin/_parameters.mdx
@@ -0,0 +1,23 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `xPlexClientIdentifier`: *{`string`}*
+Plex Authentication Token
+
+---
+##### `strong?`: *{`boolean`}*
+Determines the kind of code returned by the API call
+Strong codes are used for Pin authentication flows
+Non\-Strong codes are used for `Plex.tv/link`
+
+
+---
+##### `options?`: *{`RequestOptions`}*
+Options for making HTTP requests.
+
+---
+##### `options.fetchOptions?`: [*{ `RequestInit` }*](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options)
+Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed.
+
+---
+##### `options.serverURL?`: *{`string`}*
+An optional server URL to use.
+
diff --git a/content/pages/01-reference/typescript/resources/plex/tv/get_pin/_response.mdx b/content/pages/01-reference/typescript/resources/plex/tv/get_pin/_response.mdx
new file mode 100644
index 0000000..6d93dd4
--- /dev/null
+++ b/content/pages/01-reference/typescript/resources/plex/tv/get_pin/_response.mdx
@@ -0,0 +1,13 @@
+{/* Autogenerated DO NOT EDIT */}
+import GetPinResponse from "/content/types/models/operations/get_pin_response/typescript.mdx"
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### *{`Promise`}*
+
+
+
+
+
+
+
diff --git a/content/pages/01-reference/typescript/resources/plex/tv/get_pin/_usage.mdx b/content/pages/01-reference/typescript/resources/plex/tv/get_pin/_usage.mdx
new file mode 100644
index 0000000..85e183f
--- /dev/null
+++ b/content/pages/01-reference/typescript/resources/plex/tv/get_pin/_usage.mdx
@@ -0,0 +1,51 @@
+
+
+```typescript GetPin.ts
+import { PlexAPI } from "@lukehagar/plexjs";
+
+async function run() {
+ const sdk = new PlexAPI({
+ accessToken: "",
+ });
+
+ const xPlexClientIdentifier = "string";
+ const strong = false;
+
+ const result = await sdk.plex.tv.getPin(xPlexClientIdentifier, strong);
+
+ // Handle the result
+ console.log(result)
+}
+
+run();
+```
+---
+
+```json Example Response
+ {
+ "id": 1272322473,
+ "code": "3patfx1a78ukcbr7x0n9bl26t",
+ "product": "Plex Web",
+ "trusted": false,
+ "qr": "https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t",
+ "clientIdentifier": "Postman",
+ "location": {
+ "code": "US",
+ "european_union_member": false,
+ "continent_code": "NA",
+ "country": "United States",
+ "city": "Austin",
+ "time_zone": "America/Chicago",
+ "postal_code": 78732,
+ "in_privacy_restricted_country": false,
+ "subdivisions": "Texas",
+ "coordinates": "30.3768 -97.8935"
+ },
+ "expiresIn": 1800,
+ "createdAt": "2023-04-12T17:00:03Z",
+ "expiresAt": "2023-04-12T17:30:03Z",
+ "authToken": "string",
+ "newRegistration": "string"
+ }
+```
+
diff --git a/content/pages/01-reference/typescript/resources/plex/tv/get_pin/get_pin.mdx b/content/pages/01-reference/typescript/resources/plex/tv/get_pin/get_pin.mdx
new file mode 100644
index 0000000..ca03266
--- /dev/null
+++ b/content/pages/01-reference/typescript/resources/plex/tv/get_pin/get_pin.mdx
@@ -0,0 +1,12 @@
+import CurlHeader from './_header.mdx';
+import SDKHeader from './_header.mdx';
+import OperationHeader from '/src/components/OperationHeader';
+
+###### *Plex* / *Tv*
+
+}
+ curlHeader={}
+/>
+
+{/* render operation */}
diff --git a/content/pages/01-reference/typescript/resources/plex/tv/get_token/_header.mdx b/content/pages/01-reference/typescript/resources/plex/tv/get_token/_header.mdx
new file mode 100644
index 0000000..17a7e70
--- /dev/null
+++ b/content/pages/01-reference/typescript/resources/plex/tv/get_token/_header.mdx
@@ -0,0 +1,3 @@
+## Get Token
+
+Retrieve an Access Token from Plex.tv after the Pin has already been authenticated
\ No newline at end of file
diff --git a/content/pages/01-reference/typescript/resources/plex/tv/get_token/_parameters.mdx b/content/pages/01-reference/typescript/resources/plex/tv/get_token/_parameters.mdx
new file mode 100644
index 0000000..69edd22
--- /dev/null
+++ b/content/pages/01-reference/typescript/resources/plex/tv/get_token/_parameters.mdx
@@ -0,0 +1,20 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `pinID`: *{`string`}*
+The PinID to retrieve an access token for
+
+---
+##### `xPlexClientIdentifier`: *{`string`}*
+Plex Authentication Token
+
+---
+##### `options?`: *{`RequestOptions`}*
+Options for making HTTP requests.
+
+---
+##### `options.fetchOptions?`: [*{ `RequestInit` }*](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options)
+Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed.
+
+---
+##### `options.serverURL?`: *{`string`}*
+An optional server URL to use.
+
diff --git a/content/pages/01-reference/typescript/resources/plex/tv/get_token/_response.mdx b/content/pages/01-reference/typescript/resources/plex/tv/get_token/_response.mdx
new file mode 100644
index 0000000..e733907
--- /dev/null
+++ b/content/pages/01-reference/typescript/resources/plex/tv/get_token/_response.mdx
@@ -0,0 +1,13 @@
+{/* Autogenerated DO NOT EDIT */}
+import GetTokenResponse from "/content/types/models/operations/get_token_response/typescript.mdx"
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### *{`Promise`}*
+
+
+
+
+
+
+
diff --git a/content/pages/01-reference/typescript/resources/plex/tv/get_token/_usage.mdx b/content/pages/01-reference/typescript/resources/plex/tv/get_token/_usage.mdx
new file mode 100644
index 0000000..5fb4c4b
--- /dev/null
+++ b/content/pages/01-reference/typescript/resources/plex/tv/get_token/_usage.mdx
@@ -0,0 +1,35 @@
+
+
+```typescript GetToken.ts
+import { PlexAPI } from "@lukehagar/plexjs";
+
+async function run() {
+ const sdk = new PlexAPI({
+ accessToken: "",
+ });
+
+ const pinID = "string";
+ const xPlexClientIdentifier = "string";
+
+ const result = await sdk.plex.tv.getToken(pinID, xPlexClientIdentifier);
+
+ // Handle the result
+ console.log(result)
+}
+
+run();
+```
+---
+
+```json Example Response
+ {
+ "errors": [
+ {
+ "code": 1000,
+ "message": "X-Plex-Client-Identifier is missing",
+ "status": 400
+ }
+ ]
+ }
+```
+
diff --git a/content/pages/01-reference/typescript/resources/plex/tv/get_token/get_token.mdx b/content/pages/01-reference/typescript/resources/plex/tv/get_token/get_token.mdx
new file mode 100644
index 0000000..ca03266
--- /dev/null
+++ b/content/pages/01-reference/typescript/resources/plex/tv/get_token/get_token.mdx
@@ -0,0 +1,12 @@
+import CurlHeader from './_header.mdx';
+import SDKHeader from './_header.mdx';
+import OperationHeader from '/src/components/OperationHeader';
+
+###### *Plex* / *Tv*
+
+}
+ curlHeader={}
+/>
+
+{/* render operation */}
diff --git a/content/pages/01-reference/typescript/resources/plex/tv/tv.mdx b/content/pages/01-reference/typescript/resources/plex/tv/tv.mdx
new file mode 100644
index 0000000..572712b
--- /dev/null
+++ b/content/pages/01-reference/typescript/resources/plex/tv/tv.mdx
@@ -0,0 +1,15 @@
+import GetPin from "./get_pin/get_pin.mdx";
+import GetToken from "./get_token/get_token.mdx";
+
+## Tv
+
+### Available Operations
+
+* [Get Pin](/typescript/plex/tv/get_pin) - Get a Pin
+* [Get Token](/typescript/plex/tv/get_token) - Get Access Token
+
+---
+
+
+---
+
diff --git a/content/pages/01-reference/typescript/resources/resources.mdx b/content/pages/01-reference/typescript/resources/resources.mdx
index 9bca8da..779acea 100644
--- a/content/pages/01-reference/typescript/resources/resources.mdx
+++ b/content/pages/01-reference/typescript/resources/resources.mdx
@@ -10,6 +10,7 @@ import Hubs from "./hubs/hubs.mdx";
import Search from "./search/search.mdx";
import Library from "./library/library.mdx";
import Log from "./log/log.mdx";
+import Plex from "./plex/plex.mdx";
import Playlists from "./playlists/playlists.mdx";
import Security from "./security/security.mdx";
import Sessions from "./sessions/sessions.mdx";
@@ -39,6 +40,9 @@ import Video from "./video/video.mdx";
---
+---
+
+
---
diff --git a/content/pages/01-reference/typescript/server_options/_snippet.mdx b/content/pages/01-reference/typescript/server_options/_snippet.mdx
index 5166694..aabf708 100644
--- a/content/pages/01-reference/typescript/server_options/_snippet.mdx
+++ b/content/pages/01-reference/typescript/server_options/_snippet.mdx
@@ -54,5 +54,31 @@ async function run() {
run();
+```
+### 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:
+
+```typescript
+import { PlexAPI } from "@lukehagar/plexjs";
+
+async function run() {
+ const sdk = new PlexAPI({
+ accessToken: "",
+ });
+
+ const xPlexClientIdentifier = "string";
+ const strong = false;
+
+ const result = await sdk.plex.tv.getPin(xPlexClientIdentifier, strong, {
+ serverURL: "https://plex.tv/api/v2",
+ });
+
+ // Handle the result
+ console.log(result);
+}
+
+run();
+
```
{/* End Typescript Server Options */}
diff --git a/content/types/models/errors/get_pin_errors/python.mdx b/content/types/models/errors/get_pin_errors/python.mdx
new file mode 100644
index 0000000..9ea0092
--- /dev/null
+++ b/content/types/models/errors/get_pin_errors/python.mdx
@@ -0,0 +1,16 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `code` *{`Optional[float]`}*
+
+**Example:** `1000`
+
+---
+##### `message` *{`Optional[str]`}*
+
+**Example:** `X-Plex-Client-Identifier is missing`
+
+---
+##### `status` *{`Optional[float]`}*
+
+**Example:** `400`
+
+
diff --git a/content/types/models/errors/get_pin_errors/typescript.mdx b/content/types/models/errors/get_pin_errors/typescript.mdx
new file mode 100644
index 0000000..08fd3d8
--- /dev/null
+++ b/content/types/models/errors/get_pin_errors/typescript.mdx
@@ -0,0 +1,16 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `code?`: *{`number`}*
+
+**Example:** `1000`
+
+---
+##### `message?`: *{`string`}*
+
+**Example:** `X-Plex-Client-Identifier is missing`
+
+---
+##### `status?`: *{`number`}*
+
+**Example:** `400`
+
+
diff --git a/content/types/models/errors/get_pin_response_body/python.mdx b/content/types/models/errors/get_pin_response_body/python.mdx
new file mode 100644
index 0000000..360a130
--- /dev/null
+++ b/content/types/models/errors/get_pin_response_body/python.mdx
@@ -0,0 +1,14 @@
+{/* Autogenerated DO NOT EDIT */}
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### `errors` *{`List[errors.GetPinErrors]`}*
+
+ import('/content/types/models/errors/get_pin_errors/python.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+
+
+---
+##### `raw_response` [*{ `requests.Response` }*](https://requests.readthedocs.io/en/latest/api/#requests.Response)
+Raw HTTP response; suitable for custom response parsing
+
+
diff --git a/content/types/models/errors/get_pin_response_body/typescript.mdx b/content/types/models/errors/get_pin_response_body/typescript.mdx
new file mode 100644
index 0000000..80d930b
--- /dev/null
+++ b/content/types/models/errors/get_pin_response_body/typescript.mdx
@@ -0,0 +1,14 @@
+{/* Autogenerated DO NOT EDIT */}
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### `errors?`: *{`errors.GetPinErrors[]`}*
+
+ import('/content/types/models/errors/get_pin_errors/typescript.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+
+
+---
+##### `rawResponse?`: [*{ `Response` }*](https://developer.mozilla.org/en-US/docs/Web/API/Response)
+Raw HTTP response; suitable for custom response parsing
+
+
diff --git a/content/types/models/errors/get_token_errors/python.mdx b/content/types/models/errors/get_token_errors/python.mdx
new file mode 100644
index 0000000..9ea0092
--- /dev/null
+++ b/content/types/models/errors/get_token_errors/python.mdx
@@ -0,0 +1,16 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `code` *{`Optional[float]`}*
+
+**Example:** `1000`
+
+---
+##### `message` *{`Optional[str]`}*
+
+**Example:** `X-Plex-Client-Identifier is missing`
+
+---
+##### `status` *{`Optional[float]`}*
+
+**Example:** `400`
+
+
diff --git a/content/types/models/errors/get_token_errors/typescript.mdx b/content/types/models/errors/get_token_errors/typescript.mdx
new file mode 100644
index 0000000..08fd3d8
--- /dev/null
+++ b/content/types/models/errors/get_token_errors/typescript.mdx
@@ -0,0 +1,16 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `code?`: *{`number`}*
+
+**Example:** `1000`
+
+---
+##### `message?`: *{`string`}*
+
+**Example:** `X-Plex-Client-Identifier is missing`
+
+---
+##### `status?`: *{`number`}*
+
+**Example:** `400`
+
+
diff --git a/content/types/models/errors/get_token_response_body/python.mdx b/content/types/models/errors/get_token_response_body/python.mdx
new file mode 100644
index 0000000..213fa6b
--- /dev/null
+++ b/content/types/models/errors/get_token_response_body/python.mdx
@@ -0,0 +1,14 @@
+{/* Autogenerated DO NOT EDIT */}
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### `errors` *{`List[errors.GetTokenErrors]`}*
+
+ import('/content/types/models/errors/get_token_errors/python.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+
+
+---
+##### `raw_response` [*{ `requests.Response` }*](https://requests.readthedocs.io/en/latest/api/#requests.Response)
+Raw HTTP response; suitable for custom response parsing
+
+
diff --git a/content/types/models/errors/get_token_response_body/typescript.mdx b/content/types/models/errors/get_token_response_body/typescript.mdx
new file mode 100644
index 0000000..c4dde6f
--- /dev/null
+++ b/content/types/models/errors/get_token_response_body/typescript.mdx
@@ -0,0 +1,14 @@
+{/* Autogenerated DO NOT EDIT */}
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### `errors?`: *{`errors.GetTokenErrors[]`}*
+
+ import('/content/types/models/errors/get_token_errors/typescript.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+
+
+---
+##### `rawResponse?`: [*{ `Response` }*](https://developer.mozilla.org/en-US/docs/Web/API/Response)
+Raw HTTP response; suitable for custom response parsing
+
+
diff --git a/content/types/models/operations/get_libraries_directory/go.mdx b/content/types/models/operations/get_libraries_directory/go.mdx
index fc4300a..8d60d0d 100644
--- a/content/types/models/operations/get_libraries_directory/go.mdx
+++ b/content/types/models/operations/get_libraries_directory/go.mdx
@@ -102,11 +102,11 @@ import Labels from "/src/lib/labels";
**Example:** `0`
---
-##### `Location` *{`[]operations.Location`}*
+##### `Location` *{`[]operations.GetLibrariesLocation`}*
**Example:** `[{"id":1,"path":"/movies"}]`
- import('/content/types/models/operations/location/go.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+ import('/content/types/models/operations/get_libraries_location/go.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
diff --git a/content/types/models/operations/get_libraries_directory/python.mdx b/content/types/models/operations/get_libraries_directory/python.mdx
index 542e062..0c33420 100644
--- a/content/types/models/operations/get_libraries_directory/python.mdx
+++ b/content/types/models/operations/get_libraries_directory/python.mdx
@@ -102,11 +102,11 @@ import Labels from "/src/lib/labels";
**Example:** `0`
---
-##### `location` *{`List[operations.Location]`}*
+##### `location` *{`List[operations.GetLibrariesLocation]`}*
**Example:** `[{"id":1,"path":"/movies"}]`
- import('/content/types/models/operations/location/python.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+ import('/content/types/models/operations/get_libraries_location/python.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
diff --git a/content/types/models/operations/get_libraries_directory/typescript.mdx b/content/types/models/operations/get_libraries_directory/typescript.mdx
index 6385098..35df8e0 100644
--- a/content/types/models/operations/get_libraries_directory/typescript.mdx
+++ b/content/types/models/operations/get_libraries_directory/typescript.mdx
@@ -102,11 +102,11 @@ import Labels from "/src/lib/labels";
**Example:** `0`
---
-##### `location?`: *{`operations.Location[]`}*
+##### `location?`: *{`operations.GetLibrariesLocation[]`}*
**Example:** `[{"id":1,"path":"/movies"}]`
- import('/content/types/models/operations/location/typescript.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+ import('/content/types/models/operations/get_libraries_location/typescript.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
diff --git a/content/types/models/operations/get_libraries_location/go.mdx b/content/types/models/operations/get_libraries_location/go.mdx
new file mode 100644
index 0000000..5bd2a47
--- /dev/null
+++ b/content/types/models/operations/get_libraries_location/go.mdx
@@ -0,0 +1,11 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `ID` *{`*int`}*
+
+**Example:** `1`
+
+---
+##### `Path` *{`*string`}*
+
+**Example:** `/movies`
+
+
diff --git a/content/types/models/operations/get_libraries_location/python.mdx b/content/types/models/operations/get_libraries_location/python.mdx
new file mode 100644
index 0000000..77f6bef
--- /dev/null
+++ b/content/types/models/operations/get_libraries_location/python.mdx
@@ -0,0 +1,11 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `id` *{`Optional[int]`}*
+
+**Example:** `1`
+
+---
+##### `path` *{`Optional[str]`}*
+
+**Example:** `/movies`
+
+
diff --git a/content/types/models/operations/get_libraries_location/typescript.mdx b/content/types/models/operations/get_libraries_location/typescript.mdx
new file mode 100644
index 0000000..5ef0810
--- /dev/null
+++ b/content/types/models/operations/get_libraries_location/typescript.mdx
@@ -0,0 +1,11 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `id?`: *{`number`}*
+
+**Example:** `1`
+
+---
+##### `path?`: *{`string`}*
+
+**Example:** `/movies`
+
+
diff --git a/content/types/models/operations/get_pin_request/go.mdx b/content/types/models/operations/get_pin_request/go.mdx
new file mode 100644
index 0000000..48ab323
--- /dev/null
+++ b/content/types/models/operations/get_pin_request/go.mdx
@@ -0,0 +1,12 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `XPlexClientIdentifier` *{`string`}*
+Plex Authentication Token
+
+---
+##### `Strong` *{`*bool`}*
+Determines the kind of code returned by the API call
+Strong codes are used for Pin authentication flows
+Non\-Strong codes are used for `Plex.tv/link`
+
+
+
diff --git a/content/types/models/operations/get_pin_request/python.mdx b/content/types/models/operations/get_pin_request/python.mdx
new file mode 100644
index 0000000..69acb0d
--- /dev/null
+++ b/content/types/models/operations/get_pin_request/python.mdx
@@ -0,0 +1,12 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `x_plex_client_identifier` *{`str`}*
+Plex Authentication Token
+
+---
+##### `strong` *{`Optional[bool]`}*
+Determines the kind of code returned by the API call
+Strong codes are used for Pin authentication flows
+Non\-Strong codes are used for `Plex.tv/link`
+
+
+
diff --git a/content/types/models/operations/get_pin_request/typescript.mdx b/content/types/models/operations/get_pin_request/typescript.mdx
new file mode 100644
index 0000000..00e1fa6
--- /dev/null
+++ b/content/types/models/operations/get_pin_request/typescript.mdx
@@ -0,0 +1,12 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `xPlexClientIdentifier`: *{`string`}*
+Plex Authentication Token
+
+---
+##### `strong?`: *{`boolean`}*
+Determines the kind of code returned by the API call
+Strong codes are used for Pin authentication flows
+Non\-Strong codes are used for `Plex.tv/link`
+
+
+
diff --git a/content/types/models/operations/get_pin_response/go.mdx b/content/types/models/operations/get_pin_response/go.mdx
new file mode 100644
index 0000000..46454ef
--- /dev/null
+++ b/content/types/models/operations/get_pin_response/go.mdx
@@ -0,0 +1,23 @@
+{/* Autogenerated DO NOT EDIT */}
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### `ContentType` *{`string`}*
+HTTP response content type for this operation
+
+---
+##### `StatusCode` *{`int`}*
+HTTP response status code for this operation
+
+---
+##### `RawResponse` [*{ `*http.Response` }*](https://pkg.go.dev/net/http#Response)
+Raw HTTP response; suitable for custom response parsing
+
+---
+##### `Object` *{`*operations.GetPinResponseBody`}*
+The Pin
+
+ import('/content/types/models/operations/get_pin_response_body/go.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+
+
+
diff --git a/content/types/models/operations/get_pin_response/python.mdx b/content/types/models/operations/get_pin_response/python.mdx
new file mode 100644
index 0000000..d7b1c95
--- /dev/null
+++ b/content/types/models/operations/get_pin_response/python.mdx
@@ -0,0 +1,23 @@
+{/* Autogenerated DO NOT EDIT */}
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### `content_type` *{`str`}*
+HTTP response content type for this operation
+
+---
+##### `status_code` *{`int`}*
+HTTP response status code for this operation
+
+---
+##### `raw_response` [*{ `requests.Response` }*](https://requests.readthedocs.io/en/latest/api/#requests.Response)
+Raw HTTP response; suitable for custom response parsing
+
+---
+##### `object` *{`Optional[operations.GetPinResponseBody]`}*
+The Pin
+
+ import('/content/types/models/operations/get_pin_response_body/python.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+
+
+
diff --git a/content/types/models/operations/get_pin_response/typescript.mdx b/content/types/models/operations/get_pin_response/typescript.mdx
new file mode 100644
index 0000000..aaf1eb5
--- /dev/null
+++ b/content/types/models/operations/get_pin_response/typescript.mdx
@@ -0,0 +1,23 @@
+{/* Autogenerated DO NOT EDIT */}
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### `contentType`: *{`string`}*
+HTTP response content type for this operation
+
+---
+##### `statusCode`: *{`number`}*
+HTTP response status code for this operation
+
+---
+##### `rawResponse`: [*{ `Response` }*](https://developer.mozilla.org/en-US/docs/Web/API/Response)
+Raw HTTP response; suitable for custom response parsing
+
+---
+##### `object?`: *{`operations.GetPinResponseBody`}*
+The Pin
+
+ import('/content/types/models/operations/get_pin_response_body/typescript.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+
+
+
diff --git a/content/types/models/operations/get_pin_response_body/go.mdx b/content/types/models/operations/get_pin_response_body/go.mdx
new file mode 100644
index 0000000..63fd258
--- /dev/null
+++ b/content/types/models/operations/get_pin_response_body/go.mdx
@@ -0,0 +1,64 @@
+{/* Autogenerated DO NOT EDIT */}
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### `ID` *{`*float64`}*
+PinID for use with authentication
+
+**Example:** `1272322473`
+
+---
+##### `Code` *{`*string`}*
+
+**Example:** `3patfx1a78ukcbr7x0n9bl26t`
+
+---
+##### `Product` *{`*string`}*
+
+**Example:** `Plex Web`
+
+---
+##### `Trusted` *{`*bool`}*
+
+---
+##### `Qr` *{`*string`}*
+a link to a QR code hosted on plex.tv
+The QR code redirects to the relevant `plex.tv/link` authentication page
+Which then prompts the user for the 4 Digit Link Pin
+
+
+**Example:** `https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t`
+
+---
+##### `ClientIdentifier` *{`*string`}*
+
+**Example:** `Postman`
+
+---
+##### `Location` *{`*operations.Location`}*
+
+ import('/content/types/models/operations/location/go.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+
+
+---
+##### `ExpiresIn` *{`*float64`}*
+
+**Example:** `1800`
+
+---
+##### `CreatedAt` [*{ `*time.Time` }*](https://pkg.go.dev/time#Time)
+
+**Example:** `2023-04-12 17:00:03 +0000 UTC`
+
+---
+##### `ExpiresAt` [*{ `*time.Time` }*](https://pkg.go.dev/time#Time)
+
+**Example:** `2023-04-12 17:30:03 +0000 UTC`
+
+---
+##### `AuthToken` *{`*string`}*
+
+---
+##### `NewRegistration` *{`*string`}*
+
+
diff --git a/content/types/models/operations/get_pin_response_body/python.mdx b/content/types/models/operations/get_pin_response_body/python.mdx
new file mode 100644
index 0000000..b1a78e8
--- /dev/null
+++ b/content/types/models/operations/get_pin_response_body/python.mdx
@@ -0,0 +1,64 @@
+{/* Autogenerated DO NOT EDIT */}
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### `id` *{`Optional[float]`}*
+PinID for use with authentication
+
+**Example:** `1272322473`
+
+---
+##### `code` *{`Optional[str]`}*
+
+**Example:** `3patfx1a78ukcbr7x0n9bl26t`
+
+---
+##### `product` *{`Optional[str]`}*
+
+**Example:** `Plex Web`
+
+---
+##### `trusted` *{`Optional[bool]`}*
+
+---
+##### `qr` *{`Optional[str]`}*
+a link to a QR code hosted on plex.tv
+The QR code redirects to the relevant `plex.tv/link` authentication page
+Which then prompts the user for the 4 Digit Link Pin
+
+
+**Example:** `https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t`
+
+---
+##### `client_identifier` *{`Optional[str]`}*
+
+**Example:** `Postman`
+
+---
+##### `location` *{`Optional[operations.Location]`}*
+
+ import('/content/types/models/operations/location/python.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+
+
+---
+##### `expires_in` *{`Optional[float]`}*
+
+**Example:** `1800`
+
+---
+##### `created_at` [*{ `date` }*](https://docs.python.org/3/library/datetime.html#date-objects)
+
+**Example:** `2023-04-12 17:00:03 +0000 UTC`
+
+---
+##### `expires_at` [*{ `date` }*](https://docs.python.org/3/library/datetime.html#date-objects)
+
+**Example:** `2023-04-12 17:30:03 +0000 UTC`
+
+---
+##### `auth_token` *{`Optional[str]`}*
+
+---
+##### `new_registration` *{`Optional[str]`}*
+
+
diff --git a/content/types/models/operations/get_pin_response_body/typescript.mdx b/content/types/models/operations/get_pin_response_body/typescript.mdx
new file mode 100644
index 0000000..31a5830
--- /dev/null
+++ b/content/types/models/operations/get_pin_response_body/typescript.mdx
@@ -0,0 +1,64 @@
+{/* Autogenerated DO NOT EDIT */}
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### `id?`: *{`number`}*
+PinID for use with authentication
+
+**Example:** `1272322473`
+
+---
+##### `code?`: *{`string`}*
+
+**Example:** `3patfx1a78ukcbr7x0n9bl26t`
+
+---
+##### `product?`: *{`string`}*
+
+**Example:** `Plex Web`
+
+---
+##### `trusted?`: *{`boolean`}*
+
+---
+##### `qr?`: *{`string`}*
+a link to a QR code hosted on plex.tv
+The QR code redirects to the relevant `plex.tv/link` authentication page
+Which then prompts the user for the 4 Digit Link Pin
+
+
+**Example:** `https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t`
+
+---
+##### `clientIdentifier?`: *{`string`}*
+
+**Example:** `Postman`
+
+---
+##### `location?`: *{`operations.Location`}*
+
+ import('/content/types/models/operations/location/typescript.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+
+
+---
+##### `expiresIn?`: *{`number`}*
+
+**Example:** `1800`
+
+---
+##### `createdAt?`: [*{ `Date` }*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)
+
+**Example:** `2023-04-12 17:00:03 +0000 UTC`
+
+---
+##### `expiresAt?`: [*{ `Date` }*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)
+
+**Example:** `2023-04-12 17:30:03 +0000 UTC`
+
+---
+##### `authToken?`: *{`string`}*
+
+---
+##### `newRegistration?`: *{`string`}*
+
+
diff --git a/content/types/models/operations/get_token_request/go.mdx b/content/types/models/operations/get_token_request/go.mdx
new file mode 100644
index 0000000..d8985de
--- /dev/null
+++ b/content/types/models/operations/get_token_request/go.mdx
@@ -0,0 +1,9 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `PinID` *{`string`}*
+The PinID to retrieve an access token for
+
+---
+##### `XPlexClientIdentifier` *{`string`}*
+Plex Authentication Token
+
+
diff --git a/content/types/models/operations/get_token_request/python.mdx b/content/types/models/operations/get_token_request/python.mdx
new file mode 100644
index 0000000..41ce2b6
--- /dev/null
+++ b/content/types/models/operations/get_token_request/python.mdx
@@ -0,0 +1,9 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `pin_id` *{`str`}*
+The PinID to retrieve an access token for
+
+---
+##### `x_plex_client_identifier` *{`str`}*
+Plex Authentication Token
+
+
diff --git a/content/types/models/operations/get_token_request/typescript.mdx b/content/types/models/operations/get_token_request/typescript.mdx
new file mode 100644
index 0000000..480df63
--- /dev/null
+++ b/content/types/models/operations/get_token_request/typescript.mdx
@@ -0,0 +1,9 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `pinID`: *{`string`}*
+The PinID to retrieve an access token for
+
+---
+##### `xPlexClientIdentifier`: *{`string`}*
+Plex Authentication Token
+
+
diff --git a/content/types/models/operations/get_token_response/go.mdx b/content/types/models/operations/get_token_response/go.mdx
new file mode 100644
index 0000000..3b4ae5c
--- /dev/null
+++ b/content/types/models/operations/get_token_response/go.mdx
@@ -0,0 +1,13 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `ContentType` *{`string`}*
+HTTP response content type for this operation
+
+---
+##### `StatusCode` *{`int`}*
+HTTP response status code for this operation
+
+---
+##### `RawResponse` [*{ `*http.Response` }*](https://pkg.go.dev/net/http#Response)
+Raw HTTP response; suitable for custom response parsing
+
+
diff --git a/content/types/models/operations/get_token_response/python.mdx b/content/types/models/operations/get_token_response/python.mdx
new file mode 100644
index 0000000..93ee0a0
--- /dev/null
+++ b/content/types/models/operations/get_token_response/python.mdx
@@ -0,0 +1,13 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `content_type` *{`str`}*
+HTTP response content type for this operation
+
+---
+##### `status_code` *{`int`}*
+HTTP response status code for this operation
+
+---
+##### `raw_response` [*{ `requests.Response` }*](https://requests.readthedocs.io/en/latest/api/#requests.Response)
+Raw HTTP response; suitable for custom response parsing
+
+
diff --git a/content/types/models/operations/get_token_response/typescript.mdx b/content/types/models/operations/get_token_response/typescript.mdx
new file mode 100644
index 0000000..2035a36
--- /dev/null
+++ b/content/types/models/operations/get_token_response/typescript.mdx
@@ -0,0 +1,13 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `contentType`: *{`string`}*
+HTTP response content type for this operation
+
+---
+##### `statusCode`: *{`number`}*
+HTTP response status code for this operation
+
+---
+##### `rawResponse`: [*{ `Response` }*](https://developer.mozilla.org/en-US/docs/Web/API/Response)
+Raw HTTP response; suitable for custom response parsing
+
+
diff --git a/content/types/models/operations/location/go.mdx b/content/types/models/operations/location/go.mdx
index 5bd2a47..78adf0d 100644
--- a/content/types/models/operations/location/go.mdx
+++ b/content/types/models/operations/location/go.mdx
@@ -1,11 +1,47 @@
{/* Autogenerated DO NOT EDIT */}
-##### `ID` *{`*int`}*
+##### `Code` *{`*string`}*
-**Example:** `1`
+**Example:** `US`
---
-##### `Path` *{`*string`}*
+##### `EuropeanUnionMember` *{`*bool`}*
+
+---
+##### `ContinentCode` *{`*string`}*
-**Example:** `/movies`
+**Example:** `NA`
+
+---
+##### `Country` *{`*string`}*
+
+**Example:** `United States`
+
+---
+##### `City` *{`*string`}*
+
+**Example:** `Austin`
+
+---
+##### `TimeZone` *{`*string`}*
+
+**Example:** `America/Chicago`
+
+---
+##### `PostalCode` *{`*float64`}*
+
+**Example:** `78732`
+
+---
+##### `InPrivacyRestrictedCountry` *{`*bool`}*
+
+---
+##### `Subdivisions` *{`*string`}*
+
+**Example:** `Texas`
+
+---
+##### `Coordinates` *{`*string`}*
+
+**Example:** `30.3768 -97.8935`
diff --git a/content/types/models/operations/location/python.mdx b/content/types/models/operations/location/python.mdx
index 77f6bef..703dec6 100644
--- a/content/types/models/operations/location/python.mdx
+++ b/content/types/models/operations/location/python.mdx
@@ -1,11 +1,47 @@
{/* Autogenerated DO NOT EDIT */}
-##### `id` *{`Optional[int]`}*
+##### `code` *{`Optional[str]`}*
-**Example:** `1`
+**Example:** `US`
---
-##### `path` *{`Optional[str]`}*
+##### `european_union_member` *{`Optional[bool]`}*
+
+---
+##### `continent_code` *{`Optional[str]`}*
-**Example:** `/movies`
+**Example:** `NA`
+
+---
+##### `country` *{`Optional[str]`}*
+
+**Example:** `United States`
+
+---
+##### `city` *{`Optional[str]`}*
+
+**Example:** `Austin`
+
+---
+##### `time_zone` *{`Optional[str]`}*
+
+**Example:** `America/Chicago`
+
+---
+##### `postal_code` *{`Optional[float]`}*
+
+**Example:** `78732`
+
+---
+##### `in_privacy_restricted_country` *{`Optional[bool]`}*
+
+---
+##### `subdivisions` *{`Optional[str]`}*
+
+**Example:** `Texas`
+
+---
+##### `coordinates` *{`Optional[str]`}*
+
+**Example:** `30.3768 -97.8935`
diff --git a/content/types/models/operations/location/typescript.mdx b/content/types/models/operations/location/typescript.mdx
index 5ef0810..389dbbf 100644
--- a/content/types/models/operations/location/typescript.mdx
+++ b/content/types/models/operations/location/typescript.mdx
@@ -1,11 +1,47 @@
{/* Autogenerated DO NOT EDIT */}
-##### `id?`: *{`number`}*
+##### `code?`: *{`string`}*
-**Example:** `1`
+**Example:** `US`
---
-##### `path?`: *{`string`}*
+##### `europeanUnionMember?`: *{`boolean`}*
+
+---
+##### `continentCode?`: *{`string`}*
-**Example:** `/movies`
+**Example:** `NA`
+
+---
+##### `country?`: *{`string`}*
+
+**Example:** `United States`
+
+---
+##### `city?`: *{`string`}*
+
+**Example:** `Austin`
+
+---
+##### `timeZone?`: *{`string`}*
+
+**Example:** `America/Chicago`
+
+---
+##### `postalCode?`: *{`number`}*
+
+**Example:** `78732`
+
+---
+##### `inPrivacyRestrictedCountry?`: *{`boolean`}*
+
+---
+##### `subdivisions?`: *{`string`}*
+
+**Example:** `Texas`
+
+---
+##### `coordinates?`: *{`string`}*
+
+**Example:** `30.3768 -97.8935`
diff --git a/content/types/models/operations/search_library_request/typescript.mdx b/content/types/models/operations/search_library_request/typescript.mdx
index 3387f40..db678db 100644
--- a/content/types/models/operations/search_library_request/typescript.mdx
+++ b/content/types/models/operations/search_library_request/typescript.mdx
@@ -6,10 +6,10 @@ import Labels from "/src/lib/labels";
the Id of the library to query
---
-##### `type`: *{`operations.TypeT`}*
+##### `type`: *{`operations.Type`}*
Plex content type to search for
- import('/content/types/models/operations/type_t/typescript.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+ import('/content/types/models/operations/type/typescript.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
diff --git a/content/types/models/operations/type_t/typescript.mdx b/content/types/models/operations/type/typescript.mdx
similarity index 100%
rename from content/types/models/operations/type_t/typescript.mdx
rename to content/types/models/operations/type/typescript.mdx
diff --git a/content/types/models/sdkerrors/get_pin_errors/go.mdx b/content/types/models/sdkerrors/get_pin_errors/go.mdx
new file mode 100644
index 0000000..3f7b47e
--- /dev/null
+++ b/content/types/models/sdkerrors/get_pin_errors/go.mdx
@@ -0,0 +1,16 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `Code` *{`*float64`}*
+
+**Example:** `1000`
+
+---
+##### `Message` *{`*string`}*
+
+**Example:** `X-Plex-Client-Identifier is missing`
+
+---
+##### `Status` *{`*float64`}*
+
+**Example:** `400`
+
+
diff --git a/content/types/models/sdkerrors/get_pin_response_body/go.mdx b/content/types/models/sdkerrors/get_pin_response_body/go.mdx
new file mode 100644
index 0000000..33251b0
--- /dev/null
+++ b/content/types/models/sdkerrors/get_pin_response_body/go.mdx
@@ -0,0 +1,14 @@
+{/* Autogenerated DO NOT EDIT */}
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### `Errors` *{`[]sdkerrors.GetPinErrors`}*
+
+ import('/content/types/models/sdkerrors/get_pin_errors/go.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+
+
+---
+##### `RawResponse` [*{ `*http.Response` }*](https://pkg.go.dev/net/http#Response)
+Raw HTTP response; suitable for custom response parsing
+
+
diff --git a/content/types/models/sdkerrors/get_token_errors/go.mdx b/content/types/models/sdkerrors/get_token_errors/go.mdx
new file mode 100644
index 0000000..3f7b47e
--- /dev/null
+++ b/content/types/models/sdkerrors/get_token_errors/go.mdx
@@ -0,0 +1,16 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `Code` *{`*float64`}*
+
+**Example:** `1000`
+
+---
+##### `Message` *{`*string`}*
+
+**Example:** `X-Plex-Client-Identifier is missing`
+
+---
+##### `Status` *{`*float64`}*
+
+**Example:** `400`
+
+
diff --git a/content/types/models/sdkerrors/get_token_response_body/go.mdx b/content/types/models/sdkerrors/get_token_response_body/go.mdx
new file mode 100644
index 0000000..d1a863f
--- /dev/null
+++ b/content/types/models/sdkerrors/get_token_response_body/go.mdx
@@ -0,0 +1,14 @@
+{/* Autogenerated DO NOT EDIT */}
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### `Errors` *{`[]sdkerrors.GetTokenErrors`}*
+
+ import('/content/types/models/sdkerrors/get_token_errors/go.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+
+
+---
+##### `RawResponse` [*{ `*http.Response` }*](https://pkg.go.dev/net/http#Response)
+Raw HTTP response; suitable for custom response parsing
+
+
diff --git a/content/types/operations/get_libraries_location/curl.mdx b/content/types/operations/get_libraries_location/curl.mdx
new file mode 100644
index 0000000..dce9f82
--- /dev/null
+++ b/content/types/operations/get_libraries_location/curl.mdx
@@ -0,0 +1,11 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `id` _integer (32-bit) (optional)_
+
+**Example:** `1`
+
+---
+##### `path` _string (optional)_
+
+**Example:** `/movies`
+
+
diff --git a/content/types/operations/get_pin_errors/curl.mdx b/content/types/operations/get_pin_errors/curl.mdx
new file mode 100644
index 0000000..078ac84
--- /dev/null
+++ b/content/types/operations/get_pin_errors/curl.mdx
@@ -0,0 +1,16 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `code` _number (optional)_
+
+**Example:** `1000`
+
+---
+##### `message` _string (optional)_
+
+**Example:** `X-Plex-Client-Identifier is missing`
+
+---
+##### `status` _number (optional)_
+
+**Example:** `400`
+
+
diff --git a/content/types/operations/get_pin_plex_tv_response_body/curl.mdx b/content/types/operations/get_pin_plex_tv_response_body/curl.mdx
new file mode 100644
index 0000000..91839c7
--- /dev/null
+++ b/content/types/operations/get_pin_plex_tv_response_body/curl.mdx
@@ -0,0 +1,4 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `errors` _array (optional)_
+
+
diff --git a/content/types/operations/get_pin_request/curl.mdx b/content/types/operations/get_pin_request/curl.mdx
new file mode 100644
index 0000000..fdb93d7
--- /dev/null
+++ b/content/types/operations/get_pin_request/curl.mdx
@@ -0,0 +1,12 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `xPlexClientIdentifier` _string_
+Plex Authentication Token
+
+---
+##### `strong` _boolean (optional)_
+Determines the kind of code returned by the API call
+Strong codes are used for Pin authentication flows
+Non\-Strong codes are used for `Plex.tv/link`
+
+
+
diff --git a/content/types/operations/get_pin_response/curl.mdx b/content/types/operations/get_pin_response/curl.mdx
new file mode 100644
index 0000000..3722eba
--- /dev/null
+++ b/content/types/operations/get_pin_response/curl.mdx
@@ -0,0 +1,30 @@
+{/* Autogenerated DO NOT EDIT */}
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### `contentType` _string_
+HTTP response content type for this operation
+
+---
+##### `statusCode` _integer (32-bit)_
+HTTP response status code for this operation
+
+---
+##### `rawResponse` _HTTP response_
+Raw HTTP response; suitable for custom response parsing
+
+---
+##### `twoHundredApplicationJsonObject` _object (optional)_
+The Pin
+
+ import('/content/types/operations/get_pin_response_body/curl.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+
+
+---
+##### `fourHundredApplicationJsonObject` _object (optional)_
+X\-Plex\-Client\-Identifier is missing
+
+ import('/content/types/operations/get_pin_plex_tv_response_body/curl.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+
+
+
diff --git a/content/types/operations/get_pin_response_body/curl.mdx b/content/types/operations/get_pin_response_body/curl.mdx
new file mode 100644
index 0000000..6d2b108
--- /dev/null
+++ b/content/types/operations/get_pin_response_body/curl.mdx
@@ -0,0 +1,64 @@
+{/* Autogenerated DO NOT EDIT */}
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### `id` _number (optional)_
+PinID for use with authentication
+
+**Example:** `1272322473`
+
+---
+##### `code` _string (optional)_
+
+**Example:** `3patfx1a78ukcbr7x0n9bl26t`
+
+---
+##### `product` _string (optional)_
+
+**Example:** `Plex Web`
+
+---
+##### `trusted` _boolean (optional)_
+
+---
+##### `qr` _string (optional)_
+a link to a QR code hosted on plex.tv
+The QR code redirects to the relevant `plex.tv/link` authentication page
+Which then prompts the user for the 4 Digit Link Pin
+
+
+**Example:** `https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t`
+
+---
+##### `clientIdentifier` _string (optional)_
+
+**Example:** `Postman`
+
+---
+##### `location` _object (optional)_
+
+ import('/content/types/operations/location/curl.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+
+
+---
+##### `expiresIn` _number (optional)_
+
+**Example:** `1800`
+
+---
+##### `createdAt` _datetime (optional)_
+
+**Example:** `2023-04-12 17:00:03 +0000 UTC`
+
+---
+##### `expiresAt` _datetime (optional)_
+
+**Example:** `2023-04-12 17:30:03 +0000 UTC`
+
+---
+##### `authToken` _string (optional)_
+
+---
+##### `newRegistration` _string (optional)_
+
+
diff --git a/content/types/operations/get_token_errors/curl.mdx b/content/types/operations/get_token_errors/curl.mdx
new file mode 100644
index 0000000..078ac84
--- /dev/null
+++ b/content/types/operations/get_token_errors/curl.mdx
@@ -0,0 +1,16 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `code` _number (optional)_
+
+**Example:** `1000`
+
+---
+##### `message` _string (optional)_
+
+**Example:** `X-Plex-Client-Identifier is missing`
+
+---
+##### `status` _number (optional)_
+
+**Example:** `400`
+
+
diff --git a/content/types/operations/get_token_request/curl.mdx b/content/types/operations/get_token_request/curl.mdx
new file mode 100644
index 0000000..7127e3d
--- /dev/null
+++ b/content/types/operations/get_token_request/curl.mdx
@@ -0,0 +1,9 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `pinID` _string_
+The PinID to retrieve an access token for
+
+---
+##### `xPlexClientIdentifier` _string_
+Plex Authentication Token
+
+
diff --git a/content/types/operations/get_token_response/curl.mdx b/content/types/operations/get_token_response/curl.mdx
new file mode 100644
index 0000000..ec1ac64
--- /dev/null
+++ b/content/types/operations/get_token_response/curl.mdx
@@ -0,0 +1,23 @@
+{/* Autogenerated DO NOT EDIT */}
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### `contentType` _string_
+HTTP response content type for this operation
+
+---
+##### `statusCode` _integer (32-bit)_
+HTTP response status code for this operation
+
+---
+##### `rawResponse` _HTTP response_
+Raw HTTP response; suitable for custom response parsing
+
+---
+##### `object` _object (optional)_
+X\-Plex\-Client\-Identifier is missing
+
+ import('/content/types/operations/get_token_response_body/curl.mdx')} openLabel={Labels.showProperties} closeLabel={Labels.hideProperties} />
+
+
+
diff --git a/content/types/operations/get_token_response_body/curl.mdx b/content/types/operations/get_token_response_body/curl.mdx
new file mode 100644
index 0000000..91839c7
--- /dev/null
+++ b/content/types/operations/get_token_response_body/curl.mdx
@@ -0,0 +1,4 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `errors` _array (optional)_
+
+
diff --git a/content/types/operations/location/curl.mdx b/content/types/operations/location/curl.mdx
index dce9f82..7f07305 100644
--- a/content/types/operations/location/curl.mdx
+++ b/content/types/operations/location/curl.mdx
@@ -1,11 +1,47 @@
{/* Autogenerated DO NOT EDIT */}
-##### `id` _integer (32-bit) (optional)_
+##### `code` _string (optional)_
-**Example:** `1`
+**Example:** `US`
---
-##### `path` _string (optional)_
+##### `europeanUnionMember` _boolean (optional)_
+
+---
+##### `continentCode` _string (optional)_
-**Example:** `/movies`
+**Example:** `NA`
+
+---
+##### `country` _string (optional)_
+
+**Example:** `United States`
+
+---
+##### `city` _string (optional)_
+
+**Example:** `Austin`
+
+---
+##### `timeZone` _string (optional)_
+
+**Example:** `America/Chicago`
+
+---
+##### `postalCode` _number (optional)_
+
+**Example:** `78732`
+
+---
+##### `inPrivacyRestrictedCountry` _boolean (optional)_
+
+---
+##### `subdivisions` _string (optional)_
+
+**Example:** `Texas`
+
+---
+##### `coordinates` _string (optional)_
+
+**Example:** `30.3768 -97.8935`
diff --git a/gen.yaml b/gen.yaml
index d21d2f0..62dbff0 100644
--- a/gen.yaml
+++ b/gen.yaml
@@ -7,7 +7,7 @@ generation:
fixes:
nameResolutionDec2023: false
docs:
- version: 0.2.1
+ version: 0.3.0
defaultLanguage: go
imports:
option: openapi
diff --git a/package.json b/package.json
index 6c687d3..4c0abf4 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "sdk-docs",
- "version": "0.2.1",
+ "version": "0.3.0",
"description": "Nextra docs template",
"private": true,
"scripts": {
@@ -10,7 +10,8 @@
"prebuild": "make",
"next:build": "next build",
"export": "next export",
- "build": "npm run next:build",
+ "clean": "rm -rf .next out || true",
+ "build": "npm run clean && npm run next:build",
"start": "next start",
"type-check": "tsc --noEmit",
"lint": "eslint --ext .ts,.js,.tsx .",
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/plex.mdx b/src/.gen/pages/01-reference/curl/resources/plex/plex.mdx
new file mode 100644
index 0000000..82612ff
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/plex.mdx
@@ -0,0 +1,6 @@
+import Plex from './plex_content.mdx';
+import {DocsSection} from "/src/components/Section/section";
+
+
+
+
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/plex_content.mdx b/src/.gen/pages/01-reference/curl/resources/plex/plex_content.mdx
new file mode 100644
index 0000000..60cab7a
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/plex_content.mdx
@@ -0,0 +1,5 @@
+import Tv from "./tv/tv.mdx";
+
+## Plex
+
+
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_authentication.mdx b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_authentication.mdx
new file mode 100644
index 0000000..ac82b0b
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_authentication.mdx
@@ -0,0 +1,9 @@
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### API key _— in HTTP header_
+
+Set your API key in a `X-Plex-Token` HTTP header.
+
+Example: ``
+
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_header.mdx b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_header.mdx
new file mode 100644
index 0000000..02e5b59
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_header.mdx
@@ -0,0 +1,7 @@
+import OperationInfo from '/src/components/OperationInfo';
+
+## Get Pin
+
+
+
+Retrieve a Pin from Plex.tv for authentication flows
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_parameters.mdx b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_parameters.mdx
new file mode 100644
index 0000000..6cabb95
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_parameters.mdx
@@ -0,0 +1,11 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `X-Plex-Client-Identifier` _string_
+Plex Authentication Token
+
+---
+##### `strong` _boolean (optional)_
+Determines the kind of code returned by the API call
+Strong codes are used for Pin authentication flows
+Non\-Strong codes are used for `Plex.tv/link`
+
+
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_response.mdx b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_response.mdx
new file mode 100644
index 0000000..13397ee
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_response.mdx
@@ -0,0 +1,96 @@
+{/* Autogenerated DO NOT EDIT */}
+import Location from "/content/types/operations/location/curl.mdx"
+
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+import { TabbedSection, Tab } from '@/src/components/TabbedSection';
+import StatusCode from '@/src/components/StatusCode';
+
+
+ {/* prettier-ignore */}
+ }>
+ *JSON object*
+
+ ##### `id` _number (optional)_
+ PinID for use with authentication
+
+
+ **Example:** `1272322473`
+
+ ---
+ ##### `code` _string (optional)_
+
+
+ **Example:** `3patfx1a78ukcbr7x0n9bl26t`
+
+ ---
+ ##### `product` _string (optional)_
+
+
+ **Example:** `Plex Web`
+
+ ---
+ ##### `trusted` _boolean (optional)_
+
+
+ ---
+ ##### `qr` _string (optional)_
+ a link to a QR code hosted on plex.tv
+The QR code redirects to the relevant `plex.tv/link` authentication page
+Which then prompts the user for the 4 Digit Link Pin
+
+
+
+ **Example:** `https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t`
+
+ ---
+ ##### `clientIdentifier` _string (optional)_
+
+
+ **Example:** `Postman`
+
+ ---
+ ##### `location` _object (optional)_
+
+
+
+
+
+ ---
+ ##### `expiresIn` _number (optional)_
+
+
+ **Example:** `1800`
+
+ ---
+ ##### `createdAt` _datetime (optional)_
+
+
+ **Example:** `2023-04-12 17:00:03 +0000 UTC`
+
+ ---
+ ##### `expiresAt` _datetime (optional)_
+
+
+ **Example:** `2023-04-12 17:30:03 +0000 UTC`
+
+ ---
+ ##### `authToken` _string (optional)_
+
+
+ ---
+ ##### `newRegistration` _string (optional)_
+
+
+
+
+ {/* prettier-ignore */}
+ }>
+ *JSON object*
+
+ ##### `errors` _array (optional)_
+
+
+
+
+
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_usage.mdx b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_usage.mdx
new file mode 100644
index 0000000..44ec682
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/_usage.mdx
@@ -0,0 +1,38 @@
+
+
+```bash Example Request
+curl https://plex.tv/api/v2/pins?strong=false \
+--header 'Accept: application/json' \
+--header 'X-Plex-Token: YOUR_API_KEY_HERE' \
+--header 'X-Plex-Client-Identifier: string'
+```
+---
+
+```json Example Response
+ {
+ "id": 1272322473,
+ "code": "3patfx1a78ukcbr7x0n9bl26t",
+ "product": "Plex Web",
+ "trusted": false,
+ "qr": "https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t",
+ "clientIdentifier": "Postman",
+ "location": {
+ "code": "US",
+ "european_union_member": false,
+ "continent_code": "NA",
+ "country": "United States",
+ "city": "Austin",
+ "time_zone": "America/Chicago",
+ "postal_code": 78732,
+ "in_privacy_restricted_country": false,
+ "subdivisions": "Texas",
+ "coordinates": "30.3768 -97.8935"
+ },
+ "expiresIn": 1800,
+ "createdAt": "2023-04-12T17:00:03Z",
+ "expiresAt": "2023-04-12T17:30:03Z",
+ "authToken": "string",
+ "newRegistration": "string"
+ }
+```
+
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/get_pin.mdx b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/get_pin.mdx
new file mode 100644
index 0000000..059773d
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/get_pin.mdx
@@ -0,0 +1,6 @@
+import GetPin from './get_pin_content.mdx';
+import {DocsSection} from "/src/components/Section/section";
+
+
+
+
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/get_pin_content.mdx b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/get_pin_content.mdx
new file mode 100644
index 0000000..17df503
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_pin/get_pin_content.mdx
@@ -0,0 +1,21 @@
+import CurlHeader from './_header.mdx';
+import SDKHeader from './_header.mdx';
+import OperationHeader from '/src/components/OperationHeader';
+
+###### *Plex* / *Tv*
+
+}
+ curlHeader={}
+/>
+
+{/* rendered from operation template */}
+
+import {LanguageOperation} from "/content/languages";
+import Parameters from "./_parameters.mdx";
+import Response from "./_response.mdx";
+import Usage from "./_usage.mdx";
+
+} response={} usage={}/>
+
+{/* end rendered section */}
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_authentication.mdx b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_authentication.mdx
new file mode 100644
index 0000000..ac82b0b
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_authentication.mdx
@@ -0,0 +1,9 @@
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### API key _— in HTTP header_
+
+Set your API key in a `X-Plex-Token` HTTP header.
+
+Example: ``
+
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_header.mdx b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_header.mdx
new file mode 100644
index 0000000..19f76f4
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_header.mdx
@@ -0,0 +1,7 @@
+import OperationInfo from '/src/components/OperationInfo';
+
+## Get Token
+
+
+
+Retrieve an Access Token from Plex.tv after the Pin has already been authenticated
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_parameters.mdx b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_parameters.mdx
new file mode 100644
index 0000000..41033e0
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_parameters.mdx
@@ -0,0 +1,8 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `pinID` _string_
+The PinID to retrieve an access token for
+
+---
+##### `X-Plex-Client-Identifier` _string_
+Plex Authentication Token
+
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_response.mdx b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_response.mdx
new file mode 100644
index 0000000..9bcb92b
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_response.mdx
@@ -0,0 +1,22 @@
+{/* Autogenerated DO NOT EDIT */}
+
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+import { TabbedSection, Tab } from '@/src/components/TabbedSection';
+import StatusCode from '@/src/components/StatusCode';
+
+
+ {/* prettier-ignore */}
+ }>
+ _No response body._
+
+ {/* prettier-ignore */}
+ }>
+ *JSON object*
+
+ ##### `errors` _array (optional)_
+
+
+
+
+
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_usage.mdx b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_usage.mdx
new file mode 100644
index 0000000..3682ff9
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/_usage.mdx
@@ -0,0 +1,22 @@
+
+
+```bash Example Request
+curl https://plex.tv/api/v2/pins/string \
+--header 'Accept: application/json' \
+--header 'X-Plex-Token: YOUR_API_KEY_HERE' \
+--header 'X-Plex-Client-Identifier: string'
+```
+---
+
+```json Example Response
+ {
+ "errors": [
+ {
+ "code": 1000,
+ "message": "X-Plex-Client-Identifier is missing",
+ "status": 400
+ }
+ ]
+ }
+```
+
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/get_token.mdx b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/get_token.mdx
new file mode 100644
index 0000000..dd4ee77
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/get_token.mdx
@@ -0,0 +1,6 @@
+import GetToken from './get_token_content.mdx';
+import {DocsSection} from "/src/components/Section/section";
+
+
+
+
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/get_token_content.mdx b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/get_token_content.mdx
new file mode 100644
index 0000000..17df503
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/tv/get_token/get_token_content.mdx
@@ -0,0 +1,21 @@
+import CurlHeader from './_header.mdx';
+import SDKHeader from './_header.mdx';
+import OperationHeader from '/src/components/OperationHeader';
+
+###### *Plex* / *Tv*
+
+}
+ curlHeader={}
+/>
+
+{/* rendered from operation template */}
+
+import {LanguageOperation} from "/content/languages";
+import Parameters from "./_parameters.mdx";
+import Response from "./_response.mdx";
+import Usage from "./_usage.mdx";
+
+} response={} usage={}/>
+
+{/* end rendered section */}
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/tv/tv.mdx b/src/.gen/pages/01-reference/curl/resources/plex/tv/tv.mdx
new file mode 100644
index 0000000..8bd280a
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/tv/tv.mdx
@@ -0,0 +1,6 @@
+import Tv from './tv_content.mdx';
+import {DocsSection} from "/src/components/Section/section";
+
+
+
+
diff --git a/src/.gen/pages/01-reference/curl/resources/plex/tv/tv_content.mdx b/src/.gen/pages/01-reference/curl/resources/plex/tv/tv_content.mdx
new file mode 100644
index 0000000..a708b04
--- /dev/null
+++ b/src/.gen/pages/01-reference/curl/resources/plex/tv/tv_content.mdx
@@ -0,0 +1,15 @@
+import GetPin from "./get_pin/get_pin.mdx";
+import GetToken from "./get_token/get_token.mdx";
+
+## Tv
+
+### Available Operations
+
+* [Get Pin](/curl/plex/tv/get_pin) - Get a Pin
+* [Get Token](/curl/plex/tv/get_token) - Get Access Token
+
+---
+
+
+---
+
diff --git a/src/.gen/pages/01-reference/curl/resources/resources_content.mdx b/src/.gen/pages/01-reference/curl/resources/resources_content.mdx
index 9bca8da..779acea 100644
--- a/src/.gen/pages/01-reference/curl/resources/resources_content.mdx
+++ b/src/.gen/pages/01-reference/curl/resources/resources_content.mdx
@@ -10,6 +10,7 @@ import Hubs from "./hubs/hubs.mdx";
import Search from "./search/search.mdx";
import Library from "./library/library.mdx";
import Log from "./log/log.mdx";
+import Plex from "./plex/plex.mdx";
import Playlists from "./playlists/playlists.mdx";
import Security from "./security/security.mdx";
import Sessions from "./sessions/sessions.mdx";
@@ -39,6 +40,9 @@ import Video from "./video/video.mdx";
---
+---
+
+
---
diff --git a/src/.gen/pages/01-reference/go/resources/plex/plex.mdx b/src/.gen/pages/01-reference/go/resources/plex/plex.mdx
new file mode 100644
index 0000000..82612ff
--- /dev/null
+++ b/src/.gen/pages/01-reference/go/resources/plex/plex.mdx
@@ -0,0 +1,6 @@
+import Plex from './plex_content.mdx';
+import {DocsSection} from "/src/components/Section/section";
+
+
+
+
diff --git a/src/.gen/pages/01-reference/go/resources/plex/plex_content.mdx b/src/.gen/pages/01-reference/go/resources/plex/plex_content.mdx
new file mode 100644
index 0000000..60cab7a
--- /dev/null
+++ b/src/.gen/pages/01-reference/go/resources/plex/plex_content.mdx
@@ -0,0 +1,5 @@
+import Tv from "./tv/tv.mdx";
+
+## Plex
+
+
diff --git a/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/_header.mdx b/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/_header.mdx
new file mode 100644
index 0000000..5c6a65f
--- /dev/null
+++ b/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/_header.mdx
@@ -0,0 +1,3 @@
+## Get Pin
+
+Retrieve a Pin from Plex.tv for authentication flows
\ No newline at end of file
diff --git a/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/_parameters.mdx b/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/_parameters.mdx
new file mode 100644
index 0000000..8e7dfcf
--- /dev/null
+++ b/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/_parameters.mdx
@@ -0,0 +1,19 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `ctx` [*{ `context.Context` }*](https://pkg.go.dev/context#Context)
+The context to use for the request.
+
+---
+##### `xPlexClientIdentifier` *{`string`}*
+Plex Authentication Token
+
+---
+##### `strong` *{`*bool`}*
+Determines the kind of code returned by the API call
+Strong codes are used for Pin authentication flows
+Non\-Strong codes are used for `Plex.tv/link`
+
+
+---
+##### `opts` *{`[]operations.Option`}*
+The options for this request.
+
diff --git a/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/_response.mdx b/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/_response.mdx
new file mode 100644
index 0000000..6e5769b
--- /dev/null
+++ b/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/_response.mdx
@@ -0,0 +1,16 @@
+{/* Autogenerated DO NOT EDIT */}
+import GetPinResponse from "/content/types/models/operations/get_pin_response/go.mdx"
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### *{`*operations.GetPinResponse`}*
+
+
+
+
+
+
+---
+##### *{`error`}*
+
+
diff --git a/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/_usage.mdx b/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/_usage.mdx
new file mode 100644
index 0000000..3f61d4c
--- /dev/null
+++ b/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/_usage.mdx
@@ -0,0 +1,63 @@
+
+
+```go GetPin.go
+package main
+
+import(
+ "github.com/LukeHagar/plexgo/models/components"
+ "github.com/LukeHagar/plexgo"
+ "context"
+ "log"
+)
+
+func main() {
+ s := plexgo.New(
+ plexgo.WithSecurity(""),
+ )
+
+
+ var xPlexClientIdentifier string = "string"
+
+ var strong *bool = false
+
+ ctx := context.Background()
+ res, err := s.Plex.Tv.GetPin(ctx, xPlexClientIdentifier, strong)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ if res.Object != nil {
+ // handle response
+ }
+}
+```
+---
+
+```json Example Response
+ {
+ "id": 1272322473,
+ "code": "3patfx1a78ukcbr7x0n9bl26t",
+ "product": "Plex Web",
+ "trusted": false,
+ "qr": "https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t",
+ "clientIdentifier": "Postman",
+ "location": {
+ "code": "US",
+ "european_union_member": false,
+ "continent_code": "NA",
+ "country": "United States",
+ "city": "Austin",
+ "time_zone": "America/Chicago",
+ "postal_code": 78732,
+ "in_privacy_restricted_country": false,
+ "subdivisions": "Texas",
+ "coordinates": "30.3768 -97.8935"
+ },
+ "expiresIn": 1800,
+ "createdAt": "2023-04-12T17:00:03Z",
+ "expiresAt": "2023-04-12T17:30:03Z",
+ "authToken": "string",
+ "newRegistration": "string"
+ }
+```
+
diff --git a/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/get_pin.mdx b/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/get_pin.mdx
new file mode 100644
index 0000000..059773d
--- /dev/null
+++ b/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/get_pin.mdx
@@ -0,0 +1,6 @@
+import GetPin from './get_pin_content.mdx';
+import {DocsSection} from "/src/components/Section/section";
+
+
+
+
diff --git a/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/get_pin_content.mdx b/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/get_pin_content.mdx
new file mode 100644
index 0000000..17df503
--- /dev/null
+++ b/src/.gen/pages/01-reference/go/resources/plex/tv/get_pin/get_pin_content.mdx
@@ -0,0 +1,21 @@
+import CurlHeader from './_header.mdx';
+import SDKHeader from './_header.mdx';
+import OperationHeader from '/src/components/OperationHeader';
+
+###### *Plex* / *Tv*
+
+}
+ curlHeader={}
+/>
+
+{/* rendered from operation template */}
+
+import {LanguageOperation} from "/content/languages";
+import Parameters from "./_parameters.mdx";
+import Response from "./_response.mdx";
+import Usage from "./_usage.mdx";
+
+} response={} usage={}/>
+
+{/* end rendered section */}
diff --git a/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/_header.mdx b/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/_header.mdx
new file mode 100644
index 0000000..17a7e70
--- /dev/null
+++ b/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/_header.mdx
@@ -0,0 +1,3 @@
+## Get Token
+
+Retrieve an Access Token from Plex.tv after the Pin has already been authenticated
\ No newline at end of file
diff --git a/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/_parameters.mdx b/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/_parameters.mdx
new file mode 100644
index 0000000..b1f8d82
--- /dev/null
+++ b/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/_parameters.mdx
@@ -0,0 +1,16 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `ctx` [*{ `context.Context` }*](https://pkg.go.dev/context#Context)
+The context to use for the request.
+
+---
+##### `pinID` *{`string`}*
+The PinID to retrieve an access token for
+
+---
+##### `xPlexClientIdentifier` *{`string`}*
+Plex Authentication Token
+
+---
+##### `opts` *{`[]operations.Option`}*
+The options for this request.
+
diff --git a/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/_response.mdx b/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/_response.mdx
new file mode 100644
index 0000000..f91fd35
--- /dev/null
+++ b/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/_response.mdx
@@ -0,0 +1,16 @@
+{/* Autogenerated DO NOT EDIT */}
+import GetTokenResponse from "/content/types/models/operations/get_token_response/go.mdx"
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### *{`*operations.GetTokenResponse`}*
+
+
+
+
+
+
+---
+##### *{`error`}*
+
+
diff --git a/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/_usage.mdx b/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/_usage.mdx
new file mode 100644
index 0000000..6d96ab4
--- /dev/null
+++ b/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/_usage.mdx
@@ -0,0 +1,48 @@
+
+
+```go GetToken.go
+package main
+
+import(
+ "github.com/LukeHagar/plexgo/models/components"
+ "github.com/LukeHagar/plexgo"
+ "context"
+ "log"
+ "net/http"
+)
+
+func main() {
+ s := plexgo.New(
+ plexgo.WithSecurity(""),
+ )
+
+
+ var pinID string = "string"
+
+ var xPlexClientIdentifier string = "string"
+
+ ctx := context.Background()
+ res, err := s.Plex.Tv.GetToken(ctx, pinID, xPlexClientIdentifier)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ if res.StatusCode == http.StatusOK {
+ // handle response
+ }
+}
+```
+---
+
+```json Example Response
+ {
+ "errors": [
+ {
+ "code": 1000,
+ "message": "X-Plex-Client-Identifier is missing",
+ "status": 400
+ }
+ ]
+ }
+```
+
diff --git a/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/get_token.mdx b/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/get_token.mdx
new file mode 100644
index 0000000..dd4ee77
--- /dev/null
+++ b/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/get_token.mdx
@@ -0,0 +1,6 @@
+import GetToken from './get_token_content.mdx';
+import {DocsSection} from "/src/components/Section/section";
+
+
+
+
diff --git a/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/get_token_content.mdx b/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/get_token_content.mdx
new file mode 100644
index 0000000..17df503
--- /dev/null
+++ b/src/.gen/pages/01-reference/go/resources/plex/tv/get_token/get_token_content.mdx
@@ -0,0 +1,21 @@
+import CurlHeader from './_header.mdx';
+import SDKHeader from './_header.mdx';
+import OperationHeader from '/src/components/OperationHeader';
+
+###### *Plex* / *Tv*
+
+}
+ curlHeader={}
+/>
+
+{/* rendered from operation template */}
+
+import {LanguageOperation} from "/content/languages";
+import Parameters from "./_parameters.mdx";
+import Response from "./_response.mdx";
+import Usage from "./_usage.mdx";
+
+} response={} usage={}/>
+
+{/* end rendered section */}
diff --git a/src/.gen/pages/01-reference/go/resources/plex/tv/tv.mdx b/src/.gen/pages/01-reference/go/resources/plex/tv/tv.mdx
new file mode 100644
index 0000000..8bd280a
--- /dev/null
+++ b/src/.gen/pages/01-reference/go/resources/plex/tv/tv.mdx
@@ -0,0 +1,6 @@
+import Tv from './tv_content.mdx';
+import {DocsSection} from "/src/components/Section/section";
+
+
+
+
diff --git a/src/.gen/pages/01-reference/go/resources/plex/tv/tv_content.mdx b/src/.gen/pages/01-reference/go/resources/plex/tv/tv_content.mdx
new file mode 100644
index 0000000..9eb2884
--- /dev/null
+++ b/src/.gen/pages/01-reference/go/resources/plex/tv/tv_content.mdx
@@ -0,0 +1,15 @@
+import GetPin from "./get_pin/get_pin.mdx";
+import GetToken from "./get_token/get_token.mdx";
+
+## Tv
+
+### Available Operations
+
+* [Get Pin](/go/plex/tv/get_pin) - Get a Pin
+* [Get Token](/go/plex/tv/get_token) - Get Access Token
+
+---
+
+
+---
+
diff --git a/src/.gen/pages/01-reference/go/resources/resources_content.mdx b/src/.gen/pages/01-reference/go/resources/resources_content.mdx
index 9bca8da..779acea 100644
--- a/src/.gen/pages/01-reference/go/resources/resources_content.mdx
+++ b/src/.gen/pages/01-reference/go/resources/resources_content.mdx
@@ -10,6 +10,7 @@ import Hubs from "./hubs/hubs.mdx";
import Search from "./search/search.mdx";
import Library from "./library/library.mdx";
import Log from "./log/log.mdx";
+import Plex from "./plex/plex.mdx";
import Playlists from "./playlists/playlists.mdx";
import Security from "./security/security.mdx";
import Sessions from "./sessions/sessions.mdx";
@@ -39,6 +40,9 @@ import Video from "./video/video.mdx";
---
+---
+
+
---
diff --git a/src/.gen/pages/01-reference/go/server_options/_snippet.mdx b/src/.gen/pages/01-reference/go/server_options/_snippet.mdx
index 0bef277..e41328d 100644
--- a/src/.gen/pages/01-reference/go/server_options/_snippet.mdx
+++ b/src/.gen/pages/01-reference/go/server_options/_snippet.mdx
@@ -74,5 +74,40 @@ 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"
+ "github.com/LukeHagar/plexgo/models/components"
+ "log"
+)
+
+func main() {
+ s := plexgo.New(
+ plexgo.WithSecurity(""),
+ )
+
+ var xPlexClientIdentifier string = "string"
+
+ var strong *bool = false
+
+ ctx := context.Background()
+ res, err := s.Plex.Tv.GetPin(ctx, operations.WithServerURL("https://plex.tv/api/v2"), xPlexClientIdentifier, strong)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ if res.Object != nil {
+ // handle response
+ }
+}
+
```
{/* End Go Server Options */}
diff --git a/src/.gen/pages/01-reference/python/resources/plex/plex.mdx b/src/.gen/pages/01-reference/python/resources/plex/plex.mdx
new file mode 100644
index 0000000..82612ff
--- /dev/null
+++ b/src/.gen/pages/01-reference/python/resources/plex/plex.mdx
@@ -0,0 +1,6 @@
+import Plex from './plex_content.mdx';
+import {DocsSection} from "/src/components/Section/section";
+
+
+
+
diff --git a/src/.gen/pages/01-reference/python/resources/plex/plex_content.mdx b/src/.gen/pages/01-reference/python/resources/plex/plex_content.mdx
new file mode 100644
index 0000000..60cab7a
--- /dev/null
+++ b/src/.gen/pages/01-reference/python/resources/plex/plex_content.mdx
@@ -0,0 +1,5 @@
+import Tv from "./tv/tv.mdx";
+
+## Plex
+
+
diff --git a/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/_header.mdx b/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/_header.mdx
new file mode 100644
index 0000000..5c6a65f
--- /dev/null
+++ b/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/_header.mdx
@@ -0,0 +1,3 @@
+## Get Pin
+
+Retrieve a Pin from Plex.tv for authentication flows
\ No newline at end of file
diff --git a/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/_parameters.mdx b/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/_parameters.mdx
new file mode 100644
index 0000000..7b38527
--- /dev/null
+++ b/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/_parameters.mdx
@@ -0,0 +1,15 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `x_plex_client_identifier` *{`str`}*
+Plex Authentication Token
+
+---
+##### `strong` *{`Optional[bool]`}*
+Determines the kind of code returned by the API call
+Strong codes are used for Pin authentication flows
+Non\-Strong codes are used for `Plex.tv/link`
+
+
+---
+##### `server_url` *{`Optional[str]`}*
+An optional server URL to use.
+
diff --git a/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/_response.mdx b/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/_response.mdx
new file mode 100644
index 0000000..aa52594
--- /dev/null
+++ b/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/_response.mdx
@@ -0,0 +1,13 @@
+{/* Autogenerated DO NOT EDIT */}
+import GetPinResponse from "/content/types/models/operations/get_pin_response/python.mdx"
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### *{`operations.GetPinResponse`}*
+
+
+
+
+
+
+
diff --git a/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/_usage.mdx b/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/_usage.mdx
new file mode 100644
index 0000000..527c361
--- /dev/null
+++ b/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/_usage.mdx
@@ -0,0 +1,47 @@
+
+
+```python GetPin.py
+import plex_api
+from plex_api.models import operations
+
+s = plex_api.PlexAPI(
+ access_token="",
+)
+
+
+res = s.plex.tv.get_pin(x_plex_client_identifier='string', strong=False)
+
+if res.object is not None:
+ # handle response
+ pass
+```
+---
+
+```json Example Response
+ {
+ "id": 1272322473,
+ "code": "3patfx1a78ukcbr7x0n9bl26t",
+ "product": "Plex Web",
+ "trusted": false,
+ "qr": "https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t",
+ "clientIdentifier": "Postman",
+ "location": {
+ "code": "US",
+ "european_union_member": false,
+ "continent_code": "NA",
+ "country": "United States",
+ "city": "Austin",
+ "time_zone": "America/Chicago",
+ "postal_code": 78732,
+ "in_privacy_restricted_country": false,
+ "subdivisions": "Texas",
+ "coordinates": "30.3768 -97.8935"
+ },
+ "expiresIn": 1800,
+ "createdAt": "2023-04-12T17:00:03Z",
+ "expiresAt": "2023-04-12T17:30:03Z",
+ "authToken": "string",
+ "newRegistration": "string"
+ }
+```
+
diff --git a/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/get_pin.mdx b/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/get_pin.mdx
new file mode 100644
index 0000000..059773d
--- /dev/null
+++ b/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/get_pin.mdx
@@ -0,0 +1,6 @@
+import GetPin from './get_pin_content.mdx';
+import {DocsSection} from "/src/components/Section/section";
+
+
+
+
diff --git a/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/get_pin_content.mdx b/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/get_pin_content.mdx
new file mode 100644
index 0000000..17df503
--- /dev/null
+++ b/src/.gen/pages/01-reference/python/resources/plex/tv/get_pin/get_pin_content.mdx
@@ -0,0 +1,21 @@
+import CurlHeader from './_header.mdx';
+import SDKHeader from './_header.mdx';
+import OperationHeader from '/src/components/OperationHeader';
+
+###### *Plex* / *Tv*
+
+}
+ curlHeader={}
+/>
+
+{/* rendered from operation template */}
+
+import {LanguageOperation} from "/content/languages";
+import Parameters from "./_parameters.mdx";
+import Response from "./_response.mdx";
+import Usage from "./_usage.mdx";
+
+} response={} usage={}/>
+
+{/* end rendered section */}
diff --git a/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/_header.mdx b/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/_header.mdx
new file mode 100644
index 0000000..17a7e70
--- /dev/null
+++ b/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/_header.mdx
@@ -0,0 +1,3 @@
+## Get Token
+
+Retrieve an Access Token from Plex.tv after the Pin has already been authenticated
\ No newline at end of file
diff --git a/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/_parameters.mdx b/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/_parameters.mdx
new file mode 100644
index 0000000..476f9eb
--- /dev/null
+++ b/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/_parameters.mdx
@@ -0,0 +1,12 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `pin_id` *{`str`}*
+The PinID to retrieve an access token for
+
+---
+##### `x_plex_client_identifier` *{`str`}*
+Plex Authentication Token
+
+---
+##### `server_url` *{`Optional[str]`}*
+An optional server URL to use.
+
diff --git a/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/_response.mdx b/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/_response.mdx
new file mode 100644
index 0000000..9a48813
--- /dev/null
+++ b/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/_response.mdx
@@ -0,0 +1,13 @@
+{/* Autogenerated DO NOT EDIT */}
+import GetTokenResponse from "/content/types/models/operations/get_token_response/python.mdx"
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### *{`operations.GetTokenResponse`}*
+
+
+
+
+
+
+
diff --git a/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/_usage.mdx b/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/_usage.mdx
new file mode 100644
index 0000000..ca391f1
--- /dev/null
+++ b/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/_usage.mdx
@@ -0,0 +1,31 @@
+
+
+```python GetToken.py
+import plex_api
+from plex_api.models import operations
+
+s = plex_api.PlexAPI(
+ access_token="",
+)
+
+
+res = s.plex.tv.get_token(pin_id='string', x_plex_client_identifier='string')
+
+if res.status_code == 200:
+ # handle response
+ pass
+```
+---
+
+```json Example Response
+ {
+ "errors": [
+ {
+ "code": 1000,
+ "message": "X-Plex-Client-Identifier is missing",
+ "status": 400
+ }
+ ]
+ }
+```
+
diff --git a/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/get_token.mdx b/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/get_token.mdx
new file mode 100644
index 0000000..dd4ee77
--- /dev/null
+++ b/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/get_token.mdx
@@ -0,0 +1,6 @@
+import GetToken from './get_token_content.mdx';
+import {DocsSection} from "/src/components/Section/section";
+
+
+
+
diff --git a/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/get_token_content.mdx b/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/get_token_content.mdx
new file mode 100644
index 0000000..17df503
--- /dev/null
+++ b/src/.gen/pages/01-reference/python/resources/plex/tv/get_token/get_token_content.mdx
@@ -0,0 +1,21 @@
+import CurlHeader from './_header.mdx';
+import SDKHeader from './_header.mdx';
+import OperationHeader from '/src/components/OperationHeader';
+
+###### *Plex* / *Tv*
+
+}
+ curlHeader={}
+/>
+
+{/* rendered from operation template */}
+
+import {LanguageOperation} from "/content/languages";
+import Parameters from "./_parameters.mdx";
+import Response from "./_response.mdx";
+import Usage from "./_usage.mdx";
+
+} response={} usage={}/>
+
+{/* end rendered section */}
diff --git a/src/.gen/pages/01-reference/python/resources/plex/tv/tv.mdx b/src/.gen/pages/01-reference/python/resources/plex/tv/tv.mdx
new file mode 100644
index 0000000..8bd280a
--- /dev/null
+++ b/src/.gen/pages/01-reference/python/resources/plex/tv/tv.mdx
@@ -0,0 +1,6 @@
+import Tv from './tv_content.mdx';
+import {DocsSection} from "/src/components/Section/section";
+
+
+
+
diff --git a/src/.gen/pages/01-reference/python/resources/plex/tv/tv_content.mdx b/src/.gen/pages/01-reference/python/resources/plex/tv/tv_content.mdx
new file mode 100644
index 0000000..a93b249
--- /dev/null
+++ b/src/.gen/pages/01-reference/python/resources/plex/tv/tv_content.mdx
@@ -0,0 +1,15 @@
+import GetPin from "./get_pin/get_pin.mdx";
+import GetToken from "./get_token/get_token.mdx";
+
+## Tv
+
+### Available Operations
+
+* [Get Pin](/python/plex/tv/get_pin) - Get a Pin
+* [Get Token](/python/plex/tv/get_token) - Get Access Token
+
+---
+
+
+---
+
diff --git a/src/.gen/pages/01-reference/python/resources/resources_content.mdx b/src/.gen/pages/01-reference/python/resources/resources_content.mdx
index 9bca8da..779acea 100644
--- a/src/.gen/pages/01-reference/python/resources/resources_content.mdx
+++ b/src/.gen/pages/01-reference/python/resources/resources_content.mdx
@@ -10,6 +10,7 @@ import Hubs from "./hubs/hubs.mdx";
import Search from "./search/search.mdx";
import Library from "./library/library.mdx";
import Log from "./log/log.mdx";
+import Plex from "./plex/plex.mdx";
import Playlists from "./playlists/playlists.mdx";
import Security from "./security/security.mdx";
import Sessions from "./sessions/sessions.mdx";
@@ -39,6 +40,9 @@ import Video from "./video/video.mdx";
---
+---
+
+
---
diff --git a/src/.gen/pages/01-reference/python/server_options/_snippet.mdx b/src/.gen/pages/01-reference/python/server_options/_snippet.mdx
index f4847ab..6e0e325 100644
--- a/src/.gen/pages/01-reference/python/server_options/_snippet.mdx
+++ b/src/.gen/pages/01-reference/python/server_options/_snippet.mdx
@@ -45,6 +45,25 @@ s = plex_api.PlexAPI(
res = s.server.get_server_capabilities()
+if res.object is not None:
+ # handle response
+ pass
+```
+
+### 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:
+```python
+import plex_api
+from plex_api.models import operations
+
+s = plex_api.PlexAPI(
+ access_token="",
+)
+
+
+res = s.plex.tv.get_pin(server_url="https://plex.tv/api/v2", x_plex_client_identifier='string', strong=False)
+
if res.object is not None:
# handle response
pass
diff --git a/src/.gen/pages/01-reference/typescript/resources/library/search_library/_parameters.mdx b/src/.gen/pages/01-reference/typescript/resources/library/search_library/_parameters.mdx
index 5d285de..f7d7852 100644
--- a/src/.gen/pages/01-reference/typescript/resources/library/search_library/_parameters.mdx
+++ b/src/.gen/pages/01-reference/typescript/resources/library/search_library/_parameters.mdx
@@ -1,5 +1,5 @@
{/* Autogenerated DO NOT EDIT */}
-import TypeT from "/content/types/models/operations/type_t/typescript.mdx"
+import Type from "/content/types/models/operations/type/typescript.mdx"
import Collapsible from "/src/components/Collapsible";
import Labels from "/src/lib/labels";
@@ -7,11 +7,11 @@ import Labels from "/src/lib/labels";
the Id of the library to query
---
-##### `type`: *{`operations.TypeT`}*
+##### `type`: *{`operations.Type`}*
Plex content type to search for
-
+
---
diff --git a/src/.gen/pages/01-reference/typescript/resources/library/search_library/_usage.mdx b/src/.gen/pages/01-reference/typescript/resources/library/search_library/_usage.mdx
index 3378364..341e518 100644
--- a/src/.gen/pages/01-reference/typescript/resources/library/search_library/_usage.mdx
+++ b/src/.gen/pages/01-reference/typescript/resources/library/search_library/_usage.mdx
@@ -2,7 +2,7 @@
```typescript SearchLibrary.ts
import { PlexAPI } from "@lukehagar/plexjs";
-import { TypeT } from "@lukehagar/plexjs/models/operations";
+import { Type } from "@lukehagar/plexjs/models/operations";
async function run() {
const sdk = new PlexAPI({
@@ -10,7 +10,7 @@ async function run() {
});
const sectionId = 791725;
- const type = TypeT.Four;
+ const type = Type.Four;
const result = await sdk.library.searchLibrary(sectionId, type);
diff --git a/src/.gen/pages/01-reference/typescript/resources/plex/plex.mdx b/src/.gen/pages/01-reference/typescript/resources/plex/plex.mdx
new file mode 100644
index 0000000..82612ff
--- /dev/null
+++ b/src/.gen/pages/01-reference/typescript/resources/plex/plex.mdx
@@ -0,0 +1,6 @@
+import Plex from './plex_content.mdx';
+import {DocsSection} from "/src/components/Section/section";
+
+
+
+
diff --git a/src/.gen/pages/01-reference/typescript/resources/plex/plex_content.mdx b/src/.gen/pages/01-reference/typescript/resources/plex/plex_content.mdx
new file mode 100644
index 0000000..60cab7a
--- /dev/null
+++ b/src/.gen/pages/01-reference/typescript/resources/plex/plex_content.mdx
@@ -0,0 +1,5 @@
+import Tv from "./tv/tv.mdx";
+
+## Plex
+
+
diff --git a/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/_header.mdx b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/_header.mdx
new file mode 100644
index 0000000..5c6a65f
--- /dev/null
+++ b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/_header.mdx
@@ -0,0 +1,3 @@
+## Get Pin
+
+Retrieve a Pin from Plex.tv for authentication flows
\ No newline at end of file
diff --git a/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/_parameters.mdx b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/_parameters.mdx
new file mode 100644
index 0000000..edcdb64
--- /dev/null
+++ b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/_parameters.mdx
@@ -0,0 +1,23 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `xPlexClientIdentifier`: *{`string`}*
+Plex Authentication Token
+
+---
+##### `strong?`: *{`boolean`}*
+Determines the kind of code returned by the API call
+Strong codes are used for Pin authentication flows
+Non\-Strong codes are used for `Plex.tv/link`
+
+
+---
+##### `options?`: *{`RequestOptions`}*
+Options for making HTTP requests.
+
+---
+##### `options.fetchOptions?`: [*{ `RequestInit` }*](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options)
+Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed.
+
+---
+##### `options.serverURL?`: *{`string`}*
+An optional server URL to use.
+
diff --git a/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/_response.mdx b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/_response.mdx
new file mode 100644
index 0000000..6d93dd4
--- /dev/null
+++ b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/_response.mdx
@@ -0,0 +1,13 @@
+{/* Autogenerated DO NOT EDIT */}
+import GetPinResponse from "/content/types/models/operations/get_pin_response/typescript.mdx"
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### *{`Promise`}*
+
+
+
+
+
+
+
diff --git a/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/_usage.mdx b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/_usage.mdx
new file mode 100644
index 0000000..85e183f
--- /dev/null
+++ b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/_usage.mdx
@@ -0,0 +1,51 @@
+
+
+```typescript GetPin.ts
+import { PlexAPI } from "@lukehagar/plexjs";
+
+async function run() {
+ const sdk = new PlexAPI({
+ accessToken: "",
+ });
+
+ const xPlexClientIdentifier = "string";
+ const strong = false;
+
+ const result = await sdk.plex.tv.getPin(xPlexClientIdentifier, strong);
+
+ // Handle the result
+ console.log(result)
+}
+
+run();
+```
+---
+
+```json Example Response
+ {
+ "id": 1272322473,
+ "code": "3patfx1a78ukcbr7x0n9bl26t",
+ "product": "Plex Web",
+ "trusted": false,
+ "qr": "https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t",
+ "clientIdentifier": "Postman",
+ "location": {
+ "code": "US",
+ "european_union_member": false,
+ "continent_code": "NA",
+ "country": "United States",
+ "city": "Austin",
+ "time_zone": "America/Chicago",
+ "postal_code": 78732,
+ "in_privacy_restricted_country": false,
+ "subdivisions": "Texas",
+ "coordinates": "30.3768 -97.8935"
+ },
+ "expiresIn": 1800,
+ "createdAt": "2023-04-12T17:00:03Z",
+ "expiresAt": "2023-04-12T17:30:03Z",
+ "authToken": "string",
+ "newRegistration": "string"
+ }
+```
+
diff --git a/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/get_pin.mdx b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/get_pin.mdx
new file mode 100644
index 0000000..059773d
--- /dev/null
+++ b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/get_pin.mdx
@@ -0,0 +1,6 @@
+import GetPin from './get_pin_content.mdx';
+import {DocsSection} from "/src/components/Section/section";
+
+
+
+
diff --git a/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/get_pin_content.mdx b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/get_pin_content.mdx
new file mode 100644
index 0000000..17df503
--- /dev/null
+++ b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_pin/get_pin_content.mdx
@@ -0,0 +1,21 @@
+import CurlHeader from './_header.mdx';
+import SDKHeader from './_header.mdx';
+import OperationHeader from '/src/components/OperationHeader';
+
+###### *Plex* / *Tv*
+
+}
+ curlHeader={}
+/>
+
+{/* rendered from operation template */}
+
+import {LanguageOperation} from "/content/languages";
+import Parameters from "./_parameters.mdx";
+import Response from "./_response.mdx";
+import Usage from "./_usage.mdx";
+
+} response={} usage={}/>
+
+{/* end rendered section */}
diff --git a/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/_header.mdx b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/_header.mdx
new file mode 100644
index 0000000..17a7e70
--- /dev/null
+++ b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/_header.mdx
@@ -0,0 +1,3 @@
+## Get Token
+
+Retrieve an Access Token from Plex.tv after the Pin has already been authenticated
\ No newline at end of file
diff --git a/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/_parameters.mdx b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/_parameters.mdx
new file mode 100644
index 0000000..69edd22
--- /dev/null
+++ b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/_parameters.mdx
@@ -0,0 +1,20 @@
+{/* Autogenerated DO NOT EDIT */}
+##### `pinID`: *{`string`}*
+The PinID to retrieve an access token for
+
+---
+##### `xPlexClientIdentifier`: *{`string`}*
+Plex Authentication Token
+
+---
+##### `options?`: *{`RequestOptions`}*
+Options for making HTTP requests.
+
+---
+##### `options.fetchOptions?`: [*{ `RequestInit` }*](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options)
+Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All `Request` options, except `method` and `body`, are allowed.
+
+---
+##### `options.serverURL?`: *{`string`}*
+An optional server URL to use.
+
diff --git a/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/_response.mdx b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/_response.mdx
new file mode 100644
index 0000000..e733907
--- /dev/null
+++ b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/_response.mdx
@@ -0,0 +1,13 @@
+{/* Autogenerated DO NOT EDIT */}
+import GetTokenResponse from "/content/types/models/operations/get_token_response/typescript.mdx"
+import Collapsible from "/src/components/Collapsible";
+import Labels from "/src/lib/labels";
+
+##### *{`Promise`}*
+
+
+
+
+
+
+
diff --git a/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/_usage.mdx b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/_usage.mdx
new file mode 100644
index 0000000..5fb4c4b
--- /dev/null
+++ b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/_usage.mdx
@@ -0,0 +1,35 @@
+
+
+```typescript GetToken.ts
+import { PlexAPI } from "@lukehagar/plexjs";
+
+async function run() {
+ const sdk = new PlexAPI({
+ accessToken: "",
+ });
+
+ const pinID = "string";
+ const xPlexClientIdentifier = "string";
+
+ const result = await sdk.plex.tv.getToken(pinID, xPlexClientIdentifier);
+
+ // Handle the result
+ console.log(result)
+}
+
+run();
+```
+---
+
+```json Example Response
+ {
+ "errors": [
+ {
+ "code": 1000,
+ "message": "X-Plex-Client-Identifier is missing",
+ "status": 400
+ }
+ ]
+ }
+```
+
diff --git a/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/get_token.mdx b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/get_token.mdx
new file mode 100644
index 0000000..dd4ee77
--- /dev/null
+++ b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/get_token.mdx
@@ -0,0 +1,6 @@
+import GetToken from './get_token_content.mdx';
+import {DocsSection} from "/src/components/Section/section";
+
+
+
+
diff --git a/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/get_token_content.mdx b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/get_token_content.mdx
new file mode 100644
index 0000000..17df503
--- /dev/null
+++ b/src/.gen/pages/01-reference/typescript/resources/plex/tv/get_token/get_token_content.mdx
@@ -0,0 +1,21 @@
+import CurlHeader from './_header.mdx';
+import SDKHeader from './_header.mdx';
+import OperationHeader from '/src/components/OperationHeader';
+
+###### *Plex* / *Tv*
+
+}
+ curlHeader={}
+/>
+
+{/* rendered from operation template */}
+
+import {LanguageOperation} from "/content/languages";
+import Parameters from "./_parameters.mdx";
+import Response from "./_response.mdx";
+import Usage from "./_usage.mdx";
+
+} response={} usage={}/>
+
+{/* end rendered section */}
diff --git a/src/.gen/pages/01-reference/typescript/resources/plex/tv/tv.mdx b/src/.gen/pages/01-reference/typescript/resources/plex/tv/tv.mdx
new file mode 100644
index 0000000..8bd280a
--- /dev/null
+++ b/src/.gen/pages/01-reference/typescript/resources/plex/tv/tv.mdx
@@ -0,0 +1,6 @@
+import Tv from './tv_content.mdx';
+import {DocsSection} from "/src/components/Section/section";
+
+
+
+
diff --git a/src/.gen/pages/01-reference/typescript/resources/plex/tv/tv_content.mdx b/src/.gen/pages/01-reference/typescript/resources/plex/tv/tv_content.mdx
new file mode 100644
index 0000000..572712b
--- /dev/null
+++ b/src/.gen/pages/01-reference/typescript/resources/plex/tv/tv_content.mdx
@@ -0,0 +1,15 @@
+import GetPin from "./get_pin/get_pin.mdx";
+import GetToken from "./get_token/get_token.mdx";
+
+## Tv
+
+### Available Operations
+
+* [Get Pin](/typescript/plex/tv/get_pin) - Get a Pin
+* [Get Token](/typescript/plex/tv/get_token) - Get Access Token
+
+---
+
+
+---
+
diff --git a/src/.gen/pages/01-reference/typescript/resources/resources_content.mdx b/src/.gen/pages/01-reference/typescript/resources/resources_content.mdx
index 9bca8da..779acea 100644
--- a/src/.gen/pages/01-reference/typescript/resources/resources_content.mdx
+++ b/src/.gen/pages/01-reference/typescript/resources/resources_content.mdx
@@ -10,6 +10,7 @@ import Hubs from "./hubs/hubs.mdx";
import Search from "./search/search.mdx";
import Library from "./library/library.mdx";
import Log from "./log/log.mdx";
+import Plex from "./plex/plex.mdx";
import Playlists from "./playlists/playlists.mdx";
import Security from "./security/security.mdx";
import Sessions from "./sessions/sessions.mdx";
@@ -39,6 +40,9 @@ import Video from "./video/video.mdx";
---
+---
+
+
---
diff --git a/src/.gen/pages/01-reference/typescript/server_options/_snippet.mdx b/src/.gen/pages/01-reference/typescript/server_options/_snippet.mdx
index 5166694..aabf708 100644
--- a/src/.gen/pages/01-reference/typescript/server_options/_snippet.mdx
+++ b/src/.gen/pages/01-reference/typescript/server_options/_snippet.mdx
@@ -54,5 +54,31 @@ async function run() {
run();
+```
+### 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:
+
+```typescript
+import { PlexAPI } from "@lukehagar/plexjs";
+
+async function run() {
+ const sdk = new PlexAPI({
+ accessToken: "",
+ });
+
+ const xPlexClientIdentifier = "string";
+ const strong = false;
+
+ const result = await sdk.plex.tv.getPin(xPlexClientIdentifier, strong, {
+ serverURL: "https://plex.tv/api/v2",
+ });
+
+ // Handle the result
+ console.log(result);
+}
+
+run();
+
```
{/* End Typescript Server Options */}
diff --git a/src/pages/curl/_meta.json b/src/pages/curl/_meta.json
index 2c88363..04435c1 100644
--- a/src/pages/curl/_meta.json
+++ b/src/pages/curl/_meta.json
@@ -16,6 +16,7 @@
"search": "Search",
"library": "Library",
"log": "Log",
+ "plex": "Plex",
"playlists": "Playlists",
"security": "Security",
"sessions": "Sessions",
diff --git a/src/pages/curl/plex/_meta.json b/src/pages/curl/plex/_meta.json
new file mode 100644
index 0000000..0405164
--- /dev/null
+++ b/src/pages/curl/plex/_meta.json
@@ -0,0 +1,3 @@
+{
+ "tv": "Tv"
+}
\ No newline at end of file
diff --git a/src/pages/curl/plex/tv/_meta.json b/src/pages/curl/plex/tv/_meta.json
new file mode 100644
index 0000000..e8b6d62
--- /dev/null
+++ b/src/pages/curl/plex/tv/_meta.json
@@ -0,0 +1,4 @@
+{
+ "get_pin": "Get Pin",
+ "get_token": "Get Token"
+}
\ No newline at end of file
diff --git a/src/pages/curl/plex/tv/get_pin/_meta.json b/src/pages/curl/plex/tv/get_pin/_meta.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/src/pages/curl/plex/tv/get_pin/_meta.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/src/pages/curl/plex/tv/get_token/_meta.json b/src/pages/curl/plex/tv/get_token/_meta.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/src/pages/curl/plex/tv/get_token/_meta.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/src/pages/go/_meta.json b/src/pages/go/_meta.json
index 3d3157b..ed18a07 100644
--- a/src/pages/go/_meta.json
+++ b/src/pages/go/_meta.json
@@ -21,6 +21,7 @@
"search": "Search",
"library": "Library",
"log": "Log",
+ "plex": "Plex",
"playlists": "Playlists",
"security": "Security",
"sessions": "Sessions",
diff --git a/src/pages/go/plex/_meta.json b/src/pages/go/plex/_meta.json
new file mode 100644
index 0000000..0405164
--- /dev/null
+++ b/src/pages/go/plex/_meta.json
@@ -0,0 +1,3 @@
+{
+ "tv": "Tv"
+}
\ No newline at end of file
diff --git a/src/pages/go/plex/tv/_meta.json b/src/pages/go/plex/tv/_meta.json
new file mode 100644
index 0000000..e8b6d62
--- /dev/null
+++ b/src/pages/go/plex/tv/_meta.json
@@ -0,0 +1,4 @@
+{
+ "get_pin": "Get Pin",
+ "get_token": "Get Token"
+}
\ No newline at end of file
diff --git a/src/pages/go/plex/tv/get_pin/_meta.json b/src/pages/go/plex/tv/get_pin/_meta.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/src/pages/go/plex/tv/get_pin/_meta.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/src/pages/go/plex/tv/get_token/_meta.json b/src/pages/go/plex/tv/get_token/_meta.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/src/pages/go/plex/tv/get_token/_meta.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/src/pages/python/_meta.json b/src/pages/python/_meta.json
index 3d3157b..ed18a07 100644
--- a/src/pages/python/_meta.json
+++ b/src/pages/python/_meta.json
@@ -21,6 +21,7 @@
"search": "Search",
"library": "Library",
"log": "Log",
+ "plex": "Plex",
"playlists": "Playlists",
"security": "Security",
"sessions": "Sessions",
diff --git a/src/pages/python/plex/_meta.json b/src/pages/python/plex/_meta.json
new file mode 100644
index 0000000..0405164
--- /dev/null
+++ b/src/pages/python/plex/_meta.json
@@ -0,0 +1,3 @@
+{
+ "tv": "Tv"
+}
\ No newline at end of file
diff --git a/src/pages/python/plex/tv/_meta.json b/src/pages/python/plex/tv/_meta.json
new file mode 100644
index 0000000..e8b6d62
--- /dev/null
+++ b/src/pages/python/plex/tv/_meta.json
@@ -0,0 +1,4 @@
+{
+ "get_pin": "Get Pin",
+ "get_token": "Get Token"
+}
\ No newline at end of file
diff --git a/src/pages/python/plex/tv/get_pin/_meta.json b/src/pages/python/plex/tv/get_pin/_meta.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/src/pages/python/plex/tv/get_pin/_meta.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/src/pages/python/plex/tv/get_token/_meta.json b/src/pages/python/plex/tv/get_token/_meta.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/src/pages/python/plex/tv/get_token/_meta.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/src/pages/typescript/_meta.json b/src/pages/typescript/_meta.json
index 3d3157b..ed18a07 100644
--- a/src/pages/typescript/_meta.json
+++ b/src/pages/typescript/_meta.json
@@ -21,6 +21,7 @@
"search": "Search",
"library": "Library",
"log": "Log",
+ "plex": "Plex",
"playlists": "Playlists",
"security": "Security",
"sessions": "Sessions",
diff --git a/src/pages/typescript/plex/_meta.json b/src/pages/typescript/plex/_meta.json
new file mode 100644
index 0000000..0405164
--- /dev/null
+++ b/src/pages/typescript/plex/_meta.json
@@ -0,0 +1,3 @@
+{
+ "tv": "Tv"
+}
\ No newline at end of file
diff --git a/src/pages/typescript/plex/tv/_meta.json b/src/pages/typescript/plex/tv/_meta.json
new file mode 100644
index 0000000..e8b6d62
--- /dev/null
+++ b/src/pages/typescript/plex/tv/_meta.json
@@ -0,0 +1,4 @@
+{
+ "get_pin": "Get Pin",
+ "get_token": "Get Token"
+}
\ No newline at end of file
diff --git a/src/pages/typescript/plex/tv/get_pin/_meta.json b/src/pages/typescript/plex/tv/get_pin/_meta.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/src/pages/typescript/plex/tv/get_pin/_meta.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/src/pages/typescript/plex/tv/get_token/_meta.json b/src/pages/typescript/plex/tv/get_token/_meta.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/src/pages/typescript/plex/tv/get_token/_meta.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file