{
  "opencollection": "1.0.0",
  "info": {
    "name": "Plex Media Server Library API",
    "version": "1.2.2\n"
  },
  "request": {
    "auth": {
      "type": "apikey",
      "key": "X-Plex-Token",
      "value": "{{X-Plex-Token}}",
      "placement": "header"
    }
  },
  "items": [
    {
      "info": {
        "name": "Library",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get all items in library",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/all",
            "params": [
              {
                "name": "mediaQuery",
                "value": "",
                "type": "query",
                "description": "This is a complex query built of several parameters.  See [API Info section](#section/API-Info/Media-Queries) for information on building media queries"
              }
            ]
          },
          "docs": "Request all metadata items according to a query."
        },
        {
          "info": {
            "name": "Delete library caches",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/caches",
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Delete the hub caches so they are recomputed on next request"
        },
        {
          "info": {
            "name": "Clean bundles",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/clean/bundles",
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Clean out any now unused bundles.  Bundles can become unused when media is deleted"
        },
        {
          "info": {
            "name": "Ingest a transient item",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/file",
            "params": [
              {
                "name": "url",
                "value": "file:///storage%2Femulated%2F0%2FArcher-S01E01.mkv",
                "type": "query",
                "description": "The file of the file to ingest."
              },
              {
                "name": "virtualFilePath",
                "value": "/Avatar.mkv",
                "type": "query",
                "description": "A virtual path to use when the url is opaque."
              },
              {
                "name": "computeHashes",
                "value": "1",
                "type": "query",
                "description": "Whether or not to compute Plex and OpenSubtitle hashes for the file. Defaults to 0."
              },
              {
                "name": "ingestNonMatches",
                "value": "1",
                "type": "query",
                "description": "Whether or not non matching media should be stored. Defaults to 0."
              }
            ]
          },
          "docs": "This endpoint takes a file path specified in the `url` parameter, matches it using the scanner's match mechanism, downloads rich metadata, and then ingests the item as a transient item (without a library section). In the case where the file represents an episode, the entire tree (show, season, and episode) is added as transient items. At this time, movies and episodes are the only supported types, which are gleaned automatically from the file path.\nNote that any of the parameters passed to the m"
        },
        {
          "info": {
            "name": "Get library matches",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/matches",
            "params": [
              {
                "name": "type",
                "value": "",
                "type": "query",
                "description": "The metadata type to match against"
              },
              {
                "name": "includeFullMetadata",
                "value": "",
                "type": "query"
              },
              {
                "name": "includeAncestorMetadata",
                "value": "",
                "type": "query"
              },
              {
                "name": "includeAlternateMetadataSources",
                "value": "",
                "type": "query"
              },
              {
                "name": "guid",
                "value": "",
                "type": "query",
                "description": "Used for movies, shows, artists, albums, and tracks.  Allowed for various URI schemes, to be defined."
              },
              {
                "name": "title",
                "value": "",
                "type": "query",
                "description": "Used for movies, shows, artists, and albums.  Required if `path` is not specified."
              },
              {
                "name": "year",
                "value": "",
                "type": "query",
                "description": "Used for movies shows, and albums.  Optional."
              },
              {
                "name": "path",
                "value": "",
                "type": "query",
                "description": "Used for movies, episodes, and tracks.  The full path to the media file, used for \"cloud-scanning\" an item."
              },
              {
                "name": "grandparentTitle",
                "value": "",
                "type": "query",
                "description": "Used for episodes and tracks.  The title of the show/artist. Required if `path` isn't passed."
              },
              {
                "name": "grandparentYear",
                "value": "",
                "type": "query",
                "description": "Used for episodes.  The year of the show."
              },
              {
                "name": "parentIndex",
                "value": "",
                "type": "query",
                "description": "Used for episodes and tracks.  The season/album number."
              },
              {
                "name": "index",
                "value": "",
                "type": "query",
                "description": "Used for episodes and tracks.  The episode/tracks number in the season/album."
              },
              {
                "name": "originallyAvailableAt",
                "value": "",
                "type": "query",
                "description": "Used for episodes.  In the format `YYYY-MM-DD`."
              },
              {
                "name": "parentTitle",
                "value": "",
                "type": "query",
                "description": "Used for albums and tracks. The artist name for albums or the album name for tracks."
              }
            ]
          },
          "docs": "The matches endpoint is used to match content external to the library with content inside the library. This is done by passing a series of semantic \"hints\" about the content (its type, name, or release year). Each type (e.g. movie) has a canonical set of minimal required hints.\nThis ability to match content is useful in a variety of scenarios. For example, in the DVR, the EPG uses the endpoint to match recording rules against airing content. And in the cloud, the UMP uses the endpoint to match u"
        },
        {
          "info": {
            "name": "Get a chapter image",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/media/:mediaId/chapterImages/:chapter",
            "params": [
              {
                "name": "mediaId",
                "value": "",
                "type": "path",
                "description": "The id of the media item"
              },
              {
                "name": "chapter",
                "value": "",
                "type": "path",
                "description": "The index of the chapter"
              }
            ]
          },
          "docs": "Get a single chapter image for a piece of media"
        },
        {
          "info": {
            "name": "Edit a metadata item",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "args",
                "value": "",
                "type": "query",
                "description": "The new values for the metadata item"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Edit metadata items setting fields"
        },
        {
          "info": {
            "name": "Delete a metadata item",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "proxy",
                "value": "",
                "type": "query",
                "description": "Whether proxy items, such as media optimized versions, should also be deleted.  Defaults to false."
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Delete a single metadata item from the library, deleting media as well"
        },
        {
          "info": {
            "name": "Ad-detect an item",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/addetect",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Start the detection of ads in a metadata item"
        },
        {
          "info": {
            "name": "Get the leaves of an item",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/allLeaves",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Get the leaves for a metadata item such as the episodes in a show"
        },
        {
          "info": {
            "name": "Analyze an item",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/analyze",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "thumbOffset",
                "value": "",
                "type": "query",
                "description": "Set the offset to be used for thumbnails"
              },
              {
                "name": "artOffset",
                "value": "",
                "type": "query",
                "description": "Set the offset to be used for artwork"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Start the analysis of a metadata item"
        },
        {
          "info": {
            "name": "Generate thumbs of chapters for an item",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/chapterThumbs",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "force",
                "value": "",
                "type": "query"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Start the chapter thumb generation for an item"
        },
        {
          "info": {
            "name": "Credit detect a metadata item",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/credits",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "force",
                "value": "",
                "type": "query"
              },
              {
                "name": "manual",
                "value": "",
                "type": "query"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Start credit detection on a metadata item"
        },
        {
          "info": {
            "name": "Get an item's extras",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/extras",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Get the extras for a metadata item"
        },
        {
          "info": {
            "name": "Add to an item's extras",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/extras",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "extraType",
                "value": "",
                "type": "query",
                "description": "The metadata type of the extra"
              },
              {
                "name": "url",
                "value": "",
                "type": "query",
                "description": "The URL of the extra"
              },
              {
                "name": "title",
                "value": "",
                "type": "query",
                "description": "The title of the extra"
              }
            ]
          },
          "docs": "Add an extra to a metadata item"
        },
        {
          "info": {
            "name": "Get a file from a metadata or media bundle",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/file",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "url",
                "value": "",
                "type": "query",
                "description": "The bundle url, typically starting with `metadata://` or `media://`"
              }
            ]
          },
          "docs": "Get a bundle file for a metadata or media item.  This is either an image or a mp3 (for a show's theme)"
        },
        {
          "info": {
            "name": "Start BIF generation of an item",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/index",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "force",
                "value": "",
                "type": "query"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Start the indexing (BIF generation) of an item"
        },
        {
          "info": {
            "name": "Intro detect an item",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/intro",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "force",
                "value": "",
                "type": "query",
                "description": "Indicate whether detection should be re-run"
              },
              {
                "name": "threshold",
                "value": "",
                "type": "query",
                "description": "The threshold for determining if content is an intro or not"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Start the detection of intros in a metadata item"
        },
        {
          "info": {
            "name": "Create a marker",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/marker",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "type",
                "value": "",
                "type": "query",
                "description": "The type of marker to edit/create"
              },
              {
                "name": "startTimeOffset",
                "value": "",
                "type": "query",
                "description": "The start time of the marker"
              },
              {
                "name": "endTimeOffset",
                "value": "",
                "type": "query",
                "description": "The end time of the marker"
              },
              {
                "name": "attributes",
                "value": "[object Object]",
                "type": "query",
                "description": "The attributes to assign to this marker"
              }
            ]
          },
          "docs": "Create a marker for this user on the metadata item"
        },
        {
          "info": {
            "name": "Edit a marker",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/marker/:marker",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "marker",
                "value": "",
                "type": "path",
                "description": "The id of the marker to edit"
              },
              {
                "name": "type",
                "value": "",
                "type": "query",
                "description": "The type of marker to edit/create"
              },
              {
                "name": "startTimeOffset",
                "value": "",
                "type": "query",
                "description": "The start time of the marker"
              },
              {
                "name": "endTimeOffset",
                "value": "",
                "type": "query",
                "description": "The end time of the marker"
              },
              {
                "name": "attributes",
                "value": "[object Object]",
                "type": "query",
                "description": "The attributes to assign to this marker"
              }
            ]
          },
          "docs": "Edit a marker for this user on the metadata item"
        },
        {
          "info": {
            "name": "Delete a marker",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/marker/:marker",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "marker",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Delete a marker for this user on the metadata item"
        },
        {
          "info": {
            "name": "Match a metadata item",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/match",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "guid",
                "value": "",
                "type": "query"
              },
              {
                "name": "name",
                "value": "",
                "type": "query"
              },
              {
                "name": "year",
                "value": "",
                "type": "query"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Match a metadata item to a guid"
        },
        {
          "info": {
            "name": "Get metadata matches for an item",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/matches",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "title",
                "value": "",
                "type": "query"
              },
              {
                "name": "parentTitle",
                "value": "",
                "type": "query"
              },
              {
                "name": "agent",
                "value": "",
                "type": "query"
              },
              {
                "name": "language",
                "value": "",
                "type": "query"
              },
              {
                "name": "year",
                "value": "",
                "type": "query"
              },
              {
                "name": "manual",
                "value": "",
                "type": "query"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Get the list of metadata matches for a metadata item"
        },
        {
          "info": {
            "name": "Delete a media item",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/media/:mediaItem",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "mediaItem",
                "value": "",
                "type": "path"
              },
              {
                "name": "proxy",
                "value": "",
                "type": "query",
                "description": "Whether proxy items, such as media optimized versions, should also be deleted.  Defaults to false."
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Delete a single media from a metadata item in the library"
        },
        {
          "info": {
            "name": "Merge a metadata item",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/merge",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "ids",
                "value": "",
                "type": "query"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Merge a metadata item with other items"
        },
        {
          "info": {
            "name": "Get nearest tracks to metadata item",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/nearest",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "excludeParentID",
                "value": "",
                "type": "query"
              },
              {
                "name": "excludeGrandparentID",
                "value": "",
                "type": "query"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query"
              },
              {
                "name": "maxDistance",
                "value": "",
                "type": "query"
              }
            ]
          },
          "docs": "Get the nearest tracks, sonically, to the provided track"
        },
        {
          "info": {
            "name": "Set metadata preferences",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/prefs",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "args",
                "value": "",
                "type": "query"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Set the preferences on a metadata item"
        },
        {
          "info": {
            "name": "Refresh a metadata item",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/refresh",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "agent",
                "value": "",
                "type": "query"
              },
              {
                "name": "markUpdated",
                "value": "",
                "type": "query"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Refresh a metadata item from the agent"
        },
        {
          "info": {
            "name": "Get related items",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/related",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Get a hub of related items to a metadata item"
        },
        {
          "info": {
            "name": "Get similar items",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/similar",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "count",
                "value": "",
                "type": "query",
                "description": "The maximum number of similar items; defaults to 200"
              }
            ]
          },
          "docs": "Get a list of similar items to a metadata item"
        },
        {
          "info": {
            "name": "Split a metadata item",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/split",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Split a metadata item into multiple items"
        },
        {
          "info": {
            "name": "Add subtitles",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/subtitles",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "title",
                "value": "",
                "type": "query"
              },
              {
                "name": "language",
                "value": "",
                "type": "query"
              },
              {
                "name": "mediaItemID",
                "value": "",
                "type": "query"
              },
              {
                "name": "url",
                "value": "",
                "type": "query",
                "description": "The URL of the subtitle.  If not provided, the contents of the subtitle must be in the post body"
              },
              {
                "name": "format",
                "value": "",
                "type": "query"
              },
              {
                "name": "forced",
                "value": "",
                "type": "query"
              },
              {
                "name": "hearingImpaired",
                "value": "",
                "type": "query"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Add a subtitle to a metadata item"
        },
        {
          "info": {
            "name": "Get metadata items as a tree",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/tree",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Get a tree of metadata items, such as the seasons/episodes of a show"
        },
        {
          "info": {
            "name": "Unmatch a metadata item",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/unmatch",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Unmatch a metadata item to info fetched from the agent"
        },
        {
          "info": {
            "name": "Get metadata top users",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/users/top",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Get the list of users which have played this item starting with the most"
        },
        {
          "info": {
            "name": "Detect voice activity",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/voiceActivity",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "force",
                "value": "",
                "type": "query",
                "description": "Indicate whether detection should be re-run"
              },
              {
                "name": "manual",
                "value": "",
                "type": "query",
                "description": "Indicate whether detection is manually run"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Start the detection of voice in a metadata item"
        },
        {
          "info": {
            "name": "Set an item's artwork, theme, etc",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/:element",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "element",
                "value": "",
                "type": "path"
              },
              {
                "name": "url",
                "value": "",
                "type": "query",
                "description": "The url of the new asset.  If not provided, the binary of the asset must be provided in the post body."
              }
            ]
          },
          "docs": "Set the artwork, thumb, element for a metadata item\nGenerally only the admin can perform this action.  The exception is if the metadata is a playlist created by the user"
        },
        {
          "info": {
            "name": "Set an item's artwork, theme, etc",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/:element",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "element",
                "value": "",
                "type": "path"
              },
              {
                "name": "url",
                "value": "",
                "type": "query",
                "description": "The url of the new asset."
              }
            ]
          },
          "docs": "Set the artwork, thumb, element for a metadata item\nGenerally only the admin can perform this action.  The exception is if the metadata is a playlist created by the user"
        },
        {
          "info": {
            "name": "Delete an item's artwork, theme, etc",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/:element",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "element",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Delete the artwork, thumb, element for a metadata item\nThis operation will also lock the field. 'thumb' images for video items will be reset to a screengrab of the video after a refresh.\nGenerally only the admin can perform this action.  The exception is if the metadata is a playlist created by the user"
        },
        {
          "info": {
            "name": "Get an item's artwork, theme, etc",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/:ids/:element/:timestamp",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path"
              },
              {
                "name": "element",
                "value": "",
                "type": "path"
              },
              {
                "name": "timestamp",
                "value": "",
                "type": "path",
                "description": "A timestamp on the element used for cache management in the client"
              }
            ]
          },
          "docs": "Get the artwork, thumb, element for a metadata item"
        },
        {
          "info": {
            "name": "Get augmentation status",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/metadata/augmentations/:augmentationId",
            "params": [
              {
                "name": "augmentationId",
                "value": "",
                "type": "path",
                "description": "The id of the augmentation"
              },
              {
                "name": "wait",
                "value": "",
                "type": "query",
                "description": "Wait for augmentation completion before returning"
              }
            ]
          },
          "docs": "Get augmentation status and potentially wait for completion"
        },
        {
          "info": {
            "name": "Optimize the Database",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/optimize",
            "params": [
              {
                "name": "async",
                "value": "",
                "type": "query",
                "description": "If set, don't wait for completion but return an activity"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Initiate optimize on the database."
        },
        {
          "info": {
            "name": "Set stream selection",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/parts/:partId",
            "params": [
              {
                "name": "partId",
                "value": "",
                "type": "path",
                "description": "The id of the part to select streams on"
              },
              {
                "name": "audioStreamID",
                "value": "",
                "type": "query",
                "description": "The id of the audio stream to select in this part"
              },
              {
                "name": "subtitleStreamID",
                "value": "",
                "type": "query",
                "description": "The id of the subtitle stream to select in this part.  Specify 0 to select no subtitle"
              },
              {
                "name": "allParts",
                "value": "",
                "type": "query",
                "description": "Perform the same for all parts of this media selecting similar streams in each"
              }
            ]
          },
          "docs": "Set which streams (audio/subtitle) are selected by this user"
        },
        {
          "info": {
            "name": "Get BIF index for a part",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/parts/:partId/indexes/:index",
            "params": [
              {
                "name": "partId",
                "value": "",
                "type": "path",
                "description": "The part id who's index is to be fetched"
              },
              {
                "name": "index",
                "value": "",
                "type": "path",
                "description": "The type of index to grab."
              },
              {
                "name": "interval",
                "value": "",
                "type": "query",
                "description": "The interval between images to return in ms."
              }
            ]
          },
          "docs": "Get BIF index for a part by index type"
        },
        {
          "info": {
            "name": "Get an image from part BIF",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/parts/:partId/indexes/:index/:offset",
            "params": [
              {
                "name": "partId",
                "value": "",
                "type": "path",
                "description": "The part id who's index is to be fetched"
              },
              {
                "name": "index",
                "value": "",
                "type": "path",
                "description": "The type of index to grab."
              },
              {
                "name": "offset",
                "value": "",
                "type": "path",
                "description": "The offset to seek in ms."
              }
            ]
          },
          "docs": "Extract an image from the BIF for a part at a particular offset"
        },
        {
          "info": {
            "name": "Get a media part",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/parts/:partId/:changestamp/:filename",
            "params": [
              {
                "name": "partId",
                "value": "",
                "type": "path",
                "description": "The part id who's index is to be fetched"
              },
              {
                "name": "changestamp",
                "value": "",
                "type": "path",
                "description": "The changestamp of the part; used for busting potential caches.  Provided in the `key` for the part"
              },
              {
                "name": "filename",
                "value": "",
                "type": "path",
                "description": "A generic filename used for a client media stack which relies on the extension in the request.  Provided in the `key` for the part"
              },
              {
                "name": "download",
                "value": "",
                "type": "query",
                "description": "Whether this is a file download"
              }
            ]
          },
          "docs": "Get a media part for streaming or download.\n  - streaming: This is the default scenario.  Bandwidth usage on this endpoint will be guaranteed (on the server's end) to be at least the bandwidth reservation given in the decision.  If no decision exists, an ad-hoc decision will be created if sufficient bandwidth exists.  Clients should not rely on ad-hoc decisions being made as this may be removed in the future.\n  - download: Indicated if the query parameter indicates this is a download.  Bandwidth"
        },
        {
          "info": {
            "name": "Get person details",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/people/:personId",
            "params": [
              {
                "name": "personId",
                "value": "",
                "type": "path",
                "description": "Either the PMS tag `id` of the person or `tagKey` of the actor.  Note the `tagKey` is the hex portion of the plex guid for the actor"
              }
            ]
          },
          "docs": "Get details for a single actor."
        },
        {
          "info": {
            "name": "Get media for a person",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/people/:personId/media",
            "params": [
              {
                "name": "personId",
                "value": "",
                "type": "path",
                "description": "Either the PMS tag `id` of the person or `tagKey` of the actor.  Note the `tagKey` is the hex portion of the plex guid for the actor"
              }
            ]
          },
          "docs": "Get all the media for a single actor."
        },
        {
          "info": {
            "name": "Get random artwork",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/randomArtwork",
            "params": [
              {
                "name": "sections",
                "value": "5,6",
                "type": "query",
                "description": "The sections for which to fetch artwork."
              }
            ]
          },
          "docs": "Get random artwork across sections.  This is commonly used for a screensaver.\n\nThis retrieves 100 random artwork paths in the specified sections and returns them.  Restrictions are put in place to not return artwork for items the user is not allowed to access.  Artwork will be for Movies, Shows, and Artists only.\n"
        },
        {
          "info": {
            "name": "Get library sections (main Media Provider Only)",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/all"
          },
          "docs": "A library section (commonly referred to as just a library) is a collection of media. Libraries are typed, and depending on their type provide either a flat or a hierarchical view of the media. For example, a music library has an artist > albums > tracks structure, whereas a movie library is flat.\nLibraries have features beyond just being a collection of media; for starters, they include information about supported types, filters and sorts. This allows a client to provide a rich interface around "
        },
        {
          "info": {
            "name": "Add a library section",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/all",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "The name of the new section"
              },
              {
                "name": "type",
                "value": "",
                "type": "query",
                "description": "The type of library section"
              },
              {
                "name": "scanner",
                "value": "",
                "type": "query",
                "description": "The scanner this section should use"
              },
              {
                "name": "agent",
                "value": "",
                "type": "query",
                "description": "The agent this section should use for metadata"
              },
              {
                "name": "metadataAgentProviderGroupId",
                "value": "",
                "type": "query",
                "description": "The agent group id for this section"
              },
              {
                "name": "language",
                "value": "",
                "type": "query",
                "description": "The language of this section"
              },
              {
                "name": "locations",
                "value": "O:\\fatboy\\Media\\Ripped\\Music,O:\\fatboy\\Media\\My Music",
                "type": "query",
                "description": "The locations on disk to add to this section"
              },
              {
                "name": "prefs",
                "value": "[object Object]",
                "type": "query",
                "description": "The preferences for this section"
              },
              {
                "name": "relative",
                "value": "",
                "type": "query",
                "description": "If set, paths are relative to `Media Upload` path"
              },
              {
                "name": "importFromiTunes",
                "value": "",
                "type": "query",
                "description": "If set, import media from iTunes."
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Add a new library section to the server"
        },
        {
          "info": {
            "name": "Stop refresh",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/all/refresh",
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Stop all refreshes across all sections"
        },
        {
          "info": {
            "name": "Get section prefs",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/prefs",
            "params": [
              {
                "name": "type",
                "value": "",
                "type": "query",
                "description": "The metadata type"
              },
              {
                "name": "agent",
                "value": "",
                "type": "query",
                "description": "The metadata agent in use"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Get a section's preferences for a metadata type"
        },
        {
          "info": {
            "name": "Refresh all sections",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/refresh",
            "params": [
              {
                "name": "force",
                "value": "",
                "type": "query",
                "description": "Force refresh of metadata"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Tell PMS to refresh all section metadata"
        },
        {
          "info": {
            "name": "Get a library section by id",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "The section identifier"
              },
              {
                "name": "includeDetails",
                "value": "",
                "type": "query",
                "description": "Whether or not to include details for a section (types, filters, and sorts). Only exists for backwards compatibility, media providers other than the server libraries have it on always."
              }
            ]
          },
          "docs": "Returns details for the library. This can be thought of as an interstitial endpoint because it contains information about the library, rather than content itself. It often contains a list of `Directory` metadata objects: These used to be used by clients to build a menuing system."
        },
        {
          "info": {
            "name": "Edit a library section",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "The section identifier"
              },
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "The name of the new section"
              },
              {
                "name": "scanner",
                "value": "",
                "type": "query",
                "description": "The scanner this section should use"
              },
              {
                "name": "agent",
                "value": "",
                "type": "query",
                "description": "The agent this section should use for metadata"
              },
              {
                "name": "metadataAgentProviderGroupId",
                "value": "",
                "type": "query",
                "description": "The agent group id for this section"
              },
              {
                "name": "language",
                "value": "",
                "type": "query",
                "description": "The language of this section"
              },
              {
                "name": "locations",
                "value": "O:\\fatboy\\Media\\Ripped\\Music,O:\\fatboy\\Media\\My Music",
                "type": "query",
                "description": "The locations on disk to add to this section"
              },
              {
                "name": "prefs",
                "value": "[object Object]",
                "type": "query",
                "description": "The preferences for this section"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Edit a library section by id setting parameters"
        },
        {
          "info": {
            "name": "Delete a library section",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "The section identifier"
              },
              {
                "name": "async",
                "value": "",
                "type": "query",
                "description": "If set, response will return an activity with the actual deletion process.  Otherwise request will return when deletion is complete"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Delete a library section by id"
        },
        {
          "info": {
            "name": "Set the fields of the filtered items",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/all",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "The id of the section"
              },
              {
                "name": "type",
                "value": "",
                "type": "query"
              },
              {
                "name": "filters",
                "value": "",
                "type": "query",
                "description": "The filters to apply to determine which items should be modified"
              },
              {
                "name": "field.value",
                "value": "",
                "type": "query",
                "description": "Set the specified field to a new value"
              },
              {
                "name": "field.locked",
                "value": "",
                "type": "query",
                "description": "Set the specified field to locked (or unlocked if set to 0)"
              },
              {
                "name": "title.value",
                "value": "",
                "type": "query",
                "description": "This field is treated specially by albums or artists and may be used for implicit reparenting."
              },
              {
                "name": "artist.title.value",
                "value": "",
                "type": "query",
                "description": "Reparents set of Tracks or Albums - used with album.title.* in the case of tracks"
              },
              {
                "name": "artist.title.id",
                "value": "",
                "type": "query",
                "description": "Reparents set of Tracks or Albums - used with album.title.* in the case of tracks"
              },
              {
                "name": "album.title.value",
                "value": "",
                "type": "query",
                "description": "Reparents set of Tracks - Must be used in conjunction with artist.title.value or id"
              },
              {
                "name": "album.title.id",
                "value": "",
                "type": "query",
                "description": "Reparents set of Tracks - Must be used in conjunction with artist.title.value or id"
              },
              {
                "name": "tagtype[idx].tag.tag",
                "value": "",
                "type": "query",
                "description": "Creates tag and associates it with each item in the set. - [idx] links this and the next parameters together"
              },
              {
                "name": "tagtype[idx].tagging.object",
                "value": "",
                "type": "query",
                "description": "Here `object` may be text/thumb/art/theme - Optionally used in conjunction with tag.tag, to update association info across the set."
              },
              {
                "name": "tagtype[].tag.tag-",
                "value": "",
                "type": "query",
                "description": "Remove comma separated tags from the set of items"
              },
              {
                "name": "tagtype[].tag",
                "value": "",
                "type": "query",
                "description": "Remove associations of this type (e.g. genre) from the set of items"
              }
            ]
          },
          "docs": "This endpoint takes an large possible set of values.  Here are some examples.\n- **Parameters, extra documentation**\n  - artist.title.value\n      - When used with track, both artist.title.value and album.title.value need to be specified\n  - title.value usage\n      - Summary\n          - Tracks always rename and never merge\n          - Albums and Artists\n              - if single item and item without title does not exist, it is renamed.\n              - if single item and item with title does exist"
        },
        {
          "info": {
            "name": "Analyze a section",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/analyze",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Start analysis of all items in a section.  If BIF generation is enabled, this will also be started on this section"
        },
        {
          "info": {
            "name": "Get autocompletions for search",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/autocomplete",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              },
              {
                "name": "type",
                "value": "",
                "type": "query",
                "description": "Item type"
              },
              {
                "name": "field.query",
                "value": "",
                "type": "query",
                "description": "The \"field\" stands in for any field, the value is a partial string for matching"
              },
              {
                "name": "mediaQuery",
                "value": "",
                "type": "query",
                "description": "This is a complex query built of several parameters.  See [API Info section](#section/API-Info/Media-Queries) for information on building media queries"
              }
            ]
          },
          "docs": "The field to autocomplete on is specified by the {field}.query parameter. For example `genre.query` or `title.query`.\nReturns a set of items from the filtered items whose {field} starts with {field}.query.  In the results, a {field}.queryRange will be present to express the range of the match"
        },
        {
          "info": {
            "name": "Get collections in a section",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/collections",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              },
              {
                "name": "mediaQuery",
                "value": "",
                "type": "query",
                "description": "This is a complex query built of several parameters.  See [API Info section](#section/API-Info/Media-Queries) for information on building media queries"
              }
            ]
          },
          "docs": "Get all collections in a section"
        },
        {
          "info": {
            "name": "Delete a collection",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/collection/:collectionId",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              },
              {
                "name": "collectionId",
                "value": "",
                "type": "path",
                "description": "Collection Id"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Delete a library collection from the PMS"
        },
        {
          "info": {
            "name": "Get common fields for items",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/common",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              },
              {
                "name": "type",
                "value": "",
                "type": "query",
                "description": "Item type"
              },
              {
                "name": "mediaQuery",
                "value": "",
                "type": "query",
                "description": "This is a complex query built of several parameters.  See [API Info section](#section/API-Info/Media-Queries) for information on building media queries"
              }
            ]
          },
          "docs": "Represents a \"Common\" item. It contains only the common attributes of the items selected by the provided filter\nFields which are not common will be expressed in the `mixedFields` field"
        },
        {
          "info": {
            "name": "Get a section composite image",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/composite/:updatedAt",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              },
              {
                "name": "updatedAt",
                "value": "",
                "type": "path",
                "description": "The update time of the image.  Used for busting cache."
              },
              {
                "name": "mediaQuery",
                "value": "",
                "type": "query",
                "description": "This is a complex query built of several parameters.  See [API Info section](#section/API-Info/Media-Queries) for information on building media queries"
              },
              {
                "name": "composite",
                "value": "",
                "type": "query"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Get a composite image of images in this section"
        },
        {
          "info": {
            "name": "Empty section trash",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/emptyTrash",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Empty trash in the section, permanently deleting media/metadata for missing media"
        },
        {
          "info": {
            "name": "Get audio layouts in a section",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/audioLayout",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              },
              {
                "name": "mediaQuery",
                "value": "",
                "type": "query",
                "description": "This is a complex query built of several parameters.  See [API Info section](#section/API-Info/Media-Queries) for information on building media queries"
              }
            ]
          },
          "docs": "Get list of distinct audio layouts (e.g. stereo, 5.1, 7.1) found in this library section"
        },
        {
          "info": {
            "name": "Get video codecs in a section",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/videoCodec",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              },
              {
                "name": "mediaQuery",
                "value": "",
                "type": "query",
                "description": "This is a complex query built of several parameters.  See [API Info section](#section/API-Info/Media-Queries) for information on building media queries"
              }
            ]
          },
          "docs": "Get list of distinct video codecs found in this library section"
        },
        {
          "info": {
            "name": "Get audio codecs in a section",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/audioCodec",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              },
              {
                "name": "mediaQuery",
                "value": "",
                "type": "query",
                "description": "This is a complex query built of several parameters.  See [API Info section](#section/API-Info/Media-Queries) for information on building media queries"
              }
            ]
          },
          "docs": "Get list of distinct audio codecs found in this library section"
        },
        {
          "info": {
            "name": "Get subtitle codecs in a section",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/subtitleCodec",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              },
              {
                "name": "mediaQuery",
                "value": "",
                "type": "query",
                "description": "This is a complex query built of several parameters.  See [API Info section](#section/API-Info/Media-Queries) for information on building media queries"
              }
            ]
          },
          "docs": "Get list of distinct subtitle codecs found in this library section"
        },
        {
          "info": {
            "name": "Get section filters",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/filters",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Get common filters on a section"
        },
        {
          "info": {
            "name": "Get list of first characters",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/firstCharacters",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              },
              {
                "name": "type",
                "value": "",
                "type": "query",
                "description": "The metadata type to filter on"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "The metadata type to filter on"
              },
              {
                "name": "mediaQuery",
                "value": "",
                "type": "query",
                "description": "This is a complex query built of several parameters.  See [API Info section](#section/API-Info/Media-Queries) for information on building media queries"
              }
            ]
          },
          "docs": "Get list of first characters in this section"
        },
        {
          "info": {
            "name": "Delete section indexes",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/indexes",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Delete all the indexes in a section"
        },
        {
          "info": {
            "name": "Delete section intro markers",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/intros",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Delete all the intro markers in a section"
        },
        {
          "info": {
            "name": "Get section prefs",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/prefs",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              },
              {
                "name": "agent",
                "value": "",
                "type": "query"
              }
            ]
          },
          "docs": "Get the prefs for a section by id and potentially overriding the agent"
        },
        {
          "info": {
            "name": "Set section prefs",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/prefs",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              },
              {
                "name": "prefs",
                "value": "[object Object]",
                "type": "query"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Set the prefs for a section by id"
        },
        {
          "info": {
            "name": "Refresh section",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/refresh",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              },
              {
                "name": "force",
                "value": "",
                "type": "query",
                "description": "Whether the update of metadata and items should be performed even if modification dates indicate the items have not change"
              },
              {
                "name": "path",
                "value": "",
                "type": "query",
                "description": "Restrict refresh to the specified path"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Start a refresh of this section"
        },
        {
          "info": {
            "name": "Cancel section refresh",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/refresh",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "X-Plex-Token",
              "value": "{{X-Plex-Token}}",
              "placement": "header"
            }
          },
          "docs": "Cancel the refresh of a section"
        },
        {
          "info": {
            "name": "Get a section sorts",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/sections/:sectionId/sorts",
            "params": [
              {
                "name": "sectionId",
                "value": "",
                "type": "path",
                "description": "Section identifier"
              }
            ]
          },
          "docs": "Get the sort mechanisms available in a section"
        },
        {
          "info": {
            "name": "Get a stream",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/streams/:streamId.:ext",
            "params": [
              {
                "name": "streamId",
                "value": "",
                "type": "path",
                "description": "The id of the stream"
              },
              {
                "name": "ext",
                "value": "",
                "type": "path",
                "description": "The extension of the stream.  Required to fetch the `sub` portion of `idx`/`sub` subtitles"
              },
              {
                "name": "encoding",
                "value": "",
                "type": "query",
                "description": "The requested encoding for the subtitle (only used for text subtitles)"
              },
              {
                "name": "format",
                "value": "",
                "type": "query",
                "description": "The requested format for the subtitle to convert the subtitles to (only used for text subtitles)"
              },
              {
                "name": "autoAdjustSubtitle",
                "value": "",
                "type": "query",
                "description": "Whether the server should attempt to automatically adjust the subtitle timestamps to match the media"
              }
            ]
          },
          "docs": "Get a stream (such a a sidecar subtitle stream)"
        },
        {
          "info": {
            "name": "Set a stream offset",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/streams/:streamId.:ext",
            "params": [
              {
                "name": "streamId",
                "value": "",
                "type": "path",
                "description": "The id of the stream"
              },
              {
                "name": "ext",
                "value": "",
                "type": "path",
                "description": "This is not a part of this endpoint but documented here to satisfy OpenAPI"
              },
              {
                "name": "offset",
                "value": "",
                "type": "query",
                "description": "The offest in ms"
              }
            ]
          },
          "docs": "Set a stream offset in ms.  This may not be respected by all clients"
        },
        {
          "info": {
            "name": "Delete a stream",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/streams/:streamId.:ext",
            "params": [
              {
                "name": "streamId",
                "value": "",
                "type": "path",
                "description": "The id of the stream"
              },
              {
                "name": "ext",
                "value": "",
                "type": "path",
                "description": "This is not a part of this endpoint but documented here to satisfy OpenAPI"
              }
            ]
          },
          "docs": "Delete a stream.  Only applies to downloaded subtitle streams or a sidecar subtitle when media deletion is enabled."
        },
        {
          "info": {
            "name": "Get loudness about a stream",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/streams/:streamId/loudness",
            "params": [
              {
                "name": "streamId",
                "value": "",
                "type": "path",
                "description": "The id of the stream"
              },
              {
                "name": "subsample",
                "value": "",
                "type": "query",
                "description": "Subsample result down to return only the provided number of samples"
              }
            ]
          },
          "docs": "The the loudness of a stream in db, one number per line, one entry per 100ms"
        },
        {
          "info": {
            "name": "Get loudness about a stream in json",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/streams/:streamId/levels",
            "params": [
              {
                "name": "streamId",
                "value": "",
                "type": "path",
                "description": "The id of the stream"
              },
              {
                "name": "subsample",
                "value": "",
                "type": "query",
                "description": "Subsample result down to return only the provided number of samples"
              }
            ]
          },
          "docs": "The the loudness of a stream in db, one entry per 100ms"
        },
        {
          "info": {
            "name": "Get all library tags of a type",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://{IP-description}.{identifier}.plex.direct:{port}/library/tags",
            "params": [
              {
                "name": "type",
                "value": "",
                "type": "query",
                "description": "The type of tags to fetch"
              }
            ]
          },
          "docs": "Get all library tags of a type"
        }
      ]
    }
  ],
  "bundled": true
}