mirror of
https://github.com/LukeHagar/plexruby.git
synced 2025-12-06 12:47:44 +00:00
1783 lines
53 KiB
YAML
1783 lines
53 KiB
YAML
overlay: 1.0.0
|
|
info:
|
|
title: CodeSamples overlay for ruby target
|
|
version: 0.0.0
|
|
actions:
|
|
- target: $["paths"]["/"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.server.get_server_capabilities()
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/:/prefs"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.server.get_server_preferences()
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/:/progress"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.media.update_play_progress(key="<key>", time=90000.0, state="played")
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/:/scrobble"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.media.mark_played(key=59398.0)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/:/timeline"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
req = Models::Operations::GetTimelineRequest.new(
|
|
rating_key: 23409.0,
|
|
key: "/library/metadata/23409",
|
|
state: Models::Operations::State::PLAYING,
|
|
has_mde: 1.0,
|
|
time: 2000.0,
|
|
duration: 10000.0,
|
|
context: "home:hub.continueWatching",
|
|
play_queue_item_id: 1.0,
|
|
play_back_time: 2000.0,
|
|
row: 1.0,
|
|
)
|
|
|
|
res = s.video.get_timeline(req)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/:/unscrobble"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.media.mark_unplayed(key=59398.0)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/activities"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.activities.get_server_activities()
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/activities/{activityUUID}"]["delete"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.activities.cancel_server_activities(activity_uuid="25b71ed5-0f9d-461c-baa7-d404e9e10d3e")
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/butler"]["delete"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.butler.stop_all_tasks()
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/butler"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.butler.get_butler_tasks()
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/butler"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.butler.start_all_tasks()
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/butler/{taskName}"]["delete"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.butler.stop_task(task_name=Models::Operations::PathParamTaskName::BACKUP_DATABASE)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/butler/{taskName}"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.butler.start_task(task_name=Models::Operations::TaskName::CLEAN_OLD_BUNDLES)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/clients"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.server.get_available_clients()
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/companions"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.plex.get_companions_data()
|
|
|
|
if ! res.response_bodies.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/devices"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.server.get_devices()
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/friends"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.plex.get_user_friends()
|
|
|
|
if ! res.friends.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/geoip"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new
|
|
|
|
res = s.plex.get_geo_data()
|
|
|
|
if ! res.geo_data.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/home"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.plex.get_home_data()
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/hubs"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.hubs.get_global_hubs(count=1262.49, only_transient=Models::Operations::OnlyTransient::ONE)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/hubs/home/recentlyAdded"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
req = Models::Operations::GetRecentlyAddedRequest.new(
|
|
content_directory_id: 470_161,
|
|
section_id: 2,
|
|
type: Models::Operations::Type::TV_SHOW,
|
|
include_meta: Models::Operations::IncludeMeta::ENABLE,
|
|
x_plex_container_start: 0,
|
|
x_plex_container_size: 50,
|
|
)
|
|
|
|
res = s.hubs.get_recently_added(req)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/hubs/search"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.search.perform_search(query="dylan", section_id=9372.7, limit=5.0)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/hubs/search/voice"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.search.perform_voice_search(query="dead+poop", section_id=4094.8, limit=5.0)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/hubs/sections/{sectionId}"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.hubs.get_library_hubs(section_id=6728.76, count=639.24, only_transient=Models::Operations::QueryParamOnlyTransient::ONE)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/identity"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new
|
|
|
|
res = s.server.get_server_identity()
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/all/top"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.library.get_top_watched_content(type=Models::Operations::GetTopWatchedContentQueryParamType::TV_SHOW, include_guids=Models::Operations::GetTopWatchedContentQueryParamIncludeGuids::ENABLE)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/hashes"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.library.get_file_hash(url="file://C:\Image.png&type=13", type=4462.17)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/metadata/{ratingKey}"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
req = Models::Operations::GetMediaMetaDataRequest.new(
|
|
rating_key: "21119,21617",
|
|
include_concerts: true,
|
|
include_extras: true,
|
|
include_on_deck: true,
|
|
include_popular_leaves: true,
|
|
include_preferences: true,
|
|
include_reviews: true,
|
|
include_chapters: true,
|
|
include_stations: true,
|
|
include_external_media: true,
|
|
async_augment_metadata: true,
|
|
async_check_files: true,
|
|
async_refresh_analysis: true,
|
|
async_refresh_local_media_agent: true,
|
|
)
|
|
|
|
res = s.library.get_media_meta_data(req)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/metadata/{ratingKey}/arts"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.library.get_media_arts(rating_key=16_099)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/metadata/{ratingKey}/arts"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.library.post_media_arts(rating_key=2268, url="https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b", request_body="0xee51EFC6De".encode())
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/metadata/{ratingKey}/banner"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
req = Models::Operations::GetBannerImageRequest.new(
|
|
rating_key: 9518,
|
|
width: 396,
|
|
height: 396,
|
|
min_size: 1,
|
|
upscale: 1,
|
|
x_plex_token: "CV5xoxjTpFKUzBTShsaf",
|
|
)
|
|
|
|
res = s.media.get_banner_image(req)
|
|
|
|
if ! res.bytes.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/metadata/{ratingKey}/children"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.library.get_metadata_children(rating_key=1539.14, include_elements="<value>")
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/metadata/{ratingKey}/posters"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.library.get_media_posters(rating_key=16_099)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/metadata/{ratingKey}/posters"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.library.post_media_poster(rating_key=2268, url="https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b", request_body="0x7C3d45ad4B".encode())
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/metadata/{ratingKey}/thumb"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
req = Models::Operations::GetThumbImageRequest.new(
|
|
rating_key: 9518,
|
|
width: 396,
|
|
height: 396,
|
|
min_size: 1,
|
|
upscale: 1,
|
|
x_plex_token: "CV5xoxjTpFKUzBTShsaf",
|
|
)
|
|
|
|
res = s.media.get_thumb_image(req)
|
|
|
|
if ! res.bytes.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/recentlyAdded"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
req = Models::Operations::GetRecentlyAddedLibraryRequest.new(
|
|
content_directory_id: 2,
|
|
pinned_content_directory_id: [
|
|
3,
|
|
5,
|
|
7,
|
|
13,
|
|
12,
|
|
1,
|
|
6,
|
|
14,
|
|
2,
|
|
10,
|
|
16,
|
|
17,
|
|
],
|
|
section_id: 2,
|
|
type: Models::Operations::QueryParamType::TV_SHOW,
|
|
include_meta: Models::Operations::QueryParamIncludeMeta::ENABLE,
|
|
x_plex_container_start: 0,
|
|
x_plex_container_size: 50,
|
|
)
|
|
|
|
res = s.library.get_recently_added_library(req)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/search"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
req = Models::Operations::GetSearchAllLibrariesRequest.new(
|
|
query: "<value>",
|
|
client_id: "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
|
search_types: [
|
|
Models::Operations::SearchTypes::PEOPLE,
|
|
],
|
|
include_collections: Models::Operations::GetSearchAllLibrariesQueryParamIncludeCollections::ENABLE,
|
|
include_external_media: Models::Operations::GetSearchAllLibrariesQueryParamIncludeExternalMedia::ENABLE,
|
|
)
|
|
|
|
res = s.library.get_search_all_libraries(req)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/sections"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.library.get_all_libraries()
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/sections/watchlist/{filter}"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
req = Models::Operations::GetWatchListRequest.new(
|
|
filter: Models::Operations::Filter::AVAILABLE,
|
|
x_plex_container_start: 0,
|
|
x_plex_container_size: 50,
|
|
x_plex_token: "CV5xoxjTpFKUzBTShsaf",
|
|
)
|
|
|
|
res = s.watchlist.get_watch_list(req)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/sections/{sectionKey}"]["delete"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.library.delete_library(section_key=9518)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/sections/{sectionKey}"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.library.get_library_details(section_key=9518, include_details=Models::Operations::IncludeDetails::ZERO)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/sections/{sectionKey}/actor"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.library.get_actors_library(section_key=9518, type=Models::Operations::GetActorsLibraryQueryParamType::TV_SHOW)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/sections/{sectionKey}/all"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
req = Models::Operations::GetLibrarySectionsAllRequest.new(
|
|
section_key: 9518,
|
|
type: Models::Operations::GetLibrarySectionsAllQueryParamType::TV_SHOW,
|
|
include_meta: Models::Operations::GetLibrarySectionsAllQueryParamIncludeMeta::ENABLE,
|
|
include_guids: Models::Operations::QueryParamIncludeGuids::ENABLE,
|
|
include_advanced: Models::Operations::IncludeAdvanced::ENABLE,
|
|
include_collections: Models::Operations::QueryParamIncludeCollections::ENABLE,
|
|
include_external_media: Models::Operations::QueryParamIncludeExternalMedia::ENABLE,
|
|
x_plex_container_start: 0,
|
|
x_plex_container_size: 50,
|
|
)
|
|
|
|
res = s.library.get_library_sections_all(req)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/sections/{sectionKey}/country"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.library.get_countries_library(section_key=9518, type=Models::Operations::GetCountriesLibraryQueryParamType::TV_SHOW)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/sections/{sectionKey}/genre"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.library.get_genres_library(section_key=9518, type=Models::Operations::GetGenresLibraryQueryParamType::TV_SHOW)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/sections/{sectionKey}/refresh"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.library.get_refresh_library_metadata(section_key=9518, force=Models::Operations::Force::ONE)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/sections/{sectionKey}/search"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.library.get_search_library(section_key=9518, type=Models::Operations::GetSearchLibraryQueryParamType::TV_SHOW)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/library/sections/{sectionKey}/{tag}"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
req = Models::Operations::GetLibraryItemsRequest.new(
|
|
tag: Models::Operations::Tag::EDITION,
|
|
include_guids: Models::Operations::IncludeGuids::ENABLE,
|
|
type: Models::Operations::GetLibraryItemsQueryParamType::TV_SHOW,
|
|
section_key: 9518,
|
|
include_meta: Models::Operations::GetLibraryItemsQueryParamIncludeMeta::ENABLE,
|
|
x_plex_container_start: 0,
|
|
x_plex_container_size: 50,
|
|
)
|
|
|
|
res = s.library.get_library_items(req)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/log"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.log.log_line(level=Models::Operations::Level::THREE, message="Test log message", source="Postman")
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/log"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
req = "level=4&message=Test%20message%201&source=postman\n" +
|
|
"level=3&message=Test%20message%202&source=postman\n" +
|
|
"level=1&message=Test%20message%203&source=postman"
|
|
|
|
res = s.log.log_multi_line(req)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/log/networked"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.log.enable_paper_trail()
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/media/providers"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.server.get_media_providers(x_plex_token="CV5xoxjTpFKUzBTShsaf")
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/myplex/account"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.server.get_my_plex_account()
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/photo/:/transcode"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
req = Models::Operations::GetResizedPhotoRequest.new(
|
|
width: 110.0,
|
|
height: 165.0,
|
|
opacity: 643_869,
|
|
blur: 0.0,
|
|
min_size: Models::Operations::MinSize::ONE,
|
|
upscale: Models::Operations::Upscale::ONE,
|
|
url: "/library/metadata/49564/thumb/1654258204",
|
|
)
|
|
|
|
res = s.server.get_resized_photo(req)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/pins"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new
|
|
|
|
req = Models::Operations::GetPinRequest.new(
|
|
client_id: "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
|
client_name: "Plex for Roku",
|
|
device_nickname: "Roku 3",
|
|
client_version: "2.4.1",
|
|
platform: "Roku",
|
|
)
|
|
|
|
res = s.plex.get_pin(req)
|
|
|
|
if ! res.auth_pin_container.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/pins/{pinID}"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new
|
|
|
|
req = Models::Operations::GetTokenByPinIdRequest.new(
|
|
pin_id: 408_895,
|
|
client_id: "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
|
client_name: "Plex for Roku",
|
|
device_nickname: "Roku 3",
|
|
client_version: "2.4.1",
|
|
platform: "Roku",
|
|
)
|
|
|
|
res = s.plex.get_token_by_pin_id(req)
|
|
|
|
if ! res.auth_pin_container.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/playlists"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.playlists.get_playlists(playlist_type=Models::Operations::PlaylistType::AUDIO, smart=Models::Operations::QueryParamSmart::ZERO)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/playlists"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
req = Models::Operations::CreatePlaylistRequest.new(
|
|
title: "<value>",
|
|
type: Models::Operations::CreatePlaylistQueryParamType::PHOTO,
|
|
smart: Models::Operations::Smart::ONE,
|
|
uri: "https://hoarse-testing.info/",
|
|
)
|
|
|
|
res = s.playlists.create_playlist(req)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/playlists/upload"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.playlists.upload_playlist(path="/home/barkley/playlist.m3u", force=Models::Operations::QueryParamForce::ZERO, section_id=1)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/playlists/{playlistID}"]["delete"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.playlists.delete_playlist(playlist_id=216.22)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/playlists/{playlistID}"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.playlists.get_playlist(playlist_id=4109.48)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/playlists/{playlistID}"]["put"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.playlists.update_playlist(playlist_id=3915.0, title="<value>", summary="<value>")
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/playlists/{playlistID}/items"]["delete"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.playlists.clear_playlist_contents(playlist_id=1893.18)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/playlists/{playlistID}/items"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.playlists.get_playlist_contents(playlist_id=5004.46, type=Models::Operations::GetPlaylistContentsQueryParamType::TV_SHOW)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/playlists/{playlistID}/items"]["put"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.playlists.add_playlist_contents(playlist_id=8502.01, uri="server://12345/com.plexapp.plugins.library/library/metadata/1", play_queue_id=123.0)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/resources"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.plex.get_server_resources(client_id="3381b62b-9ab7-4e37-827b-203e9809eb58", include_https=Models::Operations::IncludeHttps::ENABLE, include_relay=Models::Operations::IncludeRelay::ENABLE, include_i_pv6=Models::Operations::IncludeIPv6::ENABLE)
|
|
|
|
if ! res.plex_devices.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/search"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.search.get_search_results(query="110")
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/security/resources"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.authentication.get_source_connection_information(source="server://client-identifier")
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/security/token"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.authentication.get_transient_token(type=Models::Operations::GetTransientTokenQueryParamType::DELEGATION, scope=Models::Operations::Scope::ALL)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/servers"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.server.get_server_list()
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/statistics/bandwidth"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.statistics.get_bandwidth_statistics(timespan=4)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/statistics/media"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.statistics.get_statistics(timespan=4)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/statistics/resources"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.statistics.get_resources_statistics(timespan=4)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/status/sessions"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.sessions.get_sessions()
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/status/sessions/history/all"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.sessions.get_session_history(sort="<value>", account_id=1, filter=Models::Operations::QueryParamFilter.new(), library_section_id=12)
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/transcode/sessions"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.sessions.get_transcode_sessions()
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/transcode/sessions/{sessionKey}"]["delete"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.sessions.stop_transcode_session(session_key="zz7llzqlx8w9vnrsbnwhbmep")
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/updater/apply"]["put"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.updater.apply_updates(tonight=Models::Operations::Tonight::ONE, skip=Models::Operations::Skip::ONE)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/updater/check"]["put"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.updater.check_for_updates(download=Models::Operations::Download::ONE)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/updater/status"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.updater.get_update_status()
|
|
|
|
if ! res.object.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/user"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
res = s.authentication.get_token_details()
|
|
|
|
if ! res.user_plex_account.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/users"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new
|
|
|
|
req = Models::Operations::GetUsersRequest.new(
|
|
client_id: "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
|
client_name: "Plex for Roku",
|
|
device_nickname: "Roku 3",
|
|
device_name: "Chrome",
|
|
device_screen_resolution: "1487x1165,2560x1440",
|
|
client_version: "2.4.1",
|
|
platform: "Roku",
|
|
client_features: "external-media,indirect-media,hub-style-list",
|
|
model: "4200X",
|
|
x_plex_session_id: "97e136ef-4ddd-4ff3-89a7-a5820c96c2ca",
|
|
x_plex_language: "en",
|
|
platform_version: "4.3 build 1057",
|
|
x_plex_token: "CV5xoxjTpFKUzBTShsaf",
|
|
)
|
|
|
|
res = s.users.get_users(req)
|
|
|
|
if ! res.body.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/users/signin"]["post"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new
|
|
|
|
req = Models::Operations::PostUsersSignInDataRequest.new(
|
|
client_id: "3381b62b-9ab7-4e37-827b-203e9809eb58",
|
|
client_name: "Plex for Roku",
|
|
device_nickname: "Roku 3",
|
|
client_version: "2.4.1",
|
|
platform: "Roku",
|
|
request_body: Models::Operations::PostUsersSignInDataRequestBody.new(
|
|
login: "username@email.com",
|
|
password: "password123",
|
|
verification_code: "123456",
|
|
),
|
|
)
|
|
|
|
res = s.authentication.post_users_sign_in_data(req)
|
|
|
|
if ! res.user_plex_account.nil?
|
|
# handle response
|
|
end
|
|
- target: $["paths"]["/video/:/transcode/universal/start.mpd"]["get"]
|
|
update:
|
|
x-codeSamples:
|
|
- lang: ruby
|
|
label: PlexRuby
|
|
source: |-
|
|
require 'plex_ruby_sdk'
|
|
|
|
s = ::PlexRubySDK::PlexAPI.new(
|
|
security: Models::Shared::Security.new(
|
|
access_token: "<YOUR_API_KEY_HERE>",
|
|
),
|
|
)
|
|
|
|
req = Models::Operations::StartUniversalTranscodeRequest.new(
|
|
has_mde: 1.0,
|
|
path: "/library/metadata/23409",
|
|
media_index: 0.0,
|
|
part_index: 0.0,
|
|
protocol: "hls",
|
|
fast_seek: 0.0,
|
|
direct_play: 0.0,
|
|
direct_stream: 0.0,
|
|
subtitle_size: 100.0,
|
|
subtites: "burn",
|
|
audio_boost: 100.0,
|
|
location: "lan",
|
|
media_buffer_size: 102400.0,
|
|
session: "zvcage8b7rkioqcm8f4uns4c",
|
|
add_debug_overlay: 0.0,
|
|
auto_adjust_quality: 0.0,
|
|
)
|
|
|
|
res = s.video.start_universal_transcode(req)
|
|
|
|
if res.status_code == 200
|
|
# handle response
|
|
end
|