diff --git a/404.html b/404.html
index d1a7404a..3ab4085a 100644
--- a/404.html
+++ b/404.html
@@ -1,107 +1,28 @@
-<!DOCTYPE HTML>
-<html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <title>Ampache - Music Streaming Server</title>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <meta name="description" content="">
-    <meta name="author" content="">
-    <!-- Styles -->
-    <link href="css/bootstrap.css" rel="stylesheet">
-    <link href="css/style.css" rel="stylesheet">
-    <link rel='stylesheet' id='prettyphoto-css'  href="css/prettyPhoto.css" type='text/css' media='all'>
-    <link href="css/fontello.css" type="text/css" rel="stylesheet">
-    <!--[if lt IE 7]>
-        <link href="css/fontello-ie7.css" type="text/css" rel="stylesheet">  
-    <![endif]-->
-    <link href="css/roboto.css" type="text/css" rel="stylesheet">
-    <!-- Google Web fonts -->
-    <link href='//fonts.googleapis.com/css?family=Quattrocento:400,700' rel='stylesheet' type='text/css'>
-    <link href='//fonts.googleapis.com/css?family=Patua+One' rel='stylesheet' type='text/css'>
-    <link href='//fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
-    <style>
-    body {
-        padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
-    }
-    </style>
-    <link href="css/bootstrap-responsive.css" rel="stylesheet">
-    <!-- Favicon -->
-    <link rel="shortcut icon" href="img/favicon.ico">
-    <!-- JQuery -->
-    <script type="text/javascript" src="js/jquery.js"></script>
-    <!-- Load ScrollTo -->
-    <script type="text/javascript" src="js/jquery.scrollTo-1.4.2-min.js"></script>
-    <!-- Load LocalScroll -->
-    <script type="text/javascript" src="js/jquery.localscroll-1.2.7-min.js"></script>
-    <!-- prettyPhoto Initialization -->
-    <script type="text/javascript" charset="utf-8">
-        $(document).ready(function(){
-            $("a[rel^='prettyPhoto']").prettyPhoto();
-        });
-    </script>
-  </head>
-  <body>
-    <!--******************** NAVBAR ********************-->
-    <div class="navbar-wrapper">
-      <div class="navbar navbar-inverse navbar-fixed-top">
-        <div class="navbar-inner">
-          <div class="container">
-            <!-- Responsive Navbar Part 1: Button for triggering responsive navbar (not covered in tutorial). Include responsive CSS to utilize. -->
-            <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </a>
-            <h1 class="brand"><a href="#top">Ampache <img src="img/logo/ampache-logo.png" style="border: 0; height: 50px; width: auto;" alt="Ampache"/></a></h1>
-            <!-- Responsive Navbar Part 2: Place all navbar contents you want collapsed withing .navbar-collapse.collapse. -->
-            <nav class="pull-right nav-collapse collapse">
-              <ul id="menu-main" class="nav">
-                <li><a title="home" href="index.html" class="tlink">Home</a></li>
-                <li><a title="demo" href="demo.html" class="tlink">Demo</a></li>
-                <li><a title="donate" href="donate.html" class="tlink">Donate</a></li>
-                <li><a title="download" href="https://github.com/ampache/ampache/releases" class="tlink">Download</a></li>
-                <li><a title="documentation" href="https://github.com/ampache/ampache/wiki" class="tlink">Wiki</a></li>
-                <li><a title="api" href="/api/" class="tlink">API</a></li>
-                <li><a title="github" href="https://github.com/ampache/ampache"><img src="img/GitHub-Mark-32px.png" style="border: 0;" alt="github"/></a></li>
-                <li><a title="twitter" href="https://twitter.com/ampache"><img src="img/Twitter_Social_Icon_Rounded_Square_Color.png" style="border: 0;max-width: 32px;" alt="twitter"/></a></li>
-              </ul>
-            </nav>
-          </div>
-        </div>
-      </div>
-    </div>
-    <div id="top"></div>
-    <!-- ******************** HeaderWrap ********************-->
-    <div id="headerwrap">
-      <header class="clearfix">
-        <h1><span><img src="img/logo/ampache-logo.png" style="height: 210px; width: auto; border: 0;" alt="Ampache"/><br /> Error 404<br /> That, we don't love.</span></h1>
-        <div class="container">
-          <div class="row"> </div>
-        </div>
-      </header>
-    </div>
-    <!--******************** Feature ********************-->
-    <div class="scrollblock">
-      <section id="feature">
-        <div class="container">
-          <div class="row">
-            <div class="span12">
-              <article>
-                <p>This page doesn't exist.<br />
-                  Please use the top menu for navigation.</p>
-              </article>
-            </div>
-          </div>
-        </div>
-      </section>
-    </div>
-    <hr>
-    <div class="footer-wrapper">
-      <div class="container">
-        <footer>
-          <small><a href="https://ampache.org">Ampache.org</a> - Theme by Dzyngiri</small>
-        </footer>
-      </div>
-    </div>
-    <!-- Loading the javaScript at the end of the page -->
-    <script type="text/javascript" src="js/bootstrap.js"></script>
-    <script type="text/javascript" src="js/jquery.prettyPhoto.js"></script>
-    <script type="text/javascript" src="js/site.js"></script>
-  </body>
-</html>
+<!DOCTYPE html>
+<html lang="en-US">
+<head>
+  <!-- Propelled by Ampache | ampache.org -->
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <title>Ampache -- Debug Page</title>
+  <link rel="icon" href="./public/favicon.ico">
+  <link rel="stylesheet" href="./public/lib/components/bootstrap/css/bootstrap.min.css">
+  <link rel="stylesheet" href="./public/lib/components/bootstrap/css/bootstrap-theme.min.css">
+  <link rel="stylesheet" href="./public/templates/install.css" type="text/css" media="screen">
+</head>
+<body>
+<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
+  <a class="navbar-brand" href="#"><img src="./public/images/ampache-dark.png" title="Ampache" alt="Ampache">Ampache :: For the Love of Music</a>
+</div>
+<div id="guts" class="container" role="main">
+  <div class="jumbotron" style="margin-top: 70px">
+    <h1>Warning</h1>
+    <p>The root Ampache folder has changed to <a href="./public" target="_blank">./public</a></p>
+  </div>
+  <div class="alert alert-danger">
+    <p>You must update your DocumentRoot to the new path</p>
+    <p><a href="https://github.com/ampache/ampache/wiki/Ampache-Next-Changes" target="_blank">Please check the Ampache wiki for more information</a></p>
+  </div>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/api/404.html b/api/404.html
index c170a02f..c0871026 100644
--- a/api/404.html
+++ b/api/404.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Ampache API</title><meta data-rh="true" property="og:title" content="Ampache API"><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/404.html"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/404.html"><link data-rh="true" rel="alternate" href="https://ampache.org/api/404.html" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/404.html" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/advanced-search/album-advanced-search/index.html b/api/advanced-search/album-advanced-search/index.html
index f3dd5709..af55fa6c 100644
--- a/api/advanced-search/album-advanced-search/index.html
+++ b/api/advanced-search/album-advanced-search/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Album Search | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/advanced-search/album-advanced-search"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Album Search | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/advanced-search/album-advanced-search"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/album-advanced-search" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/album-advanced-search" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/advanced-search/artist-advanced-search/index.html b/api/advanced-search/artist-advanced-search/index.html
index 633c9847..9f1af23e 100644
--- a/api/advanced-search/artist-advanced-search/index.html
+++ b/api/advanced-search/artist-advanced-search/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Artist Search | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/advanced-search/artist-advanced-search"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Artist Search | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/advanced-search/artist-advanced-search"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/artist-advanced-search" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/artist-advanced-search" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/advanced-search/genre-advanced-search/index.html b/api/advanced-search/genre-advanced-search/index.html
index 735887ec..594491b7 100644
--- a/api/advanced-search/genre-advanced-search/index.html
+++ b/api/advanced-search/genre-advanced-search/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Genre Search | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/advanced-search/genre-advanced-search"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Genre Search | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/advanced-search/genre-advanced-search"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/genre-advanced-search" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/genre-advanced-search" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/advanced-search/label-advanced-search/index.html b/api/advanced-search/label-advanced-search/index.html
index 9cc88a71..57fc8bc1 100644
--- a/api/advanced-search/label-advanced-search/index.html
+++ b/api/advanced-search/label-advanced-search/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Label Search | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/advanced-search/label-advanced-search"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Label Search | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/advanced-search/label-advanced-search"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/label-advanced-search" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/label-advanced-search" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/advanced-search/playlist-advanced-search/index.html b/api/advanced-search/playlist-advanced-search/index.html
index 06d0ab96..47667200 100644
--- a/api/advanced-search/playlist-advanced-search/index.html
+++ b/api/advanced-search/playlist-advanced-search/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Playlist Search | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/advanced-search/playlist-advanced-search"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Playlist Search | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/advanced-search/playlist-advanced-search"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/playlist-advanced-search" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/playlist-advanced-search" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/advanced-search/podcast-advanced-search/index.html b/api/advanced-search/podcast-advanced-search/index.html
index cea3c519..c2cd8be7 100644
--- a/api/advanced-search/podcast-advanced-search/index.html
+++ b/api/advanced-search/podcast-advanced-search/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Podcast Search | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/advanced-search/podcast-advanced-search"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Podcast Search | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/advanced-search/podcast-advanced-search"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/podcast-advanced-search" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/podcast-advanced-search" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/advanced-search/podcast-episode-advanced-search/index.html b/api/advanced-search/podcast-episode-advanced-search/index.html
index 80e66768..95866d56 100644
--- a/api/advanced-search/podcast-episode-advanced-search/index.html
+++ b/api/advanced-search/podcast-episode-advanced-search/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Podcast Episode Search | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/advanced-search/podcast-episode-advanced-search"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Podcast Episode Search | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/advanced-search/podcast-episode-advanced-search"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/podcast-episode-advanced-search" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/podcast-episode-advanced-search" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/advanced-search/song-advanced-search/index.html b/api/advanced-search/song-advanced-search/index.html
index 7193b7a8..71a2c0bf 100644
--- a/api/advanced-search/song-advanced-search/index.html
+++ b/api/advanced-search/song-advanced-search/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Song Search | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/advanced-search/song-advanced-search"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Song Search | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/advanced-search/song-advanced-search"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/song-advanced-search" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/song-advanced-search" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/advanced-search/user-advanced-search/index.html b/api/advanced-search/user-advanced-search/index.html
index f68e8c60..411e1430 100644
--- a/api/advanced-search/user-advanced-search/index.html
+++ b/api/advanced-search/user-advanced-search/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">User Search | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/advanced-search/user-advanced-search"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="User Search | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/advanced-search/user-advanced-search"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/user-advanced-search" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/user-advanced-search" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/advanced-search/video-advanced-search/index.html b/api/advanced-search/video-advanced-search/index.html
index 088002a1..77fd4479 100644
--- a/api/advanced-search/video-advanced-search/index.html
+++ b/api/advanced-search/video-advanced-search/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Video Search | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/advanced-search/video-advanced-search"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Video Search | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/advanced-search/video-advanced-search"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/video-advanced-search" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/advanced-search/video-advanced-search" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-3/api-errors/index.html b/api/api-3/api-errors/index.html
index d1d9fb7e..5bb3b25a 100644
--- a/api/api-3/api-errors/index.html
+++ b/api/api-3/api-errors/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API3 Errors | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-3/api-errors"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API3 Errors | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-3/api-errors"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-3/api-errors" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-3/api-errors" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-3/api-xml-methods/index.html b/api/api-3/api-xml-methods/index.html
index f35cc41c..9a55b835 100644
--- a/api/api-3/api-xml-methods/index.html
+++ b/api/api-3/api-xml-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API3 XML | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-3/api-xml-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API3 XML | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-3/api-xml-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-3/api-xml-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-3/api-xml-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-3/index.html b/api/api-3/index.html
index caad6a2d..8b308d1b 100644
--- a/api/api-3/index.html
+++ b/api/api-3/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API3 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-3/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API3 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-3/"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-3/" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-3/" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-4/api-errors/index.html b/api/api-4/api-errors/index.html
index cc652d20..0d95490c 100644
--- a/api/api-4/api-errors/index.html
+++ b/api/api-4/api-errors/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API4 Errors | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-4/api-errors"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API4 Errors | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-4/api-errors"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-4/api-errors" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-4/api-errors" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-4/api-json-methods/index.html b/api/api-4/api-json-methods/index.html
index 46fcb744..855c4c94 100644
--- a/api/api-4/api-json-methods/index.html
+++ b/api/api-4/api-json-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API4 JSON | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-4/api-json-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API4 JSON | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-4/api-json-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-4/api-json-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-4/api-json-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-4/api-xml-methods/index.html b/api/api-4/api-xml-methods/index.html
index 7447e595..44a1f22b 100644
--- a/api/api-4/api-xml-methods/index.html
+++ b/api/api-4/api-xml-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API4 XML | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-4/api-xml-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API4 XML | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-4/api-xml-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-4/api-xml-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-4/api-xml-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-4/index.html b/api/api-4/index.html
index a31813ca..2768e768 100644
--- a/api/api-4/index.html
+++ b/api/api-4/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API4 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-4/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API4 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-4/"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-4/" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-4/" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-5/api-advanced-search/index.html b/api/api-5/api-advanced-search/index.html
index 5d7e7617..2c82a08b 100644
--- a/api/api-5/api-advanced-search/index.html
+++ b/api/api-5/api-advanced-search/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5 advanced_search | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-5/api-advanced-search"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5 advanced_search | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-5/api-advanced-search"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-5/api-advanced-search" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-5/api-advanced-search" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-5/api-errors/index.html b/api/api-5/api-errors/index.html
index 5ce8232f..2b613453 100644
--- a/api/api-5/api-errors/index.html
+++ b/api/api-5/api-errors/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5 Errors | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-5/api-errors"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5 Errors | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-5/api-errors"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-5/api-errors" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-5/api-errors" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-5/api-json-methods/index.html b/api/api-5/api-json-methods/index.html
index 2c98cd96..b2023019 100644
--- a/api/api-5/api-json-methods/index.html
+++ b/api/api-5/api-json-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5 JSON Methods | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-5/api-json-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5 JSON Methods | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-5/api-json-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-5/api-json-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-5/api-json-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-5/api-standards/index.html b/api/api-5/api-standards/index.html
index 2c310e9c..3a05ad35 100644
--- a/api/api-5/api-standards/index.html
+++ b/api/api-5/api-standards/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5 Standards | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-5/api-standards"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5 Standards | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-5/api-standards"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-5/api-standards" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-5/api-standards" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-5/api-xml-methods/index.html b/api/api-5/api-xml-methods/index.html
index b6ca7eab..206add7f 100644
--- a/api/api-5/api-xml-methods/index.html
+++ b/api/api-5/api-xml-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5 XML Methods | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-5/api-xml-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5 XML Methods | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-5/api-xml-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-5/api-xml-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-5/api-xml-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-5/index.html b/api/api-5/index.html
index d115f878..10fcba8f 100644
--- a/api/api-5/index.html
+++ b/api/api-5/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-5/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-5/"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-5/" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-5/" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-acls/index.html b/api/api-acls/index.html
index 42a60232..91b842a9 100644
--- a/api/api-acls/index.html
+++ b/api/api-acls/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Access Control Lists | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-acls"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Access Control Lists | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-acls"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-acls" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-acls" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-advanced-search/index.html b/api/api-advanced-search/index.html
index 93710fe7..8eb889d3 100644
--- a/api/api-advanced-search/index.html
+++ b/api/api-advanced-search/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">advanced_search | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-advanced-search"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="advanced_search | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-advanced-search"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-advanced-search" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-advanced-search" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-browse/index.html b/api/api-browse/index.html
index c6c8d93d..460f4b79 100644
--- a/api/api-browse/index.html
+++ b/api/api-browse/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API Browse methods | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-browse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API Browse methods | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-browse"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-browse" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-browse" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-changelog/index.html b/api/api-changelog/index.html
index 7517fc16..53f8a625 100644
--- a/api/api-changelog/index.html
+++ b/api/api-changelog/index.html
@@ -4,15 +4,114 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API Changelog | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-changelog"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API Changelog | Ampache API"><meta data-rh="true" name="description" content="API Changelog"><meta data-rh="true" property="og:description" content="API Changelog"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-changelog"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-changelog" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-changelog" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
-<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/api/"><div class="navbar__logo"><img src="/api/img/ampache-logo.png" alt="Ampache Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/api/img/ampache-logo.png" alt="Ampache Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">Ampache API</b></a><a href="https://ampache.org" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Ampache.org</a></div><div class="navbar__items navbar__items--right"><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/">Ampache API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/api-standards">Standards</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/api-xml-methods">XML Methods</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/api-json-methods">JSON Methods</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/api-errors">Errors</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/api-examples">API Examples</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/api/api-changelog">API Changelog</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/api-acls">Access Control Lists</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/api-media-methods">Media Methods</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/api/api-browse">Browse Methods</a><button aria-label="Expand sidebar category &#x27;Browse Methods&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/api/api-advanced-search">advanced_search</a><button aria-label="Expand sidebar category &#x27;advanced_search&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/subsonic">Subsonic API</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/api/api-5/">API5</a><button aria-label="Expand sidebar category &#x27;API5&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/api/api-4/">API4</a><button aria-label="Expand sidebar category &#x27;API4&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/api/api-3/">API3</a><button aria-label="Expand sidebar category &#x27;API3&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/api/versions/">Past Releases</a><button aria-label="Expand sidebar category &#x27;Past Releases&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/api/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">API Changelog</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>API Changelog</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-660">API 6.6.0<a href="#api-660" class="hash-link" aria-label="Direct link to API 6.6.0" title="Direct link to API 6.6.0">​</a></h2>
+<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"light")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/api/"><div class="navbar__logo"><img src="/api/img/ampache-logo.png" alt="Ampache Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/api/img/ampache-logo.png" alt="Ampache Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">Ampache API</b></a><a href="https://ampache.org" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Ampache.org</a></div><div class="navbar__items navbar__items--right"><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="navbarSearchContainer_Bca1"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/">Ampache API</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/api-standards">Standards</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/api-xml-methods">XML Methods</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/api-json-methods">JSON Methods</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/api-errors">Errors</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/api-examples">API Examples</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/api/api-changelog">API Changelog</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/api-acls">Access Control Lists</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/api-media-methods">Media Methods</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/api/api-browse">Browse Methods</a><button aria-label="Expand sidebar category &#x27;Browse Methods&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/api/api-advanced-search">advanced_search</a><button aria-label="Expand sidebar category &#x27;advanced_search&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/api/subsonic">Subsonic API</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/api/api-5/">API5</a><button aria-label="Expand sidebar category &#x27;API5&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/api/api-4/">API4</a><button aria-label="Expand sidebar category &#x27;API4&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/api/api-3/">API3</a><button aria-label="Expand sidebar category &#x27;API3&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" href="/api/versions/">Past Releases</a><button aria-label="Expand sidebar category &#x27;Past Releases&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/api/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">API Changelog</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>API Changelog</h1></header><h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-664">API 6.6.4<a href="#api-664" class="hash-link" aria-label="Direct link to API 6.6.4" title="Direct link to API 6.6.4">​</a></h2>
+<p>Merge update from Ampache7.</p>
+<p>This update has counting updates to allow faster responses on larger results</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added">Added<a href="#added" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<ul>
+<li>API6<!-- -->
+<ul>
+<li>Use set_count function on data classes to speed up counting response totals</li>
+<li>Validate <code>website</code> for <code>user_edit</code></li>
+<li>Use split search for search methods<!-- -->
+<ul>
+<li>advanced_search / search</li>
+<li>search_songs</li>
+<li>user_update</li>
+<li>playlist_generate</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>API5<!-- -->
+<ul>
+<li>Use split search for search methods<!-- -->
+<ul>
+<li>advanced_search</li>
+<li>search_songs</li>
+<li>user_update</li>
+<li>playlist_generate</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>API4<!-- -->
+<ul>
+<li>Use split search for search methods<!-- -->
+<ul>
+<li>advanced_search</li>
+<li>search_songs</li>
+<li>user_update</li>
+<li>playlist_generate</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>API3<!-- -->
+<ul>
+<li>Use split search for search methods<!-- -->
+<ul>
+<li>advanced_search</li>
+<li>search_songs</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed">Changed<a href="#changed" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<ul>
+<li>Rename API-CHANGELOG.md =&gt; CHANGELOG-API.md</li>
+</ul>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-663">API 6.6.3<a href="#api-663" class="hash-link" aria-label="Direct link to API 6.6.3" title="Direct link to API 6.6.3">​</a></h2>
+<p><strong>NO CHANGE</strong></p>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-662">API 6.6.2<a href="#api-662" class="hash-link" aria-label="Direct link to API 6.6.2" title="Direct link to API 6.6.2">​</a></h2>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-1">Added<a href="#added-1" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<ul>
+<li>API6<!-- -->
+<ul>
+<li>Add <code>stats</code> parameter to stream and download methods (If false disable stat recording when playing the object)</li>
+<li>Respect <code>api_always_download</code> in stream and download methods</li>
+<li>Add sorting to stats calls</li>
+<li>add <code>user</code> object to playlist responses (owner of the playlist)</li>
+</ul>
+</li>
+</ul>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed">Fixed<a href="#fixed" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<ul>
+<li>ALL<!-- -->
+<ul>
+<li>index: Artist index not showing albums</li>
+</ul>
+</li>
+</ul>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-661">API 6.6.1<a href="#api-661" class="hash-link" aria-label="Direct link to API 6.6.1" title="Direct link to API 6.6.1">​</a></h2>
+<p>This release keeps parity between Ampache7 releases by backporting the updated code.</p>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-2">Added<a href="#added-2" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<ul>
+<li>API6<!-- -->
+<ul>
+<li>Add maximum ID properties to <code>handshake</code> and <code>ping</code> (with auth) responses for media types<!-- -->
+<ul>
+<li><code>max_song</code>, <code>max_album</code>, <code>max_artist</code>, <code>max_video</code>, <code>max_podcast</code>, <code>max_podcast_episode</code></li>
+</ul>
+</li>
+<li>flag: add <code>date</code> as a parameter (set the time for your flag)</li>
+</ul>
+</li>
+</ul>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-1">Changed<a href="#changed-1" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<ul>
+<li>lost_password: deny access in simple_user_mode</li>
+</ul>
+<h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-660">API 6.6.0<a href="#api-660" class="hash-link" aria-label="Direct link to API 6.6.0" title="Direct link to API 6.6.0">​</a></h2>
 <p>Like with <code>total_count</code>, we&#x27;ve added an md5sum of the results (called <code>md5</code>) in responses</p>
 <p>This is useful for recording whether you need to update or change results.</p>
 <p>Inconsistency with the return of object arrays and single items have been fixed and docs updated.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added">Added<a href="#added" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-3">Added<a href="#added-3" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>ALL<!-- -->
 <ul>
@@ -32,7 +131,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="added">Added<a href="#added"
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed">Changed<a href="#changed" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-2">Changed<a href="#changed-2" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
 <ul>
 <li>API6<!-- -->
 <ul>
@@ -42,7 +141,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed">Changed<a href="#cha
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed">Fixed<a href="#fixed" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-1">Fixed<a href="#fixed-1" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>ALL<!-- -->
 <ul>
@@ -62,7 +161,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed">Fixed<a href="#fixed"
 </li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-640">API 6.4.0<a href="#api-640" class="hash-link" aria-label="Direct link to API 6.4.0" title="Direct link to API 6.4.0">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-1">Added<a href="#added-1" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-4">Added<a href="#added-4" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>API6<!-- -->
 <ul>
@@ -77,7 +176,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-1">Added<a href="#added
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-1">Changed<a href="#changed-1" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-3">Changed<a href="#changed-3" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
 <ul>
 <li>API6<!-- -->
 <ul>
@@ -85,7 +184,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-1">Changed<a href="#c
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-1">Fixed<a href="#fixed-1" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-2">Fixed<a href="#fixed-2" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>ALL<!-- -->
 <ul>
@@ -107,7 +206,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-1">Fixed<a href="#fixed
 </li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-631">API 6.3.1<a href="#api-631" class="hash-link" aria-label="Direct link to API 6.3.1" title="Direct link to API 6.3.1">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-2">Added<a href="#added-2" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-5">Added<a href="#added-5" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>API6<!-- -->
 <ul>
@@ -116,7 +215,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-2">Added<a href="#added
 </li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-630">API 6.3.0<a href="#api-630" class="hash-link" aria-label="Direct link to API 6.3.0" title="Direct link to API 6.3.0">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-3">Added<a href="#added-3" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-6">Added<a href="#added-6" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>API6<!-- -->
 <ul>
@@ -131,7 +230,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-3">Added<a href="#added
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-2">Changed<a href="#changed-2" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-4">Changed<a href="#changed-4" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
 <ul>
 <li>API6<!-- -->
 <ul>
@@ -141,7 +240,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-2">Changed<a href="#c
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-2">Fixed<a href="#fixed-2" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-3">Fixed<a href="#fixed-3" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>ALL<!-- -->
 <ul>
@@ -168,12 +267,12 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-2">Fixed<a href="#fixed
 </li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-620">API 6.2.0<a href="#api-620" class="hash-link" aria-label="Direct link to API 6.2.0" title="Direct link to API 6.2.0">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-4">Added<a href="#added-4" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-7">Added<a href="#added-7" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>API: Allow non-expiring user sessions when using a header token</li>
 <li>Allow endless api sessions. (You should start using http header auth to hide these)</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-3">Changed<a href="#changed-3" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-5">Changed<a href="#changed-5" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
 <ul>
 <li>Set default API version to 6 (was 5)</li>
 <li>Allow raising and lowering response version on ping to <strong>any</strong> version</li>
@@ -183,7 +282,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-3">Changed<a href="#c
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-3">Fixed<a href="#fixed-3" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-4">Fixed<a href="#fixed-4" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>ALL<!-- -->
 <ul>
@@ -210,7 +309,7 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-610">API 6.1.0<a href="#a
 <p>Two new methods have been added</p>
 <p>The bookmark methods have had a bit of a rework as they were not very useful</p>
 <p>Finally the issues with setting your auth token in the http header have been fixed</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-5">Added<a href="#added-5" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-8">Added<a href="#added-8" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>API6<!-- -->
 <ul>
@@ -233,7 +332,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-5">Added<a href="#added
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-4">Changed<a href="#changed-4" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-6">Changed<a href="#changed-6" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
 <ul>
 <li>API5<!-- -->
 <ul>
@@ -268,7 +367,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-4">Changed<a href="#c
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-4">Fixed<a href="#fixed-4" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-5">Fixed<a href="#fixed-5" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>ALL<!-- -->
 <ul>
@@ -309,11 +408,11 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-4">Fixed<a href="#fixed
 </li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-603">API 6.0.3<a href="#api-603" class="hash-link" aria-label="Direct link to API 6.0.3" title="Direct link to API 6.0.3">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-6">Added<a href="#added-6" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-9">Added<a href="#added-9" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>API5::playlist_songs: Add <code>random</code> to get random objects filtered by limit</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-5">Fixed<a href="#fixed-5" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-6">Fixed<a href="#fixed-6" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>ALL<!-- -->
 <ul>
@@ -332,7 +431,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-5">Fixed<a href="#fixed
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-602">API 6.0.2<a href="#api-602" class="hash-link" aria-label="Direct link to API 6.0.2" title="Direct link to API 6.0.2">​</a></h2>
 <p><strong>NO CHANGE</strong></p>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-601">API 6.0.1<a href="#api-601" class="hash-link" aria-label="Direct link to API 6.0.1" title="Direct link to API 6.0.1">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-5">Changed<a href="#changed-5" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-7">Changed<a href="#changed-7" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
 <ul>
 <li>API6 XML<!-- -->
 <ul>
@@ -340,7 +439,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-5">Changed<a href="#c
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-6">Fixed<a href="#fixed-6" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-7">Fixed<a href="#fixed-7" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>API6<!-- -->
 <ul>
@@ -353,7 +452,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-6">Fixed<a href="#fixed
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-600">API 6.0.0<a href="#api-600" class="hash-link" aria-label="Direct link to API 6.0.0" title="Direct link to API 6.0.0">​</a></h2>
 <p>Stream token&#x27;s will let you design permalinked streams and allow users to stream iwhtout re authenticating to the server. <a href="https://github.com/ampache/ampache/wiki/ampache6-details#allow-permalink-user-streams" target="_blank" rel="noopener noreferrer">wiki</a></p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-7">Added<a href="#added-7" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-10">Added<a href="#added-10" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>API5::playlist_songs: Add <code>random</code> to get random objects filtered by limit</li>
 <li>API6 (Based on API5)<!-- -->
@@ -409,7 +508,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-7">Added<a href="#added
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-6">Changed<a href="#changed-6" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-8">Changed<a href="#changed-8" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
 <ul>
 <li>Api6<!-- -->
 <ul>
@@ -460,7 +559,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="removed">Removed<a href="#rem
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-7">Fixed<a href="#fixed-7" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-8">Fixed<a href="#fixed-8" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>ALL<!-- -->
 <ul>
@@ -480,7 +579,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-7">Fixed<a href="#fixed
 </li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-564">API 5.6.4<a href="#api-564" class="hash-link" aria-label="Direct link to API 5.6.4" title="Direct link to API 5.6.4">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-8">Fixed<a href="#fixed-8" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-9">Fixed<a href="#fixed-9" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>ALL<!-- -->
 <ul>
@@ -501,11 +600,11 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-8">Fixed<a href="#fixed
 </li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-563">API 5.6.3<a href="#api-563" class="hash-link" aria-label="Direct link to API 5.6.3" title="Direct link to API 5.6.3">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-8">Added<a href="#added-8" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-11">Added<a href="#added-11" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>API5::playlist_songs: Add <code>random</code> to get random objects filtered by limit</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-9">Fixed<a href="#fixed-9" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-10">Fixed<a href="#fixed-10" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>ALL<!-- -->
 <ul>
@@ -527,7 +626,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-9">Fixed<a href="#fixed
 </li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-562">API 5.6.2<a href="#api-562" class="hash-link" aria-label="Direct link to API 5.6.2" title="Direct link to API 5.6.2">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-10">Fixed<a href="#fixed-10" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-11">Fixed<a href="#fixed-11" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>ALL<!-- -->
 <ul>
@@ -538,7 +637,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-10">Fixed<a href="#fixe
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-561">API 5.6.1<a href="#api-561" class="hash-link" aria-label="Direct link to API 5.6.1" title="Direct link to API 5.6.1">​</a></h2>
 <p><strong>NO CHANGE</strong></p>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-560">API 5.6.0<a href="#api-560" class="hash-link" aria-label="Direct link to API 5.6.0" title="Direct link to API 5.6.0">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-11">Fixed<a href="#fixed-11" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-12">Fixed<a href="#fixed-12" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>ALL<!-- -->
 <ul>
@@ -556,12 +655,12 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-11">Fixed<a href="#fixe
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-556">API 5.5.6<a href="#api-556" class="hash-link" aria-label="Direct link to API 5.5.6" title="Direct link to API 5.5.6">​</a></h2>
 <p>Fix various runtime errors and incorrect parameters for responses.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-7">Changed<a href="#changed-7" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-9">Changed<a href="#changed-9" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
 <ul>
 <li>API browses all point to the Api class</li>
 <li>Use <code>FILTER_VALIDATE_IP</code> on ping calls</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-12">Fixed<a href="#fixed-12" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-13">Fixed<a href="#fixed-13" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>Api5<!-- -->
 <ul>
@@ -596,7 +695,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-12">Fixed<a href="#fixe
 </li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-554">API 5.5.4<a href="#api-554" class="hash-link" aria-label="Direct link to API 5.5.4" title="Direct link to API 5.5.4">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-13">Fixed<a href="#fixed-13" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-14">Fixed<a href="#fixed-14" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>User count in Api::ping and Api::handshake was doubled</li>
 <li>Api3::stats method had incorrect recent parameters</li>
@@ -605,7 +704,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-13">Fixed<a href="#fixe
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-553">API 5.5.3<a href="#api-553" class="hash-link" aria-label="Direct link to API 5.5.3" title="Direct link to API 5.5.3">​</a></h2>
 <p><strong>NO CHANGE</strong></p>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-552">API 5.5.2<a href="#api-552" class="hash-link" aria-label="Direct link to API 5.5.2" title="Direct link to API 5.5.2">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-9">Added<a href="#added-9" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-12">Added<a href="#added-12" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>advanced_search<!-- -->
 <ul>
@@ -617,7 +716,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-9">Added<a href="#added
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-14">Fixed<a href="#fixed-14" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-15">Fixed<a href="#fixed-15" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>advanced_search<!-- -->
 <ul>
@@ -628,7 +727,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-14">Fixed<a href="#fixe
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-551">API 5.5.1<a href="#api-551" class="hash-link" aria-label="Direct link to API 5.5.1" title="Direct link to API 5.5.1">​</a></h2>
 <p><strong>NO CHANGE</strong></p>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-550">API 5.5.0<a href="#api-550" class="hash-link" aria-label="Direct link to API 5.5.0" title="Direct link to API 5.5.0">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-10">Added<a href="#added-10" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-13">Added<a href="#added-13" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>Api::stream add new types <code>playlist</code> and <code>search</code> (Streams a random object from these lists)</li>
 <li>Api::download add new types <code>playlist</code> and <code>search</code></li>
@@ -664,7 +763,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-10">Added<a href="#adde
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-15">Fixed<a href="#fixed-15" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-16">Fixed<a href="#fixed-16" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>API4::get_indexes podcast_episode was encoding into the API5 object</li>
 <li>API4::share_create was unable to share when using lowercase types</li>
@@ -675,7 +774,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-15">Fixed<a href="#fixe
 </li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api--541">API  5.4.1<a href="#api--541" class="hash-link" aria-label="Direct link to API  5.4.1" title="Direct link to API  5.4.1">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-11">Added<a href="#added-11" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-14">Added<a href="#added-14" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>Include <code>lyrics</code> in Song objects</li>
 <li>advanced_search<!-- -->
@@ -687,7 +786,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-11">Added<a href="#adde
 </li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-540">API 5.4.0<a href="#api-540" class="hash-link" aria-label="Direct link to API 5.4.0" title="Direct link to API 5.4.0">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-12">Added<a href="#added-12" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-15">Added<a href="#added-15" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>advanced_search<!-- -->
 <ul>
@@ -696,7 +795,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-12">Added<a href="#adde
 </li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-533">API 5.3.3<a href="#api-533" class="hash-link" aria-label="Direct link to API 5.3.3" title="Direct link to API 5.3.3">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-13">Added<a href="#added-13" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-16">Added<a href="#added-16" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>advanced_search<!-- -->
 <ul>
@@ -711,7 +810,7 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-532">API 5.3.2<a href="#a
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-531">API 5.3.1<a href="#api-531" class="hash-link" aria-label="Direct link to API 5.3.1" title="Direct link to API 5.3.1">​</a></h2>
 <p><strong>NO CHANGE</strong></p>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-530">API 5.3.0<a href="#api-530" class="hash-link" aria-label="Direct link to API 5.3.0" title="Direct link to API 5.3.0">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-14">Added<a href="#added-14" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-17">Added<a href="#added-17" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>advanced_search:<!-- -->
 <ul>
@@ -729,7 +828,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-14">Added<a href="#adde
 </li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-521">API 5.2.1<a href="#api-521" class="hash-link" aria-label="Direct link to API 5.2.1" title="Direct link to API 5.2.1">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-8">Changed<a href="#changed-8" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-10">Changed<a href="#changed-10" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
 <ul>
 <li>API5<!-- -->
 <ul>
@@ -737,7 +836,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-8">Changed<a href="#c
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-16">Fixed<a href="#fixed-16" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-17">Fixed<a href="#fixed-17" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>API4<!-- -->
 <ul>
@@ -760,7 +859,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-16">Fixed<a href="#fixe
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-520">API 5.2.0<a href="#api-520" class="hash-link" aria-label="Direct link to API 5.2.0" title="Direct link to API 5.2.0">​</a></h2>
 <p>Check out the docs for multi API support at <a href="https://ampache.org/api/" target="_blank" rel="noopener noreferrer">ampache.org</a></p>
 <p><strong>note</strong> JSON didn&#x27;t exist for API3 so all json requests from API3 calls will revert to API5</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-15">Added<a href="#added-15" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-18">Added<a href="#added-18" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>Support for API3, API4 and API5 responses including PHP8 support (keeps original tag calls)</li>
 <li>API5<!-- -->
@@ -781,14 +880,14 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-15">Added<a href="#adde
 </li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-511">API 5.1.1<a href="#api-511" class="hash-link" aria-label="Direct link to API 5.1.1" title="Direct link to API 5.1.1">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-17">Fixed<a href="#fixed-17" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-18">Fixed<a href="#fixed-18" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>Access to podcast_episode_delete</li>
 <li>stats calls with an offest and limit</li>
 <li>advanced_search calls with an offset and limit</li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-510">API 5.1.0<a href="#api-510" class="hash-link" aria-label="Direct link to API 5.1.0" title="Direct link to API 5.1.0">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-16">Added<a href="#added-16" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-19">Added<a href="#added-19" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>NEW API functions<!-- -->
 <ul>
@@ -799,12 +898,12 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-16">Added<a href="#adde
 <li>Api::stream Added type &#x27;podcast_episode&#x27; (&#x27;podcast&#x27; to be removed in Ampache 6.0.0)</li>
 <li>Add &#x27;time&#x27; and &#x27;size&#x27; to all podcast_episode responses</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-9">Changed<a href="#changed-9" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-11">Changed<a href="#changed-11" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
 <ul>
 <li>live_stream objects added &#x27;catalog&#x27; and &#x27;site_url&#x27;</li>
 <li>stats: additional type values: &#x27;video&#x27;, &#x27;playlist&#x27;, &#x27;podcast&#x27;, &#x27;podcast_episode&#x27;</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-18">Fixed<a href="#fixed-18" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-19">Fixed<a href="#fixed-19" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>get_indexes: JSON didn&#x27;t think live_streams was valid (it is)</li>
 <li>record_play: user is optional</li>
@@ -814,7 +913,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-18">Fixed<a href="#fixe
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-500">API 5.0.0<a href="#api-500" class="hash-link" aria-label="Direct link to API 5.0.0" title="Direct link to API 5.0.0">​</a></h2>
 <p>All API code that used &#x27;Tag&#x27; now references &#x27;Genre&#x27; instead</p>
 <p>This version of the API is the first semantic version. &quot;5.0.0&quot;</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-17">Added<a href="#added-17" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-20">Added<a href="#added-20" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>Add global playcount to podcast_episode and video responses</li>
 <li>searches (the number of saved smartlists) added to the handshake/ping response</li>
@@ -844,7 +943,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-17">Added<a href="#adde
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-10">Changed<a href="#changed-10" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-12">Changed<a href="#changed-12" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
 <ul>
 <li>The API version matches release version &#x27;5.0.0&#x27;</li>
 <li>A backcompatible version (500000) is sent when using old api versions</li>
@@ -892,23 +991,23 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-10">Changed<a href="#
 <li>podcast_episode object &quot;pubdate&quot; has been changed to ISO 8601 date (2004-02-12T15:19:21+00:00)</li>
 <li>podcast object &quot;build_date&quot; and &quot;sync_date&quot; have also been changed to ISO 8601 date</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-19">Fixed<a href="#fixed-19" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-20">Fixed<a href="#fixed-20" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>catalog_file: Couldn&#x27;t add files</li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-442">API 4.4.2<a href="#api-442" class="hash-link" aria-label="Direct link to API 4.4.2" title="Direct link to API 4.4.2">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-20">Fixed<a href="#fixed-20" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-21">Fixed<a href="#fixed-21" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>API::indexes Artist albums were being added incorrectly for XML</li>
 <li>Send back the full album name in responses</li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-441">API 4.4.1<a href="#api-441" class="hash-link" aria-label="Direct link to API 4.4.1" title="Direct link to API 4.4.1">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-21">Fixed<a href="#fixed-21" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-22">Fixed<a href="#fixed-22" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>API::stats would not offset recent calls</li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-440">API 4.4.0<a href="#api-440" class="hash-link" aria-label="Direct link to API 4.4.0" title="Direct link to API 4.4.0">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-18">Added<a href="#added-18" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-21">Added<a href="#added-21" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>NEW API functions<!-- -->
 <ul>
@@ -947,7 +1046,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-18">Added<a href="#adde
 </li>
 <li>Api::ping match the handshake response (excluding the auth token)</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-11">Changed<a href="#changed-11" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-13">Changed<a href="#changed-13" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
 <ul>
 <li>get_indexes: &#x27;playlist&#x27; now requires include=1 for xml calls if you want the tracks</li>
 <li>Make filter optional in shares</li>
@@ -958,7 +1057,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-11">Changed<a href="#
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-22">Fixed<a href="#fixed-22" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-23">Fixed<a href="#fixed-23" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>Api::podcast_edit wasn&#x27;t able to edit a podcast...</li>
 <li>Api::democratic was using action from localplay in the return responses</li>
@@ -977,7 +1076,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="deprecated">Deprecated<a href
 </li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-430">API 4.3.0<a href="#api-430" class="hash-link" aria-label="Direct link to API 4.3.0" title="Direct link to API 4.3.0">​</a></h2>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-12">Changed<a href="#changed-12" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-14">Changed<a href="#changed-14" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
 <ul>
 <li>Api::record_play<!-- -->
 <ul>
@@ -1009,11 +1108,11 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-423">API 4.2.3<a href="#a
 <p><strong>NO CHANGE</strong></p>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-422">API 4.2.2<a href="#api-422" class="hash-link" aria-label="Direct link to API 4.2.2" title="Direct link to API 4.2.2">​</a></h2>
 <p>Minor bugfixes</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-19">Added<a href="#added-19" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-22">Added<a href="#added-22" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>Api::advanced_search added parameter &#x27;random&#x27; (0|1) to shuffle your searches</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-13">Changed<a href="#changed-13" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-15">Changed<a href="#changed-15" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
 <ul>
 <li>Remove spaces from advanced_search rule names. (Backwards compatible with old names)<!-- -->
 <ul>
@@ -1028,21 +1127,21 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="deprecated-1">Deprecated<a hr
 <ul>
 <li>Search rules &#x27;has image&#x27;, &#x27;image height&#x27;, &#x27;image width&#x27;, &#x27;filename&#x27;. (Removed in Ampache 5.0.0)</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-23">Fixed<a href="#fixed-23" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-24">Fixed<a href="#fixed-24" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>Api::stream, Api::download Api::playlist_generate &#x27;format&#x27; parameter was overwritten with &#x27;xml&#x27; or &#x27;json&#x27;</li>
 <li>Produce valid XML for playlist_generate using the &#x27;id&#x27; format in XML</li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-421">API 4.2.1<a href="#api-421" class="hash-link" aria-label="Direct link to API 4.2.1" title="Direct link to API 4.2.1">​</a></h2>
 <p>No functional changes from 4.2.0</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-24">Fixed<a href="#fixed-24" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-25">Fixed<a href="#fixed-25" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>Filter in &quot;playlist&quot; and &quot;playlist_songs&quot; fixed</li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-420">API 4.2.0<a href="#api-420" class="hash-link" aria-label="Direct link to API 4.2.0" title="Direct link to API 4.2.0">​</a></h2>
 <p><strong>API versions will follow release version and no longer use builds in the integer versions (e.g. 420000)</strong>
 API 5.0.0-release will be the first Ampache release to match the release string.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-20">Added<a href="#added-20" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-23">Added<a href="#added-23" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>JSON API now available!<!-- -->
 <ul>
@@ -1076,7 +1175,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-20">Added<a href="#adde
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-14">Changed<a href="#changed-14" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-16">Changed<a href="#changed-16" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
 <ul>
 <li>Bump API version to 420000 (4.2.0)</li>
 <li>All calls that return songs now include <code>&lt;playlisttrack&gt;</code> which can be used to identify track order.</li>
@@ -1111,18 +1210,18 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="deprecated-2">Deprecated<a hr
 </ul>
 </li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-25">Fixed<a href="#fixed-25" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-26">Fixed<a href="#fixed-26" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>Extra text in catalog API calls</li>
 <li>Don&#x27;t fail the API calls when the database needs updating</li>
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-400-build-004">API 4.0.0 build 004<a href="#api-400-build-004" class="hash-link" aria-label="Direct link to API 4.0.0 build 004" title="Direct link to API 4.0.0 build 004">​</a></h2>
 <p>Bump API version to 400004 (4.0.0 build 004)</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-21">Added<a href="#added-21" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-24">Added<a href="#added-24" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>Add Api::check_access to warn when you can&#x27;t access a function</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-26">Fixed<a href="#fixed-26" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-27">Fixed<a href="#fixed-27" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>Fix parameters using 0</li>
 <li>Get the correct total_count in xml when you set a limit</li>
@@ -1130,11 +1229,11 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-26">Fixed<a href="#fixe
 </ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-400-build-003">API 4.0.0 build 003<a href="#api-400-build-003" class="hash-link" aria-label="Direct link to API 4.0.0 build 003" title="Direct link to API 4.0.0 build 003">​</a></h2>
 <p>Bump API version to 400003 (4.0.0 build 003)</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-22">Added<a href="#added-22" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-25">Added<a href="#added-25" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>user_numeric searches also available in the API. ([<a href="https://ampache.org/api/api-xml-methods" target="_blank" rel="noopener noreferrer">https://ampache.org/api/api-xml-methods</a>])</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-15">Changed<a href="#changed-15" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-17">Changed<a href="#changed-17" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
 <ul>
 <li>Api::playlist - filter mandatory</li>
 <li>Api::playlist_edit - filter mandatory. name and type now optional</li>
@@ -1147,7 +1246,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="removed-1">Removed<a href="#r
 <ul>
 <li>Artist::check - Remove MBID from Various Artist objects</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-27">Fixed<a href="#fixed-27" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="fixed-28">Fixed<a href="#fixed-28" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed">​</a></h3>
 <ul>
 <li>Fix Song::update_song for label</li>
 <li>Fix Api issues relating to playlist access</li>
@@ -1156,7 +1255,7 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="api-400-build-001">API 4.0.0
 <ul>
 <li>Bump API version to 400002 (4.0.0 build 001)</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-23">Added<a href="#added-23" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-26">Added<a href="#added-26" class="hash-link" aria-label="Direct link to Added" title="Direct link to Added">​</a></h3>
 <ul>
 <li>Documented the Ampache API [<a href="https://ampache.org/api/api-xml-methods" target="_blank" rel="noopener noreferrer">https://ampache.org/api/api-xml-methods</a>]</li>
 <li>Include smartlists in the API playlist calls.</li>
@@ -1185,7 +1284,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="added-23">Added<a href="#adde
 <li>update_artist_info: Update artist information and fetch similar artists from last.fm</li>
 <li>playlist_generate: Get a list of song xml, indexes or id&#x27;s based on some simple search criteria. care of @4phun</li>
 </ul>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-16">Changed<a href="#changed-16" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-18">Changed<a href="#changed-18" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed">​</a></h3>
 <ul>
 <li>Authentication: Require a handshake and generate unique sessions at all times</li>
 <li>advanced_search<!-- -->
@@ -1216,6 +1315,6 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="changed-16">Changed<a href="#
 <li>Allow uid of song instead of the track id from the playlist</li>
 </ul>
 </li>
-</ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/api/api-examples"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">API Examples</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/api/api-acls"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Access Control Lists</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#api-660" class="table-of-contents__link toc-highlight">API 6.6.0</a><ul><li><a href="#added" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-640" class="table-of-contents__link toc-highlight">API 6.4.0</a><ul><li><a href="#added-1" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-1" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-1" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-631" class="table-of-contents__link toc-highlight">API 6.3.1</a><ul><li><a href="#added-2" class="table-of-contents__link toc-highlight">Added</a></li></ul></li><li><a href="#api-630" class="table-of-contents__link toc-highlight">API 6.3.0</a><ul><li><a href="#added-3" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-2" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-2" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-620" class="table-of-contents__link toc-highlight">API 6.2.0</a><ul><li><a href="#added-4" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-3" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-3" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-610" class="table-of-contents__link toc-highlight">API 6.1.0</a><ul><li><a href="#added-5" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-4" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-4" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-603" class="table-of-contents__link toc-highlight">API 6.0.3</a><ul><li><a href="#added-6" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#fixed-5" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-602" class="table-of-contents__link toc-highlight">API 6.0.2</a></li><li><a href="#api-601" class="table-of-contents__link toc-highlight">API 6.0.1</a><ul><li><a href="#changed-5" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-6" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-600" class="table-of-contents__link toc-highlight">API 6.0.0</a><ul><li><a href="#added-7" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-6" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#removed" class="table-of-contents__link toc-highlight">Removed</a></li><li><a href="#fixed-7" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-564" class="table-of-contents__link toc-highlight">API 5.6.4</a><ul><li><a href="#fixed-8" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-563" class="table-of-contents__link toc-highlight">API 5.6.3</a><ul><li><a href="#added-8" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#fixed-9" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-562" class="table-of-contents__link toc-highlight">API 5.6.2</a><ul><li><a href="#fixed-10" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-561" class="table-of-contents__link toc-highlight">API 5.6.1</a></li><li><a href="#api-560" class="table-of-contents__link toc-highlight">API 5.6.0</a><ul><li><a href="#fixed-11" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-556" class="table-of-contents__link toc-highlight">API 5.5.6</a><ul><li><a href="#changed-7" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-12" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-554" class="table-of-contents__link toc-highlight">API 5.5.4</a><ul><li><a href="#fixed-13" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-553" class="table-of-contents__link toc-highlight">API 5.5.3</a></li><li><a href="#api-552" class="table-of-contents__link toc-highlight">API 5.5.2</a><ul><li><a href="#added-9" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#fixed-14" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-551" class="table-of-contents__link toc-highlight">API 5.5.1</a></li><li><a href="#api-550" class="table-of-contents__link toc-highlight">API 5.5.0</a><ul><li><a href="#added-10" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#fixed-15" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api--541" class="table-of-contents__link toc-highlight">API  5.4.1</a><ul><li><a href="#added-11" class="table-of-contents__link toc-highlight">Added</a></li></ul></li><li><a href="#api-540" class="table-of-contents__link toc-highlight">API 5.4.0</a><ul><li><a href="#added-12" class="table-of-contents__link toc-highlight">Added</a></li></ul></li><li><a href="#api-533" class="table-of-contents__link toc-highlight">API 5.3.3</a><ul><li><a href="#added-13" class="table-of-contents__link toc-highlight">Added</a></li></ul></li><li><a href="#api-532" class="table-of-contents__link toc-highlight">API 5.3.2</a></li><li><a href="#api-531" class="table-of-contents__link toc-highlight">API 5.3.1</a></li><li><a href="#api-530" class="table-of-contents__link toc-highlight">API 5.3.0</a><ul><li><a href="#added-14" class="table-of-contents__link toc-highlight">Added</a></li></ul></li><li><a href="#api-521" class="table-of-contents__link toc-highlight">API 5.2.1</a><ul><li><a href="#changed-8" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-16" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-520" class="table-of-contents__link toc-highlight">API 5.2.0</a><ul><li><a href="#added-15" class="table-of-contents__link toc-highlight">Added</a></li></ul></li><li><a href="#api-511" class="table-of-contents__link toc-highlight">API 5.1.1</a><ul><li><a href="#fixed-17" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-510" class="table-of-contents__link toc-highlight">API 5.1.0</a><ul><li><a href="#added-16" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-9" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-18" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-500" class="table-of-contents__link toc-highlight">API 5.0.0</a><ul><li><a href="#added-17" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-10" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-19" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-442" class="table-of-contents__link toc-highlight">API 4.4.2</a><ul><li><a href="#fixed-20" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-441" class="table-of-contents__link toc-highlight">API 4.4.1</a><ul><li><a href="#fixed-21" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-440" class="table-of-contents__link toc-highlight">API 4.4.0</a><ul><li><a href="#added-18" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-11" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-22" class="table-of-contents__link toc-highlight">Fixed</a></li><li><a href="#deprecated" class="table-of-contents__link toc-highlight">Deprecated</a></li></ul></li><li><a href="#api-430" class="table-of-contents__link toc-highlight">API 4.3.0</a><ul><li><a href="#changed-12" class="table-of-contents__link toc-highlight">Changed</a></li></ul></li><li><a href="#api-426" class="table-of-contents__link toc-highlight">API 4.2.6</a></li><li><a href="#api-425" class="table-of-contents__link toc-highlight">API 4.2.5</a></li><li><a href="#api-424" class="table-of-contents__link toc-highlight">API 4.2.4</a></li><li><a href="#api-423" class="table-of-contents__link toc-highlight">API 4.2.3</a></li><li><a href="#api-422" class="table-of-contents__link toc-highlight">API 4.2.2</a><ul><li><a href="#added-19" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-13" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#deprecated-1" class="table-of-contents__link toc-highlight">Deprecated</a></li><li><a href="#fixed-23" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-421" class="table-of-contents__link toc-highlight">API 4.2.1</a><ul><li><a href="#fixed-24" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-420" class="table-of-contents__link toc-highlight">API 4.2.0</a><ul><li><a href="#added-20" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-14" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#deprecated-2" class="table-of-contents__link toc-highlight">Deprecated</a></li><li><a href="#fixed-25" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-400-build-004" class="table-of-contents__link toc-highlight">API 4.0.0 build 004</a><ul><li><a href="#added-21" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#fixed-26" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-400-build-003" class="table-of-contents__link toc-highlight">API 4.0.0 build 003</a><ul><li><a href="#added-22" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-15" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#removed-1" class="table-of-contents__link toc-highlight">Removed</a></li><li><a href="#fixed-27" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-400-build-001" class="table-of-contents__link toc-highlight">API 4.0.0 build 001</a><ul><li><a href="#added-23" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-16" class="table-of-contents__link toc-highlight">Changed</a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2001 - 2024 Ampache.org</div></div></div></footer></div>
+</ul></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/api/api-examples"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">API Examples</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/api/api-acls"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Access Control Lists</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#api-664" class="table-of-contents__link toc-highlight">API 6.6.4</a><ul><li><a href="#added" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed" class="table-of-contents__link toc-highlight">Changed</a></li></ul></li><li><a href="#api-663" class="table-of-contents__link toc-highlight">API 6.6.3</a></li><li><a href="#api-662" class="table-of-contents__link toc-highlight">API 6.6.2</a><ul><li><a href="#added-1" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#fixed" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-661" class="table-of-contents__link toc-highlight">API 6.6.1</a><ul><li><a href="#added-2" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-1" class="table-of-contents__link toc-highlight">Changed</a></li></ul></li><li><a href="#api-660" class="table-of-contents__link toc-highlight">API 6.6.0</a><ul><li><a href="#added-3" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-2" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-1" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-640" class="table-of-contents__link toc-highlight">API 6.4.0</a><ul><li><a href="#added-4" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-3" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-2" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-631" class="table-of-contents__link toc-highlight">API 6.3.1</a><ul><li><a href="#added-5" class="table-of-contents__link toc-highlight">Added</a></li></ul></li><li><a href="#api-630" class="table-of-contents__link toc-highlight">API 6.3.0</a><ul><li><a href="#added-6" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-4" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-3" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-620" class="table-of-contents__link toc-highlight">API 6.2.0</a><ul><li><a href="#added-7" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-5" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-4" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-610" class="table-of-contents__link toc-highlight">API 6.1.0</a><ul><li><a href="#added-8" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-6" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-5" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-603" class="table-of-contents__link toc-highlight">API 6.0.3</a><ul><li><a href="#added-9" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#fixed-6" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-602" class="table-of-contents__link toc-highlight">API 6.0.2</a></li><li><a href="#api-601" class="table-of-contents__link toc-highlight">API 6.0.1</a><ul><li><a href="#changed-7" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-7" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-600" class="table-of-contents__link toc-highlight">API 6.0.0</a><ul><li><a href="#added-10" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-8" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#removed" class="table-of-contents__link toc-highlight">Removed</a></li><li><a href="#fixed-8" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-564" class="table-of-contents__link toc-highlight">API 5.6.4</a><ul><li><a href="#fixed-9" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-563" class="table-of-contents__link toc-highlight">API 5.6.3</a><ul><li><a href="#added-11" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#fixed-10" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-562" class="table-of-contents__link toc-highlight">API 5.6.2</a><ul><li><a href="#fixed-11" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-561" class="table-of-contents__link toc-highlight">API 5.6.1</a></li><li><a href="#api-560" class="table-of-contents__link toc-highlight">API 5.6.0</a><ul><li><a href="#fixed-12" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-556" class="table-of-contents__link toc-highlight">API 5.5.6</a><ul><li><a href="#changed-9" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-13" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-554" class="table-of-contents__link toc-highlight">API 5.5.4</a><ul><li><a href="#fixed-14" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-553" class="table-of-contents__link toc-highlight">API 5.5.3</a></li><li><a href="#api-552" class="table-of-contents__link toc-highlight">API 5.5.2</a><ul><li><a href="#added-12" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#fixed-15" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-551" class="table-of-contents__link toc-highlight">API 5.5.1</a></li><li><a href="#api-550" class="table-of-contents__link toc-highlight">API 5.5.0</a><ul><li><a href="#added-13" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#fixed-16" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api--541" class="table-of-contents__link toc-highlight">API  5.4.1</a><ul><li><a href="#added-14" class="table-of-contents__link toc-highlight">Added</a></li></ul></li><li><a href="#api-540" class="table-of-contents__link toc-highlight">API 5.4.0</a><ul><li><a href="#added-15" class="table-of-contents__link toc-highlight">Added</a></li></ul></li><li><a href="#api-533" class="table-of-contents__link toc-highlight">API 5.3.3</a><ul><li><a href="#added-16" class="table-of-contents__link toc-highlight">Added</a></li></ul></li><li><a href="#api-532" class="table-of-contents__link toc-highlight">API 5.3.2</a></li><li><a href="#api-531" class="table-of-contents__link toc-highlight">API 5.3.1</a></li><li><a href="#api-530" class="table-of-contents__link toc-highlight">API 5.3.0</a><ul><li><a href="#added-17" class="table-of-contents__link toc-highlight">Added</a></li></ul></li><li><a href="#api-521" class="table-of-contents__link toc-highlight">API 5.2.1</a><ul><li><a href="#changed-10" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-17" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-520" class="table-of-contents__link toc-highlight">API 5.2.0</a><ul><li><a href="#added-18" class="table-of-contents__link toc-highlight">Added</a></li></ul></li><li><a href="#api-511" class="table-of-contents__link toc-highlight">API 5.1.1</a><ul><li><a href="#fixed-18" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-510" class="table-of-contents__link toc-highlight">API 5.1.0</a><ul><li><a href="#added-19" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-11" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-19" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-500" class="table-of-contents__link toc-highlight">API 5.0.0</a><ul><li><a href="#added-20" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-12" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-20" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-442" class="table-of-contents__link toc-highlight">API 4.4.2</a><ul><li><a href="#fixed-21" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-441" class="table-of-contents__link toc-highlight">API 4.4.1</a><ul><li><a href="#fixed-22" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-440" class="table-of-contents__link toc-highlight">API 4.4.0</a><ul><li><a href="#added-21" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-13" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#fixed-23" class="table-of-contents__link toc-highlight">Fixed</a></li><li><a href="#deprecated" class="table-of-contents__link toc-highlight">Deprecated</a></li></ul></li><li><a href="#api-430" class="table-of-contents__link toc-highlight">API 4.3.0</a><ul><li><a href="#changed-14" class="table-of-contents__link toc-highlight">Changed</a></li></ul></li><li><a href="#api-426" class="table-of-contents__link toc-highlight">API 4.2.6</a></li><li><a href="#api-425" class="table-of-contents__link toc-highlight">API 4.2.5</a></li><li><a href="#api-424" class="table-of-contents__link toc-highlight">API 4.2.4</a></li><li><a href="#api-423" class="table-of-contents__link toc-highlight">API 4.2.3</a></li><li><a href="#api-422" class="table-of-contents__link toc-highlight">API 4.2.2</a><ul><li><a href="#added-22" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-15" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#deprecated-1" class="table-of-contents__link toc-highlight">Deprecated</a></li><li><a href="#fixed-24" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-421" class="table-of-contents__link toc-highlight">API 4.2.1</a><ul><li><a href="#fixed-25" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-420" class="table-of-contents__link toc-highlight">API 4.2.0</a><ul><li><a href="#added-23" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-16" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#deprecated-2" class="table-of-contents__link toc-highlight">Deprecated</a></li><li><a href="#fixed-26" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-400-build-004" class="table-of-contents__link toc-highlight">API 4.0.0 build 004</a><ul><li><a href="#added-24" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#fixed-27" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-400-build-003" class="table-of-contents__link toc-highlight">API 4.0.0 build 003</a><ul><li><a href="#added-25" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-17" class="table-of-contents__link toc-highlight">Changed</a></li><li><a href="#removed-1" class="table-of-contents__link toc-highlight">Removed</a></li><li><a href="#fixed-28" class="table-of-contents__link toc-highlight">Fixed</a></li></ul></li><li><a href="#api-400-build-001" class="table-of-contents__link toc-highlight">API 4.0.0 build 001</a><ul><li><a href="#added-26" class="table-of-contents__link toc-highlight">Added</a></li><li><a href="#changed-18" class="table-of-contents__link toc-highlight">Changed</a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2001 - 2024 Ampache.org</div></div></div></footer></div>
 </body>
 </html>
\ No newline at end of file
diff --git a/api/api-errors/index.html b/api/api-errors/index.html
index 7dd2810e..c548d9a3 100644
--- a/api/api-errors/index.html
+++ b/api/api-errors/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Errors | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-errors"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Errors | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-errors"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-errors" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-errors" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-examples/index.html b/api/api-examples/index.html
index d9a5861e..1fa45079 100644
--- a/api/api-examples/index.html
+++ b/api/api-examples/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API Examples | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-examples"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API Examples | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-examples"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-examples" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-examples" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-json-methods/index.html b/api/api-json-methods/index.html
index a78dd7be..6e546097 100644
--- a/api/api-json-methods/index.html
+++ b/api/api-json-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">JSON Methods | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-json-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="JSON Methods | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-json-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-json-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-json-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
@@ -1578,7 +1578,7 @@ <h2 class="anchor anchorWithStickyNavbar_LWe7" id="binary-data-methods">Binary D
 <h3 class="anchor anchorWithStickyNavbar_LWe7" id="download">download<a href="#download" class="hash-link" aria-label="Direct link to download" title="Direct link to download">​</a></h3>
 <p>Downloads a given media file. set format=raw to download the full file</p>
 <p><strong>NOTE</strong> search and playlist will only download a random object from the list</p>
-<table><thead><tr><th>Input</th><th>Type</th><th>Description</th><th style="text-align:right">Optional</th></tr></thead><tbody><tr><td>&#x27;id&#x27;</td><td>integer</td><td>$object_id</td><td style="text-align:right">NO</td></tr><tr><td>&#x27;type&#x27;</td><td>string</td><td><code>song</code>, <code>podcast_episode</code>, <code>search</code>, <code>playlist</code></td><td style="text-align:right">NO</td></tr><tr><td>&#x27;bitrate&#x27;</td><td>integer</td><td>max bitrate for transcoding in bytes (e.g 192000=192Kb)</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;format&#x27;</td><td>string</td><td><code>mp3</code>, <code>ogg</code>, <code>raw</code>, etc (raw returns the original format)</td><td style="text-align:right">YES</td></tr></tbody></table>
+<table><thead><tr><th>Input</th><th>Type</th><th>Description</th><th style="text-align:right">Optional</th></tr></thead><tbody><tr><td>&#x27;id&#x27;</td><td>integer</td><td>$object_id</td><td style="text-align:right">NO</td></tr><tr><td>&#x27;type&#x27;</td><td>string</td><td><code>song</code>, <code>podcast_episode</code>, <code>search</code>, <code>playlist</code></td><td style="text-align:right">NO</td></tr><tr><td>&#x27;bitrate&#x27;</td><td>integer</td><td>max bitrate for transcoding in bytes (e.g 192000=192Kb)</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;format&#x27;</td><td>string</td><td><code>mp3</code>, <code>ogg</code>, <code>raw</code>, etc (raw returns the original format)</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;stats&#x27;</td><td>boolean</td><td><code>0</code>, <code>1</code>, if false disable stat recording when playing the object (default: 1)</td><td style="text-align:right">YES</td></tr></tbody></table>
 <ul>
 <li>return file (HTTP 200 OK)</li>
 <li>throws (HTTP 400 Bad Request)</li>
@@ -1595,7 +1595,7 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="get_art">get_art<a href="#get
 <h3 class="anchor anchorWithStickyNavbar_LWe7" id="stream">stream<a href="#stream" class="hash-link" aria-label="Direct link to stream" title="Direct link to stream">​</a></h3>
 <p>Streams a given media file. Takes the file id in parameter with optional max bit rate, file format, time offset, size and estimate content length option.</p>
 <p><strong>NOTE</strong> search and playlist will only stream a random object from the list</p>
-<table><thead><tr><th>Input</th><th>Type</th><th>Description</th><th style="text-align:right">Optional</th></tr></thead><tbody><tr><td>&#x27;id&#x27;</td><td>integer</td><td>$object_id</td><td style="text-align:right">NO</td></tr><tr><td>&#x27;type&#x27;</td><td>string</td><td><code>song</code>, <code>podcast_episode</code>, <code>search</code>, <code>playlist</code></td><td style="text-align:right">NO</td></tr><tr><td>&#x27;bitrate&#x27;</td><td>integer</td><td>max bitrate for transcoding in bytes (e.g 192000=192Kb)</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;format&#x27;</td><td>string</td><td><code>mp3</code>, <code>ogg</code>, <code>raw</code>, etc (raw returns the original format)</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;offset&#x27;</td><td>integer</td><td>Return results starting from this index position</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;length&#x27;</td><td>boolean</td><td><code>0</code>, <code>1</code></td><td style="text-align:right">YES</td></tr></tbody></table>
+<table><thead><tr><th>Input</th><th>Type</th><th>Description</th><th style="text-align:right">Optional</th></tr></thead><tbody><tr><td>&#x27;id&#x27;</td><td>integer</td><td>$object_id</td><td style="text-align:right">NO</td></tr><tr><td>&#x27;type&#x27;</td><td>string</td><td><code>song</code>, <code>podcast_episode</code>, <code>search</code>, <code>playlist</code></td><td style="text-align:right">NO</td></tr><tr><td>&#x27;bitrate&#x27;</td><td>integer</td><td>max bitrate for transcoding in bytes (e.g 192000=192Kb)</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;format&#x27;</td><td>string</td><td><code>mp3</code>, <code>ogg</code>, <code>raw</code>, etc (raw returns the original format)</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;offset&#x27;</td><td>integer</td><td>Return results starting from this index position</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;length&#x27;</td><td>boolean</td><td><code>0</code>, <code>1</code></td><td style="text-align:right">YES</td></tr><tr><td>&#x27;stats&#x27;</td><td>boolean</td><td><code>0</code>, <code>1</code>, if false disable stat recording when playing the object (default: 1)</td><td style="text-align:right">YES</td></tr></tbody></table>
 <ul>
 <li>return file (HTTP 200 OK)</li>
 <li>throws (HTTP 400 Bad Request)</li>
diff --git a/api/api-media-methods/index.html b/api/api-media-methods/index.html
index 56013c44..49918f95 100644
--- a/api/api-media-methods/index.html
+++ b/api/api-media-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Media Methods | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-media-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Media Methods | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-media-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-media-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-media-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-standards/index.html b/api/api-standards/index.html
index 9f2ac65e..de3213d4 100644
--- a/api/api-standards/index.html
+++ b/api/api-standards/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Standards | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-standards"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Standards | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-standards"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-standards" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-standards" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/api-xml-methods/index.html b/api/api-xml-methods/index.html
index bc915fff..e6609183 100644
--- a/api/api-xml-methods/index.html
+++ b/api/api-xml-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">XML Methods | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/api-xml-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="XML Methods | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/api-xml-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-xml-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/api-xml-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
@@ -1574,19 +1574,10 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="video">video<a href="#video"
 <p><a href="https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/video.xml" target="_blank" rel="noopener noreferrer">Example</a></p>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="binary-data-methods">Binary Data Methods<a href="#binary-data-methods" class="hash-link" aria-label="Direct link to Binary Data Methods" title="Direct link to Binary Data Methods">​</a></h2>
 <p>Binary data methods are used for returning raw data to the user such as a image or stream.</p>
-<h3 class="anchor anchorWithStickyNavbar_LWe7" id="stream">stream<a href="#stream" class="hash-link" aria-label="Direct link to stream" title="Direct link to stream">​</a></h3>
-<p>Streams a given media file. Takes the file id in parameter with optional max bit rate, file format, time offset, size and estimate content length option.</p>
-<p><strong>NOTE</strong> search and playlist will only stream a random object from the list</p>
-<table><thead><tr><th>Input</th><th>Type</th><th>Description</th><th style="text-align:right">Optional</th></tr></thead><tbody><tr><td>&#x27;id&#x27;</td><td>integer</td><td>$object_id</td><td style="text-align:right">NO</td></tr><tr><td>&#x27;type&#x27;</td><td>string</td><td><code>song</code>, <code>podcast_episode</code>, <code>search</code>, <code>playlist</code></td><td style="text-align:right">NO</td></tr><tr><td>&#x27;bitrate&#x27;</td><td>integer</td><td>max bitrate for transcoding in bytes (e.g 192000=192Kb)</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;format&#x27;</td><td>string</td><td><code>mp3</code>, <code>ogg</code>, <code>raw</code>, etc (raw returns the original format)</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;offset&#x27;</td><td>integer</td><td>Return results starting from this index position</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;length&#x27;</td><td>boolean</td><td><code>0</code>, <code>1</code></td><td style="text-align:right">YES</td></tr></tbody></table>
-<ul>
-<li>return file (HTTP 200 OK)</li>
-<li>throws (HTTP 400 Bad Request)</li>
-<li>throws (HTTP 404 Not Found)</li>
-</ul>
 <h3 class="anchor anchorWithStickyNavbar_LWe7" id="download">download<a href="#download" class="hash-link" aria-label="Direct link to download" title="Direct link to download">​</a></h3>
 <p>Downloads a given media file. set format=raw to download the full file</p>
 <p><strong>NOTE</strong> search and playlist will only download a random object from the list</p>
-<table><thead><tr><th>Input</th><th>Type</th><th>Description</th><th style="text-align:right">Optional</th></tr></thead><tbody><tr><td>&#x27;id&#x27;</td><td>integer</td><td>$object_id</td><td style="text-align:right">NO</td></tr><tr><td>&#x27;type&#x27;</td><td>string</td><td><code>song</code>, <code>podcast_episode</code>, <code>search</code>, <code>playlist</code></td><td style="text-align:right">NO</td></tr><tr><td>&#x27;bitrate&#x27;</td><td>integer</td><td>max bitrate for transcoding in bytes (e.g 192000=192Kb)</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;format&#x27;</td><td>string</td><td><code>mp3</code>, <code>ogg</code>, <code>raw</code>, etc (raw returns the original format)</td><td style="text-align:right">YES</td></tr></tbody></table>
+<table><thead><tr><th>Input</th><th>Type</th><th>Description</th><th style="text-align:right">Optional</th></tr></thead><tbody><tr><td>&#x27;id&#x27;</td><td>integer</td><td>$object_id</td><td style="text-align:right">NO</td></tr><tr><td>&#x27;type&#x27;</td><td>string</td><td><code>song</code>, <code>podcast_episode</code>, <code>search</code>, <code>playlist</code></td><td style="text-align:right">NO</td></tr><tr><td>&#x27;bitrate&#x27;</td><td>integer</td><td>max bitrate for transcoding in bytes (e.g 192000=192Kb)</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;format&#x27;</td><td>string</td><td><code>mp3</code>, <code>ogg</code>, <code>raw</code>, etc (raw returns the original format)</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;stats&#x27;</td><td>boolean</td><td><code>0</code>, <code>1</code>, if false disable stat recording when playing the object (default: 1)</td><td style="text-align:right">YES</td></tr></tbody></table>
 <ul>
 <li>return file (HTTP 200 OK)</li>
 <li>throws (HTTP 400 Bad Request)</li>
@@ -1600,6 +1591,15 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="get_art">get_art<a href="#get
 <li>throws (HTTP 400 Bad Request)</li>
 <li>throws (HTTP 404 Not Found)</li>
 </ul>
+<h3 class="anchor anchorWithStickyNavbar_LWe7" id="stream">stream<a href="#stream" class="hash-link" aria-label="Direct link to stream" title="Direct link to stream">​</a></h3>
+<p>Streams a given media file. Takes the file id in parameter with optional max bit rate, file format, time offset, size and estimate content length option.</p>
+<p><strong>NOTE</strong> search and playlist will only stream a random object from the list</p>
+<table><thead><tr><th>Input</th><th>Type</th><th>Description</th><th style="text-align:right">Optional</th></tr></thead><tbody><tr><td>&#x27;id&#x27;</td><td>integer</td><td>$object_id</td><td style="text-align:right">NO</td></tr><tr><td>&#x27;type&#x27;</td><td>string</td><td><code>song</code>, <code>podcast_episode</code>, <code>search</code>, <code>playlist</code></td><td style="text-align:right">NO</td></tr><tr><td>&#x27;bitrate&#x27;</td><td>integer</td><td>max bitrate for transcoding in bytes (e.g 192000=192Kb)</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;format&#x27;</td><td>string</td><td><code>mp3</code>, <code>ogg</code>, <code>raw</code>, etc (raw returns the original format)</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;offset&#x27;</td><td>integer</td><td>Return results starting from this index position</td><td style="text-align:right">YES</td></tr><tr><td>&#x27;length&#x27;</td><td>boolean</td><td><code>0</code>, <code>1</code></td><td style="text-align:right">YES</td></tr><tr><td>&#x27;stats&#x27;</td><td>boolean</td><td><code>0</code>, <code>1</code>, if false disable stat recording when playing the object (default: 1)</td><td style="text-align:right">YES</td></tr></tbody></table>
+<ul>
+<li>return file (HTTP 200 OK)</li>
+<li>throws (HTTP 400 Bad Request)</li>
+<li>throws (HTTP 404 Not Found)</li>
+</ul>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="control-methods">Control Methods<a href="#control-methods" class="hash-link" aria-label="Direct link to Control Methods" title="Direct link to Control Methods">​</a></h2>
 <h3 class="anchor anchorWithStickyNavbar_LWe7" id="localplay">localplay<a href="#localplay" class="hash-link" aria-label="Direct link to localplay" title="Direct link to localplay">​</a></h3>
 <p>This is for controlling localplay</p>
@@ -1637,6 +1637,6 @@ <h3 class="anchor anchorWithStickyNavbar_LWe7" id="democratic">democratic<a href
 <div class="language-XML language-xml codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-xml codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">root</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token tag punctuation" style="color:#393A34">&lt;</span><span class="token tag" style="color:#00009f">error</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><span class="token tag punctuation" style="color:#393A34">&lt;/</span><span class="token tag" style="color:#00009f">root</span><span class="token tag punctuation" style="color:#393A34">&gt;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
 <p><a href="https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/democratic%20(play).xml" target="_blank" rel="noopener noreferrer">Example</a></p>
 <p><a href="https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/democratic%20(vote).xml" target="_blank" rel="noopener noreferrer">Example</a></p>
-<p><a href="https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/democratic%20(playlist).xml" target="_blank" rel="noopener noreferrer">Example</a></p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/api/api-standards"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Standards</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/api/api-json-methods"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">JSON Methods</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#auth-methods" class="table-of-contents__link toc-highlight">Auth Methods</a><ul><li><a href="#handshake" class="table-of-contents__link toc-highlight">handshake</a></li><li><a href="#goodbye" class="table-of-contents__link toc-highlight">goodbye</a></li><li><a href="#lost_password" class="table-of-contents__link toc-highlight">lost_password</a></li><li><a href="#ping" class="table-of-contents__link toc-highlight">ping</a></li><li><a href="#register" class="table-of-contents__link toc-highlight">register</a></li></ul></li><li><a href="#non-data-methods" class="table-of-contents__link toc-highlight">Non-Data Methods</a><ul><li><a href="#system_update" class="table-of-contents__link toc-highlight">system_update</a></li><li><a href="#system_preferences" class="table-of-contents__link toc-highlight">system_preferences</a></li><li><a href="#users" class="table-of-contents__link toc-highlight">users</a></li><li><a href="#user_preferences" class="table-of-contents__link toc-highlight">user_preferences</a></li></ul></li><li><a href="#data-methods" class="table-of-contents__link toc-highlight">Data Methods</a><ul><li><a href="#advanced_search" class="table-of-contents__link toc-highlight">advanced_search</a></li><li><a href="#albums" class="table-of-contents__link toc-highlight">albums</a></li><li><a href="#album" class="table-of-contents__link toc-highlight">album</a></li><li><a href="#album_songs" class="table-of-contents__link toc-highlight">album_songs</a></li><li><a href="#artists" class="table-of-contents__link toc-highlight">artists</a></li><li><a href="#artist" class="table-of-contents__link toc-highlight">artist</a></li><li><a href="#artist_albums" class="table-of-contents__link toc-highlight">artist_albums</a></li><li><a href="#artist_songs" class="table-of-contents__link toc-highlight">artist_songs</a></li><li><a href="#bookmarks" class="table-of-contents__link toc-highlight">bookmarks</a></li><li><a href="#bookmark" class="table-of-contents__link toc-highlight">bookmark</a></li><li><a href="#bookmark_create" class="table-of-contents__link toc-highlight">bookmark_create</a></li><li><a href="#bookmark_delete" class="table-of-contents__link toc-highlight">bookmark_delete</a></li><li><a href="#bookmark_edit" class="table-of-contents__link toc-highlight">bookmark_edit</a></li><li><a href="#browse" class="table-of-contents__link toc-highlight">browse</a></li><li><a href="#catalogs" class="table-of-contents__link toc-highlight">catalogs</a></li><li><a href="#catalog" class="table-of-contents__link toc-highlight">catalog</a></li><li><a href="#catalog_action" class="table-of-contents__link toc-highlight">catalog_action</a></li><li><a href="#catalog_add" class="table-of-contents__link toc-highlight">catalog_add</a></li><li><a href="#catalog_delete" class="table-of-contents__link toc-highlight">catalog_delete</a></li><li><a href="#catalog_file" class="table-of-contents__link toc-highlight">catalog_file</a></li><li><a href="#catalog_folder" class="table-of-contents__link toc-highlight">catalog_folder</a></li><li><a href="#deleted_podcast_episodes" class="table-of-contents__link toc-highlight">deleted_podcast_episodes</a></li><li><a href="#deleted_songs" class="table-of-contents__link toc-highlight">deleted_songs</a></li><li><a href="#deleted_videos" class="table-of-contents__link toc-highlight">deleted_videos</a></li><li><a href="#flag" class="table-of-contents__link toc-highlight">flag</a></li><li><a href="#followers" class="table-of-contents__link toc-highlight">followers</a></li><li><a href="#following" class="table-of-contents__link toc-highlight">following</a></li><li><a href="#friends_timeline" class="table-of-contents__link toc-highlight">friends_timeline</a></li><li><a href="#genres" class="table-of-contents__link toc-highlight">genres</a></li><li><a href="#genre" class="table-of-contents__link toc-highlight">genre</a></li><li><a href="#genre_albums" class="table-of-contents__link toc-highlight">genre_albums</a></li><li><a href="#genre_artists" class="table-of-contents__link toc-highlight">genre_artists</a></li><li><a href="#genre_songs" class="table-of-contents__link toc-highlight">genre_songs</a></li><li><a href="#get_bookmark" class="table-of-contents__link toc-highlight">get_bookmark</a></li><li><a href="#get_indexes" class="table-of-contents__link toc-highlight">get_indexes</a></li><li><a href="#get_similar" class="table-of-contents__link toc-highlight">get_similar</a></li><li><a href="#index" class="table-of-contents__link toc-highlight">index</a></li><li><a href="#labels" class="table-of-contents__link toc-highlight">labels</a></li><li><a href="#label" class="table-of-contents__link toc-highlight">label</a></li><li><a href="#label_artists" class="table-of-contents__link toc-highlight">label_artists</a></li><li><a href="#last_shouts" class="table-of-contents__link toc-highlight">last_shouts</a></li><li><a href="#license" class="table-of-contents__link toc-highlight">license</a></li><li><a href="#license_songs" class="table-of-contents__link toc-highlight">license_songs</a></li><li><a href="#licenses" class="table-of-contents__link toc-highlight">licenses</a></li><li><a href="#list" class="table-of-contents__link toc-highlight">list</a></li><li><a href="#live_streams" class="table-of-contents__link toc-highlight">live_streams</a></li><li><a href="#live_stream" class="table-of-contents__link toc-highlight">live_stream</a></li><li><a href="#live_stream_create" class="table-of-contents__link toc-highlight">live_stream_create</a></li><li><a href="#live_stream_delete" class="table-of-contents__link toc-highlight">live_stream_delete</a></li><li><a href="#live_stream_edit" class="table-of-contents__link toc-highlight">live_stream_edit</a></li><li><a href="#now_playing" class="table-of-contents__link toc-highlight">now_playing</a></li><li><a href="#player" class="table-of-contents__link toc-highlight">player</a></li><li><a href="#playlists" class="table-of-contents__link toc-highlight">playlists</a></li><li><a href="#playlist" class="table-of-contents__link toc-highlight">playlist</a></li><li><a href="#playlist_add" class="table-of-contents__link toc-highlight">playlist_add</a></li><li><a href="#playlist_add_song" class="table-of-contents__link toc-highlight">playlist_add_song</a></li><li><a href="#playlist_create" class="table-of-contents__link toc-highlight">playlist_create</a></li><li><a href="#playlist_delete" class="table-of-contents__link toc-highlight">playlist_delete</a></li><li><a href="#playlist_edit" class="table-of-contents__link toc-highlight">playlist_edit</a></li><li><a href="#playlist_generate" class="table-of-contents__link toc-highlight">playlist_generate</a></li><li><a href="#playlist_hash" class="table-of-contents__link toc-highlight">playlist_hash</a></li><li><a href="#playlist_remove_song" class="table-of-contents__link toc-highlight">playlist_remove_song</a></li><li><a href="#playlist_songs" class="table-of-contents__link toc-highlight">playlist_songs</a></li><li><a href="#podcast" class="table-of-contents__link toc-highlight">podcast</a></li><li><a href="#podcasts" class="table-of-contents__link toc-highlight">podcasts</a></li><li><a href="#podcast_create" class="table-of-contents__link toc-highlight">podcast_create</a></li><li><a href="#podcast_delete" class="table-of-contents__link toc-highlight">podcast_delete</a></li><li><a href="#podcast_edit" class="table-of-contents__link toc-highlight">podcast_edit</a></li><li><a href="#podcast_episodes" class="table-of-contents__link toc-highlight">podcast_episodes</a></li><li><a href="#podcast_episode" class="table-of-contents__link toc-highlight">podcast_episode</a></li><li><a href="#podcast_episode_delete" class="table-of-contents__link toc-highlight">podcast_episode_delete</a></li><li><a href="#preference_create" class="table-of-contents__link toc-highlight">preference_create</a></li><li><a href="#preference_delete" class="table-of-contents__link toc-highlight">preference_delete</a></li><li><a href="#preference_edit" class="table-of-contents__link toc-highlight">preference_edit</a></li><li><a href="#rate" class="table-of-contents__link toc-highlight">rate</a></li><li><a href="#record_play" class="table-of-contents__link toc-highlight">record_play</a></li><li><a href="#scrobble" class="table-of-contents__link toc-highlight">scrobble</a></li><li><a href="#search_group" class="table-of-contents__link toc-highlight">search_group</a></li><li><a href="#search_songs" class="table-of-contents__link toc-highlight">search_songs</a></li><li><a href="#shares" class="table-of-contents__link toc-highlight">shares</a></li><li><a href="#share" class="table-of-contents__link toc-highlight">share</a></li><li><a href="#share_create" class="table-of-contents__link toc-highlight">share_create</a></li><li><a href="#share_delete" class="table-of-contents__link toc-highlight">share_delete</a></li><li><a href="#share_edit" class="table-of-contents__link toc-highlight">share_edit</a></li><li><a href="#songs" class="table-of-contents__link toc-highlight">songs</a></li><li><a href="#song" class="table-of-contents__link toc-highlight">song</a></li><li><a href="#song_delete" class="table-of-contents__link toc-highlight">song_delete</a></li><li><a href="#stats" class="table-of-contents__link toc-highlight">stats</a></li><li><a href="#system_preference" class="table-of-contents__link toc-highlight">system_preference</a></li><li><a href="#timeline" class="table-of-contents__link toc-highlight">timeline</a></li><li><a href="#toggle_follow" class="table-of-contents__link toc-highlight">toggle_follow</a></li><li><a href="#update_art" class="table-of-contents__link toc-highlight">update_art</a></li><li><a href="#update_artist_info" class="table-of-contents__link toc-highlight">update_artist_info</a></li><li><a href="#update_from_tags" class="table-of-contents__link toc-highlight">update_from_tags</a></li><li><a href="#update_podcast" class="table-of-contents__link toc-highlight">update_podcast</a></li><li><a href="#url_to_song" class="table-of-contents__link toc-highlight">url_to_song</a></li><li><a href="#user" class="table-of-contents__link toc-highlight">user</a></li><li><a href="#user_create" class="table-of-contents__link toc-highlight">user_create</a></li><li><a href="#user_delete" class="table-of-contents__link toc-highlight">user_delete</a></li><li><a href="#user_edit" class="table-of-contents__link toc-highlight">user_edit</a></li><li><a href="#user_playlists" class="table-of-contents__link toc-highlight">user_playlists</a></li><li><a href="#user_preference" class="table-of-contents__link toc-highlight">user_preference</a></li><li><a href="#user_smartlists" class="table-of-contents__link toc-highlight">user_smartlists</a></li><li><a href="#videos" class="table-of-contents__link toc-highlight">videos</a></li><li><a href="#video" class="table-of-contents__link toc-highlight">video</a></li></ul></li><li><a href="#binary-data-methods" class="table-of-contents__link toc-highlight">Binary Data Methods</a><ul><li><a href="#stream" class="table-of-contents__link toc-highlight">stream</a></li><li><a href="#download" class="table-of-contents__link toc-highlight">download</a></li><li><a href="#get_art" class="table-of-contents__link toc-highlight">get_art</a></li></ul></li><li><a href="#control-methods" class="table-of-contents__link toc-highlight">Control Methods</a><ul><li><a href="#localplay" class="table-of-contents__link toc-highlight">localplay</a></li><li><a href="#democratic" class="table-of-contents__link toc-highlight">democratic</a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2001 - 2024 Ampache.org</div></div></div></footer></div>
+<p><a href="https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/democratic%20(playlist).xml" target="_blank" rel="noopener noreferrer">Example</a></p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/api/api-standards"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Standards</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/api/api-json-methods"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">JSON Methods</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#auth-methods" class="table-of-contents__link toc-highlight">Auth Methods</a><ul><li><a href="#handshake" class="table-of-contents__link toc-highlight">handshake</a></li><li><a href="#goodbye" class="table-of-contents__link toc-highlight">goodbye</a></li><li><a href="#lost_password" class="table-of-contents__link toc-highlight">lost_password</a></li><li><a href="#ping" class="table-of-contents__link toc-highlight">ping</a></li><li><a href="#register" class="table-of-contents__link toc-highlight">register</a></li></ul></li><li><a href="#non-data-methods" class="table-of-contents__link toc-highlight">Non-Data Methods</a><ul><li><a href="#system_update" class="table-of-contents__link toc-highlight">system_update</a></li><li><a href="#system_preferences" class="table-of-contents__link toc-highlight">system_preferences</a></li><li><a href="#users" class="table-of-contents__link toc-highlight">users</a></li><li><a href="#user_preferences" class="table-of-contents__link toc-highlight">user_preferences</a></li></ul></li><li><a href="#data-methods" class="table-of-contents__link toc-highlight">Data Methods</a><ul><li><a href="#advanced_search" class="table-of-contents__link toc-highlight">advanced_search</a></li><li><a href="#albums" class="table-of-contents__link toc-highlight">albums</a></li><li><a href="#album" class="table-of-contents__link toc-highlight">album</a></li><li><a href="#album_songs" class="table-of-contents__link toc-highlight">album_songs</a></li><li><a href="#artists" class="table-of-contents__link toc-highlight">artists</a></li><li><a href="#artist" class="table-of-contents__link toc-highlight">artist</a></li><li><a href="#artist_albums" class="table-of-contents__link toc-highlight">artist_albums</a></li><li><a href="#artist_songs" class="table-of-contents__link toc-highlight">artist_songs</a></li><li><a href="#bookmarks" class="table-of-contents__link toc-highlight">bookmarks</a></li><li><a href="#bookmark" class="table-of-contents__link toc-highlight">bookmark</a></li><li><a href="#bookmark_create" class="table-of-contents__link toc-highlight">bookmark_create</a></li><li><a href="#bookmark_delete" class="table-of-contents__link toc-highlight">bookmark_delete</a></li><li><a href="#bookmark_edit" class="table-of-contents__link toc-highlight">bookmark_edit</a></li><li><a href="#browse" class="table-of-contents__link toc-highlight">browse</a></li><li><a href="#catalogs" class="table-of-contents__link toc-highlight">catalogs</a></li><li><a href="#catalog" class="table-of-contents__link toc-highlight">catalog</a></li><li><a href="#catalog_action" class="table-of-contents__link toc-highlight">catalog_action</a></li><li><a href="#catalog_add" class="table-of-contents__link toc-highlight">catalog_add</a></li><li><a href="#catalog_delete" class="table-of-contents__link toc-highlight">catalog_delete</a></li><li><a href="#catalog_file" class="table-of-contents__link toc-highlight">catalog_file</a></li><li><a href="#catalog_folder" class="table-of-contents__link toc-highlight">catalog_folder</a></li><li><a href="#deleted_podcast_episodes" class="table-of-contents__link toc-highlight">deleted_podcast_episodes</a></li><li><a href="#deleted_songs" class="table-of-contents__link toc-highlight">deleted_songs</a></li><li><a href="#deleted_videos" class="table-of-contents__link toc-highlight">deleted_videos</a></li><li><a href="#flag" class="table-of-contents__link toc-highlight">flag</a></li><li><a href="#followers" class="table-of-contents__link toc-highlight">followers</a></li><li><a href="#following" class="table-of-contents__link toc-highlight">following</a></li><li><a href="#friends_timeline" class="table-of-contents__link toc-highlight">friends_timeline</a></li><li><a href="#genres" class="table-of-contents__link toc-highlight">genres</a></li><li><a href="#genre" class="table-of-contents__link toc-highlight">genre</a></li><li><a href="#genre_albums" class="table-of-contents__link toc-highlight">genre_albums</a></li><li><a href="#genre_artists" class="table-of-contents__link toc-highlight">genre_artists</a></li><li><a href="#genre_songs" class="table-of-contents__link toc-highlight">genre_songs</a></li><li><a href="#get_bookmark" class="table-of-contents__link toc-highlight">get_bookmark</a></li><li><a href="#get_indexes" class="table-of-contents__link toc-highlight">get_indexes</a></li><li><a href="#get_similar" class="table-of-contents__link toc-highlight">get_similar</a></li><li><a href="#index" class="table-of-contents__link toc-highlight">index</a></li><li><a href="#labels" class="table-of-contents__link toc-highlight">labels</a></li><li><a href="#label" class="table-of-contents__link toc-highlight">label</a></li><li><a href="#label_artists" class="table-of-contents__link toc-highlight">label_artists</a></li><li><a href="#last_shouts" class="table-of-contents__link toc-highlight">last_shouts</a></li><li><a href="#license" class="table-of-contents__link toc-highlight">license</a></li><li><a href="#license_songs" class="table-of-contents__link toc-highlight">license_songs</a></li><li><a href="#licenses" class="table-of-contents__link toc-highlight">licenses</a></li><li><a href="#list" class="table-of-contents__link toc-highlight">list</a></li><li><a href="#live_streams" class="table-of-contents__link toc-highlight">live_streams</a></li><li><a href="#live_stream" class="table-of-contents__link toc-highlight">live_stream</a></li><li><a href="#live_stream_create" class="table-of-contents__link toc-highlight">live_stream_create</a></li><li><a href="#live_stream_delete" class="table-of-contents__link toc-highlight">live_stream_delete</a></li><li><a href="#live_stream_edit" class="table-of-contents__link toc-highlight">live_stream_edit</a></li><li><a href="#now_playing" class="table-of-contents__link toc-highlight">now_playing</a></li><li><a href="#player" class="table-of-contents__link toc-highlight">player</a></li><li><a href="#playlists" class="table-of-contents__link toc-highlight">playlists</a></li><li><a href="#playlist" class="table-of-contents__link toc-highlight">playlist</a></li><li><a href="#playlist_add" class="table-of-contents__link toc-highlight">playlist_add</a></li><li><a href="#playlist_add_song" class="table-of-contents__link toc-highlight">playlist_add_song</a></li><li><a href="#playlist_create" class="table-of-contents__link toc-highlight">playlist_create</a></li><li><a href="#playlist_delete" class="table-of-contents__link toc-highlight">playlist_delete</a></li><li><a href="#playlist_edit" class="table-of-contents__link toc-highlight">playlist_edit</a></li><li><a href="#playlist_generate" class="table-of-contents__link toc-highlight">playlist_generate</a></li><li><a href="#playlist_hash" class="table-of-contents__link toc-highlight">playlist_hash</a></li><li><a href="#playlist_remove_song" class="table-of-contents__link toc-highlight">playlist_remove_song</a></li><li><a href="#playlist_songs" class="table-of-contents__link toc-highlight">playlist_songs</a></li><li><a href="#podcast" class="table-of-contents__link toc-highlight">podcast</a></li><li><a href="#podcasts" class="table-of-contents__link toc-highlight">podcasts</a></li><li><a href="#podcast_create" class="table-of-contents__link toc-highlight">podcast_create</a></li><li><a href="#podcast_delete" class="table-of-contents__link toc-highlight">podcast_delete</a></li><li><a href="#podcast_edit" class="table-of-contents__link toc-highlight">podcast_edit</a></li><li><a href="#podcast_episodes" class="table-of-contents__link toc-highlight">podcast_episodes</a></li><li><a href="#podcast_episode" class="table-of-contents__link toc-highlight">podcast_episode</a></li><li><a href="#podcast_episode_delete" class="table-of-contents__link toc-highlight">podcast_episode_delete</a></li><li><a href="#preference_create" class="table-of-contents__link toc-highlight">preference_create</a></li><li><a href="#preference_delete" class="table-of-contents__link toc-highlight">preference_delete</a></li><li><a href="#preference_edit" class="table-of-contents__link toc-highlight">preference_edit</a></li><li><a href="#rate" class="table-of-contents__link toc-highlight">rate</a></li><li><a href="#record_play" class="table-of-contents__link toc-highlight">record_play</a></li><li><a href="#scrobble" class="table-of-contents__link toc-highlight">scrobble</a></li><li><a href="#search_group" class="table-of-contents__link toc-highlight">search_group</a></li><li><a href="#search_songs" class="table-of-contents__link toc-highlight">search_songs</a></li><li><a href="#shares" class="table-of-contents__link toc-highlight">shares</a></li><li><a href="#share" class="table-of-contents__link toc-highlight">share</a></li><li><a href="#share_create" class="table-of-contents__link toc-highlight">share_create</a></li><li><a href="#share_delete" class="table-of-contents__link toc-highlight">share_delete</a></li><li><a href="#share_edit" class="table-of-contents__link toc-highlight">share_edit</a></li><li><a href="#songs" class="table-of-contents__link toc-highlight">songs</a></li><li><a href="#song" class="table-of-contents__link toc-highlight">song</a></li><li><a href="#song_delete" class="table-of-contents__link toc-highlight">song_delete</a></li><li><a href="#stats" class="table-of-contents__link toc-highlight">stats</a></li><li><a href="#system_preference" class="table-of-contents__link toc-highlight">system_preference</a></li><li><a href="#timeline" class="table-of-contents__link toc-highlight">timeline</a></li><li><a href="#toggle_follow" class="table-of-contents__link toc-highlight">toggle_follow</a></li><li><a href="#update_art" class="table-of-contents__link toc-highlight">update_art</a></li><li><a href="#update_artist_info" class="table-of-contents__link toc-highlight">update_artist_info</a></li><li><a href="#update_from_tags" class="table-of-contents__link toc-highlight">update_from_tags</a></li><li><a href="#update_podcast" class="table-of-contents__link toc-highlight">update_podcast</a></li><li><a href="#url_to_song" class="table-of-contents__link toc-highlight">url_to_song</a></li><li><a href="#user" class="table-of-contents__link toc-highlight">user</a></li><li><a href="#user_create" class="table-of-contents__link toc-highlight">user_create</a></li><li><a href="#user_delete" class="table-of-contents__link toc-highlight">user_delete</a></li><li><a href="#user_edit" class="table-of-contents__link toc-highlight">user_edit</a></li><li><a href="#user_playlists" class="table-of-contents__link toc-highlight">user_playlists</a></li><li><a href="#user_preference" class="table-of-contents__link toc-highlight">user_preference</a></li><li><a href="#user_smartlists" class="table-of-contents__link toc-highlight">user_smartlists</a></li><li><a href="#videos" class="table-of-contents__link toc-highlight">videos</a></li><li><a href="#video" class="table-of-contents__link toc-highlight">video</a></li></ul></li><li><a href="#binary-data-methods" class="table-of-contents__link toc-highlight">Binary Data Methods</a><ul><li><a href="#download" class="table-of-contents__link toc-highlight">download</a></li><li><a href="#get_art" class="table-of-contents__link toc-highlight">get_art</a></li><li><a href="#stream" class="table-of-contents__link toc-highlight">stream</a></li></ul></li><li><a href="#control-methods" class="table-of-contents__link toc-highlight">Control Methods</a><ul><li><a href="#localplay" class="table-of-contents__link toc-highlight">localplay</a></li><li><a href="#democratic" class="table-of-contents__link toc-highlight">democratic</a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2001 - 2024 Ampache.org</div></div></div></footer></div>
 </body>
 </html>
\ No newline at end of file
diff --git a/api/assets/js/0a8cd4c3.6a0c814a.js b/api/assets/js/0a8cd4c3.592f19d0.js
similarity index 96%
rename from api/assets/js/0a8cd4c3.6a0c814a.js
rename to api/assets/js/0a8cd4c3.592f19d0.js
index 78302407..978d1383 100644
--- a/api/assets/js/0a8cd4c3.6a0c814a.js
+++ b/api/assets/js/0a8cd4c3.592f19d0.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkampache_org_api=self.webpackChunkampache_org_api||[]).push([[6799],{1127:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>h,contentTitle:()=>l,default:()=>j,frontMatter:()=>i,metadata:()=>d,toc:()=>c});var t=n(4848),r=n(8453);const i={title:"JSON Methods",metaTitle:"JSON Methods",description:"API documentation"},l=void 0,d={id:"api-json-methods",title:"JSON Methods",description:"API documentation",source:"@site/docs/api-json-methods.md",sourceDirName:".",slug:"/api-json-methods",permalink:"/api/api-json-methods",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{title:"JSON Methods",metaTitle:"JSON Methods",description:"API documentation"},sidebar:"api",previous:{title:"XML Methods",permalink:"/api/api-xml-methods"},next:{title:"Errors",permalink:"/api/api-errors"}},h={},c=[{value:"Auth Methods",id:"auth-methods",level:2},{value:"handshake",id:"handshake",level:3},{value:"goodbye",id:"goodbye",level:3},{value:"lost_password",id:"lost_password",level:3},{value:"ping",id:"ping",level:3},{value:"register",id:"register",level:3},{value:"Non-Data Methods",id:"non-data-methods",level:2},{value:"system_update",id:"system_update",level:3},{value:"system_preferences",id:"system_preferences",level:3},{value:"users",id:"users",level:3},{value:"user_preferences",id:"user_preferences",level:3},{value:"Data Methods",id:"data-methods",level:2},{value:"advanced_search",id:"advanced_search",level:3},{value:"albums",id:"albums",level:3},{value:"album",id:"album",level:3},{value:"album_songs",id:"album_songs",level:3},{value:"artists",id:"artists",level:3},{value:"artist",id:"artist",level:3},{value:"artist_albums",id:"artist_albums",level:3},{value:"artist_songs",id:"artist_songs",level:3},{value:"bookmarks",id:"bookmarks",level:3},{value:"bookmark",id:"bookmark",level:3},{value:"bookmark_create",id:"bookmark_create",level:3},{value:"bookmark_delete",id:"bookmark_delete",level:3},{value:"bookmark_edit",id:"bookmark_edit",level:3},{value:"browse",id:"browse",level:3},{value:"catalogs",id:"catalogs",level:3},{value:"catalog",id:"catalog",level:3},{value:"catalog_action",id:"catalog_action",level:3},{value:"catalog_add",id:"catalog_add",level:3},{value:"catalog_delete",id:"catalog_delete",level:3},{value:"catalog_file",id:"catalog_file",level:3},{value:"catalog_folder",id:"catalog_folder",level:3},{value:"deleted_podcast_episodes",id:"deleted_podcast_episodes",level:3},{value:"deleted_songs",id:"deleted_songs",level:3},{value:"deleted_videos",id:"deleted_videos",level:3},{value:"flag",id:"flag",level:3},{value:"followers",id:"followers",level:3},{value:"following",id:"following",level:3},{value:"friends_timeline",id:"friends_timeline",level:3},{value:"genres",id:"genres",level:3},{value:"genre",id:"genre",level:3},{value:"genre_albums",id:"genre_albums",level:3},{value:"genre_artists",id:"genre_artists",level:3},{value:"genre_songs",id:"genre_songs",level:3},{value:"get_bookmark",id:"get_bookmark",level:3},{value:"get_indexes",id:"get_indexes",level:3},{value:"get_similar",id:"get_similar",level:3},{value:"index",id:"index",level:3},{value:"labels",id:"labels",level:3},{value:"label",id:"label",level:3},{value:"label_artists",id:"label_artists",level:3},{value:"last_shouts",id:"last_shouts",level:3},{value:"licenses",id:"licenses",level:3},{value:"license",id:"license",level:3},{value:"license_songs",id:"license_songs",level:3},{value:"list",id:"list",level:3},{value:"live_streams",id:"live_streams",level:3},{value:"live_stream",id:"live_stream",level:3},{value:"live_stream_create",id:"live_stream_create",level:3},{value:"live_stream_delete",id:"live_stream_delete",level:3},{value:"live_stream_edit",id:"live_stream_edit",level:3},{value:"now_playing",id:"now_playing",level:3},{value:"player",id:"player",level:3},{value:"playlists",id:"playlists",level:3},{value:"playlist",id:"playlist",level:3},{value:"playlist_add",id:"playlist_add",level:3},{value:"playlist_add_song",id:"playlist_add_song",level:3},{value:"playlist_create",id:"playlist_create",level:3},{value:"playlist_delete",id:"playlist_delete",level:3},{value:"playlist_edit",id:"playlist_edit",level:3},{value:"playlist_generate",id:"playlist_generate",level:3},{value:"playlist_hash",id:"playlist_hash",level:3},{value:"playlist_remove_song",id:"playlist_remove_song",level:3},{value:"playlist_songs",id:"playlist_songs",level:3},{value:"podcasts",id:"podcasts",level:3},{value:"podcast",id:"podcast",level:3},{value:"podcast_create",id:"podcast_create",level:3},{value:"podcast_delete",id:"podcast_delete",level:3},{value:"podcast_edit",id:"podcast_edit",level:3},{value:"podcast_episodes",id:"podcast_episodes",level:3},{value:"podcast_episode",id:"podcast_episode",level:3},{value:"podcast_episode_delete",id:"podcast_episode_delete",level:3},{value:"preference_create",id:"preference_create",level:3},{value:"preference_delete",id:"preference_delete",level:3},{value:"preference_edit",id:"preference_edit",level:3},{value:"rate",id:"rate",level:3},{value:"record_play",id:"record_play",level:3},{value:"scrobble",id:"scrobble",level:3},{value:"search_group",id:"search_group",level:3},{value:"search_songs",id:"search_songs",level:3},{value:"shares",id:"shares",level:3},{value:"share",id:"share",level:3},{value:"share_create",id:"share_create",level:3},{value:"share_delete",id:"share_delete",level:3},{value:"share_edit",id:"share_edit",level:3},{value:"songs",id:"songs",level:3},{value:"song",id:"song",level:3},{value:"song_delete",id:"song_delete",level:3},{value:"stats",id:"stats",level:3},{value:"system_preference",id:"system_preference",level:3},{value:"timeline",id:"timeline",level:3},{value:"toggle_follow",id:"toggle_follow",level:3},{value:"update_art",id:"update_art",level:3},{value:"update_artist_info",id:"update_artist_info",level:3},{value:"update_from_tags",id:"update_from_tags",level:3},{value:"update_podcast",id:"update_podcast",level:3},{value:"url_to_song",id:"url_to_song",level:3},{value:"user",id:"user",level:3},{value:"user_create",id:"user_create",level:3},{value:"user_delete",id:"user_delete",level:3},{value:"user_edit",id:"user_edit",level:3},{value:"user_playlists",id:"user_playlists",level:3},{value:"user_preference",id:"user_preference",level:3},{value:"user_smartlists",id:"user_smartlists",level:3},{value:"videos",id:"videos",level:3},{value:"video",id:"video",level:3},{value:"Binary Data Methods",id:"binary-data-methods",level:2},{value:"download",id:"download",level:3},{value:"get_art",id:"get_art",level:3},{value:"stream",id:"stream",level:3},{value:"Control Methods",id:"control-methods",level:2},{value:"democratic",id:"democratic",level:3},{value:"localplay",id:"localplay",level:3}];function x(e){const s={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.RP)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"Let's go through come calls and examples that you can do for each JSON method."}),"\n",(0,t.jsx)(s.p,{children:"With the exception of Binary methods, all responses will return a HTTP 200 response."}),"\n",(0,t.jsx)(s.p,{children:"Also remember that Binary data methods will not return JSON; just the file/data you have requested."}),"\n",(0,t.jsx)(s.p,{children:"Binary methods will also return:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"HTTP 400 responses for a bad or incomplete request"}),"\n",(0,t.jsx)(s.li,{children:"HTTP 404 responses where the requests data was not found"}),"\n",(0,t.jsx)(s.li,{children:"HTTP 416 responses where the stream is unable to return the requested content-range"}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["For information about about how playback works and what a client can expect from Ampache check out ",(0,t.jsx)(s.a,{href:"https://ampache.org/api/api-media-methods",children:"API Media Methods"})]}),"\n",(0,t.jsx)(s.h2,{id:"auth-methods",children:"Auth Methods"}),"\n",(0,t.jsx)(s.p,{children:"Auth methods are used for authenticating or checking the status of your session in an Ampache server."}),"\n",(0,t.jsx)(s.p,{children:"Remember that the auth parameter does not need to be sent as a parameter in the URL."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"https://ampache.org/api/#http-header-authentication",children:"HTTP header authentication"})," is supported for the auth parameter where present."]}),"\n",(0,t.jsx)(s.h3,{id:"handshake",children:"handshake"}),"\n",(0,t.jsx)(s.p,{children:"This is the function that handles verifying a new handshake Takes a timestamp, auth key, and username."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'auth'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$passphrase (Timestamp . Password SHA hash) OR (API Key)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'user'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$username (Required if login/password authentication)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'timestamp'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"UNIXTIME() The timestamp used in seed of password hash"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(Required if login/password authentication)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'version'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$version (API Version that the application understands)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"auth": "",\n"api": "",\n"session_expire": "",\n"update": "",\n"add": "",\n"clean": "",\n"songs": 0,\n"albums": 0,\n"artists": 0,\n"genres": 0,\n"playlists": 0,\n"users": 0,\n"catalogs": 0,\n"videos": 0,\n"podcasts": 0,\n"podcast_episodes": 0,\n"shares": 0,\n"licenses": 0,\n"live_streams": 0,\n"labels": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/handshake.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"goodbye",children:"goodbye"}),"\n",(0,t.jsx)(s.p,{children:"Destroy a session using the auth parameter."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'auth'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"(Session ID) destroys the session if it exists"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/goodbye.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"lost_password",children:"lost_password"}),"\n",(0,t.jsx)(s.p,{children:"Email a new password to the user (if allowed) using a reset token."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-php",children:"   $username;\n   $key = hash('sha256', 'email');\n   auth = hash('sha256', $username . $key);\n"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'auth'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"password reset token"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.h3,{id:"ping",children:"ping"}),"\n",(0,t.jsx)(s.p,{children:"This can be called without being authenticated, it is useful for determining if what the status of the server is, and what version it is running/compatible with"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'auth'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"(Session ID) returns version information and extends the session if passed"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'version'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$version (API Version that the application understands)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"session_expire": "",\n"server": "",\n"version": "",\n"compatible": "",\n"auth": "",\n"api": "",\n"update": "",\n"add": "",\n"clean": "",\n"songs": 0,\n"albums": 0,\n"artists": 0,\n"genres": 0,\n"playlists": 0,\n"users": 0,\n"catalogs": 0,\n"videos": 0,\n"podcasts": 0,\n"podcast_episodes": 0,\n"shares": 0,\n"licenses": 0,\n"live_streams": 0,\n"labels": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"server": "",\n"version": "",\n"compatible": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/ping.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"register",children:"register"}),"\n",(0,t.jsx)(s.p,{children:"Register as a new user if allowed. (Requires the username, password and email.)"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$username"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'password'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"hash('sha256', $password)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'email'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["e.g. ",(0,t.jsx)(s.code,{children:"user@gmail.com"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'fullname'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.h2,{id:"non-data-methods",children:"Non-Data Methods"}),"\n",(0,t.jsx)(s.p,{children:"These methods take no parameters beyond your auth key to return information"}),"\n",(0,t.jsx)(s.h3,{id:"system_update",children:"system_update"}),"\n",(0,t.jsx)(s.p,{children:"Check Ampache for updates and run the update if there is one."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/system_update.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"system_preferences",children:"system_preferences"}),"\n",(0,t.jsx)(s.p,{children:"Get your server preferences"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"preference": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/system_preferences.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"users",children:"users"}),"\n",(0,t.jsx)(s.p,{children:"Get ids and usernames for your site"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"user": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/users.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"user_preferences",children:"user_preferences"}),"\n",(0,t.jsx)(s.p,{children:"Get your user preferences"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"preference": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/user_preferences.json",children:"Example"})}),"\n",(0,t.jsx)(s.h2,{id:"data-methods",children:"Data Methods"}),"\n",(0,t.jsx)(s.p,{children:"Data methods require additional information and parameters to return information"}),"\n",(0,t.jsx)(s.h3,{id:"advanced_search",children:"advanced_search"}),"\n",(0,t.jsx)(s.p,{children:"Perform an advanced search given passed rules. This works in a similar way to the web/UI search pages.\nYou can pass multiple rules as well as joins to create in depth search results."}),"\n",(0,t.jsx)(s.p,{children:"Rules must be sent in groups of 3 using an int (starting from 1) to designate which rules are combined.\nUse operator ('and', 'or') to choose whether to join or separate each rule when searching."}),"\n",(0,t.jsxs)(s.p,{children:["Refer to the ",(0,t.jsx)(s.a,{href:"https://ampache.org/api/api-advanced-search",children:"Advanced Search"})," page for details about creating searches."]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," the rules part can be confusing but essentially you can include as many 'arrays' of rules as you want.\nJust add 1 to the rule value to create a new group of rules."]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Mandatory Rule Values","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"rule_1"}),"\n",(0,t.jsx)(s.li,{children:"rule_1_operator"}),"\n",(0,t.jsx)(s.li,{children:"rule_1_input"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Optional (Metadata searches ",(0,t.jsx)(s.strong,{children:"only"}),")","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"rule_1_subtype"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"operator"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"and, or (whether to match one rule or all)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"rule_*"}),(0,t.jsx)(s.td,{children:"array"}),(0,t.jsxs)(s.td,{children:["[",(0,t.jsx)(s.code,{children:"rule_1"}),", ",(0,t.jsx)(s.code,{children:"rule_1_operator"}),", ",(0,t.jsx)(s.code,{children:"rule_1_input"}),"]"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"rule_*"}),(0,t.jsx)(s.td,{children:"array"}),(0,t.jsxs)(s.td,{children:["[",(0,t.jsx)(s.code,{children:"rule_2"}),", ",(0,t.jsx)(s.code,{children:"rule_2_operator"}),", ",(0,t.jsx)(s.code,{children:"rule_2_input"}),"], [etc]"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"type"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"album"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"label"}),", ",(0,t.jsx)(s.code,{children:"playlist"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"podcast"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"genre"}),", ",(0,t.jsx)(s.code,{children:"user"}),", ",(0,t.jsx)(s.code,{children:"video"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"random"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (random order of results; default to 0)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []|"album": []|"artist": []|"playlist": []|"label": []|"user": []|"video": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:["SONG ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/advanced_search%20(song).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ARTIST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/advanced_search%20(artist).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ALBUM ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/advanced_search%20(album).json",children:"Example"})]}),"\n",(0,t.jsx)(s.h3,{id:"albums",children:"albums"}),"\n",(0,t.jsx)(s.p,{children:"This returns albums based on the provided search filters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"albums"}),", ",(0,t.jsx)(s.code,{children:"songs"})," (include child objects in the response)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"album": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/albums.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"album",children:"album"}),"\n",(0,t.jsx)(s.p,{children:"This returns a single album based on the UID provided"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Album, returns album JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"songs"})," (include child objects in the response)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"artist": {},\n"time": 0,\n"year": 0,\n"tracks": [],\n"songcount": 0,\n"diskcount": 0,\n"type": "",\n"genre": [],\n"art": "",\n"flag": 0,\n"preciserating": 0.0,\n"rating": 0.0,\n"averagerating": 0.0,\n"mbid": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/album.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"album_songs",children:"album_songs"}),"\n",(0,t.jsx)(s.p,{children:"This returns the songs of a specified album"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Album, returns song JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"comma string pairs (e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/album_songs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"artists",children:"artists"}),"\n",(0,t.jsx)(s.p,{children:"This takes a collection of inputs and returns artist objects."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"albums"}),", ",(0,t.jsx)(s.code,{children:"songs"})," (include child objects in the response)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'album_artist'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter for album artists only)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"artist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/artists.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"artist",children:"artist"}),"\n",(0,t.jsx)(s.p,{children:"This returns a single artist based on the UID of said artist"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Artist, returns artist JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"albums"}),", ",(0,t.jsx)(s.code,{children:"songs"})," (include child objects in the response)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"albums": [],\n"albumcount": 0,\n"songs": [],\n"songcount": 0,\n"genre": [],\n"art": "",\n"flag": 0,\n"preciserating": 0,\n"rating": 0,\n"averagerating": 0,\n"mbid": "",\n"summary": "",\n"time": 0,\n"yearformed": 0,\n"placeformed": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/artist.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"artist_albums",children:"artist_albums"}),"\n",(0,t.jsx)(s.p,{children:"This returns the albums of an artist"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Artist, returns Album JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'album_artist'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter for album artists only)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"album": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/artist_albums.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"artist_songs",children:"artist_songs"}),"\n",(0,t.jsx)(s.p,{children:"This returns the songs of the specified artist"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Artist, returns Song JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'top50'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter to the artist top 50)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/artist_songs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"bookmarks",children:"bookmarks"}),"\n",(0,t.jsx)(s.p,{children:"Get information about bookmarked media this user is allowed to manage."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"filter by the agent/client name"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"bookmark": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/bookmarks.json",children:"Example"}),"\n",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmarks%20(with%20include).json",children:"Example (with include)"})]}),"\n",(0,t.jsx)(s.h3,{id:"bookmark",children:"bookmark"}),"\n",(0,t.jsx)(s.p,{children:"Get a single bookmark by bookmark_id"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"bookmark_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"owner": "",\n"object_type": "",\n"object_id": "",\n"position": 0,\n"client": "",\n"creation_date": 0,\n"update_date": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmark.json",children:"Example"}),"\n",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmark%20(with%20include).json",children:"Example (with include)"})]}),"\n",(0,t.jsx)(s.h3,{id:"bookmark_create",children:"bookmark_create"}),"\n",(0,t.jsx)(s.p,{children:"Create a placeholder for the current media that you can return to later."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$object_id to find"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'position'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"current track time in seconds"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Agent string."}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'date'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"update time (Default: UNIXTIME())"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"owner": "",\n"object_type": "",\n"object_id": "",\n"position": 0,\n"client": "",\n"creation_date": 0,\n"update_date": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/bookmark_create.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"bookmark_delete",children:"bookmark_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete an existing bookmark. (if it exists)"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$object_id to delete"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Agent string."}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/bookmark_delete",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"bookmark_edit",children:"bookmark_edit"}),"\n",(0,t.jsx)(s.p,{children:"Edit a placeholder for the current media that you can return to later."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$object_id to find"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"bookmark"}),", ",(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'position'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"current track time in seconds"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Agent string."}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'date'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"update time (Default: UNIXTIME())"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"bookmark": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/bookmark_edit.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"browse",children:"browse"}),"\n",(0,t.jsx)(s.p,{children:"Return children of a parent object in a folder traversal/browse style. If you don't send any parameters you'll get a catalog list (the 'root' path)"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," Catalog ID is required on 'artist', 'album', 'podcast' so you can filter the browse correctly"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"'root', 'catalog', 'artist', 'album', 'podcast'"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"catalog ID you are browsing"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"browse": []\n\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/browse%20(root).json",children:"Example"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/browse%20(music%20catalog).json",children:"Example: music catalog"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/browse%20(podcast%20catalog).json",children:"Example: podcast catalog"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/browse%20(video%20catalog).json",children:"Example: video catalog"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/browse%20(artist).json",children:"Example: artist"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/browse%20(album).json",children:"Example: album"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/browse%20(podcast).json",children:"Example: podcast"})}),"\n",(0,t.jsx)(s.h3,{id:"catalogs",children:"catalogs"}),"\n",(0,t.jsx)(s.p,{children:"This searches the catalogs and returns... catalogs"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"music"}),", ",(0,t.jsx)(s.code,{children:"clip"}),", ",(0,t.jsx)(s.code,{children:"tvshow"}),", ",(0,t.jsx)(s.code,{children:"movie"}),", ",(0,t.jsx)(s.code,{children:"personal_video"}),", ",(0,t.jsx)(s.code,{children:"podcast"})," (Catalog type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"catalog": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/catalogs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"catalog",children:"catalog"}),"\n",(0,t.jsx)(s.p,{children:"Return catalog by UID"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Catalog"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"type": "",\n"gather_types": "",\n"enabled": 0,\n"last_add": "",\n"last_clean": "",\n"last_update": "",\n"path": "",\n"rename_pattern": "",\n"sort_pattern": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/catalog.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"catalog_action",children:"catalog_action"}),"\n",(0,t.jsx)(s.p,{children:"Kick off a catalog update or clean for the selected catalog"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'task'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"add_to_catalog"}),", ",(0,t.jsx)(s.code,{children:"clean_catalog"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'catalog'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$catalog_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/catalog_action%20(clean_catalog).json",children:"Example: clean_catalog"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/catalog_action%20(add_to_catalog).json",children:"Example: add_to_catalog"})}),"\n",(0,t.jsx)(s.h3,{id:"catalog_add",children:"catalog_add"}),"\n",(0,t.jsx)(s.p,{children:"Create a public url that can be used by anyone to stream media.\nTakes the file id with optional description and expires parameters."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'name'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Name for the catalog"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'path'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"URL or folder path for your catalog"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"'local', 'beets', 'remote', 'subsonic', 'seafile', 'beetsremote' Default: local"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'media_type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"'music', 'podcast', 'clip', 'tvshow', 'movie', 'personal_video' Default: 'music'"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'file_pattern'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Pattern used identify tags from the file name. Default: '%T - %t'"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'folder_pattern'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Pattern used identify tags from the folder name. Default: '%a/%A'"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"login to remote catalog ('remote', 'subsonic', 'seafile', 'beetsremote')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'password'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"password to remote catalog ('remote', 'subsonic', 'seafile', 'beetsremote')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"type": "",\n"gather_types": "",\n"enabled": 0,\n"last_add": "",\n"last_clean": "",\n"last_update": "",\n"path": "",\n"rename_pattern": "",\n"sort_pattern": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/catalog_create.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"catalog_delete",children:"catalog_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete an existing catalog."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of catalog to delete"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/catalog_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"catalog_file",children:"catalog_file"}),"\n",(0,t.jsx)(s.p,{children:"Perform actions on local catalog files.\nSingle file versions of catalog add, clean, verify and remove (delete)\nMake sure you remember to urlencode those file names!"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'file'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"FULL path to local file"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'task'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"add"}),", ",(0,t.jsx)(s.code,{children:"clean"}),", ",(0,t.jsx)(s.code,{children:"verify"}),", ",(0,t.jsx)(s.code,{children:"remove"}),", (can include comma-separated values)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'catalog'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$catalog_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/catalog_file.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"catalog_folder",children:"catalog_folder"}),"\n",(0,t.jsx)(s.p,{children:"Perform actions on local catalog folders.\nSingle folder versions of catalog add, clean, verify and remove (delete)\nMake sure you remember to urlencode those folder names!"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'folder'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"FULL path to local folder"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'task'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"add"}),", ",(0,t.jsx)(s.code,{children:"clean"}),", ",(0,t.jsx)(s.code,{children:"verify"}),", ",(0,t.jsx)(s.code,{children:"remove"}),", (can include comma-separated values)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'catalog'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$catalog_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/catalog_folder.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"deleted_podcast_episodes",children:"deleted_podcast_episodes"}),"\n",(0,t.jsx)(s.p,{children:"This returns the episodes for a podcast that have been deleted"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"deleted_podcast_episode": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/deleted_podcast_episodes.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"deleted_songs",children:"deleted_songs"}),"\n",(0,t.jsx)(s.p,{children:"Returns songs that have been deleted from the server"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"deleted_song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/deleted_songs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"deleted_videos",children:"deleted_videos"}),"\n",(0,t.jsx)(s.p,{children:"This returns video objects that have been deleted"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"deleted_video": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/deleted_videos.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"flag",children:"flag"}),"\n",(0,t.jsx)(s.p,{children:"This flags a library item as a favorite"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Setting flag to true (1) will set the flag"}),"\n",(0,t.jsx)(s.li,{children:"Setting flag to false (0) will remove the flag"}),"\n"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"album"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"podcast"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"tvshow"}),", ",(0,t.jsx)(s.code,{children:"tvshow_season"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'flag'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/flag.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"followers",children:"followers"}),"\n",(0,t.jsx)(s.p,{children:"This gets the followers for the requested username"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Username of the user to get followers list"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"user": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/followers.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"following",children:"following"}),"\n",(0,t.jsx)(s.p,{children:"Get a list of people that this user follows"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Username of the user to get following list"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"user": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/following.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"friends_timeline",children:"friends_timeline"}),"\n",(0,t.jsx)(s.p,{children:"This get current user friends timeline"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'since'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"UNIXTIME()"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"activity": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/friends_timeline.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"genres",children:"genres"}),"\n",(0,t.jsx)(s.p,{children:"This returns the genres (Tags) based on the specified filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"genre": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/genres.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"genre",children:"genre"}),"\n",(0,t.jsx)(s.p,{children:"This returns a single genre based on UID"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of genre, returns genre JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"albums": 0,\n"artists": 0,\n"songs": 0,\n"videos": 0,\n"playlists": 0,\n"live_streams": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/genre.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"genre_albums",children:"genre_albums"}),"\n",(0,t.jsx)(s.p,{children:"This returns the albums associated with the genre in question"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of genre, returns album JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"album": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/genre_albums.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"genre_artists",children:"genre_artists"}),"\n",(0,t.jsx)(s.p,{children:"This returns the artists associated with the genre in question as defined by the UID"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of genre, returns artist JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"artist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/genre_artists.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"genre_songs",children:"genre_songs"}),"\n",(0,t.jsx)(s.p,{children:"returns the songs for this genre"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of genre, returns song JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/genre_songs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"get_bookmark",children:"get_bookmark"}),"\n",(0,t.jsxs)(s.p,{children:["Get the bookmark from it's object_id and object_type.\nBy default; get only the most recent bookmark. Use ",(0,t.jsx)(s.code,{children:"all"})," to retrieve all media bookmarks for the object in a bookmark array."]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$object_id to find"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'all'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"0,1, if true include every bookmark for the object"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"DEFAULT return object (all=False)"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"owner": "",\n"object_type": "",\n"object_id": "",\n"position": 0,\n"client": "client",\n"creation_date": 0,\n"update_date": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array (all=True)"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"bookmark": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/get_bookmark.json",children:"Example"}),"\n",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_bookmark%20(with%20include).json",children:"Example (with include)"})]}),"\n",(0,t.jsx)(s.h3,{id:"get_indexes",children:"get_indexes"}),"\n",(0,t.jsx)(s.p,{children:"This takes a collection of inputs and returns ID + name for the object type"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," This method is depreciated and will be removed in ",(0,t.jsx)(s.strong,{children:"API7"})," (Use list OR index)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"album"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"album_artist"}),", ",(0,t.jsx)(s.code,{children:"song_artist"}),", ",(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"podcast"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"live_stream"}),", ",(0,t.jsx)(s.code,{children:"catalog"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Value is Alpha Match for returned results, may be more than one letter/number"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'hide_search'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true do not include searches/smartlists in the result)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (include songs in a playlist or episodes in a podcast)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []|"album": []|"artist": []|"playlist": []|"podcast": []\n\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:["SONG ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/get_indexes%20(song).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ARTIST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/get_indexes%20(artist).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ALBUM ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/get_indexes%20(album).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["PLAYLIST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/get_indexes%20(playlist).json",children:"Example"})]}),"\n",(0,t.jsx)(s.h3,{id:"get_similar",children:"get_similar"}),"\n",(0,t.jsx)(s.p,{children:"Return similar artist id's or similar song ids compared to the input filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"artist"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"artist id or song id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []|"artist": []\n\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/get_similar.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"index",children:"index"}),"\n",(0,t.jsx)(s.p,{children:"This takes a collection of inputs and return ID's for the object type. Add 'include' to include child objects"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"catalog"}),", ",(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"album"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"album_artist"}),", ",(0,t.jsx)(s.code,{children:"song_artist"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"podcast"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"share"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"live_stream"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Value is Alpha Match for returned results, may be more than one letter/number"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'hide_search'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true do not include searches/smartlists in the result)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (include songs in a playlist or episodes in a podcast)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"catalog": []|"song": []|"album": []|"artist": []|"album_artist": []|"song_artist": []|"playlist": []|"podcast": []|"podcast_episode": []|"share": []|"video": []|"live_stream": []\n\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:["SONG ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/index%20(song).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ARTIST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/index%20(artist).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ALBUM ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/index%20(album).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["PLAYLIST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/index%20(playlist).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["SONG ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/index%20(song%20with%20include).json",children:"Example (with include)"})]}),"\n",(0,t.jsxs)(s.p,{children:["ARTIST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/index%20(artist%20with%20include).json",children:"Example (with include)"})]}),"\n",(0,t.jsxs)(s.p,{children:["ALBUM ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/index%20(album%20with%20include).json",children:"Example (with include)"})]}),"\n",(0,t.jsxs)(s.p,{children:["PLAYLIST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/index%20(playlist%20with%20include).json",children:"Example (with include)"})]}),"\n",(0,t.jsx)(s.h3,{id:"labels",children:"labels"}),"\n",(0,t.jsx)(s.p,{children:"This returns labels based on the specified filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"label": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/labels.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"label",children:"label"}),"\n",(0,t.jsx)(s.p,{children:"This returns a single label"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of label, returns label JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"artists": 0,\n"summary": "",\n"external_link": "\'",\n"address": "",\n"category": "",\n"email": "",\n"website": "",\n"user": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/label.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"label_artists",children:"label_artists"}),"\n",(0,t.jsx)(s.p,{children:"This returns the artists for a label"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of label, returns artist JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"artist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/label_artists.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"last_shouts",children:"last_shouts"}),"\n",(0,t.jsx)(s.p,{children:"This gets the latest posted shouts"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Get latest shouts for this username"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"shout": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/last_shouts.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"licenses",children:"licenses"}),"\n",(0,t.jsx)(s.p,{children:"This returns licenses based on the specified filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"license": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/licenses.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"license",children:"license"}),"\n",(0,t.jsx)(s.p,{children:"This returns a single license"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of license, returns license JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"description": "",\n"external_link": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/license.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"license_songs",children:"license_songs"}),"\n",(0,t.jsx)(s.p,{children:"This returns the songs for a license"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of license, returns song JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/license_songs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"list",children:"list"}),"\n",(0,t.jsxs)(s.p,{children:["This takes a named array of objects and returning ",(0,t.jsx)(s.code,{children:"id"}),", ",(0,t.jsx)(s.code,{children:"name"}),", ",(0,t.jsx)(s.code,{children:"prefix"})," and ",(0,t.jsx)(s.code,{children:"basename"})]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," This method replaces get_indexes and does not have the ",(0,t.jsx)(s.code,{children:"include"})," parameter and does not include children in the response."]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"album"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"album_artist"}),", ",(0,t.jsx)(s.code,{children:"song_artist"}),", ",(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"podcast"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"live_stream"}),", ",(0,t.jsx)(s.code,{children:"catalog"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Value is Alpha Match for returned results, may be more than one letter/number"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'hide_search'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true do not include searches/smartlists in the result)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"list": []\n\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/list.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"live_streams",children:"live_streams"}),"\n",(0,t.jsx)(s.p,{children:"This returns live_streams based on the specified filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"live_stream": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/live_streams.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"live_stream",children:"live_stream"}),"\n",(0,t.jsx)(s.p,{children:"This returns a single live_stream"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of live_stream, returns live_stream JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"artists": 0,\n"summary": "",\n"external_link": "\'",\n"address": "",\n"category": "",\n"email": "",\n"website": "",\n"user": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/live_stream.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"live_stream_create",children:"live_stream_create"}),"\n",(0,t.jsx)(s.p,{children:"Create a live_stream (radio station) object."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager) permission to create and edit live_streams"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$object_id to find"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'position'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"current track time in seconds"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Agent string. (Default: 'AmpacheAPI')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'date'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"update time (Default: UNIXTIME())"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"artists": 0,\n"summary": "",\n"external_link": "\'",\n"address": "",\n"category": "",\n"email": "",\n"website": "",\n"user": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/live_stream_create.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"live_stream_delete",children:"live_stream_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete an existing live_stream (radio station). (if it exists)"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager) permission to create and edit live_streams"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$object_id to delete"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Agent string. (Default: 'AmpacheAPI')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/live_stream_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"live_stream_edit",children:"live_stream_edit"}),"\n",(0,t.jsx)(s.p,{children:"Edit a live_stream (radio station) object."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager) permission to create and edit live_streams"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$object_id to find"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'position'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"current track time in seconds"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Agent string. (Default: 'AmpacheAPI')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'date'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"update time (Default: UNIXTIME())"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"artists": 0,\n"summary": "",\n"external_link": "\'",\n"address": "",\n"category": "",\n"email": "",\n"website": "",\n"user": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/live_stream_edit.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"now_playing",children:"now_playing"}),"\n",(0,t.jsx)(s.p,{children:"Get what is currently being played by all users."}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"now_playing": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/now_playing.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"player",children:"player"}),"\n",(0,t.jsx)(s.p,{children:"Inform the server about the state of your client. (Song you are playing, Play/Pause state, etc.)"}),"\n",(0,t.jsxs)(s.p,{children:["Return the ",(0,t.jsx)(s.code,{children:"now_playing"})," state when completed"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$object_id currently playing/stopping"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})," (Default: ",(0,t.jsx)(s.code,{children:"song"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'state'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"play"}),", ",(0,t.jsx)(s.code,{children:"stop"})," (Default: ",(0,t.jsx)(s.code,{children:"play"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'time'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"current play time in whole seconds (Default: 0)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"agent/client name"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"now_playing": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/player.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlists",children:"playlists"}),"\n",(0,t.jsx)(s.p,{children:"This returns playlists based on the specified filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'hide_search'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true do not include searches/smartlists in the result)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'show_dupes'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true if true ignore 'api_hide_dupe_searches' setting)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"playlist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlists.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist",children:"playlist"}),"\n",(0,t.jsx)(s.p,{children:"This returns a single playlist"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of playlist, returns playlist JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"playlist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist_add",children:"playlist_add"}),"\n",(0,t.jsx)(s.p,{children:"This adds a song to a playlist. setting check=1 will not add duplicates to the playlist"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of the object to add to playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"'song', 'album', 'artist', 'playlist'"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_add.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist_add_song",children:"playlist_add_song"}),"\n",(0,t.jsx)(s.p,{children:"This adds a song to a playlist. setting check=1 will not add duplicates to the playlist"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," This method is depreciated and will be removed in ",(0,t.jsx)(s.strong,{children:"API7"})," (Use playlist_add)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'song'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of song to add to playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'check'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," Whether to check and ignore duplicates (default = 0)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_add_song.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist_create",children:"playlist_create"}),"\n",(0,t.jsx)(s.p,{children:"This create a new playlist and return it"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'name'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Playlist name"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"public"}),", ",(0,t.jsx)(s.code,{children:"private"})," (Playlist type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"playlist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_create.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist_delete",children:"playlist_delete"}),"\n",(0,t.jsx)(s.p,{children:"This deletes a playlist"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist_edit",children:"playlist_edit"}),"\n",(0,t.jsx)(s.p,{children:"This modifies name and type of a playlist\nPreviously name and type were mandatory while filter wasn't. this has been reversed."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," items and tracks must be sent together and be of equal length"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'name'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Playlist name"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"public"}),", ",(0,t.jsx)(s.code,{children:"private"})," (Playlist type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'owner'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Change playlist owner to the user id (-1 = System playlist)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'items'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"comma-separated song_id's (replaces existing items with a new id)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'tracks'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"comma-separated playlisttrack numbers matched to 'items' in order"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_edit.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist_generate",children:"playlist_generate"}),"\n",(0,t.jsx)(s.p,{children:"Get a list of song JSON, indexes or id's based on some simple search criteria\n'recent' will search for tracks played after 'Popular Threshold' days\n'forgotten' will search for tracks played before 'Popular Threshold' days\n'unplayed' added in 400002 for searching unplayed tracks"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'mode'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"recent"}),", ",(0,t.jsx)(s.code,{children:"forgotten"}),", ",(0,t.jsx)(s.code,{children:"unplayed"}),", ",(0,t.jsx)(s.code,{children:"random"})," (default = 'random')"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"string LIKE matched to song title"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'album'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$album_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'artist'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$artist_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'flag'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (get flagged songs only. default = 0)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'format'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"index"}),", ",(0,t.jsx)(s.code,{children:"id"})," (default = 'song')"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []|"index": []|"id": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:["SONG ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_generate%20(song).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["INDEX ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_generate%20(index).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ID ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_generate%20(id).json",children:"Example"})]}),"\n",(0,t.jsx)(s.h3,{id:"playlist_hash",children:"playlist_hash"}),"\n",(0,t.jsx)(s.p,{children:"This returns the md5 hash for the songs in a playlist"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"md5": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_hash.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist_remove_song",children:"playlist_remove_song"}),"\n",(0,t.jsx)(s.p,{children:"This remove a song from a playlist.\nPrevious versions required 'track' instead of 'song'."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'song'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of song to remove from playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'track'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Track number to remove from playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_remove_song.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist_songs",children:"playlist_songs"}),"\n",(0,t.jsx)(s.p,{children:"This returns the songs for a playlist"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Playlist, returns song JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'random'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true get random songs using limit)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_songs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"podcasts",children:"podcasts"}),"\n",(0,t.jsx)(s.p,{children:"Get information about podcasts"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Value is Alpha Match for returned results, may be more than one letter/number"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"episodes"})," (include podcast_episodes in the response)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"podcast": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/podcasts.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"podcast",children:"podcast"}),"\n",(0,t.jsx)(s.p,{children:"Get the podcast from it's id."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of podcast, returns podcast JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"episodes"})," (include podcast_episodes in the response)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"description": "",\n"language": "",\n"copyright": "",\n"feed_url": "",\n"generator": "",\n"website": "",\n"build_date": "",\n"sync_date": "",\n"public_url": "",\n"podcast_episode": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/podcast.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"podcast_create",children:"podcast_create"}),"\n",(0,t.jsx)(s.p,{children:"Create a podcast that can be used by anyone to stream media.\nTakes the url and catalog parameters."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'url'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"rss url for podcast"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'catalog'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"podcast catalog"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"podcast": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/podcast_create.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"podcast_delete",children:"podcast_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete an existing podcast."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of podcast to delete"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/podcast_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"podcast_edit",children:"podcast_edit"}),"\n",(0,t.jsx)(s.p,{children:"Update the description and/or expiration date for an existing podcast.\nTakes the podcast id to update with optional description and expires parameters."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Alpha-numeric search term"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'feed'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"feed rss xml url"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'title'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"title string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'website'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"source website url"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'description'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'generator'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'copyright'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/podcast_edit.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"podcast_episodes",children:"podcast_episodes"}),"\n",(0,t.jsx)(s.p,{children:"This returns the episodes for a podcast"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of podcast"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"podcast_episode": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/podcast_episodes.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"podcast_episode",children:"podcast_episode"}),"\n",(0,t.jsx)(s.p,{children:"Get the podcast_episode from it's id."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"podcast_episode ID number"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"podcast_episode": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/podcast_episode.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"podcast_episode_delete",children:"podcast_episode_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete an existing podcast_episode."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of podcast_episode to delete"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/podcast_episode_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"preference_create",children:"preference_create"}),"\n",(0,t.jsx)(s.p,{children:"Add a new preference to your server"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"boolean"}),", ",(0,t.jsx)(s.code,{children:"integer"}),", ",(0,t.jsx)(s.code,{children:"string"}),", ",(0,t.jsx)(s.code,{children:"special"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'default'"}),(0,t.jsx)(s.td,{children:"mixed"}),(0,t.jsx)(s.td,{children:"string or integer default value"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'category'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"interface"}),", ",(0,t.jsx)(s.code,{children:"internal"}),", ",(0,t.jsx)(s.code,{children:"options"}),", ",(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"plugins"}),", ",(0,t.jsx)(s.code,{children:"streaming"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'description'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'subcategory'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'level'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"access level required to change the value (default 100)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/preference_create.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"preference_delete",children:"preference_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete a non-system preference by name"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/preference_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"preference_edit",children:"preference_edit"}),"\n",(0,t.jsx)(s.p,{children:"Edit a preference value and apply to all users if allowed"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'value'"}),(0,t.jsx)(s.td,{children:"mixed"}),(0,t.jsx)(s.td,{children:"(string/integer) Preference value"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'all'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," apply to all users"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/preference_edit.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"rate",children:"rate"}),"\n",(0,t.jsx)(s.p,{children:"This rates a library item"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"album"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"podcast"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"tvshow"}),", ",(0,t.jsx)(s.code,{children:"tvshow_season"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"library item id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'rating'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"rating between 0-5"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/rate.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"record_play",children:"record_play"}),"\n",(0,t.jsx)(s.p,{children:"Take a song_id and update the object_count and user_activity table with a play. This allows other sources to record play history to Ampache."}),"\n",(0,t.jsx)(s.p,{children:"If you don't supply a user id (optional) then just fall back to you."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin) permission to change another user's play history"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'user'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$user_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$agent"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'date'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"UNIXTIME()"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/record_play.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"scrobble",children:"scrobble"}),"\n",(0,t.jsx)(s.p,{children:"Search for a song using text info and then record a play if found. This allows other sources to record play history to ampache"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'song'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"HTML encoded string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'artist'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"HTML encoded string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'album'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"HTML encoded string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'songmbid'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song_mbid"})," also supported"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'artistmbid'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"artist_mbid"})," also supported"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'albummbid'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"album_mbid"})," also supported"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'date'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"UNIXTIME()"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$agent"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/scrobble.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"search_group",children:"search_group"}),"\n",(0,t.jsx)(s.p,{children:"Perform a group search given passed rules. This function will return multiple object types if the rule names match the object type.\nYou can pass multiple rules as well as joins to create in depth search results."}),"\n",(0,t.jsx)(s.p,{children:"Limit and offset are applied per object type. Meaning with a limit of 10 you will return 10 objects of each type not 10 results total."}),"\n",(0,t.jsx)(s.p,{children:"Rules must be sent in groups of 3 using an int (starting from 1) to designate which rules are combined.\nUse operator ('and', 'or') to choose whether to join or separate each rule when searching."}),"\n",(0,t.jsxs)(s.p,{children:["Refer to the ",(0,t.jsx)(s.a,{href:"https://ampache.org/api/api-advanced-search",children:"Advanced Search"})," page for details about creating searches."]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," the rules part can be confusing but essentially you can include as many 'arrays' of rules as you want.\nJust add 1 to the rule value to create a new group of rules."]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Mandatory Rule Values","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"rule_1"}),"\n",(0,t.jsx)(s.li,{children:"rule_1_operator"}),"\n",(0,t.jsx)(s.li,{children:"rule_1_input"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Optional (Metadata searches ",(0,t.jsx)(s.strong,{children:"only"}),")","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"rule_1_subtype"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," the type parameter is different from the regular advanced_search method.\nEach type is a grouping of object types so allow single search calls to be made"]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsx)(s.p,{children:"all"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"song"}),"\n",(0,t.jsx)(s.li,{children:"album"}),"\n",(0,t.jsx)(s.li,{children:"song_artist"}),"\n",(0,t.jsx)(s.li,{children:"album_artist"}),"\n",(0,t.jsx)(s.li,{children:"artist"}),"\n",(0,t.jsx)(s.li,{children:"label"}),"\n",(0,t.jsx)(s.li,{children:"playlist"}),"\n",(0,t.jsx)(s.li,{children:"podcast"}),"\n",(0,t.jsx)(s.li,{children:"podcast_episode"}),"\n",(0,t.jsx)(s.li,{children:"genre"}),"\n",(0,t.jsx)(s.li,{children:"user"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsx)(s.p,{children:"music"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"song"}),"\n",(0,t.jsx)(s.li,{children:"album"}),"\n",(0,t.jsx)(s.li,{children:"artist"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsx)(s.p,{children:"song_artist"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"song"}),"\n",(0,t.jsx)(s.li,{children:"album"}),"\n",(0,t.jsx)(s.li,{children:"song_artist"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsx)(s.p,{children:"album_artist"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"song"}),"\n",(0,t.jsx)(s.li,{children:"album"}),"\n",(0,t.jsx)(s.li,{children:"album_artist"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsx)(s.p,{children:"podcast"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"podcast"}),"\n",(0,t.jsx)(s.li,{children:"podcast_episode"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsx)(s.p,{children:"video"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"video"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"operator"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"and, or (whether to match one rule or all)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"rule_*"}),(0,t.jsx)(s.td,{children:"array"}),(0,t.jsxs)(s.td,{children:["[",(0,t.jsx)(s.code,{children:"rule_1"}),", ",(0,t.jsx)(s.code,{children:"rule_1_operator"}),", ",(0,t.jsx)(s.code,{children:"rule_1_input"}),"]"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"rule_*"}),(0,t.jsx)(s.td,{children:"array"}),(0,t.jsxs)(s.td,{children:["[",(0,t.jsx)(s.code,{children:"rule_2"}),", ",(0,t.jsx)(s.code,{children:"rule_2_operator"}),", ",(0,t.jsx)(s.code,{children:"rule_2_input"}),"], [etc]"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"type"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"all"}),", ",(0,t.jsx)(s.code,{children:"music"}),", ",(0,t.jsx)(s.code,{children:"song_artist"}),", ",(0,t.jsx)(s.code,{children:"album_artist"}),", ",(0,t.jsx)(s.code,{children:"podcast"}),", ",(0,t.jsx)(s.code,{children:"video"})," (",(0,t.jsx)(s.code,{children:"all"})," by default)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"random"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (random order of results; default to 0)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"search": [\n    "song: [],\n    "album: [],\n    "song_artist: [],\n    "album_artist: [],\n    "artist: [],\n    "label: [],\n    "playlist: [],\n    "podcast: [],\n    "podcast_episode: [],\n    "genre: [],\n    "user: []\n]\n\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:["ALL ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/search_group%20(all).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["MUSIC ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/search_group%20(music).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["PODCAST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/search_group%20(podcast).json",children:"Example"})]}),"\n",(0,t.jsx)(s.h3,{id:"search_songs",children:"search_songs"}),"\n",(0,t.jsx)(s.p,{children:"This searches the songs and returns... songs"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/search_songs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"shares",children:"shares"}),"\n",(0,t.jsx)(s.p,{children:"This searches the shares and returns... shares"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," boolean to match the exact filter string"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"share": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/shares.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"share",children:"share"}),"\n",(0,t.jsx)(s.p,{children:"Return shares by UID"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Share, returns song JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"owner": "",\n"allow_stream": 0,\n"allow_download": 0,\n"creation_date": "",\n"lastvisit_date": "",\n"object_type": "",\n"object_id": "",\n"expire_days": 0,\n"max_counter": 0,\n"counter": 0,\n"secret": "",\n"public_url": "",\n"description": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/share.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"share_create",children:"share_create"}),"\n",(0,t.jsx)(s.p,{children:"Create a public url that can be used by anyone to stream media.\nTakes the file id with optional description and expires parameters."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of object you are sharing"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"object_type"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'description'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"description (will be filled for you if empty)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'expires'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"days to keep active"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"share": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/share_create.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"share_delete",children:"share_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete an existing share."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Share to delete"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/share_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"share_edit",children:"share_edit"}),"\n",(0,t.jsx)(s.p,{children:"Update the description and/or expiration date for an existing share.\nTakes the share id to update with optional description and expires parameters."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Alpha-numeric search term"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'stream'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'download'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'expires'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"number of days before expiry"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'description'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"update description"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/share_edit.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"songs",children:"songs"}),"\n",(0,t.jsx)(s.p,{children:"Returns songs based on the specified filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/songs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"song",children:"song"}),"\n",(0,t.jsx)(s.p,{children:"returns a single song"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Song, returns song JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"title": "",\n"name": "",\n"artist": {},\n"album": {},\n"genre": [],\n"albumartist": {},\n"filename": "",\n"track": 0,\n"playlisttrack": 0,\n"time": 0,\n"year": 0,\n"bitrate": 0,\n"rate": 0,\n"mode": "",\n"mime": "",\n"url": "",\n"size": 0,\n"mbid": "0",\n"album_mbid": "",\n"artist_mbid": "",\n"albumartist_mbid": ",\n"art": "",\n"flag": 0,\n"preciserating": 0.0,\n"rating": 0.0,\n"averagerating": 0.0,\n"playcount": 0,\n"catalog": 0,\n"composer": "",\n"channels": null,\n"comment": "",\n"publisher": "",\n"language": "",\n"replaygain_album_gain": 0.000000,\n"replaygain_album_peak": 0.000000,\n"replaygain_track_gain": 0.000000,\n"replaygain_track_peak": 0.000000\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/song.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"song_delete",children:"song_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete an existing song. (if you are allowed to)"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of song to delete"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/song_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"stats",children:"stats"}),"\n",(0,t.jsxs)(s.p,{children:["Get some items based on some simple search types and filters. (Random by default)\nThis method ",(0,t.jsx)(s.strong,{children:"HAD"})," partial backwards compatibility with older api versions but it has now been removed"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"album"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"podcast"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"newest"}),", ",(0,t.jsx)(s.code,{children:"highest"}),", ",(0,t.jsx)(s.code,{children:"frequent"}),", ",(0,t.jsx)(s.code,{children:"recent"}),", ",(0,t.jsx)(s.code,{children:"forgotten"}),", ",(0,t.jsx)(s.code,{children:"flagged"}),", ",(0,t.jsx)(s.code,{children:"random"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'user_id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []|"album": []|"artist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:["SONG ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/stats%20(song).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ARTIST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/stats%20(artist).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ALBUM ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/stats%20(album).json",children:"Example"})]}),"\n",(0,t.jsx)(s.h3,{id:"system_preference",children:"system_preference"}),"\n",(0,t.jsx)(s.p,{children:"Get your server preference by name"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"preference": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/system_preferences.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"timeline",children:"timeline"}),"\n",(0,t.jsx)(s.p,{children:"This gets a user's timeline"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Username of the user for whom to get the timeline"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'since'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"UNIXTIME()"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"activity": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/timeline.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"toggle_follow",children:"toggle_follow"}),"\n",(0,t.jsx)(s.p,{children:"This follow/unfollow a user"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Username of the user to follow/unfollow"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/toggle_follow.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"update_art",children:"update_art"}),"\n",(0,t.jsx)(s.p,{children:"Updates a single album, artist, song running the gather_art process\nDoesn't overwrite existing art by default."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"podcast"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'overwrite'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/update_art.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"update_artist_info",children:"update_artist_info"}),"\n",(0,t.jsx)(s.p,{children:"Update artist information and fetch similar artists from last.fm\nMake sure lastfm_API_key is set in your configuration file"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$artist_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/update_artist_info.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"update_from_tags",children:"update_from_tags"}),"\n",(0,t.jsx)(s.p,{children:"Update a single album, artist, song from the tag data"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"album"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$artist_id, $album_id, $song_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/update_from_tags.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"update_podcast",children:"update_podcast"}),"\n",(0,t.jsx)(s.p,{children:"Sync and download new podcast episodes"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/update_podcast.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"url_to_song",children:"url_to_song"}),"\n",(0,t.jsx)(s.p,{children:"This takes a url and returns the song object in question"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'url'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Full Ampache URL from server, translates back into a song JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"title": "",\n"name": "",\n"artist": {},\n"album": {},\n"genre": [],\n"albumartist": {},\n"filename": "",\n"track": 0,\n"playlisttrack": 0,\n"time": 0,\n"year": 0,\n"bitrate": 0,\n"rate": 0,\n"mode": "",\n"mime": "",\n"url": "",\n"size": 0,\n"mbid": "",\n"album_mbid": "",\n"artist_mbid": "",\n"albumartist_mbid": "",\n"art": "",\n"flag": 0,\n"preciserating": 0.0,\n"rating": 0.0,\n"averagerating": 0.0,\n"playcount": 0,\n"catalog": 0,\n"composer": "",\n"channels": null,\n"comment": "",\n"publisher": "",\n"language": "",\n"replaygain_album_gain": 0.000000,\n"replaygain_album_peak": 0.000000,\n"replaygain_track_gain": 0.000000,\n"replaygain_track_peak": 0.000000\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/url_to_song.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"user",children:"user"}),"\n",(0,t.jsx)(s.p,{children:"This gets a user's public information."}),"\n",(0,t.jsx)(s.p,{children:"If the username is omitted, this will return the current api user's public information."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Username of the user to get details for"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"user": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/user.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"user_create",children:"user_create"}),"\n",(0,t.jsx)(s.p,{children:"Create a new user. (Requires the username, password and email.)"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$username"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'password'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"hash('sha256', $password)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'email'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["e.g. ",(0,t.jsx)(s.code,{children:"user@gmail.com"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'fullname'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'disable'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'group'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Catalog filter group, default = 0"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/user_create.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"user_delete",children:"user_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete an existing user."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/user_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"user_edit",children:"user_edit"}),"\n",(0,t.jsx)(s.p,{children:"Update an existing user."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," This function has been renamed from user_update to match other edit functions"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$username"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'password'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"hash('sha256', $password)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'email'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["e.g. ",(0,t.jsx)(s.code,{children:"user@gmail.com"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'fullname'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'website'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'state'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'city'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'disable'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'group'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Catalog filter group, default = 0"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'maxbitrate'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'fullname_public'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," show fullname in public display"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'reset_apikey'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," reset user Api Key"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'reset_streamtoken'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," reset user Stream Token"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'clear_stats'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," reset all stats for this user"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/user_edit.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"user_playlists",children:"user_playlists"}),"\n",(0,t.jsx)(s.p,{children:"This returns playlists based on the specified filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"playlist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/user_playlists.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"user_preference",children:"user_preference"}),"\n",(0,t.jsx)(s.p,{children:"Get your user preference by name"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"preference": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/user_preference.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"user_smartlists",children:"user_smartlists"}),"\n",(0,t.jsx)(s.p,{children:"This returns smartlists based on the specified filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"playlist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/user_smartlists.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"videos",children:"videos"}),"\n",(0,t.jsx)(s.p,{children:"This returns video objects!"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"video": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/videos.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"video",children:"video"}),"\n",(0,t.jsx)(s.p,{children:"This returns a single video"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of video, returns video JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"title": "",\n"mime": "",\n"resolution": "",\n"size": 0,\n"genre": [],\n"url": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/video.json",children:"Example"})}),"\n",(0,t.jsx)(s.h2,{id:"binary-data-methods",children:"Binary Data Methods"}),"\n",(0,t.jsx)(s.p,{children:"Binary data methods are used for returning raw data to the user such as a image or stream."}),"\n",(0,t.jsx)(s.h3,{id:"download",children:"download"}),"\n",(0,t.jsx)(s.p,{children:"Downloads a given media file. set format=raw to download the full file"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," search and playlist will only download a random object from the list"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"search"}),", ",(0,t.jsx)(s.code,{children:"playlist"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'bitrate'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"max bitrate for transcoding in bytes (e.g 192000=192Kb)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'format'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"mp3"}),", ",(0,t.jsx)(s.code,{children:"ogg"}),", ",(0,t.jsx)(s.code,{children:"raw"}),", etc (raw returns the original format)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return file (HTTP 200 OK)"}),"\n",(0,t.jsx)(s.li,{children:"throws (HTTP 400 Bad Request)"}),"\n",(0,t.jsx)(s.li,{children:"throws (HTTP 404 Not Found)"}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"get_art",children:"get_art"}),"\n",(0,t.jsx)(s.p,{children:"Get an art image."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"album"}),", ",(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"search"}),", ",(0,t.jsx)(s.code,{children:"podcast"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return image (HTTP 200 OK)"}),"\n",(0,t.jsx)(s.li,{children:"throws (HTTP 400 Bad Request)"}),"\n",(0,t.jsx)(s.li,{children:"throws (HTTP 404 Not Found)"}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"stream",children:"stream"}),"\n",(0,t.jsx)(s.p,{children:"Streams a given media file. Takes the file id in parameter with optional max bit rate, file format, time offset, size and estimate content length option."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," search and playlist will only stream a random object from the list"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"search"}),", ",(0,t.jsx)(s.code,{children:"playlist"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'bitrate'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"max bitrate for transcoding in bytes (e.g 192000=192Kb)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'format'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"mp3"}),", ",(0,t.jsx)(s.code,{children:"ogg"}),", ",(0,t.jsx)(s.code,{children:"raw"}),", etc (raw returns the original format)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'length'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return file (HTTP 200 OK)"}),"\n",(0,t.jsx)(s.li,{children:"throws (HTTP 400 Bad Request)"}),"\n",(0,t.jsx)(s.li,{children:"throws (HTTP 404 Not Found)"}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"control-methods",children:"Control Methods"}),"\n",(0,t.jsx)(s.h3,{id:"democratic",children:"democratic"}),"\n",(0,t.jsx)(s.p,{children:"This is for controlling democratic play (Songs only)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.strong,{children:"Method Descriptions"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"vote: +1 vote for the oid"}),"\n",(0,t.jsx)(s.li,{children:"devote: -1 vote for the oid"}),"\n",(0,t.jsx)(s.li,{children:"playlist: Return an array of song items with an additional <vote>[VOTE COUNT]</vote> element"}),"\n",(0,t.jsx)(s.li,{children:"play: Returns the URL for playing democratic play"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'oid'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"UID of Song object"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'method'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"vote"}),", ",(0,t.jsx)(s.code,{children:"devote"}),", ",(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"play"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object|array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"url": ""|"method": "","result": false|"song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/democratic%20(play).json",children:"Example"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/democratic%20(vote).json",children:"Example"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/democratic%20(playlist).json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"localplay",children:"localplay"}),"\n",(0,t.jsx)(s.p,{children:"This is for controlling localplay"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'command'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"next"}),", ",(0,t.jsx)(s.code,{children:"prev"}),", ",(0,t.jsx)(s.code,{children:"stop"}),", ",(0,t.jsx)(s.code,{children:"play"}),", ",(0,t.jsx)(s.code,{children:"pause"}),", ",(0,t.jsx)(s.code,{children:"add"}),", ",(0,t.jsx)(s.code,{children:"volume_up"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"volume_down"}),", ",(0,t.jsx)(s.code,{children:"volume_mute"}),", ",(0,t.jsx)(s.code,{children:"delete_all"}),", ",(0,t.jsx)(s.code,{children:"skip"}),", ",(0,t.jsx)(s.code,{children:"status"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'oid'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"channel"}),", ",(0,t.jsx)(s.code,{children:"broadcast"}),", ",(0,t.jsx)(s.code,{children:"democratic"}),", ",(0,t.jsx)(s.code,{children:"live_stream"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'clear'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (Clear the current playlist before adding)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"localplay": { "command": {} }\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/localplay.json",children:"Example"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/localplay%20(status).json",children:"Example (status)"})})]})}function j(e={}){const{wrapper:s}={...(0,r.RP)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(x,{...e})}):x(e)}},8453:(e,s,n)=>{n.d(s,{RP:()=>i,xA:()=>d});var t=n(6540);const r=t.createContext({});function i(e){const s=t.useContext(r);return t.useMemo((()=>"function"==typeof e?e(s):{...s,...e}),[s,e])}const l={};function d({components:e,children:s,disableParentContext:n}){let d;return d=n?"function"==typeof e?e({}):e||l:i(e),t.createElement(r.Provider,{value:d},s)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkampache_org_api=self.webpackChunkampache_org_api||[]).push([[6799],{1127:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>h,contentTitle:()=>l,default:()=>j,frontMatter:()=>i,metadata:()=>d,toc:()=>c});var t=n(4848),r=n(8453);const i={title:"JSON Methods",metaTitle:"JSON Methods",description:"API documentation"},l=void 0,d={id:"api-json-methods",title:"JSON Methods",description:"API documentation",source:"@site/docs/api-json-methods.md",sourceDirName:".",slug:"/api-json-methods",permalink:"/api/api-json-methods",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{title:"JSON Methods",metaTitle:"JSON Methods",description:"API documentation"},sidebar:"api",previous:{title:"XML Methods",permalink:"/api/api-xml-methods"},next:{title:"Errors",permalink:"/api/api-errors"}},h={},c=[{value:"Auth Methods",id:"auth-methods",level:2},{value:"handshake",id:"handshake",level:3},{value:"goodbye",id:"goodbye",level:3},{value:"lost_password",id:"lost_password",level:3},{value:"ping",id:"ping",level:3},{value:"register",id:"register",level:3},{value:"Non-Data Methods",id:"non-data-methods",level:2},{value:"system_update",id:"system_update",level:3},{value:"system_preferences",id:"system_preferences",level:3},{value:"users",id:"users",level:3},{value:"user_preferences",id:"user_preferences",level:3},{value:"Data Methods",id:"data-methods",level:2},{value:"advanced_search",id:"advanced_search",level:3},{value:"albums",id:"albums",level:3},{value:"album",id:"album",level:3},{value:"album_songs",id:"album_songs",level:3},{value:"artists",id:"artists",level:3},{value:"artist",id:"artist",level:3},{value:"artist_albums",id:"artist_albums",level:3},{value:"artist_songs",id:"artist_songs",level:3},{value:"bookmarks",id:"bookmarks",level:3},{value:"bookmark",id:"bookmark",level:3},{value:"bookmark_create",id:"bookmark_create",level:3},{value:"bookmark_delete",id:"bookmark_delete",level:3},{value:"bookmark_edit",id:"bookmark_edit",level:3},{value:"browse",id:"browse",level:3},{value:"catalogs",id:"catalogs",level:3},{value:"catalog",id:"catalog",level:3},{value:"catalog_action",id:"catalog_action",level:3},{value:"catalog_add",id:"catalog_add",level:3},{value:"catalog_delete",id:"catalog_delete",level:3},{value:"catalog_file",id:"catalog_file",level:3},{value:"catalog_folder",id:"catalog_folder",level:3},{value:"deleted_podcast_episodes",id:"deleted_podcast_episodes",level:3},{value:"deleted_songs",id:"deleted_songs",level:3},{value:"deleted_videos",id:"deleted_videos",level:3},{value:"flag",id:"flag",level:3},{value:"followers",id:"followers",level:3},{value:"following",id:"following",level:3},{value:"friends_timeline",id:"friends_timeline",level:3},{value:"genres",id:"genres",level:3},{value:"genre",id:"genre",level:3},{value:"genre_albums",id:"genre_albums",level:3},{value:"genre_artists",id:"genre_artists",level:3},{value:"genre_songs",id:"genre_songs",level:3},{value:"get_bookmark",id:"get_bookmark",level:3},{value:"get_indexes",id:"get_indexes",level:3},{value:"get_similar",id:"get_similar",level:3},{value:"index",id:"index",level:3},{value:"labels",id:"labels",level:3},{value:"label",id:"label",level:3},{value:"label_artists",id:"label_artists",level:3},{value:"last_shouts",id:"last_shouts",level:3},{value:"licenses",id:"licenses",level:3},{value:"license",id:"license",level:3},{value:"license_songs",id:"license_songs",level:3},{value:"list",id:"list",level:3},{value:"live_streams",id:"live_streams",level:3},{value:"live_stream",id:"live_stream",level:3},{value:"live_stream_create",id:"live_stream_create",level:3},{value:"live_stream_delete",id:"live_stream_delete",level:3},{value:"live_stream_edit",id:"live_stream_edit",level:3},{value:"now_playing",id:"now_playing",level:3},{value:"player",id:"player",level:3},{value:"playlists",id:"playlists",level:3},{value:"playlist",id:"playlist",level:3},{value:"playlist_add",id:"playlist_add",level:3},{value:"playlist_add_song",id:"playlist_add_song",level:3},{value:"playlist_create",id:"playlist_create",level:3},{value:"playlist_delete",id:"playlist_delete",level:3},{value:"playlist_edit",id:"playlist_edit",level:3},{value:"playlist_generate",id:"playlist_generate",level:3},{value:"playlist_hash",id:"playlist_hash",level:3},{value:"playlist_remove_song",id:"playlist_remove_song",level:3},{value:"playlist_songs",id:"playlist_songs",level:3},{value:"podcasts",id:"podcasts",level:3},{value:"podcast",id:"podcast",level:3},{value:"podcast_create",id:"podcast_create",level:3},{value:"podcast_delete",id:"podcast_delete",level:3},{value:"podcast_edit",id:"podcast_edit",level:3},{value:"podcast_episodes",id:"podcast_episodes",level:3},{value:"podcast_episode",id:"podcast_episode",level:3},{value:"podcast_episode_delete",id:"podcast_episode_delete",level:3},{value:"preference_create",id:"preference_create",level:3},{value:"preference_delete",id:"preference_delete",level:3},{value:"preference_edit",id:"preference_edit",level:3},{value:"rate",id:"rate",level:3},{value:"record_play",id:"record_play",level:3},{value:"scrobble",id:"scrobble",level:3},{value:"search_group",id:"search_group",level:3},{value:"search_songs",id:"search_songs",level:3},{value:"shares",id:"shares",level:3},{value:"share",id:"share",level:3},{value:"share_create",id:"share_create",level:3},{value:"share_delete",id:"share_delete",level:3},{value:"share_edit",id:"share_edit",level:3},{value:"songs",id:"songs",level:3},{value:"song",id:"song",level:3},{value:"song_delete",id:"song_delete",level:3},{value:"stats",id:"stats",level:3},{value:"system_preference",id:"system_preference",level:3},{value:"timeline",id:"timeline",level:3},{value:"toggle_follow",id:"toggle_follow",level:3},{value:"update_art",id:"update_art",level:3},{value:"update_artist_info",id:"update_artist_info",level:3},{value:"update_from_tags",id:"update_from_tags",level:3},{value:"update_podcast",id:"update_podcast",level:3},{value:"url_to_song",id:"url_to_song",level:3},{value:"user",id:"user",level:3},{value:"user_create",id:"user_create",level:3},{value:"user_delete",id:"user_delete",level:3},{value:"user_edit",id:"user_edit",level:3},{value:"user_playlists",id:"user_playlists",level:3},{value:"user_preference",id:"user_preference",level:3},{value:"user_smartlists",id:"user_smartlists",level:3},{value:"videos",id:"videos",level:3},{value:"video",id:"video",level:3},{value:"Binary Data Methods",id:"binary-data-methods",level:2},{value:"download",id:"download",level:3},{value:"get_art",id:"get_art",level:3},{value:"stream",id:"stream",level:3},{value:"Control Methods",id:"control-methods",level:2},{value:"democratic",id:"democratic",level:3},{value:"localplay",id:"localplay",level:3}];function x(e){const s={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.RP)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.p,{children:"Let's go through come calls and examples that you can do for each JSON method."}),"\n",(0,t.jsx)(s.p,{children:"With the exception of Binary methods, all responses will return a HTTP 200 response."}),"\n",(0,t.jsx)(s.p,{children:"Also remember that Binary data methods will not return JSON; just the file/data you have requested."}),"\n",(0,t.jsx)(s.p,{children:"Binary methods will also return:"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"HTTP 400 responses for a bad or incomplete request"}),"\n",(0,t.jsx)(s.li,{children:"HTTP 404 responses where the requests data was not found"}),"\n",(0,t.jsx)(s.li,{children:"HTTP 416 responses where the stream is unable to return the requested content-range"}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:["For information about about how playback works and what a client can expect from Ampache check out ",(0,t.jsx)(s.a,{href:"https://ampache.org/api/api-media-methods",children:"API Media Methods"})]}),"\n",(0,t.jsx)(s.h2,{id:"auth-methods",children:"Auth Methods"}),"\n",(0,t.jsx)(s.p,{children:"Auth methods are used for authenticating or checking the status of your session in an Ampache server."}),"\n",(0,t.jsx)(s.p,{children:"Remember that the auth parameter does not need to be sent as a parameter in the URL."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"https://ampache.org/api/#http-header-authentication",children:"HTTP header authentication"})," is supported for the auth parameter where present."]}),"\n",(0,t.jsx)(s.h3,{id:"handshake",children:"handshake"}),"\n",(0,t.jsx)(s.p,{children:"This is the function that handles verifying a new handshake Takes a timestamp, auth key, and username."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'auth'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$passphrase (Timestamp . Password SHA hash) OR (API Key)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'user'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$username (Required if login/password authentication)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'timestamp'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"UNIXTIME() The timestamp used in seed of password hash"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(Required if login/password authentication)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'version'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$version (API Version that the application understands)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"auth": "",\n"api": "",\n"session_expire": "",\n"update": "",\n"add": "",\n"clean": "",\n"songs": 0,\n"albums": 0,\n"artists": 0,\n"genres": 0,\n"playlists": 0,\n"users": 0,\n"catalogs": 0,\n"videos": 0,\n"podcasts": 0,\n"podcast_episodes": 0,\n"shares": 0,\n"licenses": 0,\n"live_streams": 0,\n"labels": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/handshake.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"goodbye",children:"goodbye"}),"\n",(0,t.jsx)(s.p,{children:"Destroy a session using the auth parameter."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'auth'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"(Session ID) destroys the session if it exists"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/goodbye.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"lost_password",children:"lost_password"}),"\n",(0,t.jsx)(s.p,{children:"Email a new password to the user (if allowed) using a reset token."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-php",children:"   $username;\n   $key = hash('sha256', 'email');\n   auth = hash('sha256', $username . $key);\n"})}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'auth'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"password reset token"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.h3,{id:"ping",children:"ping"}),"\n",(0,t.jsx)(s.p,{children:"This can be called without being authenticated, it is useful for determining if what the status of the server is, and what version it is running/compatible with"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'auth'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"(Session ID) returns version information and extends the session if passed"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'version'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$version (API Version that the application understands)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"session_expire": "",\n"server": "",\n"version": "",\n"compatible": "",\n"auth": "",\n"api": "",\n"update": "",\n"add": "",\n"clean": "",\n"songs": 0,\n"albums": 0,\n"artists": 0,\n"genres": 0,\n"playlists": 0,\n"users": 0,\n"catalogs": 0,\n"videos": 0,\n"podcasts": 0,\n"podcast_episodes": 0,\n"shares": 0,\n"licenses": 0,\n"live_streams": 0,\n"labels": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"server": "",\n"version": "",\n"compatible": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/ping.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"register",children:"register"}),"\n",(0,t.jsx)(s.p,{children:"Register as a new user if allowed. (Requires the username, password and email.)"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$username"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'password'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"hash('sha256', $password)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'email'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["e.g. ",(0,t.jsx)(s.code,{children:"user@gmail.com"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'fullname'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.h2,{id:"non-data-methods",children:"Non-Data Methods"}),"\n",(0,t.jsx)(s.p,{children:"These methods take no parameters beyond your auth key to return information"}),"\n",(0,t.jsx)(s.h3,{id:"system_update",children:"system_update"}),"\n",(0,t.jsx)(s.p,{children:"Check Ampache for updates and run the update if there is one."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/system_update.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"system_preferences",children:"system_preferences"}),"\n",(0,t.jsx)(s.p,{children:"Get your server preferences"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"preference": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/system_preferences.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"users",children:"users"}),"\n",(0,t.jsx)(s.p,{children:"Get ids and usernames for your site"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"user": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/users.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"user_preferences",children:"user_preferences"}),"\n",(0,t.jsx)(s.p,{children:"Get your user preferences"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"preference": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/user_preferences.json",children:"Example"})}),"\n",(0,t.jsx)(s.h2,{id:"data-methods",children:"Data Methods"}),"\n",(0,t.jsx)(s.p,{children:"Data methods require additional information and parameters to return information"}),"\n",(0,t.jsx)(s.h3,{id:"advanced_search",children:"advanced_search"}),"\n",(0,t.jsx)(s.p,{children:"Perform an advanced search given passed rules. This works in a similar way to the web/UI search pages.\nYou can pass multiple rules as well as joins to create in depth search results."}),"\n",(0,t.jsx)(s.p,{children:"Rules must be sent in groups of 3 using an int (starting from 1) to designate which rules are combined.\nUse operator ('and', 'or') to choose whether to join or separate each rule when searching."}),"\n",(0,t.jsxs)(s.p,{children:["Refer to the ",(0,t.jsx)(s.a,{href:"https://ampache.org/api/api-advanced-search",children:"Advanced Search"})," page for details about creating searches."]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," the rules part can be confusing but essentially you can include as many 'arrays' of rules as you want.\nJust add 1 to the rule value to create a new group of rules."]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Mandatory Rule Values","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"rule_1"}),"\n",(0,t.jsx)(s.li,{children:"rule_1_operator"}),"\n",(0,t.jsx)(s.li,{children:"rule_1_input"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Optional (Metadata searches ",(0,t.jsx)(s.strong,{children:"only"}),")","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"rule_1_subtype"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"operator"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"and, or (whether to match one rule or all)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"rule_*"}),(0,t.jsx)(s.td,{children:"array"}),(0,t.jsxs)(s.td,{children:["[",(0,t.jsx)(s.code,{children:"rule_1"}),", ",(0,t.jsx)(s.code,{children:"rule_1_operator"}),", ",(0,t.jsx)(s.code,{children:"rule_1_input"}),"]"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"rule_*"}),(0,t.jsx)(s.td,{children:"array"}),(0,t.jsxs)(s.td,{children:["[",(0,t.jsx)(s.code,{children:"rule_2"}),", ",(0,t.jsx)(s.code,{children:"rule_2_operator"}),", ",(0,t.jsx)(s.code,{children:"rule_2_input"}),"], [etc]"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"type"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"album"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"label"}),", ",(0,t.jsx)(s.code,{children:"playlist"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"podcast"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"genre"}),", ",(0,t.jsx)(s.code,{children:"user"}),", ",(0,t.jsx)(s.code,{children:"video"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"random"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (random order of results; default to 0)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []|"album": []|"artist": []|"playlist": []|"label": []|"user": []|"video": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:["SONG ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/advanced_search%20(song).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ARTIST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/advanced_search%20(artist).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ALBUM ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/advanced_search%20(album).json",children:"Example"})]}),"\n",(0,t.jsx)(s.h3,{id:"albums",children:"albums"}),"\n",(0,t.jsx)(s.p,{children:"This returns albums based on the provided search filters"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"albums"}),", ",(0,t.jsx)(s.code,{children:"songs"})," (include child objects in the response)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"album": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/albums.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"album",children:"album"}),"\n",(0,t.jsx)(s.p,{children:"This returns a single album based on the UID provided"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Album, returns album JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"songs"})," (include child objects in the response)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"artist": {},\n"time": 0,\n"year": 0,\n"tracks": [],\n"songcount": 0,\n"diskcount": 0,\n"type": "",\n"genre": [],\n"art": "",\n"flag": 0,\n"preciserating": 0.0,\n"rating": 0.0,\n"averagerating": 0.0,\n"mbid": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/album.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"album_songs",children:"album_songs"}),"\n",(0,t.jsx)(s.p,{children:"This returns the songs of a specified album"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Album, returns song JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"comma string pairs (e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/album_songs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"artists",children:"artists"}),"\n",(0,t.jsx)(s.p,{children:"This takes a collection of inputs and returns artist objects."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"albums"}),", ",(0,t.jsx)(s.code,{children:"songs"})," (include child objects in the response)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'album_artist'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter for album artists only)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"artist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/artists.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"artist",children:"artist"}),"\n",(0,t.jsx)(s.p,{children:"This returns a single artist based on the UID of said artist"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Artist, returns artist JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"albums"}),", ",(0,t.jsx)(s.code,{children:"songs"})," (include child objects in the response)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"albums": [],\n"albumcount": 0,\n"songs": [],\n"songcount": 0,\n"genre": [],\n"art": "",\n"flag": 0,\n"preciserating": 0,\n"rating": 0,\n"averagerating": 0,\n"mbid": "",\n"summary": "",\n"time": 0,\n"yearformed": 0,\n"placeformed": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/artist.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"artist_albums",children:"artist_albums"}),"\n",(0,t.jsx)(s.p,{children:"This returns the albums of an artist"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Artist, returns Album JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'album_artist'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter for album artists only)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"album": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/artist_albums.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"artist_songs",children:"artist_songs"}),"\n",(0,t.jsx)(s.p,{children:"This returns the songs of the specified artist"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Artist, returns Song JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'top50'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter to the artist top 50)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/artist_songs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"bookmarks",children:"bookmarks"}),"\n",(0,t.jsx)(s.p,{children:"Get information about bookmarked media this user is allowed to manage."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"filter by the agent/client name"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"bookmark": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/bookmarks.json",children:"Example"}),"\n",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmarks%20(with%20include).json",children:"Example (with include)"})]}),"\n",(0,t.jsx)(s.h3,{id:"bookmark",children:"bookmark"}),"\n",(0,t.jsx)(s.p,{children:"Get a single bookmark by bookmark_id"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"bookmark_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"owner": "",\n"object_type": "",\n"object_id": "",\n"position": 0,\n"client": "",\n"creation_date": 0,\n"update_date": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmark.json",children:"Example"}),"\n",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmark%20(with%20include).json",children:"Example (with include)"})]}),"\n",(0,t.jsx)(s.h3,{id:"bookmark_create",children:"bookmark_create"}),"\n",(0,t.jsx)(s.p,{children:"Create a placeholder for the current media that you can return to later."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$object_id to find"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'position'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"current track time in seconds"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Agent string."}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'date'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"update time (Default: UNIXTIME())"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"owner": "",\n"object_type": "",\n"object_id": "",\n"position": 0,\n"client": "",\n"creation_date": 0,\n"update_date": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/bookmark_create.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"bookmark_delete",children:"bookmark_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete an existing bookmark. (if it exists)"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$object_id to delete"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Agent string."}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/bookmark_delete",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"bookmark_edit",children:"bookmark_edit"}),"\n",(0,t.jsx)(s.p,{children:"Edit a placeholder for the current media that you can return to later."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$object_id to find"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"bookmark"}),", ",(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'position'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"current track time in seconds"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Agent string."}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'date'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"update time (Default: UNIXTIME())"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"bookmark": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/bookmark_edit.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"browse",children:"browse"}),"\n",(0,t.jsx)(s.p,{children:"Return children of a parent object in a folder traversal/browse style. If you don't send any parameters you'll get a catalog list (the 'root' path)"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," Catalog ID is required on 'artist', 'album', 'podcast' so you can filter the browse correctly"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"'root', 'catalog', 'artist', 'album', 'podcast'"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"catalog ID you are browsing"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"browse": []\n\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/browse%20(root).json",children:"Example"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/browse%20(music%20catalog).json",children:"Example: music catalog"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/browse%20(podcast%20catalog).json",children:"Example: podcast catalog"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/browse%20(video%20catalog).json",children:"Example: video catalog"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/browse%20(artist).json",children:"Example: artist"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/browse%20(album).json",children:"Example: album"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/browse%20(podcast).json",children:"Example: podcast"})}),"\n",(0,t.jsx)(s.h3,{id:"catalogs",children:"catalogs"}),"\n",(0,t.jsx)(s.p,{children:"This searches the catalogs and returns... catalogs"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"music"}),", ",(0,t.jsx)(s.code,{children:"clip"}),", ",(0,t.jsx)(s.code,{children:"tvshow"}),", ",(0,t.jsx)(s.code,{children:"movie"}),", ",(0,t.jsx)(s.code,{children:"personal_video"}),", ",(0,t.jsx)(s.code,{children:"podcast"})," (Catalog type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"catalog": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/catalogs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"catalog",children:"catalog"}),"\n",(0,t.jsx)(s.p,{children:"Return catalog by UID"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Catalog"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"type": "",\n"gather_types": "",\n"enabled": 0,\n"last_add": "",\n"last_clean": "",\n"last_update": "",\n"path": "",\n"rename_pattern": "",\n"sort_pattern": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/catalog.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"catalog_action",children:"catalog_action"}),"\n",(0,t.jsx)(s.p,{children:"Kick off a catalog update or clean for the selected catalog"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'task'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"add_to_catalog"}),", ",(0,t.jsx)(s.code,{children:"clean_catalog"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'catalog'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$catalog_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/catalog_action%20(clean_catalog).json",children:"Example: clean_catalog"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/catalog_action%20(add_to_catalog).json",children:"Example: add_to_catalog"})}),"\n",(0,t.jsx)(s.h3,{id:"catalog_add",children:"catalog_add"}),"\n",(0,t.jsx)(s.p,{children:"Create a public url that can be used by anyone to stream media.\nTakes the file id with optional description and expires parameters."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'name'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Name for the catalog"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'path'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"URL or folder path for your catalog"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"'local', 'beets', 'remote', 'subsonic', 'seafile', 'beetsremote' Default: local"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'media_type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"'music', 'podcast', 'clip', 'tvshow', 'movie', 'personal_video' Default: 'music'"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'file_pattern'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Pattern used identify tags from the file name. Default: '%T - %t'"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'folder_pattern'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Pattern used identify tags from the folder name. Default: '%a/%A'"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"login to remote catalog ('remote', 'subsonic', 'seafile', 'beetsremote')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'password'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"password to remote catalog ('remote', 'subsonic', 'seafile', 'beetsremote')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"type": "",\n"gather_types": "",\n"enabled": 0,\n"last_add": "",\n"last_clean": "",\n"last_update": "",\n"path": "",\n"rename_pattern": "",\n"sort_pattern": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/catalog_create.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"catalog_delete",children:"catalog_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete an existing catalog."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of catalog to delete"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/catalog_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"catalog_file",children:"catalog_file"}),"\n",(0,t.jsx)(s.p,{children:"Perform actions on local catalog files.\nSingle file versions of catalog add, clean, verify and remove (delete)\nMake sure you remember to urlencode those file names!"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'file'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"FULL path to local file"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'task'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"add"}),", ",(0,t.jsx)(s.code,{children:"clean"}),", ",(0,t.jsx)(s.code,{children:"verify"}),", ",(0,t.jsx)(s.code,{children:"remove"}),", (can include comma-separated values)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'catalog'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$catalog_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/catalog_file.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"catalog_folder",children:"catalog_folder"}),"\n",(0,t.jsx)(s.p,{children:"Perform actions on local catalog folders.\nSingle folder versions of catalog add, clean, verify and remove (delete)\nMake sure you remember to urlencode those folder names!"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'folder'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"FULL path to local folder"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'task'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"add"}),", ",(0,t.jsx)(s.code,{children:"clean"}),", ",(0,t.jsx)(s.code,{children:"verify"}),", ",(0,t.jsx)(s.code,{children:"remove"}),", (can include comma-separated values)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'catalog'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$catalog_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/catalog_folder.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"deleted_podcast_episodes",children:"deleted_podcast_episodes"}),"\n",(0,t.jsx)(s.p,{children:"This returns the episodes for a podcast that have been deleted"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"deleted_podcast_episode": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/deleted_podcast_episodes.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"deleted_songs",children:"deleted_songs"}),"\n",(0,t.jsx)(s.p,{children:"Returns songs that have been deleted from the server"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"deleted_song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/deleted_songs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"deleted_videos",children:"deleted_videos"}),"\n",(0,t.jsx)(s.p,{children:"This returns video objects that have been deleted"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"deleted_video": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/deleted_videos.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"flag",children:"flag"}),"\n",(0,t.jsx)(s.p,{children:"This flags a library item as a favorite"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"Setting flag to true (1) will set the flag"}),"\n",(0,t.jsx)(s.li,{children:"Setting flag to false (0) will remove the flag"}),"\n"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"album"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"podcast"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"tvshow"}),", ",(0,t.jsx)(s.code,{children:"tvshow_season"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'flag'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/flag.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"followers",children:"followers"}),"\n",(0,t.jsx)(s.p,{children:"This gets the followers for the requested username"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Username of the user to get followers list"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"user": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/followers.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"following",children:"following"}),"\n",(0,t.jsx)(s.p,{children:"Get a list of people that this user follows"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Username of the user to get following list"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"user": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/following.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"friends_timeline",children:"friends_timeline"}),"\n",(0,t.jsx)(s.p,{children:"This get current user friends timeline"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'since'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"UNIXTIME()"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"activity": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/friends_timeline.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"genres",children:"genres"}),"\n",(0,t.jsx)(s.p,{children:"This returns the genres (Tags) based on the specified filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"genre": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/genres.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"genre",children:"genre"}),"\n",(0,t.jsx)(s.p,{children:"This returns a single genre based on UID"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of genre, returns genre JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"albums": 0,\n"artists": 0,\n"songs": 0,\n"videos": 0,\n"playlists": 0,\n"live_streams": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/genre.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"genre_albums",children:"genre_albums"}),"\n",(0,t.jsx)(s.p,{children:"This returns the albums associated with the genre in question"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of genre, returns album JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"album": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/genre_albums.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"genre_artists",children:"genre_artists"}),"\n",(0,t.jsx)(s.p,{children:"This returns the artists associated with the genre in question as defined by the UID"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of genre, returns artist JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"artist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/genre_artists.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"genre_songs",children:"genre_songs"}),"\n",(0,t.jsx)(s.p,{children:"returns the songs for this genre"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of genre, returns song JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/genre_songs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"get_bookmark",children:"get_bookmark"}),"\n",(0,t.jsxs)(s.p,{children:["Get the bookmark from it's object_id and object_type.\nBy default; get only the most recent bookmark. Use ",(0,t.jsx)(s.code,{children:"all"})," to retrieve all media bookmarks for the object in a bookmark array."]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$object_id to find"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'all'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"0,1, if true include every bookmark for the object"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"DEFAULT return object (all=False)"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"owner": "",\n"object_type": "",\n"object_id": "",\n"position": 0,\n"client": "client",\n"creation_date": 0,\n"update_date": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array (all=True)"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"bookmark": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/get_bookmark.json",children:"Example"}),"\n",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_bookmark%20(with%20include).json",children:"Example (with include)"})]}),"\n",(0,t.jsx)(s.h3,{id:"get_indexes",children:"get_indexes"}),"\n",(0,t.jsx)(s.p,{children:"This takes a collection of inputs and returns ID + name for the object type"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," This method is depreciated and will be removed in ",(0,t.jsx)(s.strong,{children:"API7"})," (Use list OR index)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"album"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"album_artist"}),", ",(0,t.jsx)(s.code,{children:"song_artist"}),", ",(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"podcast"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"live_stream"}),", ",(0,t.jsx)(s.code,{children:"catalog"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Value is Alpha Match for returned results, may be more than one letter/number"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'hide_search'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true do not include searches/smartlists in the result)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (include songs in a playlist or episodes in a podcast)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []|"album": []|"artist": []|"playlist": []|"podcast": []\n\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:["SONG ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/get_indexes%20(song).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ARTIST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/get_indexes%20(artist).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ALBUM ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/get_indexes%20(album).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["PLAYLIST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/get_indexes%20(playlist).json",children:"Example"})]}),"\n",(0,t.jsx)(s.h3,{id:"get_similar",children:"get_similar"}),"\n",(0,t.jsx)(s.p,{children:"Return similar artist id's or similar song ids compared to the input filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"artist"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"artist id or song id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []|"artist": []\n\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/get_similar.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"index",children:"index"}),"\n",(0,t.jsx)(s.p,{children:"This takes a collection of inputs and return ID's for the object type. Add 'include' to include child objects"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"catalog"}),", ",(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"album"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"album_artist"}),", ",(0,t.jsx)(s.code,{children:"song_artist"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"podcast"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"share"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"live_stream"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Value is Alpha Match for returned results, may be more than one letter/number"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'hide_search'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true do not include searches/smartlists in the result)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (include songs in a playlist or episodes in a podcast)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"catalog": []|"song": []|"album": []|"artist": []|"album_artist": []|"song_artist": []|"playlist": []|"podcast": []|"podcast_episode": []|"share": []|"video": []|"live_stream": []\n\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:["SONG ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/index%20(song).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ARTIST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/index%20(artist).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ALBUM ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/index%20(album).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["PLAYLIST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/index%20(playlist).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["SONG ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/index%20(song%20with%20include).json",children:"Example (with include)"})]}),"\n",(0,t.jsxs)(s.p,{children:["ARTIST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/index%20(artist%20with%20include).json",children:"Example (with include)"})]}),"\n",(0,t.jsxs)(s.p,{children:["ALBUM ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/index%20(album%20with%20include).json",children:"Example (with include)"})]}),"\n",(0,t.jsxs)(s.p,{children:["PLAYLIST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/index%20(playlist%20with%20include).json",children:"Example (with include)"})]}),"\n",(0,t.jsx)(s.h3,{id:"labels",children:"labels"}),"\n",(0,t.jsx)(s.p,{children:"This returns labels based on the specified filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"label": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/labels.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"label",children:"label"}),"\n",(0,t.jsx)(s.p,{children:"This returns a single label"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of label, returns label JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"artists": 0,\n"summary": "",\n"external_link": "\'",\n"address": "",\n"category": "",\n"email": "",\n"website": "",\n"user": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/label.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"label_artists",children:"label_artists"}),"\n",(0,t.jsx)(s.p,{children:"This returns the artists for a label"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of label, returns artist JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"artist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/label_artists.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"last_shouts",children:"last_shouts"}),"\n",(0,t.jsx)(s.p,{children:"This gets the latest posted shouts"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Get latest shouts for this username"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"shout": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/last_shouts.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"licenses",children:"licenses"}),"\n",(0,t.jsx)(s.p,{children:"This returns licenses based on the specified filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"license": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/licenses.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"license",children:"license"}),"\n",(0,t.jsx)(s.p,{children:"This returns a single license"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of license, returns license JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"description": "",\n"external_link": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/license.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"license_songs",children:"license_songs"}),"\n",(0,t.jsx)(s.p,{children:"This returns the songs for a license"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of license, returns song JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/license_songs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"list",children:"list"}),"\n",(0,t.jsxs)(s.p,{children:["This takes a named array of objects and returning ",(0,t.jsx)(s.code,{children:"id"}),", ",(0,t.jsx)(s.code,{children:"name"}),", ",(0,t.jsx)(s.code,{children:"prefix"})," and ",(0,t.jsx)(s.code,{children:"basename"})]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," This method replaces get_indexes and does not have the ",(0,t.jsx)(s.code,{children:"include"})," parameter and does not include children in the response."]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"album"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"album_artist"}),", ",(0,t.jsx)(s.code,{children:"song_artist"}),", ",(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"podcast"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"live_stream"}),", ",(0,t.jsx)(s.code,{children:"catalog"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Value is Alpha Match for returned results, may be more than one letter/number"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'hide_search'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true do not include searches/smartlists in the result)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"list": []\n\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/list.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"live_streams",children:"live_streams"}),"\n",(0,t.jsx)(s.p,{children:"This returns live_streams based on the specified filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"live_stream": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/live_streams.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"live_stream",children:"live_stream"}),"\n",(0,t.jsx)(s.p,{children:"This returns a single live_stream"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of live_stream, returns live_stream JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"artists": 0,\n"summary": "",\n"external_link": "\'",\n"address": "",\n"category": "",\n"email": "",\n"website": "",\n"user": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/live_stream.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"live_stream_create",children:"live_stream_create"}),"\n",(0,t.jsx)(s.p,{children:"Create a live_stream (radio station) object."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager) permission to create and edit live_streams"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$object_id to find"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'position'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"current track time in seconds"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Agent string. (Default: 'AmpacheAPI')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'date'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"update time (Default: UNIXTIME())"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"artists": 0,\n"summary": "",\n"external_link": "\'",\n"address": "",\n"category": "",\n"email": "",\n"website": "",\n"user": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/live_stream_create.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"live_stream_delete",children:"live_stream_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete an existing live_stream (radio station). (if it exists)"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager) permission to create and edit live_streams"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$object_id to delete"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Agent string. (Default: 'AmpacheAPI')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/live_stream_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"live_stream_edit",children:"live_stream_edit"}),"\n",(0,t.jsx)(s.p,{children:"Edit a live_stream (radio station) object."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager) permission to create and edit live_streams"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$object_id to find"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'position'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"current track time in seconds"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Agent string. (Default: 'AmpacheAPI')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'date'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"update time (Default: UNIXTIME())"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"artists": 0,\n"summary": "",\n"external_link": "\'",\n"address": "",\n"category": "",\n"email": "",\n"website": "",\n"user": 0\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/live_stream_edit.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"now_playing",children:"now_playing"}),"\n",(0,t.jsx)(s.p,{children:"Get what is currently being played by all users."}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"now_playing": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/now_playing.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"player",children:"player"}),"\n",(0,t.jsx)(s.p,{children:"Inform the server about the state of your client. (Song you are playing, Play/Pause state, etc.)"}),"\n",(0,t.jsxs)(s.p,{children:["Return the ",(0,t.jsx)(s.code,{children:"now_playing"})," state when completed"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$object_id currently playing/stopping"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})," (Default: ",(0,t.jsx)(s.code,{children:"song"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'state'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"play"}),", ",(0,t.jsx)(s.code,{children:"stop"})," (Default: ",(0,t.jsx)(s.code,{children:"play"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'time'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"current play time in whole seconds (Default: 0)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"agent/client name"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"now_playing": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/player.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlists",children:"playlists"}),"\n",(0,t.jsx)(s.p,{children:"This returns playlists based on the specified filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'hide_search'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true do not include searches/smartlists in the result)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'show_dupes'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true if true ignore 'api_hide_dupe_searches' setting)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"playlist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlists.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist",children:"playlist"}),"\n",(0,t.jsx)(s.p,{children:"This returns a single playlist"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of playlist, returns playlist JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"playlist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist_add",children:"playlist_add"}),"\n",(0,t.jsx)(s.p,{children:"This adds a song to a playlist. setting check=1 will not add duplicates to the playlist"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of the object to add to playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"'song', 'album', 'artist', 'playlist'"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_add.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist_add_song",children:"playlist_add_song"}),"\n",(0,t.jsx)(s.p,{children:"This adds a song to a playlist. setting check=1 will not add duplicates to the playlist"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," This method is depreciated and will be removed in ",(0,t.jsx)(s.strong,{children:"API7"})," (Use playlist_add)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'song'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of song to add to playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'check'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," Whether to check and ignore duplicates (default = 0)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_add_song.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist_create",children:"playlist_create"}),"\n",(0,t.jsx)(s.p,{children:"This create a new playlist and return it"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'name'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Playlist name"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"public"}),", ",(0,t.jsx)(s.code,{children:"private"})," (Playlist type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"playlist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_create.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist_delete",children:"playlist_delete"}),"\n",(0,t.jsx)(s.p,{children:"This deletes a playlist"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist_edit",children:"playlist_edit"}),"\n",(0,t.jsx)(s.p,{children:"This modifies name and type of a playlist\nPreviously name and type were mandatory while filter wasn't. this has been reversed."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," items and tracks must be sent together and be of equal length"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'name'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Playlist name"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"public"}),", ",(0,t.jsx)(s.code,{children:"private"})," (Playlist type)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'owner'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Change playlist owner to the user id (-1 = System playlist)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'items'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"comma-separated song_id's (replaces existing items with a new id)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'tracks'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"comma-separated playlisttrack numbers matched to 'items' in order"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_edit.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist_generate",children:"playlist_generate"}),"\n",(0,t.jsx)(s.p,{children:"Get a list of song JSON, indexes or id's based on some simple search criteria\n'recent' will search for tracks played after 'Popular Threshold' days\n'forgotten' will search for tracks played before 'Popular Threshold' days\n'unplayed' added in 400002 for searching unplayed tracks"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'mode'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"recent"}),", ",(0,t.jsx)(s.code,{children:"forgotten"}),", ",(0,t.jsx)(s.code,{children:"unplayed"}),", ",(0,t.jsx)(s.code,{children:"random"})," (default = 'random')"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"string LIKE matched to song title"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'album'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$album_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'artist'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$artist_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'flag'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (get flagged songs only. default = 0)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'format'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"index"}),", ",(0,t.jsx)(s.code,{children:"id"})," (default = 'song')"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []|"index": []|"id": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:["SONG ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_generate%20(song).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["INDEX ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_generate%20(index).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ID ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_generate%20(id).json",children:"Example"})]}),"\n",(0,t.jsx)(s.h3,{id:"playlist_hash",children:"playlist_hash"}),"\n",(0,t.jsx)(s.p,{children:"This returns the md5 hash for the songs in a playlist"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"md5": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_hash.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist_remove_song",children:"playlist_remove_song"}),"\n",(0,t.jsx)(s.p,{children:"This remove a song from a playlist.\nPrevious versions required 'track' instead of 'song'."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'song'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of song to remove from playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'track'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Track number to remove from playlist"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_remove_song.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"playlist_songs",children:"playlist_songs"}),"\n",(0,t.jsx)(s.p,{children:"This returns the songs for a playlist"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Playlist, returns song JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'random'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true get random songs using limit)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/playlist_songs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"podcasts",children:"podcasts"}),"\n",(0,t.jsx)(s.p,{children:"Get information about podcasts"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Value is Alpha Match for returned results, may be more than one letter/number"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"episodes"})," (include podcast_episodes in the response)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"podcast": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/podcasts.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"podcast",children:"podcast"}),"\n",(0,t.jsx)(s.p,{children:"Get the podcast from it's id."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of podcast, returns podcast JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'include'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"episodes"})," (include podcast_episodes in the response)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"description": "",\n"language": "",\n"copyright": "",\n"feed_url": "",\n"generator": "",\n"website": "",\n"build_date": "",\n"sync_date": "",\n"public_url": "",\n"podcast_episode": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/podcast.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"podcast_create",children:"podcast_create"}),"\n",(0,t.jsx)(s.p,{children:"Create a podcast that can be used by anyone to stream media.\nTakes the url and catalog parameters."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'url'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"rss url for podcast"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'catalog'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"podcast catalog"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"podcast": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/podcast_create.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"podcast_delete",children:"podcast_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete an existing podcast."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of podcast to delete"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/podcast_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"podcast_edit",children:"podcast_edit"}),"\n",(0,t.jsx)(s.p,{children:"Update the description and/or expiration date for an existing podcast.\nTakes the podcast id to update with optional description and expires parameters."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Alpha-numeric search term"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'feed'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"feed rss xml url"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'title'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"title string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'website'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"source website url"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'description'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'generator'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'copyright'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/podcast_edit.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"podcast_episodes",children:"podcast_episodes"}),"\n",(0,t.jsx)(s.p,{children:"This returns the episodes for a podcast"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of podcast"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"podcast_episode": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/podcast_episodes.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"podcast_episode",children:"podcast_episode"}),"\n",(0,t.jsx)(s.p,{children:"Get the podcast_episode from it's id."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"podcast_episode ID number"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"podcast_episode": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/podcast_episode.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"podcast_episode_delete",children:"podcast_episode_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete an existing podcast_episode."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of podcast_episode to delete"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/podcast_episode_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"preference_create",children:"preference_create"}),"\n",(0,t.jsx)(s.p,{children:"Add a new preference to your server"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"boolean"}),", ",(0,t.jsx)(s.code,{children:"integer"}),", ",(0,t.jsx)(s.code,{children:"string"}),", ",(0,t.jsx)(s.code,{children:"special"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'default'"}),(0,t.jsx)(s.td,{children:"mixed"}),(0,t.jsx)(s.td,{children:"string or integer default value"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'category'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"interface"}),", ",(0,t.jsx)(s.code,{children:"internal"}),", ",(0,t.jsx)(s.code,{children:"options"}),", ",(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"plugins"}),", ",(0,t.jsx)(s.code,{children:"streaming"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'description'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'subcategory'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'level'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"access level required to change the value (default 100)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/preference_create.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"preference_delete",children:"preference_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete a non-system preference by name"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/preference_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"preference_edit",children:"preference_edit"}),"\n",(0,t.jsx)(s.p,{children:"Edit a preference value and apply to all users if allowed"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'value'"}),(0,t.jsx)(s.td,{children:"mixed"}),(0,t.jsx)(s.td,{children:"(string/integer) Preference value"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'all'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," apply to all users"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/preference_edit.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"rate",children:"rate"}),"\n",(0,t.jsx)(s.p,{children:"This rates a library item"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"album"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"podcast"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"tvshow"}),", ",(0,t.jsx)(s.code,{children:"tvshow_season"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"library item id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'rating'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"rating between 0-5"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/rate.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"record_play",children:"record_play"}),"\n",(0,t.jsx)(s.p,{children:"Take a song_id and update the object_count and user_activity table with a play. This allows other sources to record play history to Ampache."}),"\n",(0,t.jsx)(s.p,{children:"If you don't supply a user id (optional) then just fall back to you."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin) permission to change another user's play history"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'user'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$user_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$agent"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'date'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"UNIXTIME()"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/record_play.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"scrobble",children:"scrobble"}),"\n",(0,t.jsx)(s.p,{children:"Search for a song using text info and then record a play if found. This allows other sources to record play history to ampache"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'song'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"HTML encoded string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'artist'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"HTML encoded string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'album'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"HTML encoded string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'songmbid'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song_mbid"})," also supported"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'artistmbid'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"artist_mbid"})," also supported"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'albummbid'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"album_mbid"})," also supported"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'date'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"UNIXTIME()"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'client'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$agent"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/scrobble.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"search_group",children:"search_group"}),"\n",(0,t.jsx)(s.p,{children:"Perform a group search given passed rules. This function will return multiple object types if the rule names match the object type.\nYou can pass multiple rules as well as joins to create in depth search results."}),"\n",(0,t.jsx)(s.p,{children:"Limit and offset are applied per object type. Meaning with a limit of 10 you will return 10 objects of each type not 10 results total."}),"\n",(0,t.jsx)(s.p,{children:"Rules must be sent in groups of 3 using an int (starting from 1) to designate which rules are combined.\nUse operator ('and', 'or') to choose whether to join or separate each rule when searching."}),"\n",(0,t.jsxs)(s.p,{children:["Refer to the ",(0,t.jsx)(s.a,{href:"https://ampache.org/api/api-advanced-search",children:"Advanced Search"})," page for details about creating searches."]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," the rules part can be confusing but essentially you can include as many 'arrays' of rules as you want.\nJust add 1 to the rule value to create a new group of rules."]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["Mandatory Rule Values","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"rule_1"}),"\n",(0,t.jsx)(s.li,{children:"rule_1_operator"}),"\n",(0,t.jsx)(s.li,{children:"rule_1_input"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["Optional (Metadata searches ",(0,t.jsx)(s.strong,{children:"only"}),")","\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"rule_1_subtype"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," the type parameter is different from the regular advanced_search method.\nEach type is a grouping of object types so allow single search calls to be made"]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsx)(s.p,{children:"all"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"song"}),"\n",(0,t.jsx)(s.li,{children:"album"}),"\n",(0,t.jsx)(s.li,{children:"song_artist"}),"\n",(0,t.jsx)(s.li,{children:"album_artist"}),"\n",(0,t.jsx)(s.li,{children:"artist"}),"\n",(0,t.jsx)(s.li,{children:"label"}),"\n",(0,t.jsx)(s.li,{children:"playlist"}),"\n",(0,t.jsx)(s.li,{children:"podcast"}),"\n",(0,t.jsx)(s.li,{children:"podcast_episode"}),"\n",(0,t.jsx)(s.li,{children:"genre"}),"\n",(0,t.jsx)(s.li,{children:"user"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsx)(s.p,{children:"music"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"song"}),"\n",(0,t.jsx)(s.li,{children:"album"}),"\n",(0,t.jsx)(s.li,{children:"artist"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsx)(s.p,{children:"song_artist"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"song"}),"\n",(0,t.jsx)(s.li,{children:"album"}),"\n",(0,t.jsx)(s.li,{children:"song_artist"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsx)(s.p,{children:"album_artist"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"song"}),"\n",(0,t.jsx)(s.li,{children:"album"}),"\n",(0,t.jsx)(s.li,{children:"album_artist"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsx)(s.p,{children:"podcast"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"podcast"}),"\n",(0,t.jsx)(s.li,{children:"podcast_episode"}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.li,{children:["\n",(0,t.jsx)(s.p,{children:"video"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"video"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"operator"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"and, or (whether to match one rule or all)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"rule_*"}),(0,t.jsx)(s.td,{children:"array"}),(0,t.jsxs)(s.td,{children:["[",(0,t.jsx)(s.code,{children:"rule_1"}),", ",(0,t.jsx)(s.code,{children:"rule_1_operator"}),", ",(0,t.jsx)(s.code,{children:"rule_1_input"}),"]"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"rule_*"}),(0,t.jsx)(s.td,{children:"array"}),(0,t.jsxs)(s.td,{children:["[",(0,t.jsx)(s.code,{children:"rule_2"}),", ",(0,t.jsx)(s.code,{children:"rule_2_operator"}),", ",(0,t.jsx)(s.code,{children:"rule_2_input"}),"], [etc]"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"type"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"all"}),", ",(0,t.jsx)(s.code,{children:"music"}),", ",(0,t.jsx)(s.code,{children:"song_artist"}),", ",(0,t.jsx)(s.code,{children:"album_artist"}),", ",(0,t.jsx)(s.code,{children:"podcast"}),", ",(0,t.jsx)(s.code,{children:"video"})," (",(0,t.jsx)(s.code,{children:"all"})," by default)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"random"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (random order of results; default to 0)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"search": [\n    "song: [],\n    "album: [],\n    "song_artist: [],\n    "album_artist: [],\n    "artist: [],\n    "label: [],\n    "playlist: [],\n    "podcast: [],\n    "podcast_episode: [],\n    "genre: [],\n    "user: []\n]\n\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:["ALL ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/search_group%20(all).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["MUSIC ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/search_group%20(music).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["PODCAST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/search_group%20(podcast).json",children:"Example"})]}),"\n",(0,t.jsx)(s.h3,{id:"search_songs",children:"search_songs"}),"\n",(0,t.jsx)(s.p,{children:"This searches the songs and returns... songs"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/search_songs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"shares",children:"shares"}),"\n",(0,t.jsx)(s.p,{children:"This searches the shares and returns... shares"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," boolean to match the exact filter string"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"share": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/shares.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"share",children:"share"}),"\n",(0,t.jsx)(s.p,{children:"Return shares by UID"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Share, returns song JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"name": "",\n"owner": "",\n"allow_stream": 0,\n"allow_download": 0,\n"creation_date": "",\n"lastvisit_date": "",\n"object_type": "",\n"object_id": "",\n"expire_days": 0,\n"max_counter": 0,\n"counter": 0,\n"secret": "",\n"public_url": "",\n"description": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/share.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"share_create",children:"share_create"}),"\n",(0,t.jsx)(s.p,{children:"Create a public url that can be used by anyone to stream media.\nTakes the file id with optional description and expires parameters."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of object you are sharing"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"object_type"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'description'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"description (will be filled for you if empty)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'expires'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"days to keep active"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"share": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/share_create.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"share_delete",children:"share_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete an existing share."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Share to delete"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/share_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"share_edit",children:"share_edit"}),"\n",(0,t.jsx)(s.p,{children:"Update the description and/or expiration date for an existing share.\nTakes the share id to update with optional description and expires parameters."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Alpha-numeric search term"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'stream'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'download'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'expires'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"number of days before expiry"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'description'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"update description"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/share_edit.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"songs",children:"songs"}),"\n",(0,t.jsx)(s.p,{children:"Returns songs based on the specified filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/songs.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"song",children:"song"}),"\n",(0,t.jsx)(s.p,{children:"returns a single song"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of Song, returns song JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"title": "",\n"name": "",\n"artist": {},\n"album": {},\n"genre": [],\n"albumartist": {},\n"filename": "",\n"track": 0,\n"playlisttrack": 0,\n"time": 0,\n"year": 0,\n"bitrate": 0,\n"rate": 0,\n"mode": "",\n"mime": "",\n"url": "",\n"size": 0,\n"mbid": "0",\n"album_mbid": "",\n"artist_mbid": "",\n"albumartist_mbid": ",\n"art": "",\n"flag": 0,\n"preciserating": 0.0,\n"rating": 0.0,\n"averagerating": 0.0,\n"playcount": 0,\n"catalog": 0,\n"composer": "",\n"channels": null,\n"comment": "",\n"publisher": "",\n"language": "",\n"replaygain_album_gain": 0.000000,\n"replaygain_album_peak": 0.000000,\n"replaygain_track_gain": 0.000000,\n"replaygain_track_peak": 0.000000\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/song.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"song_delete",children:"song_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete an existing song. (if you are allowed to)"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of song to delete"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/song_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"stats",children:"stats"}),"\n",(0,t.jsxs)(s.p,{children:["Get some items based on some simple search types and filters. (Random by default)\nThis method ",(0,t.jsx)(s.strong,{children:"HAD"})," partial backwards compatibility with older api versions but it has now been removed"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"album"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"podcast"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"newest"}),", ",(0,t.jsx)(s.code,{children:"highest"}),", ",(0,t.jsx)(s.code,{children:"frequent"}),", ",(0,t.jsx)(s.code,{children:"recent"}),", ",(0,t.jsx)(s.code,{children:"forgotten"}),", ",(0,t.jsx)(s.code,{children:"flagged"}),", ",(0,t.jsx)(s.code,{children:"random"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'user_id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"song": []|"album": []|"artist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsxs)(s.p,{children:["SONG ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/stats%20(song).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ARTIST ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/stats%20(artist).json",children:"Example"})]}),"\n",(0,t.jsxs)(s.p,{children:["ALBUM ",(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/stats%20(album).json",children:"Example"})]}),"\n",(0,t.jsx)(s.h3,{id:"system_preference",children:"system_preference"}),"\n",(0,t.jsx)(s.p,{children:"Get your server preference by name"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"preference": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/system_preferences.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"timeline",children:"timeline"}),"\n",(0,t.jsx)(s.p,{children:"This gets a user's timeline"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Username of the user for whom to get the timeline"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'since'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"UNIXTIME()"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"activity": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/timeline.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"toggle_follow",children:"toggle_follow"}),"\n",(0,t.jsx)(s.p,{children:"This follow/unfollow a user"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Username of the user to follow/unfollow"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/toggle_follow.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"update_art",children:"update_art"}),"\n",(0,t.jsx)(s.p,{children:"Updates a single album, artist, song running the gather_art process\nDoesn't overwrite existing art by default."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"podcast"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'overwrite'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/update_art.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"update_artist_info",children:"update_artist_info"}),"\n",(0,t.jsx)(s.p,{children:"Update artist information and fetch similar artists from last.fm\nMake sure lastfm_API_key is set in your configuration file"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$artist_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/update_artist_info.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"update_from_tags",children:"update_from_tags"}),"\n",(0,t.jsx)(s.p,{children:"Update a single album, artist, song from the tag data"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"album"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$artist_id, $album_id, $song_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/update_from_tags.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"update_podcast",children:"update_podcast"}),"\n",(0,t.jsx)(s.p,{children:"Sync and download new podcast episodes"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/update_podcast.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"url_to_song",children:"url_to_song"}),"\n",(0,t.jsx)(s.p,{children:"This takes a url and returns the song object in question"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'url'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Full Ampache URL from server, translates back into a song JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"title": "",\n"name": "",\n"artist": {},\n"album": {},\n"genre": [],\n"albumartist": {},\n"filename": "",\n"track": 0,\n"playlisttrack": 0,\n"time": 0,\n"year": 0,\n"bitrate": 0,\n"rate": 0,\n"mode": "",\n"mime": "",\n"url": "",\n"size": 0,\n"mbid": "",\n"album_mbid": "",\n"artist_mbid": "",\n"albumartist_mbid": "",\n"art": "",\n"flag": 0,\n"preciserating": 0.0,\n"rating": 0.0,\n"averagerating": 0.0,\n"playcount": 0,\n"catalog": 0,\n"composer": "",\n"channels": null,\n"comment": "",\n"publisher": "",\n"language": "",\n"replaygain_album_gain": 0.000000,\n"replaygain_album_peak": 0.000000,\n"replaygain_track_gain": 0.000000,\n"replaygain_track_peak": 0.000000\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/url_to_song.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"user",children:"user"}),"\n",(0,t.jsx)(s.p,{children:"This gets a user's public information."}),"\n",(0,t.jsx)(s.p,{children:"If the username is omitted, this will return the current api user's public information."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Username of the user to get details for"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"user": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/user.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"user_create",children:"user_create"}),"\n",(0,t.jsx)(s.p,{children:"Create a new user. (Requires the username, password and email.)"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$username"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'password'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"hash('sha256', $password)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'email'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["e.g. ",(0,t.jsx)(s.code,{children:"user@gmail.com"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'fullname'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'disable'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'group'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Catalog filter group, default = 0"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/user_create.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"user_delete",children:"user_delete"}),"\n",(0,t.jsx)(s.p,{children:"Delete an existing user."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/user_delete.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"user_edit",children:"user_edit"}),"\n",(0,t.jsx)(s.p,{children:"Update an existing user."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," This function has been renamed from user_update to match other edit functions"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'username'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"$username"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'password'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"hash('sha256', $password)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'email'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["e.g. ",(0,t.jsx)(s.code,{children:"user@gmail.com"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'fullname'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'website'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'state'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'city'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'disable'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'group'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Catalog filter group, default = 0"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'maxbitrate'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'fullname_public'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," show fullname in public display"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'reset_apikey'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," reset user Api Key"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'reset_streamtoken'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," reset user Stream Token"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'clear_stats'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," reset all stats for this user"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"success": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/user_edit.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"user_playlists",children:"user_playlists"}),"\n",(0,t.jsx)(s.p,{children:"This returns playlists based on the specified filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"playlist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/user_playlists.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"user_preference",children:"user_preference"}),"\n",(0,t.jsx)(s.p,{children:"Get your user preference by name"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"preference": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/user_preference.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"user_smartlists",children:"user_smartlists"}),"\n",(0,t.jsx)(s.p,{children:"This returns smartlists based on the specified filter"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'add'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'update'"}),(0,t.jsx)(s.td,{children:"set_filter"}),(0,t.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'cond'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,t.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'sort'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"playlist": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/user_smartlists.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"videos",children:"videos"}),"\n",(0,t.jsx)(s.p,{children:"This returns video objects!"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"Filter results to match this string"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'exact'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,t.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,t.jsx)(s.code,{children:"LIKE"}),")"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'limit'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Maximum number of results to return"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"video": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/videos.json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"video",children:"video"}),"\n",(0,t.jsx)(s.p,{children:"This returns a single video"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'filter'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsx)(s.td,{children:"UID of video, returns video JSON"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"id": "",\n"title": "",\n"mime": "",\n"resolution": "",\n"size": 0,\n"genre": [],\n"url": ""\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/video.json",children:"Example"})}),"\n",(0,t.jsx)(s.h2,{id:"binary-data-methods",children:"Binary Data Methods"}),"\n",(0,t.jsx)(s.p,{children:"Binary data methods are used for returning raw data to the user such as a image or stream."}),"\n",(0,t.jsx)(s.h3,{id:"download",children:"download"}),"\n",(0,t.jsx)(s.p,{children:"Downloads a given media file. set format=raw to download the full file"}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," search and playlist will only download a random object from the list"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"search"}),", ",(0,t.jsx)(s.code,{children:"playlist"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'bitrate'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"max bitrate for transcoding in bytes (e.g 192000=192Kb)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'format'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"mp3"}),", ",(0,t.jsx)(s.code,{children:"ogg"}),", ",(0,t.jsx)(s.code,{children:"raw"}),", etc (raw returns the original format)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'stats'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"}),", if false disable stat recording when playing the object (default: 1)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return file (HTTP 200 OK)"}),"\n",(0,t.jsx)(s.li,{children:"throws (HTTP 400 Bad Request)"}),"\n",(0,t.jsx)(s.li,{children:"throws (HTTP 404 Not Found)"}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"get_art",children:"get_art"}),"\n",(0,t.jsx)(s.p,{children:"Get an art image."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"artist"}),", ",(0,t.jsx)(s.code,{children:"album"}),", ",(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"search"}),", ",(0,t.jsx)(s.code,{children:"podcast"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return image (HTTP 200 OK)"}),"\n",(0,t.jsx)(s.li,{children:"throws (HTTP 400 Bad Request)"}),"\n",(0,t.jsx)(s.li,{children:"throws (HTTP 404 Not Found)"}),"\n"]}),"\n",(0,t.jsx)(s.h3,{id:"stream",children:"stream"}),"\n",(0,t.jsx)(s.p,{children:"Streams a given media file. Takes the file id in parameter with optional max bit rate, file format, time offset, size and estimate content length option."}),"\n",(0,t.jsxs)(s.p,{children:[(0,t.jsx)(s.strong,{children:"NOTE"})," search and playlist will only stream a random object from the list"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'id'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"search"}),", ",(0,t.jsx)(s.code,{children:"playlist"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'bitrate'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"max bitrate for transcoding in bytes (e.g 192000=192Kb)"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'format'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"mp3"}),", ",(0,t.jsx)(s.code,{children:"ogg"}),", ",(0,t.jsx)(s.code,{children:"raw"}),", etc (raw returns the original format)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'offset'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"Return results starting from this index position"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'length'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'stats'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"}),", if false disable stat recording when playing the object (default: 1)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return file (HTTP 200 OK)"}),"\n",(0,t.jsx)(s.li,{children:"throws (HTTP 400 Bad Request)"}),"\n",(0,t.jsx)(s.li,{children:"throws (HTTP 404 Not Found)"}),"\n"]}),"\n",(0,t.jsx)(s.h2,{id:"control-methods",children:"Control Methods"}),"\n",(0,t.jsx)(s.h3,{id:"democratic",children:"democratic"}),"\n",(0,t.jsx)(s.p,{children:"This is for controlling democratic play (Songs only)"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsxs)(s.li,{children:[(0,t.jsx)(s.strong,{children:"Method Descriptions"}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"vote: +1 vote for the oid"}),"\n",(0,t.jsx)(s.li,{children:"devote: -1 vote for the oid"}),"\n",(0,t.jsx)(s.li,{children:"playlist: Return an array of song items with an additional <vote>[VOTE COUNT]</vote> element"}),"\n",(0,t.jsx)(s.li,{children:"play: Returns the URL for playing democratic play"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'oid'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"UID of Song object"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'method'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"vote"}),", ",(0,t.jsx)(s.code,{children:"devote"}),", ",(0,t.jsx)(s.code,{children:"playlist"}),", ",(0,t.jsx)(s.code,{children:"play"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object|array"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"url": ""|"method": "","result": false|"song": []\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/democratic%20(play).json",children:"Example"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/democratic%20(vote).json",children:"Example"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/democratic%20(playlist).json",children:"Example"})}),"\n",(0,t.jsx)(s.h3,{id:"localplay",children:"localplay"}),"\n",(0,t.jsx)(s.p,{children:"This is for controlling localplay"}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"Input"}),(0,t.jsx)(s.th,{children:"Type"}),(0,t.jsx)(s.th,{children:"Description"}),(0,t.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,t.jsxs)(s.tbody,{children:[(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'command'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"next"}),", ",(0,t.jsx)(s.code,{children:"prev"}),", ",(0,t.jsx)(s.code,{children:"stop"}),", ",(0,t.jsx)(s.code,{children:"play"}),", ",(0,t.jsx)(s.code,{children:"pause"}),", ",(0,t.jsx)(s.code,{children:"add"}),", ",(0,t.jsx)(s.code,{children:"volume_up"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{}),(0,t.jsx)(s.td,{}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"volume_down"}),", ",(0,t.jsx)(s.code,{children:"volume_mute"}),", ",(0,t.jsx)(s.code,{children:"delete_all"}),", ",(0,t.jsx)(s.code,{children:"skip"}),", ",(0,t.jsx)(s.code,{children:"status"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'oid'"}),(0,t.jsx)(s.td,{children:"integer"}),(0,t.jsx)(s.td,{children:"$object_id"}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'type'"}),(0,t.jsx)(s.td,{children:"string"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"song"}),", ",(0,t.jsx)(s.code,{children:"video"}),", ",(0,t.jsx)(s.code,{children:"podcast_episode"}),", ",(0,t.jsx)(s.code,{children:"channel"}),", ",(0,t.jsx)(s.code,{children:"broadcast"}),", ",(0,t.jsx)(s.code,{children:"democratic"}),", ",(0,t.jsx)(s.code,{children:"live_stream"})]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"'clear'"}),(0,t.jsx)(s.td,{children:"boolean"}),(0,t.jsxs)(s.td,{children:[(0,t.jsx)(s.code,{children:"0"}),", ",(0,t.jsx)(s.code,{children:"1"})," (Clear the current playlist before adding)"]}),(0,t.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"return object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"localplay": { "command": {} }\n'})}),"\n",(0,t.jsxs)(s.ul,{children:["\n",(0,t.jsx)(s.li,{children:"throws object"}),"\n"]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-JSON",children:'"error": ""\n'})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/localplay.json",children:"Example"})}),"\n",(0,t.jsx)(s.p,{children:(0,t.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/json-responses/localplay%20(status).json",children:"Example (status)"})})]})}function j(e={}){const{wrapper:s}={...(0,r.RP)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(x,{...e})}):x(e)}},8453:(e,s,n)=>{n.d(s,{RP:()=>i,xA:()=>d});var t=n(6540);const r=t.createContext({});function i(e){const s=t.useContext(r);return t.useMemo((()=>"function"==typeof e?e(s):{...s,...e}),[s,e])}const l={};function d({components:e,children:s,disableParentContext:n}){let d;return d=n?"function"==typeof e?e({}):e||l:i(e),t.createElement(r.Provider,{value:d},s)}}}]);
\ No newline at end of file
diff --git a/api/assets/js/c377a04b.36dfa853.js b/api/assets/js/c377a04b.36dfa853.js
deleted file mode 100644
index e5f48a34..00000000
--- a/api/assets/js/c377a04b.36dfa853.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkampache_org_api=self.webpackChunkampache_org_api||[]).push([[3361],{8321:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>h,contentTitle:()=>r,default:()=>c,frontMatter:()=>a,metadata:()=>t,toc:()=>d});var i=n(4848),l=n(8453);const a={title:"Ampache API",metaTitle:"Ampache API",description:"API documentation"},r=void 0,t={id:"index",title:"Ampache API",description:"API documentation",source:"@site/docs/index.md",sourceDirName:".",slug:"/",permalink:"/api/",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{title:"Ampache API",metaTitle:"Ampache API",description:"API documentation"},sidebar:"api",next:{title:"Standards",permalink:"/api/api-standards"}},h={},d=[{value:"News",id:"news",level:2},{value:"Archived Version Documentation",id:"archived-version-documentation",level:2},{value:"API Changelog",id:"api-changelog",level:2},{value:"Before you begin",id:"before-you-begin",level:2},{value:"Sending Handshake Request",id:"sending-handshake-request",level:2},{value:"User / Password",id:"user--password",level:3},{value:"Api Key",id:"api-key",level:3},{value:"HTTP Header Authentication",id:"http-header-authentication",level:3},{value:"Other handshake-related stuff",id:"other-handshake-related-stuff",level:3},{value:"Ampache scheme",id:"ampache-scheme",level:4},{value:"Stream Token&#39;s",id:"stream-tokens",level:3},{value:"Application Name",id:"application-name",level:4},{value:"Geolocation",id:"geolocation",level:4},{value:"Result",id:"result",level:3},{value:"Methods",id:"methods",level:2},{value:"Auth Methods",id:"auth-methods",level:3},{value:"Non-Data Methods",id:"non-data-methods",level:3},{value:"Data Methods",id:"data-methods",level:3},{value:"Binary Data Methods",id:"binary-data-methods",level:3},{value:"Control Methods",id:"control-methods",level:3},{value:"Access Levels",id:"access-levels",level:2},{value:"Request URL Examples",id:"request-url-examples",level:2},{value:"Requesting all genres whose name starts with Rock",id:"requesting-all-genres-whose-name-starts-with-rock",level:3},{value:"Requesting all song titles, with an offset of 5000",id:"requesting-all-song-titles-with-an-offset-of-5000",level:3}];function o(e){const s={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.RP)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(s.p,{children:["The Ampache API Provides methods for pulling out it's meta data in the form of\nsimple XML (and JSON!) documents. This was originally created for use by ",(0,i.jsx)(s.a,{href:"https://ampache.org/api/http://amarok.kde.org/",children:"Amarok"}),",\nbut there is no reason it couldn't be used to create other front-ends to the Ampache data."]}),"\n",(0,i.jsxs)(s.p,{children:["Access to the API is controlled by the Internal ",(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-acls",children:"Access Control Lists"}),".\nCurrently all requests are limited to a maximum of 5000 results for performance reasons. To get additional results\npass offset as an additional parameter."]}),"\n",(0,i.jsxs)(s.p,{children:["If you have any questions or requests for this API please submit a ",(0,i.jsx)(s.a,{href:"https://github.com/ampache/ampache/issues/new?assignees=&labels=&template=feature_request.md&title=%5BFeature+Request%5D",children:"Feature Request"}),".\nAll dates in the API calls should be passed as ",(0,i.jsx)(s.a,{href:"http://en.wikipedia.org/wiki/ISO_8601",children:"ISO 8601"})," dates."]}),"\n",(0,i.jsx)(s.h2,{id:"news",children:"News"}),"\n",(0,i.jsx)(s.p,{children:"Ampache 7 development has started!"}),"\n",(0,i.jsxs)(s.p,{children:["The good news is that API6 will remain as the primary API for the next major version. This means ",(0,i.jsx)(s.strong,{children:"NO"})," breaking changes for the API!"]}),"\n",(0,i.jsx)(s.p,{children:"API6 will continue to be extended and developed as normal."}),"\n",(0,i.jsx)(s.h2,{id:"archived-version-documentation",children:"Archived Version Documentation"}),"\n",(0,i.jsx)(s.p,{children:"After each release, a documentation page will be created to allow pruning old features from the current version."}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-5",children:"API 5.6 Documentation"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-4",children:"API 4.4 Documentation"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-3",children:"API 3.9 Documentation"})}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Ampache supports the last major release of each API version. You can also check out the ",(0,i.jsx)(s.a,{href:"https://ampache.org/api/versions/",children:"past releases"})," page for some historical detail but ",(0,i.jsx)(s.strong,{children:"DO NOT"})," use these pages as a guide for API development."]}),"\n",(0,i.jsx)(s.h2,{id:"api-changelog",children:"API Changelog"}),"\n",(0,i.jsxs)(s.p,{children:["Take a look at the ",(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-changelog",children:"API Changelog"})," to keep an eye on changes between versions"]}),"\n",(0,i.jsx)(s.h2,{id:"before-you-begin",children:"Before you begin"}),"\n",(0,i.jsx)(s.p,{children:"Ampache 5.2.0+ supports multiple API versions. This means that you can send your handshake with a specific version (e.g. 390001, 440001, 5.2.0 or 6.0.0) you will be sent API3, API4, API5 and API6 responses in return."}),"\n",(0,i.jsx)(s.p,{children:"To change from API3 to API5 you can send a ping with a new version parameter to update your session (or send goodbye to log off and start again.)"}),"\n",(0,i.jsx)(s.p,{children:"API3 is not recommended for use outside of running old applications and it is recommended that you turn off API versions you don't use."}),"\n",(0,i.jsx)(s.h2,{id:"sending-handshake-request",children:"Sending Handshake Request"}),"\n",(0,i.jsx)(s.p,{children:"Multiple authentication methods are available, described in the next sections."}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"NOTE"})," if you use a ",(0,i.jsx)(s.a,{href:"https://ampache.org/api/#http-header-authentication",children:"Bearer Token"})," you do not need to send a handshake request."]}),"\n",(0,i.jsx)(s.h3,{id:"user--password",children:"User / Password"}),"\n",(0,i.jsx)(s.p,{children:"The handshake is a combination of the following three things"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Encoded Passphrase"}),"\n",(0,i.jsx)(s.li,{children:"Timestamp"}),"\n",(0,i.jsx)(s.li,{children:"Username"}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["The key that must be passed to Ampache is ",(0,i.jsx)(s.code,{children:"SHA256(TIME+KEY)"})," where ",(0,i.jsx)(s.code,{children:"KEY"})," is ",(0,i.jsx)(s.code,{children:"SHA256('PASSWORD')"}),". Below is a PHP example"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-PHP",children:"$time = time();\n$key = hash('sha256', 'mypassword');\n$passphrase = hash('sha256', $time . $key);\n"})}),"\n",(0,i.jsx)(s.p,{children:"Once you've generated the encoded passphrase, you can call the following URL (localhost/ampache is the location of your Ampache installation)"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-URL",children:"http://localhost/ampache/server/xml.server.php?action=handshake&auth=PASSPHRASE&timestamp=TIME&version=6.0.0&user=USER\n"})}),"\n",(0,i.jsx)(s.h3,{id:"api-key",children:"Api Key"}),"\n",(0,i.jsx)(s.p,{children:"The key that must be passed to Ampache is the API Key generated for a specific user (none by default, only the administrator can generate one). Then call the following URL (localhost/ampache is the location of your Ampache installation):"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-URL",children:"http://localhost/ampache/server/xml.server.php?action=handshake&auth=API_KEY&version=6.0.0\n"})}),"\n",(0,i.jsxs)(s.p,{children:["If you are using Ampache 4.0.0 and higher; the key can be passed to Ampache using ",(0,i.jsx)(s.code,{children:"SHA256(USER+KEY)"})," where ",(0,i.jsx)(s.code,{children:"KEY"})," is ",(0,i.jsx)(s.code,{children:"SHA256('APIKEY')"}),". Below is a PHP example"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-PHP",children:"$user = 'username';\n$key = hash('sha256', 'myapikey');\n$passphrase = hash('sha256', $user . $key);\n"})}),"\n",(0,i.jsx)(s.h3,{id:"http-header-authentication",children:"HTTP Header Authentication"}),"\n",(0,i.jsx)(s.p,{children:"Ampache supports sending your auth parameter to the server using a Bearer Token."}),"\n",(0,i.jsxs)(s.p,{children:["The ",(0,i.jsx)(s.code,{children:"auth"})," parameter does not need to be sent with your URL. We will check your header for a token first"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-Text",children:"GET https://demo.ampache.dev/server/json.server.php?action=handshake&version=6.0.0 HTTP/1.1\nAuthorization: Bearer 000111112233334444455556667777788888899aaaaabbbbcccccdddeeeeeeff\n"})}),"\n",(0,i.jsx)(s.h3,{id:"other-handshake-related-stuff",children:"Other handshake-related stuff"}),"\n",(0,i.jsx)(s.h4,{id:"ampache-scheme",children:"Ampache scheme"}),"\n",(0,i.jsx)(s.p,{children:"To standardize how to transfer Ampache connection information, the following Ampache scheme is defined."}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-Text",children:"ampache://authentication@hostname[:port]/subdirectory[#parameters]\n"})}),"\n",(0,i.jsx)(s.p,{children:"for example:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["ampache://myuser",":mypwd","@localhost/ampache"]}),"\n",(0,i.jsx)(s.li,{children:"ampache://yourapikey@localhost:993/ampache#ssl=true"}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"stream-tokens",children:"Stream Token's"}),"\n",(0,i.jsx)(s.p,{children:"Ampache6+ allows you to create a Stream Token for a user."}),"\n",(0,i.jsx)(s.p,{children:"The biggest bonus here is that these static tokens let you can create links that avoid the risk of the session expiring and don't require a handshake to create a session."}),"\n",(0,i.jsx)(s.p,{children:"Once a user has been given a streaming token; all Democratic, Song, Podcast Episode and Video streams will use this session token."}),"\n",(0,i.jsxs)(s.p,{children:["e.g. ",(0,i.jsx)(s.code,{children:"https://music.com.au/play/index.php?ssid=supercoolstreamingtoken&type=song&oid=1511&uid=1&player=api&name=The%20Smashing%20Pumpkins%20-%20Wound.flac"})]}),"\n",(0,i.jsx)(s.p,{children:"This token does not allow a user to do anything except stream music and it requires an Admin to create the token for the user."}),"\n",(0,i.jsx)(s.h4,{id:"application-name",children:"Application Name"}),"\n",(0,i.jsxs)(s.p,{children:["By default Ampache uses USER_AGENT as application name but this could also be defined through http query string. Add ",(0,i.jsx)(s.code,{children:"&client=YourAppName"})," to override the application name. This parameter also works on stream sessions."]}),"\n",(0,i.jsx)(s.h4,{id:"geolocation",children:"Geolocation"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Latitude"}),"\n",(0,i.jsx)(s.li,{children:"Longitude"}),"\n",(0,i.jsx)(s.li,{children:"Place name"}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Optionally, you can also provide geolocation information ",(0,i.jsx)(s.code,{children:"&geo_latitude=$latitude&geo_longitude=$longitude"}),", with an optional place name if you already know coordinates match ",(0,i.jsx)(s.code,{children:"&geo_name=$placename"}),"."]}),"\n",(0,i.jsx)(s.h3,{id:"result",children:"Result"}),"\n",(0,i.jsx)(s.p,{children:"If your authenticated User and IP match a row in the Access List the following will be returned."}),"\n",(0,i.jsx)(s.p,{children:"For XML"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-XML",children:'<?xml version="1.0" encoding="UTF-8" ?>\n<root>\n  <auth><![CDATA[cfj3f237d563f479f5223k23189dbb34]]></auth>\n  <api><![CDATA[6.0.0]]></api>\n  <session_expire><![CDATA[2022-08-17T04:34:55+00:00]]></session_expire>\n  <update><![CDATA[2021-07-21T02:51:36+00:00]]></update>\n  <add><![CDATA[2021-08-03T00:04:14+00:00]]></add>\n  <clean><![CDATA[2021-08-03T00:05:54+00:00]]></clean>\n  <songs><![CDATA[75]]></songs>\n  <albums><![CDATA[9]]></albums>\n  <artists><![CDATA[17]]></artists>\n  <genres><![CDATA[7]]></genres>\n  <playlists><![CDATA[2]]></playlists>\n  <searches><![CDATA[17]]></searches>\n  <playlists_searches><![CDATA[19]]></playlists_searches>\n  <users><![CDATA[4]]></users>\n  <catalogs><![CDATA[4]]></catalogs>\n  <videos><![CDATA[2]]></videos>\n  <podcasts><![CDATA[2]]></podcasts>\n  <podcast_episodes><![CDATA[13]]></podcast_episodes>\n  <shares><![CDATA[2]]></shares>\n  <licenses><![CDATA[14]]></licenses>\n  <live_streams><![CDATA[3]]></live_streams>\n  <labels><![CDATA[3]]></labels>\n</root>\n'})}),"\n",(0,i.jsx)(s.p,{children:"For JSON"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-JSON",children:'{\n    "auth": "cfj3f237d563f479f5223k23189dbb34",\n    "api": "6.0.0",\n    "session_expire": "2022-08-17T06:21:00+00:00",\n    "update": "2021-07-21T02:51:36+00:00",\n    "add": "2021-08-03T00:04:14+00:00",\n    "clean": "2021-08-03T00:05:54+00:00",\n    "songs": 75,\n    "albums": 9,\n    "artists": 17,\n    "genres": 7,\n    "playlists": 2,\n    "searches": 17,\n    "playlists_searches": 19,\n    "users": 4,\n    "catalogs": 4,\n    "videos": 2,\n    "podcasts": 2,\n    "podcast_episodes": 13,\n    "shares": 2,\n    "licenses": 14,\n    "live_streams": 3,\n    "labels": 3\n}\n'})}),"\n",(0,i.jsxs)(s.p,{children:["All future interactions with the Ampache API must include the ",(0,i.jsx)(s.code,{children:"AUTHENTICATION_TOKEN"})," as a ",(0,i.jsx)(s.code,{children:"GET"})," variable named ",(0,i.jsx)(s.code,{children:"auth"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsxs)(s.p,{children:["All methods must be passed as ",(0,i.jsx)(s.code,{children:"action=METHODNAME"}),". All ",(0,i.jsx)(s.a,{href:"https://ampache.org/api/#data-methods",children:"data methods"})," can take an optional ",(0,i.jsx)(s.code,{children:"offset=XXX"})," and ",(0,i.jsx)(s.code,{children:"limit=XXX"}),". The limit determines the maximum number of results returned. The offset will tell Ampache where to start in the result set. For example if there are 100 total results and you set the offset to 50, and the limit to 50 Ampache will return results between 50 and 100. The default limit is 5000. The default offset is 0."]}),"\n",(0,i.jsxs)(s.p,{children:["You can also pass it ",(0,i.jsx)(s.code,{children:"limit=none"})," to overcome the ",(0,i.jsx)(s.code,{children:"limit"})," limitation and return ",(0,i.jsx)(s.strong,{children:"all"})," the matching elements."]}),"\n",(0,i.jsx)(s.p,{children:"For more in depth information regarding the different api servers you can view the following documentation pages."}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-xml-methods",children:"XML Documentation"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-json-methods",children:"JSON Documentation"})}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"auth-methods",children:"Auth Methods"}),"\n",(0,i.jsx)(s.p,{children:"All Auth methods return HTTP 200 responses"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"handshake"}),"\n",(0,i.jsx)(s.li,{children:"goodbye"}),"\n",(0,i.jsx)(s.li,{children:"ping"}),"\n",(0,i.jsx)(s.li,{children:"register"}),"\n",(0,i.jsxs)(s.li,{children:["lost_password ",(0,i.jsx)(s.strong,{children:"Ampache 6.1.0+"})]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"non-data-methods",children:"Non-Data Methods"}),"\n",(0,i.jsx)(s.p,{children:"All Non-Data methods return HTTP 200 responses"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"bookmarks"}),"\n",(0,i.jsx)(s.li,{children:"system_update"}),"\n",(0,i.jsx)(s.li,{children:"users"}),"\n",(0,i.jsx)(s.li,{children:"user_preferences"}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"data-methods",children:"Data Methods"}),"\n",(0,i.jsx)(s.p,{children:"All Data methods return HTTP 200 responses"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-advanced-search",children:"advanced_search"})}),"\n",(0,i.jsx)(s.li,{children:"albums"}),"\n",(0,i.jsx)(s.li,{children:"album"}),"\n",(0,i.jsx)(s.li,{children:"album_songs"}),"\n",(0,i.jsx)(s.li,{children:"artists"}),"\n",(0,i.jsx)(s.li,{children:"artist"}),"\n",(0,i.jsx)(s.li,{children:"artist_albums"}),"\n",(0,i.jsx)(s.li,{children:"artist_songs"}),"\n",(0,i.jsxs)(s.li,{children:["bookmark ",(0,i.jsx)(s.strong,{children:"Ampache 6.1.0+"})]}),"\n",(0,i.jsx)(s.li,{children:"bookmark_create"}),"\n",(0,i.jsx)(s.li,{children:"bookmark_delete"}),"\n",(0,i.jsx)(s.li,{children:"bookmark_edit"}),"\n",(0,i.jsx)(s.li,{children:"browse"}),"\n",(0,i.jsx)(s.li,{children:"catalogs"}),"\n",(0,i.jsx)(s.li,{children:"catalog"}),"\n",(0,i.jsx)(s.li,{children:"catalog_action"}),"\n",(0,i.jsx)(s.li,{children:"catalog_add"}),"\n",(0,i.jsx)(s.li,{children:"catalog_delete"}),"\n",(0,i.jsx)(s.li,{children:"catalog_file"}),"\n",(0,i.jsx)(s.li,{children:"catalog_folder"}),"\n",(0,i.jsx)(s.li,{children:"deleted_podcast_episodes"}),"\n",(0,i.jsx)(s.li,{children:"deleted_songs"}),"\n",(0,i.jsx)(s.li,{children:"deleted_videos"}),"\n",(0,i.jsx)(s.li,{children:"flag"}),"\n",(0,i.jsx)(s.li,{children:"followers"}),"\n",(0,i.jsx)(s.li,{children:"following"}),"\n",(0,i.jsx)(s.li,{children:"friends_timeline"}),"\n",(0,i.jsx)(s.li,{children:"genres"}),"\n",(0,i.jsx)(s.li,{children:"genre"}),"\n",(0,i.jsx)(s.li,{children:"genre_albums"}),"\n",(0,i.jsx)(s.li,{children:"genre_artists"}),"\n",(0,i.jsx)(s.li,{children:"genre_songs"}),"\n",(0,i.jsx)(s.li,{children:"get_bookmark"}),"\n",(0,i.jsx)(s.li,{children:"get_indexes"}),"\n",(0,i.jsx)(s.li,{children:"get_similar"}),"\n",(0,i.jsxs)(s.li,{children:["index ",(0,i.jsx)(s.strong,{children:"Ampache 6.3.0+"})]}),"\n",(0,i.jsx)(s.li,{children:"labels"}),"\n",(0,i.jsx)(s.li,{children:"label"}),"\n",(0,i.jsx)(s.li,{children:"label_artists"}),"\n",(0,i.jsx)(s.li,{children:"last_shouts"}),"\n",(0,i.jsx)(s.li,{children:"licenses"}),"\n",(0,i.jsx)(s.li,{children:"license"}),"\n",(0,i.jsx)(s.li,{children:"license_songs"}),"\n",(0,i.jsx)(s.li,{children:"list (Replaces get_indexes)"}),"\n",(0,i.jsx)(s.li,{children:"live_streams"}),"\n",(0,i.jsx)(s.li,{children:"live_stream"}),"\n",(0,i.jsx)(s.li,{children:"live_stream_create"}),"\n",(0,i.jsx)(s.li,{children:"live_stream_delete"}),"\n",(0,i.jsx)(s.li,{children:"live_stream_edit"}),"\n",(0,i.jsxs)(s.li,{children:["now_playing ",(0,i.jsx)(s.strong,{children:"Ampache 6.3.1+"})]}),"\n",(0,i.jsxs)(s.li,{children:["player ",(0,i.jsx)(s.strong,{children:"Ampache 6.4.0+"})]}),"\n",(0,i.jsx)(s.li,{children:"playlists"}),"\n",(0,i.jsx)(s.li,{children:"playlist"}),"\n",(0,i.jsxs)(s.li,{children:["playlist_add ",(0,i.jsx)(s.strong,{children:"Ampache 6.3.0+"})]}),"\n",(0,i.jsx)(s.li,{children:"playlist_add_song"}),"\n",(0,i.jsx)(s.li,{children:"playlist_create"}),"\n",(0,i.jsx)(s.li,{children:"playlist_delete"}),"\n",(0,i.jsx)(s.li,{children:"playlist_edit"}),"\n",(0,i.jsx)(s.li,{children:"playlist_generate"}),"\n",(0,i.jsxs)(s.li,{children:["playlist_hash ",(0,i.jsx)(s.strong,{children:"Ampache 6.6.0+"})]}),"\n",(0,i.jsx)(s.li,{children:"playlist_remove_song"}),"\n",(0,i.jsx)(s.li,{children:"playlist_songs"}),"\n",(0,i.jsx)(s.li,{children:"podcasts"}),"\n",(0,i.jsx)(s.li,{children:"podcast"}),"\n",(0,i.jsx)(s.li,{children:"podcast_create"}),"\n",(0,i.jsx)(s.li,{children:"podcast_delete"}),"\n",(0,i.jsx)(s.li,{children:"podcast_edit"}),"\n",(0,i.jsx)(s.li,{children:"podcast_episodes"}),"\n",(0,i.jsx)(s.li,{children:"podcast_episode"}),"\n",(0,i.jsx)(s.li,{children:"podcast_episode_delete"}),"\n",(0,i.jsx)(s.li,{children:"preference_create"}),"\n",(0,i.jsx)(s.li,{children:"preference_delete"}),"\n",(0,i.jsx)(s.li,{children:"preference_edit"}),"\n",(0,i.jsx)(s.li,{children:"rate"}),"\n",(0,i.jsx)(s.li,{children:"record_play"}),"\n",(0,i.jsx)(s.li,{children:"scrobble"}),"\n",(0,i.jsxs)(s.li,{children:["search_group ",(0,i.jsx)(s.strong,{children:"Ampache 6.3.0+"})]}),"\n",(0,i.jsxs)(s.li,{children:["search  ",(0,i.jsx)(s.strong,{children:"Ampache 6.3.0+"})," (alias for ",(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-advanced-search",children:"advanced_search"}),")"]}),"\n",(0,i.jsx)(s.li,{children:"search_songs"}),"\n",(0,i.jsx)(s.li,{children:"shares"}),"\n",(0,i.jsx)(s.li,{children:"share"}),"\n",(0,i.jsx)(s.li,{children:"share_create"}),"\n",(0,i.jsx)(s.li,{children:"share_delete"}),"\n",(0,i.jsx)(s.li,{children:"share_edit"}),"\n",(0,i.jsx)(s.li,{children:"songs"}),"\n",(0,i.jsx)(s.li,{children:"song"}),"\n",(0,i.jsx)(s.li,{children:"song_delete"}),"\n",(0,i.jsx)(s.li,{children:"stats"}),"\n",(0,i.jsx)(s.li,{children:"system_preference"}),"\n",(0,i.jsx)(s.li,{children:"system_preferences"}),"\n",(0,i.jsx)(s.li,{children:"timeline"}),"\n",(0,i.jsx)(s.li,{children:"toggle_follow"}),"\n",(0,i.jsx)(s.li,{children:"update_art"}),"\n",(0,i.jsx)(s.li,{children:"update_artist_info"}),"\n",(0,i.jsx)(s.li,{children:"update_from_tags"}),"\n",(0,i.jsx)(s.li,{children:"update_podcast"}),"\n",(0,i.jsx)(s.li,{children:"url_to_song"}),"\n",(0,i.jsx)(s.li,{children:"user"}),"\n",(0,i.jsx)(s.li,{children:"user_create"}),"\n",(0,i.jsx)(s.li,{children:"user_delete"}),"\n",(0,i.jsx)(s.li,{children:"user_edit (Replaces user_update)"}),"\n",(0,i.jsxs)(s.li,{children:["user_playlists ",(0,i.jsx)(s.strong,{children:"Ampache 6.3.0+"})]}),"\n",(0,i.jsx)(s.li,{children:"user_preference"}),"\n",(0,i.jsxs)(s.li,{children:["user_smartlists ",(0,i.jsx)(s.strong,{children:"Ampache 6.3.0+"})]}),"\n",(0,i.jsx)(s.li,{children:"user_update"}),"\n",(0,i.jsx)(s.li,{children:"videos"}),"\n",(0,i.jsx)(s.li,{children:"video"}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"binary-data-methods",children:"Binary Data Methods"}),"\n",(0,i.jsx)(s.p,{children:"All binary methods will not return XML/JSON responses. they will either return the requested file/data or an HTTP error code."}),"\n",(0,i.jsxs)(s.p,{children:["For information about about how playback works and what a client can expect from Ampache check out ",(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-media-methods",children:"API Media Methods"})]}),"\n",(0,i.jsx)(s.p,{children:"@return (HTTP 200 OK)"}),"\n",(0,i.jsx)(s.p,{children:"@throws (HTTP 400 Bad Request)"}),"\n",(0,i.jsx)(s.p,{children:"@throws (HTTP 404 Not Found)"}),"\n",(0,i.jsx)(s.p,{children:"@throws (HTTP 416 Range Not Satisfiable)"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"download"}),"\n",(0,i.jsx)(s.li,{children:"get_art"}),"\n",(0,i.jsx)(s.li,{children:"stream"}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"control-methods",children:"Control Methods"}),"\n",(0,i.jsx)(s.p,{children:"All Control methods return HTTP 200 responses"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"democratic"}),"\n",(0,i.jsx)(s.li,{children:"localplay"}),"\n",(0,i.jsx)(s.li,{children:"localplay_songs"}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"access-levels",children:"Access Levels"}),"\n",(0,i.jsx)(s.p,{children:"Some methods have a user access level requirement. Access goes from 0-100 and is split into the following types."}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"5: Guest"}),"\n",(0,i.jsx)(s.li,{children:"25: User"}),"\n",(0,i.jsx)(s.li,{children:"50: Content Manager"}),"\n",(0,i.jsx)(s.li,{children:"75: Catalog Manager"}),"\n",(0,i.jsx)(s.li,{children:"100: Admin"}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"request-url-examples",children:"Request URL Examples"}),"\n",(0,i.jsx)(s.p,{children:"For the purpose of this example the Ampache host is 'localhost' and the path to Ampache is /ampache"}),"\n",(0,i.jsx)(s.h3,{id:"requesting-all-genres-whose-name-starts-with-rock",children:"Requesting all genres whose name starts with Rock"}),"\n",(0,i.jsx)(s.p,{children:"XML"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-URL",children:"http://localhost/ampache/server/xml.server.php?action=tags&auth=1234567890123456789012345678901&filter=Rock\n"})}),"\n",(0,i.jsx)(s.p,{children:"JSON"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-URL",children:"http://localhost/ampache/server/json.server.php?action=tags&auth=1234567890123456789012345678901&filter=Rock\n"})}),"\n",(0,i.jsx)(s.h3,{id:"requesting-all-song-titles-with-an-offset-of-5000",children:"Requesting all song titles, with an offset of 5000"}),"\n",(0,i.jsx)(s.p,{children:"XML"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-URL",children:"http://localhost/ampache/server/xml.server.php?action=songs&auth=12345678901234567890123456789012&offset=5000\n"})}),"\n",(0,i.jsx)(s.p,{children:"JSON"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-URL",children:"http://localhost/ampache/server/json.server.php?action=songs&auth=12345678901234567890123456789012&offset=5000\n"})})]})}function c(e={}){const{wrapper:s}={...(0,l.RP)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},8453:(e,s,n)=>{n.d(s,{RP:()=>a,xA:()=>t});var i=n(6540);const l=i.createContext({});function a(e){const s=i.useContext(l);return i.useMemo((()=>"function"==typeof e?e(s):{...s,...e}),[s,e])}const r={};function t({components:e,children:s,disableParentContext:n}){let t;return t=n?"function"==typeof e?e({}):e||r:a(e),i.createElement(l.Provider,{value:t},s)}}}]);
\ No newline at end of file
diff --git a/api/assets/js/c377a04b.beef289d.js b/api/assets/js/c377a04b.beef289d.js
new file mode 100644
index 00000000..ebf2599e
--- /dev/null
+++ b/api/assets/js/c377a04b.beef289d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkampache_org_api=self.webpackChunkampache_org_api||[]).push([[3361],{8321:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>h,contentTitle:()=>r,default:()=>c,frontMatter:()=>a,metadata:()=>t,toc:()=>d});var i=n(4848),l=n(8453);const a={title:"Ampache API",metaTitle:"Ampache API",description:"API documentation"},r=void 0,t={id:"index",title:"Ampache API",description:"API documentation",source:"@site/docs/index.md",sourceDirName:".",slug:"/",permalink:"/api/",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{title:"Ampache API",metaTitle:"Ampache API",description:"API documentation"},sidebar:"api",next:{title:"Standards",permalink:"/api/api-standards"}},h={},d=[{value:"News",id:"news",level:2},{value:"Archived Version Documentation",id:"archived-version-documentation",level:2},{value:"API Changelog",id:"api-changelog",level:2},{value:"Before you begin",id:"before-you-begin",level:2},{value:"Sending Handshake Request",id:"sending-handshake-request",level:2},{value:"User / Password",id:"user--password",level:3},{value:"Api Key",id:"api-key",level:3},{value:"HTTP Header Authentication",id:"http-header-authentication",level:3},{value:"Other handshake-related stuff",id:"other-handshake-related-stuff",level:3},{value:"Ampache scheme",id:"ampache-scheme",level:4},{value:"Stream Token&#39;s",id:"stream-tokens",level:3},{value:"Application Name",id:"application-name",level:4},{value:"Geolocation",id:"geolocation",level:4},{value:"Result",id:"result",level:3},{value:"Methods",id:"methods",level:2},{value:"Auth Methods",id:"auth-methods",level:3},{value:"Non-Data Methods",id:"non-data-methods",level:3},{value:"Data Methods",id:"data-methods",level:3},{value:"Binary Data Methods",id:"binary-data-methods",level:3},{value:"Control Methods",id:"control-methods",level:3},{value:"Access Levels",id:"access-levels",level:2},{value:"Request URL Examples",id:"request-url-examples",level:2},{value:"Requesting all genres whose name starts with Rock",id:"requesting-all-genres-whose-name-starts-with-rock",level:3},{value:"Requesting all song titles, with an offset of 5000",id:"requesting-all-song-titles-with-an-offset-of-5000",level:3}];function o(e){const s={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.RP)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(s.p,{children:["The Ampache API Provides methods for pulling out it's meta data in the form of\nsimple XML (and JSON!) documents. This was originally created for use by ",(0,i.jsx)(s.a,{href:"https://ampache.org/api/http://amarok.kde.org/",children:"Amarok"}),",\nbut there is no reason it couldn't be used to create other front-ends to the Ampache data."]}),"\n",(0,i.jsxs)(s.p,{children:["Access to the API is controlled by the Internal ",(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-acls",children:"Access Control Lists"}),".\nCurrently all requests are limited to a maximum of 5000 results for performance reasons. To get additional results\npass offset as an additional parameter."]}),"\n",(0,i.jsxs)(s.p,{children:["If you have any questions or requests for this API please submit a ",(0,i.jsx)(s.a,{href:"https://github.com/ampache/ampache/issues/new?assignees=&labels=&template=feature_request.md&title=%5BFeature+Request%5D",children:"Feature Request"}),".\nAll dates in the API calls should be passed as ",(0,i.jsx)(s.a,{href:"http://en.wikipedia.org/wiki/ISO_8601",children:"ISO 8601"})," dates."]}),"\n",(0,i.jsx)(s.h2,{id:"news",children:"News"}),"\n",(0,i.jsxs)(s.p,{children:["Ampache7 is ",(0,i.jsx)(s.a,{href:"https://github.com/ampache/ampache/releases/",children:"here!"})]}),"\n",(0,i.jsxs)(s.p,{children:["The good news is that API6 will remain as the primary API for the next major version. This means ",(0,i.jsx)(s.strong,{children:"NO"})," breaking changes for the API!"]}),"\n",(0,i.jsx)(s.p,{children:"API6 will continue to be extended and developed as normal."}),"\n",(0,i.jsx)(s.h2,{id:"archived-version-documentation",children:"Archived Version Documentation"}),"\n",(0,i.jsx)(s.p,{children:"After each release, a documentation page will be created to allow pruning old features from the current version."}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-5",children:"API 5.6 Documentation"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-4",children:"API 4.4 Documentation"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-3",children:"API 3.9 Documentation"})}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Ampache supports the last major release of each API version. You can also check out the ",(0,i.jsx)(s.a,{href:"https://ampache.org/api/versions/",children:"past releases"})," page for some historical detail but ",(0,i.jsx)(s.strong,{children:"DO NOT"})," use these pages as a guide for API development."]}),"\n",(0,i.jsx)(s.h2,{id:"api-changelog",children:"API Changelog"}),"\n",(0,i.jsxs)(s.p,{children:["Take a look at the ",(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-changelog",children:"API Changelog"})," to keep an eye on changes between versions"]}),"\n",(0,i.jsx)(s.h2,{id:"before-you-begin",children:"Before you begin"}),"\n",(0,i.jsx)(s.p,{children:"Ampache 5.2.0+ supports multiple API versions. This means that you can send your handshake with a specific version (e.g. 390001, 440001, 5.2.0 or 6.0.0) you will be sent API3, API4, API5 and API6 responses in return."}),"\n",(0,i.jsx)(s.p,{children:"To change from API3 to API5 you can send a ping with a new version parameter to update your session (or send goodbye to log off and start again.)"}),"\n",(0,i.jsx)(s.p,{children:"API3 is not recommended for use outside of running old applications and it is recommended that you turn off API versions you don't use."}),"\n",(0,i.jsx)(s.h2,{id:"sending-handshake-request",children:"Sending Handshake Request"}),"\n",(0,i.jsx)(s.p,{children:"Multiple authentication methods are available, described in the next sections."}),"\n",(0,i.jsxs)(s.p,{children:[(0,i.jsx)(s.strong,{children:"NOTE"})," if you use a ",(0,i.jsx)(s.a,{href:"https://ampache.org/api/#http-header-authentication",children:"Bearer Token"})," you do not need to send a handshake request."]}),"\n",(0,i.jsx)(s.h3,{id:"user--password",children:"User / Password"}),"\n",(0,i.jsx)(s.p,{children:"The handshake is a combination of the following three things"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Encoded Passphrase"}),"\n",(0,i.jsx)(s.li,{children:"Timestamp"}),"\n",(0,i.jsx)(s.li,{children:"Username"}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["The key that must be passed to Ampache is ",(0,i.jsx)(s.code,{children:"SHA256(TIME+KEY)"})," where ",(0,i.jsx)(s.code,{children:"KEY"})," is ",(0,i.jsx)(s.code,{children:"SHA256('PASSWORD')"}),". Below is a PHP example"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-PHP",children:"$time = time();\n$key = hash('sha256', 'mypassword');\n$passphrase = hash('sha256', $time . $key);\n"})}),"\n",(0,i.jsx)(s.p,{children:"Once you've generated the encoded passphrase, you can call the following URL (localhost/ampache is the location of your Ampache installation)"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-URL",children:"http://localhost/ampache/server/xml.server.php?action=handshake&auth=PASSPHRASE&timestamp=TIME&version=6.0.0&user=USER\n"})}),"\n",(0,i.jsx)(s.h3,{id:"api-key",children:"Api Key"}),"\n",(0,i.jsx)(s.p,{children:"The key that must be passed to Ampache is the API Key generated for a specific user (none by default, only the administrator can generate one). Then call the following URL (localhost/ampache is the location of your Ampache installation):"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-URL",children:"http://localhost/ampache/server/xml.server.php?action=handshake&auth=API_KEY&version=6.0.0\n"})}),"\n",(0,i.jsxs)(s.p,{children:["If you are using Ampache 4.0.0 and higher; the key can be passed to Ampache using ",(0,i.jsx)(s.code,{children:"SHA256(USER+KEY)"})," where ",(0,i.jsx)(s.code,{children:"KEY"})," is ",(0,i.jsx)(s.code,{children:"SHA256('APIKEY')"}),". Below is a PHP example"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-PHP",children:"$user = 'username';\n$key = hash('sha256', 'myapikey');\n$passphrase = hash('sha256', $user . $key);\n"})}),"\n",(0,i.jsx)(s.h3,{id:"http-header-authentication",children:"HTTP Header Authentication"}),"\n",(0,i.jsx)(s.p,{children:"Ampache supports sending your auth parameter to the server using a Bearer Token."}),"\n",(0,i.jsxs)(s.p,{children:["The ",(0,i.jsx)(s.code,{children:"auth"})," parameter does not need to be sent with your URL. We will check your header for a token first"]}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-Text",children:"GET https://demo.ampache.dev/server/json.server.php?action=handshake&version=6.0.0 HTTP/1.1\nAuthorization: Bearer 000111112233334444455556667777788888899aaaaabbbbcccccdddeeeeeeff\n"})}),"\n",(0,i.jsx)(s.h3,{id:"other-handshake-related-stuff",children:"Other handshake-related stuff"}),"\n",(0,i.jsx)(s.h4,{id:"ampache-scheme",children:"Ampache scheme"}),"\n",(0,i.jsx)(s.p,{children:"To standardize how to transfer Ampache connection information, the following Ampache scheme is defined."}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-Text",children:"ampache://authentication@hostname[:port]/subdirectory[#parameters]\n"})}),"\n",(0,i.jsx)(s.p,{children:"for example:"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsxs)(s.li,{children:["ampache://myuser",":mypwd","@localhost/ampache"]}),"\n",(0,i.jsx)(s.li,{children:"ampache://yourapikey@localhost:993/ampache#ssl=true"}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"stream-tokens",children:"Stream Token's"}),"\n",(0,i.jsx)(s.p,{children:"Ampache6+ allows you to create a Stream Token for a user."}),"\n",(0,i.jsx)(s.p,{children:"The biggest bonus here is that these static tokens let you can create links that avoid the risk of the session expiring and don't require a handshake to create a session."}),"\n",(0,i.jsx)(s.p,{children:"Once a user has been given a streaming token; all Democratic, Song, Podcast Episode and Video streams will use this session token."}),"\n",(0,i.jsxs)(s.p,{children:["e.g. ",(0,i.jsx)(s.code,{children:"https://music.com.au/play/index.php?ssid=supercoolstreamingtoken&type=song&oid=1511&uid=1&player=api&name=The%20Smashing%20Pumpkins%20-%20Wound.flac"})]}),"\n",(0,i.jsx)(s.p,{children:"This token does not allow a user to do anything except stream music and it requires an Admin to create the token for the user."}),"\n",(0,i.jsx)(s.h4,{id:"application-name",children:"Application Name"}),"\n",(0,i.jsxs)(s.p,{children:["By default Ampache uses USER_AGENT as application name but this could also be defined through http query string. Add ",(0,i.jsx)(s.code,{children:"&client=YourAppName"})," to override the application name. This parameter also works on stream sessions."]}),"\n",(0,i.jsx)(s.h4,{id:"geolocation",children:"Geolocation"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"Latitude"}),"\n",(0,i.jsx)(s.li,{children:"Longitude"}),"\n",(0,i.jsx)(s.li,{children:"Place name"}),"\n"]}),"\n",(0,i.jsxs)(s.p,{children:["Optionally, you can also provide geolocation information ",(0,i.jsx)(s.code,{children:"&geo_latitude=$latitude&geo_longitude=$longitude"}),", with an optional place name if you already know coordinates match ",(0,i.jsx)(s.code,{children:"&geo_name=$placename"}),"."]}),"\n",(0,i.jsx)(s.h3,{id:"result",children:"Result"}),"\n",(0,i.jsx)(s.p,{children:"If your authenticated User and IP match a row in the Access List the following will be returned."}),"\n",(0,i.jsx)(s.p,{children:"For XML"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-XML",children:'<?xml version="1.0" encoding="UTF-8" ?>\n<root>\n  <auth><![CDATA[cfj3f237d563f479f5223k23189dbb34]]></auth>\n  <api><![CDATA[6.0.0]]></api>\n  <session_expire><![CDATA[2022-08-17T04:34:55+00:00]]></session_expire>\n  <update><![CDATA[2021-07-21T02:51:36+00:00]]></update>\n  <add><![CDATA[2021-08-03T00:04:14+00:00]]></add>\n  <clean><![CDATA[2021-08-03T00:05:54+00:00]]></clean>\n  <songs><![CDATA[75]]></songs>\n  <albums><![CDATA[9]]></albums>\n  <artists><![CDATA[17]]></artists>\n  <genres><![CDATA[7]]></genres>\n  <playlists><![CDATA[2]]></playlists>\n  <searches><![CDATA[17]]></searches>\n  <playlists_searches><![CDATA[19]]></playlists_searches>\n  <users><![CDATA[4]]></users>\n  <catalogs><![CDATA[4]]></catalogs>\n  <videos><![CDATA[2]]></videos>\n  <podcasts><![CDATA[2]]></podcasts>\n  <podcast_episodes><![CDATA[13]]></podcast_episodes>\n  <shares><![CDATA[2]]></shares>\n  <licenses><![CDATA[14]]></licenses>\n  <live_streams><![CDATA[3]]></live_streams>\n  <labels><![CDATA[3]]></labels>\n</root>\n'})}),"\n",(0,i.jsx)(s.p,{children:"For JSON"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-JSON",children:'{\n    "auth": "cfj3f237d563f479f5223k23189dbb34",\n    "api": "6.0.0",\n    "session_expire": "2022-08-17T06:21:00+00:00",\n    "update": "2021-07-21T02:51:36+00:00",\n    "add": "2021-08-03T00:04:14+00:00",\n    "clean": "2021-08-03T00:05:54+00:00",\n    "songs": 75,\n    "albums": 9,\n    "artists": 17,\n    "genres": 7,\n    "playlists": 2,\n    "searches": 17,\n    "playlists_searches": 19,\n    "users": 4,\n    "catalogs": 4,\n    "videos": 2,\n    "podcasts": 2,\n    "podcast_episodes": 13,\n    "shares": 2,\n    "licenses": 14,\n    "live_streams": 3,\n    "labels": 3\n}\n'})}),"\n",(0,i.jsxs)(s.p,{children:["All future interactions with the Ampache API must include the ",(0,i.jsx)(s.code,{children:"AUTHENTICATION_TOKEN"})," as a ",(0,i.jsx)(s.code,{children:"GET"})," variable named ",(0,i.jsx)(s.code,{children:"auth"}),"."]}),"\n",(0,i.jsx)(s.h2,{id:"methods",children:"Methods"}),"\n",(0,i.jsxs)(s.p,{children:["All methods must be passed as ",(0,i.jsx)(s.code,{children:"action=METHODNAME"}),". All ",(0,i.jsx)(s.a,{href:"https://ampache.org/api/#data-methods",children:"data methods"})," can take an optional ",(0,i.jsx)(s.code,{children:"offset=XXX"})," and ",(0,i.jsx)(s.code,{children:"limit=XXX"}),". The limit determines the maximum number of results returned. The offset will tell Ampache where to start in the result set. For example if there are 100 total results and you set the offset to 50, and the limit to 50 Ampache will return results between 50 and 100. The default limit is 5000. The default offset is 0."]}),"\n",(0,i.jsxs)(s.p,{children:["You can also pass it ",(0,i.jsx)(s.code,{children:"limit=none"})," to overcome the ",(0,i.jsx)(s.code,{children:"limit"})," limitation and return ",(0,i.jsx)(s.strong,{children:"all"})," the matching elements."]}),"\n",(0,i.jsx)(s.p,{children:"For more in depth information regarding the different api servers you can view the following documentation pages."}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-xml-methods",children:"XML Documentation"})}),"\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-json-methods",children:"JSON Documentation"})}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"auth-methods",children:"Auth Methods"}),"\n",(0,i.jsx)(s.p,{children:"All Auth methods return HTTP 200 responses"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"handshake"}),"\n",(0,i.jsx)(s.li,{children:"goodbye"}),"\n",(0,i.jsx)(s.li,{children:"ping"}),"\n",(0,i.jsx)(s.li,{children:"register"}),"\n",(0,i.jsxs)(s.li,{children:["lost_password ",(0,i.jsx)(s.strong,{children:"Ampache 6.1.0+"})]}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"non-data-methods",children:"Non-Data Methods"}),"\n",(0,i.jsx)(s.p,{children:"All Non-Data methods return HTTP 200 responses"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"bookmarks"}),"\n",(0,i.jsx)(s.li,{children:"system_update"}),"\n",(0,i.jsx)(s.li,{children:"users"}),"\n",(0,i.jsx)(s.li,{children:"user_preferences"}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"data-methods",children:"Data Methods"}),"\n",(0,i.jsx)(s.p,{children:"All Data methods return HTTP 200 responses"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-advanced-search",children:"advanced_search"})}),"\n",(0,i.jsx)(s.li,{children:"albums"}),"\n",(0,i.jsx)(s.li,{children:"album"}),"\n",(0,i.jsx)(s.li,{children:"album_songs"}),"\n",(0,i.jsx)(s.li,{children:"artists"}),"\n",(0,i.jsx)(s.li,{children:"artist"}),"\n",(0,i.jsx)(s.li,{children:"artist_albums"}),"\n",(0,i.jsx)(s.li,{children:"artist_songs"}),"\n",(0,i.jsxs)(s.li,{children:["bookmark ",(0,i.jsx)(s.strong,{children:"Ampache 6.1.0+"})]}),"\n",(0,i.jsx)(s.li,{children:"bookmark_create"}),"\n",(0,i.jsx)(s.li,{children:"bookmark_delete"}),"\n",(0,i.jsx)(s.li,{children:"bookmark_edit"}),"\n",(0,i.jsx)(s.li,{children:"browse"}),"\n",(0,i.jsx)(s.li,{children:"catalogs"}),"\n",(0,i.jsx)(s.li,{children:"catalog"}),"\n",(0,i.jsx)(s.li,{children:"catalog_action"}),"\n",(0,i.jsx)(s.li,{children:"catalog_add"}),"\n",(0,i.jsx)(s.li,{children:"catalog_delete"}),"\n",(0,i.jsx)(s.li,{children:"catalog_file"}),"\n",(0,i.jsx)(s.li,{children:"catalog_folder"}),"\n",(0,i.jsx)(s.li,{children:"deleted_podcast_episodes"}),"\n",(0,i.jsx)(s.li,{children:"deleted_songs"}),"\n",(0,i.jsx)(s.li,{children:"deleted_videos"}),"\n",(0,i.jsx)(s.li,{children:"flag"}),"\n",(0,i.jsx)(s.li,{children:"followers"}),"\n",(0,i.jsx)(s.li,{children:"following"}),"\n",(0,i.jsx)(s.li,{children:"friends_timeline"}),"\n",(0,i.jsx)(s.li,{children:"genres"}),"\n",(0,i.jsx)(s.li,{children:"genre"}),"\n",(0,i.jsx)(s.li,{children:"genre_albums"}),"\n",(0,i.jsx)(s.li,{children:"genre_artists"}),"\n",(0,i.jsx)(s.li,{children:"genre_songs"}),"\n",(0,i.jsx)(s.li,{children:"get_bookmark"}),"\n",(0,i.jsx)(s.li,{children:"get_indexes"}),"\n",(0,i.jsx)(s.li,{children:"get_similar"}),"\n",(0,i.jsxs)(s.li,{children:["index ",(0,i.jsx)(s.strong,{children:"Ampache 6.3.0+"})]}),"\n",(0,i.jsx)(s.li,{children:"labels"}),"\n",(0,i.jsx)(s.li,{children:"label"}),"\n",(0,i.jsx)(s.li,{children:"label_artists"}),"\n",(0,i.jsx)(s.li,{children:"last_shouts"}),"\n",(0,i.jsx)(s.li,{children:"licenses"}),"\n",(0,i.jsx)(s.li,{children:"license"}),"\n",(0,i.jsx)(s.li,{children:"license_songs"}),"\n",(0,i.jsx)(s.li,{children:"list (Replaces get_indexes)"}),"\n",(0,i.jsx)(s.li,{children:"live_streams"}),"\n",(0,i.jsx)(s.li,{children:"live_stream"}),"\n",(0,i.jsx)(s.li,{children:"live_stream_create"}),"\n",(0,i.jsx)(s.li,{children:"live_stream_delete"}),"\n",(0,i.jsx)(s.li,{children:"live_stream_edit"}),"\n",(0,i.jsxs)(s.li,{children:["now_playing ",(0,i.jsx)(s.strong,{children:"Ampache 6.3.1+"})]}),"\n",(0,i.jsxs)(s.li,{children:["player ",(0,i.jsx)(s.strong,{children:"Ampache 6.4.0+"})]}),"\n",(0,i.jsx)(s.li,{children:"playlists"}),"\n",(0,i.jsx)(s.li,{children:"playlist"}),"\n",(0,i.jsxs)(s.li,{children:["playlist_add ",(0,i.jsx)(s.strong,{children:"Ampache 6.3.0+"})]}),"\n",(0,i.jsx)(s.li,{children:"playlist_add_song"}),"\n",(0,i.jsx)(s.li,{children:"playlist_create"}),"\n",(0,i.jsx)(s.li,{children:"playlist_delete"}),"\n",(0,i.jsx)(s.li,{children:"playlist_edit"}),"\n",(0,i.jsx)(s.li,{children:"playlist_generate"}),"\n",(0,i.jsxs)(s.li,{children:["playlist_hash ",(0,i.jsx)(s.strong,{children:"Ampache 6.6.0+"})]}),"\n",(0,i.jsx)(s.li,{children:"playlist_remove_song"}),"\n",(0,i.jsx)(s.li,{children:"playlist_songs"}),"\n",(0,i.jsx)(s.li,{children:"podcasts"}),"\n",(0,i.jsx)(s.li,{children:"podcast"}),"\n",(0,i.jsx)(s.li,{children:"podcast_create"}),"\n",(0,i.jsx)(s.li,{children:"podcast_delete"}),"\n",(0,i.jsx)(s.li,{children:"podcast_edit"}),"\n",(0,i.jsx)(s.li,{children:"podcast_episodes"}),"\n",(0,i.jsx)(s.li,{children:"podcast_episode"}),"\n",(0,i.jsx)(s.li,{children:"podcast_episode_delete"}),"\n",(0,i.jsx)(s.li,{children:"preference_create"}),"\n",(0,i.jsx)(s.li,{children:"preference_delete"}),"\n",(0,i.jsx)(s.li,{children:"preference_edit"}),"\n",(0,i.jsx)(s.li,{children:"rate"}),"\n",(0,i.jsx)(s.li,{children:"record_play"}),"\n",(0,i.jsx)(s.li,{children:"scrobble"}),"\n",(0,i.jsxs)(s.li,{children:["search_group ",(0,i.jsx)(s.strong,{children:"Ampache 6.3.0+"})]}),"\n",(0,i.jsxs)(s.li,{children:["search  ",(0,i.jsx)(s.strong,{children:"Ampache 6.3.0+"})," (alias for ",(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-advanced-search",children:"advanced_search"}),")"]}),"\n",(0,i.jsx)(s.li,{children:"search_songs"}),"\n",(0,i.jsx)(s.li,{children:"shares"}),"\n",(0,i.jsx)(s.li,{children:"share"}),"\n",(0,i.jsx)(s.li,{children:"share_create"}),"\n",(0,i.jsx)(s.li,{children:"share_delete"}),"\n",(0,i.jsx)(s.li,{children:"share_edit"}),"\n",(0,i.jsx)(s.li,{children:"songs"}),"\n",(0,i.jsx)(s.li,{children:"song"}),"\n",(0,i.jsx)(s.li,{children:"song_delete"}),"\n",(0,i.jsx)(s.li,{children:"stats"}),"\n",(0,i.jsx)(s.li,{children:"system_preference"}),"\n",(0,i.jsx)(s.li,{children:"system_preferences"}),"\n",(0,i.jsx)(s.li,{children:"timeline"}),"\n",(0,i.jsx)(s.li,{children:"toggle_follow"}),"\n",(0,i.jsx)(s.li,{children:"update_art"}),"\n",(0,i.jsx)(s.li,{children:"update_artist_info"}),"\n",(0,i.jsx)(s.li,{children:"update_from_tags"}),"\n",(0,i.jsx)(s.li,{children:"update_podcast"}),"\n",(0,i.jsx)(s.li,{children:"url_to_song"}),"\n",(0,i.jsx)(s.li,{children:"user"}),"\n",(0,i.jsx)(s.li,{children:"user_create"}),"\n",(0,i.jsx)(s.li,{children:"user_delete"}),"\n",(0,i.jsx)(s.li,{children:"user_edit (Replaces user_update)"}),"\n",(0,i.jsxs)(s.li,{children:["user_playlists ",(0,i.jsx)(s.strong,{children:"Ampache 6.3.0+"})]}),"\n",(0,i.jsx)(s.li,{children:"user_preference"}),"\n",(0,i.jsxs)(s.li,{children:["user_smartlists ",(0,i.jsx)(s.strong,{children:"Ampache 6.3.0+"})]}),"\n",(0,i.jsx)(s.li,{children:"user_update"}),"\n",(0,i.jsx)(s.li,{children:"videos"}),"\n",(0,i.jsx)(s.li,{children:"video"}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"binary-data-methods",children:"Binary Data Methods"}),"\n",(0,i.jsx)(s.p,{children:"All binary methods will not return XML/JSON responses. they will either return the requested file/data or an HTTP error code."}),"\n",(0,i.jsxs)(s.p,{children:["For information about about how playback works and what a client can expect from Ampache check out ",(0,i.jsx)(s.a,{href:"https://ampache.org/api/api-media-methods",children:"API Media Methods"})]}),"\n",(0,i.jsx)(s.p,{children:"@return (HTTP 200 OK)"}),"\n",(0,i.jsx)(s.p,{children:"@throws (HTTP 400 Bad Request)"}),"\n",(0,i.jsx)(s.p,{children:"@throws (HTTP 404 Not Found)"}),"\n",(0,i.jsx)(s.p,{children:"@throws (HTTP 416 Range Not Satisfiable)"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"download"}),"\n",(0,i.jsx)(s.li,{children:"get_art"}),"\n",(0,i.jsx)(s.li,{children:"stream"}),"\n"]}),"\n",(0,i.jsx)(s.h3,{id:"control-methods",children:"Control Methods"}),"\n",(0,i.jsx)(s.p,{children:"All Control methods return HTTP 200 responses"}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"democratic"}),"\n",(0,i.jsx)(s.li,{children:"localplay"}),"\n",(0,i.jsx)(s.li,{children:"localplay_songs"}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"access-levels",children:"Access Levels"}),"\n",(0,i.jsx)(s.p,{children:"Some methods have a user access level requirement. Access goes from 0-100 and is split into the following types."}),"\n",(0,i.jsxs)(s.ul,{children:["\n",(0,i.jsx)(s.li,{children:"5: Guest"}),"\n",(0,i.jsx)(s.li,{children:"25: User"}),"\n",(0,i.jsx)(s.li,{children:"50: Content Manager"}),"\n",(0,i.jsx)(s.li,{children:"75: Catalog Manager"}),"\n",(0,i.jsx)(s.li,{children:"100: Admin"}),"\n"]}),"\n",(0,i.jsx)(s.h2,{id:"request-url-examples",children:"Request URL Examples"}),"\n",(0,i.jsx)(s.p,{children:"For the purpose of this example the Ampache host is 'localhost' and the path to Ampache is /ampache"}),"\n",(0,i.jsx)(s.h3,{id:"requesting-all-genres-whose-name-starts-with-rock",children:"Requesting all genres whose name starts with Rock"}),"\n",(0,i.jsx)(s.p,{children:"XML"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-URL",children:"http://localhost/ampache/server/xml.server.php?action=tags&auth=1234567890123456789012345678901&filter=Rock\n"})}),"\n",(0,i.jsx)(s.p,{children:"JSON"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-URL",children:"http://localhost/ampache/server/json.server.php?action=tags&auth=1234567890123456789012345678901&filter=Rock\n"})}),"\n",(0,i.jsx)(s.h3,{id:"requesting-all-song-titles-with-an-offset-of-5000",children:"Requesting all song titles, with an offset of 5000"}),"\n",(0,i.jsx)(s.p,{children:"XML"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-URL",children:"http://localhost/ampache/server/xml.server.php?action=songs&auth=12345678901234567890123456789012&offset=5000\n"})}),"\n",(0,i.jsx)(s.p,{children:"JSON"}),"\n",(0,i.jsx)(s.pre,{children:(0,i.jsx)(s.code,{className:"language-URL",children:"http://localhost/ampache/server/json.server.php?action=songs&auth=12345678901234567890123456789012&offset=5000\n"})})]})}function c(e={}){const{wrapper:s}={...(0,l.RP)(),...e.components};return s?(0,i.jsx)(s,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},8453:(e,s,n)=>{n.d(s,{RP:()=>a,xA:()=>t});var i=n(6540);const l=i.createContext({});function a(e){const s=i.useContext(l);return i.useMemo((()=>"function"==typeof e?e(s):{...s,...e}),[s,e])}const r={};function t({components:e,children:s,disableParentContext:n}){let t;return t=n?"function"==typeof e?e({}):e||r:a(e),i.createElement(l.Provider,{value:t},s)}}}]);
\ No newline at end of file
diff --git a/api/assets/js/d263a616.910eac38.js b/api/assets/js/d263a616.910eac38.js
new file mode 100644
index 00000000..c59cab4a
--- /dev/null
+++ b/api/assets/js/d263a616.910eac38.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkampache_org_api=self.webpackChunkampache_org_api||[]).push([[2600],{3246:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>o,frontMatter:()=>d,metadata:()=>a,toc:()=>t});var s=i(4848),l=i(8453);const d={title:"API Changelog",metaTitle:"API Changelog",description:"API Changelog"},r=void 0,a={id:"api-changelog",title:"API Changelog",description:"API Changelog",source:"@site/docs/api-changelog.md",sourceDirName:".",slug:"/api-changelog",permalink:"/api/api-changelog",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{title:"API Changelog",metaTitle:"API Changelog",description:"API Changelog"},sidebar:"api",previous:{title:"API Examples",permalink:"/api/api-examples"},next:{title:"Access Control Lists",permalink:"/api/api-acls"}},c={},t=[{value:"API 6.6.4",id:"api-664",level:2},{value:"Added",id:"added",level:3},{value:"Changed",id:"changed",level:3},{value:"API 6.6.3",id:"api-663",level:2},{value:"API 6.6.2",id:"api-662",level:2},{value:"Added",id:"added-1",level:3},{value:"Fixed",id:"fixed",level:3},{value:"API 6.6.1",id:"api-661",level:2},{value:"Added",id:"added-2",level:3},{value:"Changed",id:"changed-1",level:3},{value:"API 6.6.0",id:"api-660",level:2},{value:"Added",id:"added-3",level:3},{value:"Changed",id:"changed-2",level:3},{value:"Fixed",id:"fixed-1",level:3},{value:"API 6.4.0",id:"api-640",level:2},{value:"Added",id:"added-4",level:3},{value:"Changed",id:"changed-3",level:3},{value:"Fixed",id:"fixed-2",level:3},{value:"API 6.3.1",id:"api-631",level:2},{value:"Added",id:"added-5",level:3},{value:"API 6.3.0",id:"api-630",level:2},{value:"Added",id:"added-6",level:3},{value:"Changed",id:"changed-4",level:3},{value:"Fixed",id:"fixed-3",level:3},{value:"API 6.2.0",id:"api-620",level:2},{value:"Added",id:"added-7",level:3},{value:"Changed",id:"changed-5",level:3},{value:"Fixed",id:"fixed-4",level:3},{value:"API 6.1.0",id:"api-610",level:2},{value:"Added",id:"added-8",level:3},{value:"Changed",id:"changed-6",level:3},{value:"Fixed",id:"fixed-5",level:3},{value:"API 6.0.3",id:"api-603",level:2},{value:"Added",id:"added-9",level:3},{value:"Fixed",id:"fixed-6",level:3},{value:"API 6.0.2",id:"api-602",level:2},{value:"API 6.0.1",id:"api-601",level:2},{value:"Changed",id:"changed-7",level:3},{value:"Fixed",id:"fixed-7",level:3},{value:"API 6.0.0",id:"api-600",level:2},{value:"Added",id:"added-10",level:3},{value:"Changed",id:"changed-8",level:3},{value:"Removed",id:"removed",level:3},{value:"Fixed",id:"fixed-8",level:3},{value:"API 5.6.4",id:"api-564",level:2},{value:"Fixed",id:"fixed-9",level:3},{value:"API 5.6.3",id:"api-563",level:2},{value:"Added",id:"added-11",level:3},{value:"Fixed",id:"fixed-10",level:3},{value:"API 5.6.2",id:"api-562",level:2},{value:"Fixed",id:"fixed-11",level:3},{value:"API 5.6.1",id:"api-561",level:2},{value:"API 5.6.0",id:"api-560",level:2},{value:"Fixed",id:"fixed-12",level:3},{value:"API 5.5.6",id:"api-556",level:2},{value:"Changed",id:"changed-9",level:3},{value:"Fixed",id:"fixed-13",level:3},{value:"API 5.5.4",id:"api-554",level:2},{value:"Fixed",id:"fixed-14",level:3},{value:"API 5.5.3",id:"api-553",level:2},{value:"API 5.5.2",id:"api-552",level:2},{value:"Added",id:"added-12",level:3},{value:"Fixed",id:"fixed-15",level:3},{value:"API 5.5.1",id:"api-551",level:2},{value:"API 5.5.0",id:"api-550",level:2},{value:"Added",id:"added-13",level:3},{value:"Fixed",id:"fixed-16",level:3},{value:"API  5.4.1",id:"api--541",level:2},{value:"Added",id:"added-14",level:3},{value:"API 5.4.0",id:"api-540",level:2},{value:"Added",id:"added-15",level:3},{value:"API 5.3.3",id:"api-533",level:2},{value:"Added",id:"added-16",level:3},{value:"API 5.3.2",id:"api-532",level:2},{value:"API 5.3.1",id:"api-531",level:2},{value:"API 5.3.0",id:"api-530",level:2},{value:"Added",id:"added-17",level:3},{value:"API 5.2.1",id:"api-521",level:2},{value:"Changed",id:"changed-10",level:3},{value:"Fixed",id:"fixed-17",level:3},{value:"API 5.2.0",id:"api-520",level:2},{value:"Added",id:"added-18",level:3},{value:"API 5.1.1",id:"api-511",level:2},{value:"Fixed",id:"fixed-18",level:3},{value:"API 5.1.0",id:"api-510",level:2},{value:"Added",id:"added-19",level:3},{value:"Changed",id:"changed-11",level:3},{value:"Fixed",id:"fixed-19",level:3},{value:"API 5.0.0",id:"api-500",level:2},{value:"Added",id:"added-20",level:3},{value:"Changed",id:"changed-12",level:3},{value:"Fixed",id:"fixed-20",level:3},{value:"API 4.4.2",id:"api-442",level:2},{value:"Fixed",id:"fixed-21",level:3},{value:"API 4.4.1",id:"api-441",level:2},{value:"Fixed",id:"fixed-22",level:3},{value:"API 4.4.0",id:"api-440",level:2},{value:"Added",id:"added-21",level:3},{value:"Changed",id:"changed-13",level:3},{value:"Fixed",id:"fixed-23",level:3},{value:"Deprecated",id:"deprecated",level:3},{value:"API 4.3.0",id:"api-430",level:2},{value:"Changed",id:"changed-14",level:3},{value:"API 4.2.6",id:"api-426",level:2},{value:"API 4.2.5",id:"api-425",level:2},{value:"API 4.2.4",id:"api-424",level:2},{value:"API 4.2.3",id:"api-423",level:2},{value:"API 4.2.2",id:"api-422",level:2},{value:"Added",id:"added-22",level:3},{value:"Changed",id:"changed-15",level:3},{value:"Deprecated",id:"deprecated-1",level:3},{value:"Fixed",id:"fixed-24",level:3},{value:"API 4.2.1",id:"api-421",level:2},{value:"Fixed",id:"fixed-25",level:3},{value:"API 4.2.0",id:"api-420",level:2},{value:"Added",id:"added-23",level:3},{value:"Changed",id:"changed-16",level:3},{value:"Deprecated",id:"deprecated-2",level:3},{value:"Fixed",id:"fixed-26",level:3},{value:"API 4.0.0 build 004",id:"api-400-build-004",level:2},{value:"Added",id:"added-24",level:3},{value:"Fixed",id:"fixed-27",level:3},{value:"API 4.0.0 build 003",id:"api-400-build-003",level:2},{value:"Added",id:"added-25",level:3},{value:"Changed",id:"changed-17",level:3},{value:"Removed",id:"removed-1",level:3},{value:"Fixed",id:"fixed-28",level:3},{value:"API 4.0.0 build 001",id:"api-400-build-001",level:2},{value:"Added",id:"added-26",level:3},{value:"Changed",id:"changed-18",level:3}];function h(e){const n={a:"a",code:"code",del:"del",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,l.RP)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"api-664",children:"API 6.6.4"}),"\n",(0,s.jsx)(n.p,{children:"Merge update from Ampache7."}),"\n",(0,s.jsx)(n.p,{children:"This update has counting updates to allow faster responses on larger results"}),"\n",(0,s.jsx)(n.h3,{id:"added",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Use set_count function on data classes to speed up counting response totals"}),"\n",(0,s.jsxs)(n.li,{children:["Validate ",(0,s.jsx)(n.code,{children:"website"})," for ",(0,s.jsx)(n.code,{children:"user_edit"})]}),"\n",(0,s.jsxs)(n.li,{children:["Use split search for search methods","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"advanced_search / search"}),"\n",(0,s.jsx)(n.li,{children:"search_songs"}),"\n",(0,s.jsx)(n.li,{children:"user_update"}),"\n",(0,s.jsx)(n.li,{children:"playlist_generate"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Use split search for search methods","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"advanced_search"}),"\n",(0,s.jsx)(n.li,{children:"search_songs"}),"\n",(0,s.jsx)(n.li,{children:"user_update"}),"\n",(0,s.jsx)(n.li,{children:"playlist_generate"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API4","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Use split search for search methods","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"advanced_search"}),"\n",(0,s.jsx)(n.li,{children:"search_songs"}),"\n",(0,s.jsx)(n.li,{children:"user_update"}),"\n",(0,s.jsx)(n.li,{children:"playlist_generate"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API3","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Use split search for search methods","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"advanced_search"}),"\n",(0,s.jsx)(n.li,{children:"search_songs"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Rename API-CHANGELOG.md => CHANGELOG-API.md"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-663",children:"API 6.6.3"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-662",children:"API 6.6.2"}),"\n",(0,s.jsx)(n.h3,{id:"added-1",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"stats"})," parameter to stream and download methods (If false disable stat recording when playing the object)"]}),"\n",(0,s.jsxs)(n.li,{children:["Respect ",(0,s.jsx)(n.code,{children:"api_always_download"})," in stream and download methods"]}),"\n",(0,s.jsx)(n.li,{children:"Add sorting to stats calls"}),"\n",(0,s.jsxs)(n.li,{children:["add ",(0,s.jsx)(n.code,{children:"user"})," object to playlist responses (owner of the playlist)"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"index: Artist index not showing albums"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-661",children:"API 6.6.1"}),"\n",(0,s.jsx)(n.p,{children:"This release keeps parity between Ampache7 releases by backporting the updated code."}),"\n",(0,s.jsx)(n.h3,{id:"added-2",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add maximum ID properties to ",(0,s.jsx)(n.code,{children:"handshake"})," and ",(0,s.jsx)(n.code,{children:"ping"})," (with auth) responses for media types","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"max_song"}),", ",(0,s.jsx)(n.code,{children:"max_album"}),", ",(0,s.jsx)(n.code,{children:"max_artist"}),", ",(0,s.jsx)(n.code,{children:"max_video"}),", ",(0,s.jsx)(n.code,{children:"max_podcast"}),", ",(0,s.jsx)(n.code,{children:"max_podcast_episode"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["flag: add ",(0,s.jsx)(n.code,{children:"date"})," as a parameter (set the time for your flag)"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-1",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"lost_password: deny access in simple_user_mode"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-660",children:"API 6.6.0"}),"\n",(0,s.jsxs)(n.p,{children:["Like with ",(0,s.jsx)(n.code,{children:"total_count"}),", we've added an md5sum of the results (called ",(0,s.jsx)(n.code,{children:"md5"}),") in responses"]}),"\n",(0,s.jsx)(n.p,{children:"This is useful for recording whether you need to update or change results."}),"\n",(0,s.jsx)(n.p,{children:"Inconsistency with the return of object arrays and single items have been fixed and docs updated."}),"\n",(0,s.jsx)(n.h3,{id:"added-3",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Track user IP on handshake and ping calls"}),"\n",(0,s.jsx)(n.li,{children:"playlist_edit: separate error when the playlist doesn't exist"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"New Method: playlist_hash (Get the MD5 hash of the playlist without getting the whole object)"}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"md5"})," to responses. (Hash objects in the response before slicing and limiting)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"md5"})," property to playlist objects. (Hash of song objects in the response)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"username"})," property to handshake and ping (with auth) responses to workaround missing usernames in token auth"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"has_access"})," property to playlist objects. (Can edit the playlist if true)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"has_collaborate"})," property to playlist objects. (Can add and remove songs to the playlist if true)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"last_update"})," property to playlist objects. (Time a playlist changed. Smartplaylists do not change based on returned songs)"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-2",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"playlist_edit: Add songs if you're a collaborator and ignore edit parameters if you fail has_access check"}),"\n",(0,s.jsx)(n.li,{children:"catalog_add: Do not return an object. (We return a single item)"}),"\n",(0,s.jsx)(n.li,{children:"bookmark_create: Do not return an object. (We return a single item)"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-1",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"User preferences were not initiated and the server preferences would overwrite differences"}),"\n",(0,s.jsx)(n.li,{children:"Api::set_user_id function sending an int instead of a user"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"JSON: Send empty array for missing single item methods"}),"\n",(0,s.jsx)(n.li,{children:"lost_password: function name incorrect"}),"\n",(0,s.jsx)(n.li,{children:"flag: id smartplaylists correctly"}),"\n",(0,s.jsx)(n.li,{children:"rate: id smartplaylists correctly"}),"\n",(0,s.jsx)(n.li,{children:"albums: Browse user may not be set"}),"\n",(0,s.jsx)(n.li,{children:"podcast_episodes: Browse user may not be set"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-640",children:"API 6.4.0"}),"\n",(0,s.jsx)(n.h3,{id:"added-4",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Downgrade any API7 calls to API6 ",(0,s.jsx)(n.a,{href:"https://github.com/ampache/ampache/wiki/ampache7-for-admins#there-is-no-api7-only-api6-and-5-4-and-3-too",children:"wiki"})]}),"\n",(0,s.jsxs)(n.li,{children:["New Method: player (Inform the server about the state of your client player)","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Returns ",(0,s.jsx)(n.code,{children:"now_playing"})," state on completion"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["download: add ",(0,s.jsx)(n.code,{children:"bitrate"})," parameter"]}),"\n",(0,s.jsxs)(n.li,{children:["playlists: add ",(0,s.jsx)(n.code,{children:"include"})," parameter (",(0,s.jsx)(n.strong,{children:"note"})," this can be massive and slow when searches are included)"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-3",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Do not translate API ",(0,s.jsx)(n.code,{children:"errorMessage"})," strings ",(0,s.jsx)(n.a,{href:"https://ampache.org/api/api-errors",children:"ampache.org"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-2",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Download method format parameter didn't have a fallback value"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API4","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"playlist: error check for missing/deleted playlists"}),"\n",(0,s.jsx)(n.li,{children:"playlist_songs: error check for missing/deleted playlists"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Playlists objects would not return duplicates items if allowed"}),"\n",(0,s.jsx)(n.li,{children:"has_art property missing from songs and albums"}),"\n",(0,s.jsx)(n.li,{children:"playlist_add: couldn't add a single item"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-631",children:"API 6.3.1"}),"\n",(0,s.jsx)(n.h3,{id:"added-5",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"New Method: now_playing (Get what is currently being played by all users.)"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-630",children:"API 6.3.0"}),"\n",(0,s.jsx)(n.h3,{id:"added-6",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"New Method: search_group (return multiple object types from a single set of search rules)"}),"\n",(0,s.jsx)(n.li,{children:"New Method: search (alias for advanced_search)"}),"\n",(0,s.jsx)(n.li,{children:"New Method: user_playlists (return user playlists and does not include smartlists)"}),"\n",(0,s.jsx)(n.li,{children:"New Method: user_smartlists (return user smartlists (searches) and does not include playlists)"}),"\n",(0,s.jsx)(n.li,{children:"New Method: playlist_add (add songs to a playlist, allowing different song parent types)"}),"\n",(0,s.jsx)(n.li,{children:"New Method: index (replaces get_indexes with a simpler list of id's. children can be included)"}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"has_art"})," parameter to any object with an ",(0,s.jsx)(n.code,{children:"art"})," url"]}),"\n",(0,s.jsx)(n.li,{children:"Add avatar url to user objects"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-4",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["playlist_add_song: depreciated and will be removed in ",(0,s.jsx)(n.strong,{children:"API7"})," (Use playlist_add)"]}),"\n",(0,s.jsx)(n.li,{children:"share_create: add more valid types ('playlist', 'podcast', 'podcast_episode', 'video')"}),"\n",(0,s.jsx)(n.li,{children:"user: make username optional"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-3",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Userflag wasn't sending bool when cached in the database"}),"\n",(0,s.jsx)(n.li,{children:"Admin would always get everyones playlists when filtering"}),"\n",(0,s.jsx)(n.li,{children:"Stream methods would not send the bitrate correctly"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API4","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"playlists method not respecting like for smartlists"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"playlists method not respecting like for smartlists"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"playlists method not respecting like for smartlists"}),"\n",(0,s.jsxs)(n.li,{children:["playlist_edit method will decode html ",(0,s.jsx)(n.code,{children:","})," separators"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-620",children:"API 6.2.0"}),"\n",(0,s.jsx)(n.h3,{id:"added-7",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"API: Allow non-expiring user sessions when using a header token"}),"\n",(0,s.jsx)(n.li,{children:"Allow endless api sessions. (You should start using http header auth to hide these)"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-5",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Set default API version to 6 (was 5)"}),"\n",(0,s.jsxs)(n.li,{children:["Allow raising and lowering response version on ping to ",(0,s.jsx)(n.strong,{children:"any"})," version"]}),"\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Return error on handshake version failure"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-4",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"UrlToSong couldn't handle encoded urls"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API3","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Video data would get an incorrect stream url"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"bookmark_create: type is mandatory"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"bookmark_create: type is mandatory"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-610",children:"API 6.1.0"}),"\n",(0,s.jsx)(n.p,{children:"Two new methods have been added"}),"\n",(0,s.jsx)(n.p,{children:"The bookmark methods have had a bit of a rework as they were not very useful"}),"\n",(0,s.jsx)(n.p,{children:"Finally the issues with setting your auth token in the http header have been fixed"}),"\n",(0,s.jsx)(n.h3,{id:"added-8",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"New Method: bookmark (Get single bookmark by bookmark_id)"}),"\n",(0,s.jsx)(n.li,{children:"New Method: lost_password (Allows a non-admin user to reset their password)"}),"\n",(0,s.jsxs)(n.li,{children:["bookmark_create: Add ",(0,s.jsx)(n.code,{children:"include"})," parameter (if true include the object in the bookmark)"]}),"\n",(0,s.jsxs)(n.li,{children:["bookmark_edit: Add ",(0,s.jsx)(n.code,{children:"include"})," parameter (if true include the object in the bookmark)"]}),"\n",(0,s.jsxs)(n.li,{children:["get_bookmark","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"include"})," parameter (if true include the object in the bookmark)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"all"})," parameter (if true include every bookmark for the object)"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["bookmarks","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add parameter ",(0,s.jsx)(n.code,{children:"client"})," to filter by specific groups of bookmarks"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"include"})," parameter (if true include the object in the bookmark)"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-6",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"bookmark_edit: show error on missing bookmark instead of empty object"}),"\n",(0,s.jsx)(n.li,{children:"bookmark_delete: show error on missing bookmark instead of empty object"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["get_bookmark","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["add bookmark as a valid ",(0,s.jsx)(n.code,{children:"object_type"})]}),"\n",(0,s.jsx)(n.li,{children:"Don't return single JSON bookmarks as an object"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["bookmark_create: Remove ",(0,s.jsx)(n.code,{children:"client"})," parameter default value ('AmpacheAPI')"]}),"\n",(0,s.jsxs)(n.li,{children:["bookmark_edit","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Remove ",(0,s.jsx)(n.code,{children:"client"})," parameter default value ('AmpacheAPI')"]}),"\n",(0,s.jsx)(n.li,{children:"show error on missing bookmark instead of empty object"}),"\n",(0,s.jsxs)(n.li,{children:["add bookmark as a valid ",(0,s.jsx)(n.code,{children:"object_type"})]}),"\n",(0,s.jsx)(n.li,{children:"Don't return single JSON bookmarks as an object"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["bookmark_delete","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Remove ",(0,s.jsx)(n.code,{children:"client"})," parameter default value ('AmpacheAPI')"]}),"\n",(0,s.jsx)(n.li,{children:"show error on missing bookmark instead of empty object"}),"\n",(0,s.jsxs)(n.li,{children:["add bookmark as a valid ",(0,s.jsx)(n.code,{children:"object_type"})]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-5",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"handshake: auth failure with header token"}),"\n",(0,s.jsxs)(n.li,{children:["playlist_generate: Don't error when optional ",(0,s.jsx)(n.code,{children:"mode"})," and ",(0,s.jsx)(n.code,{children:"format"})," are not set"]}),"\n",(0,s.jsx)(n.li,{children:"advanced_search: runtime error on empty data type"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API4","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fix lots of Runtime Error's on missing optional data"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fix lots of Runtime Error's on missing optional data"}),"\n",(0,s.jsxs)(n.li,{children:["genre_artists, genre_albums, genre_songs: Parameter ",(0,s.jsx)(n.code,{children:"filter"})," runtime errors"]}),"\n",(0,s.jsxs)(n.li,{children:["bookmark_edit","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Missing user id in data array"}),"\n",(0,s.jsx)(n.li,{children:"Not able to edit all bookmarks"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fix lots of Runtime Error's on missing optional data"}),"\n",(0,s.jsx)(n.li,{children:"catalog_folder didn't get the group of items correctly"}),"\n",(0,s.jsxs)(n.li,{children:["genre_artists, genre_albums, genre_songs: Parameter ",(0,s.jsx)(n.code,{children:"filter"})," runtime errors"]}),"\n",(0,s.jsxs)(n.li,{children:["bookmark_edit","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Missing user id in data array"}),"\n",(0,s.jsx)(n.li,{children:"Not able to edit all bookmarks"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-603",children:"API 6.0.3"}),"\n",(0,s.jsx)(n.h3,{id:"added-9",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API5::playlist_songs: Add ",(0,s.jsx)(n.code,{children:"random"})," to get random objects filtered by limit"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-6",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"handshake: runtime errors with bad username"}),"\n",(0,s.jsx)(n.li,{children:"handshake: Don't error on empty data counts"}),"\n",(0,s.jsx)(n.li,{children:"ping: Don't error on empty data counts"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"list: searches were missing from playlists"}),"\n",(0,s.jsx)(n.li,{children:"browse: XML returned a list instead of a browse object"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-602",children:"API 6.0.2"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-601",children:"API 6.0.1"}),"\n",(0,s.jsx)(n.h3,{id:"changed-7",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6 XML","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"get_similar: return song objects to match json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-7",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"user_preference: returned array instead of object"}),"\n",(0,s.jsx)(n.li,{children:"system_preference: returned array instead of object"}),"\n",(0,s.jsx)(n.li,{children:"preference_create: returned array instead of object"}),"\n",(0,s.jsx)(n.li,{children:"preference_edit: returned array instead of object"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-600",children:"API 6.0.0"}),"\n",(0,s.jsxs)(n.p,{children:["Stream token's will let you design permalinked streams and allow users to stream iwhtout re authenticating to the server. ",(0,s.jsx)(n.a,{href:"https://github.com/ampache/ampache/wiki/ampache6-details#allow-permalink-user-streams",children:"wiki"})]}),"\n",(0,s.jsx)(n.h3,{id:"added-10",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API5::playlist_songs: Add ",(0,s.jsx)(n.code,{children:"random"})," to get random objects filtered by limit"]}),"\n",(0,s.jsxs)(n.li,{children:["API6 (Based on API5)","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"API6::browse: List server contents in a directory-style listing (Music, Podcast and Video catalogs)"}),"\n",(0,s.jsxs)(n.li,{children:["API6::list: Replace get_indexes with a faster lookup and similar parameters returning ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"prefix"})," and ",(0,s.jsx)(n.code,{children:"basename"})]}),"\n",(0,s.jsx)(n.li,{children:"API6::catalog_add: Create a catalog (Require: 75)"}),"\n",(0,s.jsx)(n.li,{children:"API6::catalog_delete: Delete a catalog (Require: 75)"}),"\n",(0,s.jsx)(n.li,{children:"API6::live_stream_create: Create a new live stream (radio station)"}),"\n",(0,s.jsx)(n.li,{children:"API6::live_stream_edit: Edit a live stream"}),"\n",(0,s.jsx)(n.li,{children:"API6::live_stream_delete: Delete a stream by ID"}),"\n",(0,s.jsx)(n.li,{children:"API6::register: Allow users to register an account (if enabled)"}),"\n",(0,s.jsx)(n.li,{children:"API6::playlist_create: Return an error if the playlist name already exists for that user"}),"\n",(0,s.jsxs)(n.li,{children:["API6::playlist_songs: Add ",(0,s.jsx)(n.code,{children:"random"})," to get random objects filtered by limit"]}),"\n",(0,s.jsxs)(n.li,{children:["API6::user_edit (previously user_create):","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"group"})," parameter to pick a catalog filter group"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"fullname_public"})," to enable/disable using fullname in public display"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"reset_apikey"})," to reset a user Api Key"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"reset_streamtoken"})," to reset a user Stream Token"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"clear_stats"})," reset all stats for this user ",(0,s.jsx)(n.strong,{children:"be very sure about this one!"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"prefix"})," (Prefix for Full Name) to album & artist responses"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"basename"})," (Name without prefix) to album & artist responses"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"bitrate"})," to Democratic objects"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"format"})," to Song and Democratic objects"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"stream_format"}),", ",(0,s.jsx)(n.code,{children:"stream_bitrate"}),", ",(0,s.jsx)(n.code,{children:"stream_mime"})," to Song objects (This is the transcoded output for a stream)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add all mapped artists to song and album objects (JSON added an ",(0,s.jsx)(n.code,{children:"artists"})," element)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"bitrate"}),", ",(0,s.jsx)(n.code,{children:"stream_bitrate"}),", ",(0,s.jsx)(n.code,{children:"rate"}),", ",(0,s.jsx)(n.code,{children:"mode"}),", ",(0,s.jsx)(n.code,{children:"channels"})," to Podcast Episode objects"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["JSON responses","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Cast bool fields to ",(0,s.jsx)(n.code,{children:"true"})," and ",(0,s.jsx)(n.code,{children:"false"}),' instead of "1" & "0"']}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"total_count"})," to responses to give clients an idea of the total possible objects"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"song_genre"})," to album and artist searches"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"possible_duplicate_album"})," to song search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"mbid_artist"})," to album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"barcode"})," to album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"catalog_number"})," to album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"smartplaylist"})," to album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"duplicate_tracks"})," to album and song search (MIN & MAX id for song search)"]}),"\n",(0,s.jsxs)(n.li,{children:["Alias ",(0,s.jsx)(n.code,{children:"possible_duplicate_album"})," => ",(0,s.jsx)(n.code,{children:"possible_duplicate"})," for album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Alias ",(0,s.jsx)(n.code,{children:"album_genre"})," => ",(0,s.jsx)(n.code,{children:"genre"})," for album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Alias ",(0,s.jsx)(n.code,{children:"mbid_album"})," => ",(0,s.jsx)(n.code,{children:"mbid"})," for album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Alias ",(0,s.jsx)(n.code,{children:"mbid_artist"})," => ",(0,s.jsx)(n.code,{children:"mbid"})," for artist search"]}),"\n",(0,s.jsxs)(n.li,{children:["Alias ",(0,s.jsx)(n.code,{children:"song_genre"})," => ",(0,s.jsx)(n.code,{children:"genre"})," for song search"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-8",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Api6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Renamed ",(0,s.jsx)(n.code,{children:"user_update"})," to ",(0,s.jsx)(n.code,{children:"user_edit"})," (user_update still works and will be depreciated in API7)"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add backwards compatible ",(0,s.jsx)(n.code,{children:"user_edit"})," method to point to ",(0,s.jsx)(n.code,{children:"user_update"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Add all possible plugin preferences to the system list so they can't be deleted"}),"\n",(0,s.jsx)(n.li,{children:"Albums with no album_artist may now return 0 artist called 'Various'"}),"\n",(0,s.jsx)(n.li,{children:"Don't send AlbumDisk objects to the API"}),"\n",(0,s.jsx)(n.li,{children:"Send the authenticated user to all method calls"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["XML responses","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Api6 XML success and error response messages are put in a ",(0,s.jsx)(n.code,{children:"message"})," element (like json)"]}),"\n",(0,s.jsx)(n.li,{children:"For data responses id is the only attribute and everything else is an element"}),"\n",(0,s.jsx)(n.li,{children:"Name was not set as an attribute OR an element so now it's always an element"}),"\n",(0,s.jsx)(n.li,{children:"Return original XML output (that may be malformed) when loadxml fails."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api6::get_indexes: This method is depreciated and will be removed in ",(0,s.jsx)(n.strong,{children:"API7"})," (Use list instead)"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"removed",children:"Removed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Api6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"preciserating"})," removed from all objects (use rating)"]}),"\n",(0,s.jsx)(n.li,{children:"Remove non-song MBIDs as not relevant to the object"}),"\n",(0,s.jsxs)(n.li,{children:["album_songs remove ",(0,s.jsx)(n.code,{children:"exact"})," as a parameter"]}),"\n",(0,s.jsxs)(n.li,{children:["stream remove ",(0,s.jsx)(n.code,{children:"podcast"})," as a valid ",(0,s.jsx)(n.code,{children:"type"})," value"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"preference_create: don't allow creating 'system' preferences"}),"\n",(0,s.jsxs)(n.li,{children:["Warning of depreciated methods from API5 have been removed from API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api6::tag"}),"\n",(0,s.jsx)(n.li,{children:"Api6::tags"}),"\n",(0,s.jsx)(n.li,{children:"Api6::tag_albums"}),"\n",(0,s.jsx)(n.li,{children:"Api6::tag_artists"}),"\n",(0,s.jsx)(n.li,{children:"Api6::tag_songs"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-8",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"advanced_search methods were breaking with various offset and limits"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api6 JSON","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Share and Bookmark object id's were not strings"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api3","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Never send 0 ratings. They should always be null (e.g. ",(0,s.jsx)(n.code,{children:"<rating/>"}),")"]}),"\n",(0,s.jsx)(n.li,{children:"Artists method parameters were incorrect"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-564",children:"API 5.6.4"}),"\n",(0,s.jsx)(n.h3,{id:"fixed-9",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fixed Bearer token auth on all methods"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API4","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fix lots of Runtime Error's on missing optional data"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fix lots of Runtime Error's on missing optional data"}),"\n",(0,s.jsxs)(n.li,{children:["genre_artists, genre_albums, genre_songs: Parameter ",(0,s.jsx)(n.code,{children:"filter"})," runtime errors"]}),"\n",(0,s.jsx)(n.li,{children:"bookmark_edit, bookmark_create: Missing user in the object data"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-563",children:"API 5.6.3"}),"\n",(0,s.jsx)(n.h3,{id:"added-11",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API5::playlist_songs: Add ",(0,s.jsx)(n.code,{children:"random"})," to get random objects filtered by limit"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-10",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"handshake: runtime errors with bad username"}),"\n",(0,s.jsx)(n.li,{children:"handshake: Don't error on empty data counts"}),"\n",(0,s.jsx)(n.li,{children:"ping: Don't error on empty data counts"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API4","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["share_create: null ",(0,s.jsx)(n.code,{children:"expires"})," fall back to ",(0,s.jsx)(n.code,{children:"share_expire"})," or 7 days"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["share_create: null ",(0,s.jsx)(n.code,{children:"expires"})," fall back to ",(0,s.jsx)(n.code,{children:"share_expire"})," or 7 days"]}),"\n",(0,s.jsx)(n.li,{children:"preference_edit: Could apply to the wrong user"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-562",children:"API 5.6.2"}),"\n",(0,s.jsx)(n.h3,{id:"fixed-11",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Require and set a valid version for ",(0,s.jsx)(n.code,{children:"api_force_version"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-561",children:"API 5.6.1"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-560",children:"API 5.6.0"}),"\n",(0,s.jsx)(n.h3,{id:"fixed-12",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"share_create and share_edit methods broken when setting expiry days"}),"\n",(0,s.jsx)(n.li,{children:"advanced_search methods were breaking with various offset and limits"}),"\n",(0,s.jsx)(n.li,{children:"playlists methods parameter 'exact' always ending up false"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"update_art hardcoded url to artist"}),"\n",(0,s.jsx)(n.li,{children:"Typo in song bitrate xml"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-556",children:"API 5.5.6"}),"\n",(0,s.jsx)(n.p,{children:"Fix various runtime errors and incorrect parameters for responses."}),"\n",(0,s.jsx)(n.h3,{id:"changed-9",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"API browses all point to the Api class"}),"\n",(0,s.jsxs)(n.li,{children:["Use ",(0,s.jsx)(n.code,{children:"FILTER_VALIDATE_IP"})," on ping calls"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-13",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Api5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"songs"})," set_filter call without browse parameter may have lost info"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"get_indexes"})," set album_artist filter correctly"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"artists"})," set album_artist filter correctly"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"share_create"})," undefined filter check"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api4","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"songs"})," set_filter call without browse parameter may have lost info"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"get_indexes"})," set album_artist filter correctly"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"timeline"})," incorrect JSON attribute ",(0,s.jsx)(n.code,{children:"data"})," instead of ",(0,s.jsx)(n.code,{children:"date"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"catalogs"})," JSON had incorrect data for ",(0,s.jsx)(n.code,{children:"last_add"})," and missing ",(0,s.jsx)(n.code,{children:"enabled"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"albums"})," return an empty response with a bad artist id"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"download"}),' url parameter order matching "client, action, cache"']}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"catalogs"})," undefined filter check"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"podcast"})," undefined filter check"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"podcast_edit"})," undefined filter check"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"podcasts"})," undefined filter check"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"share_create"})," undefined filter check"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"share_edit"})," undefined filter check"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api3","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"album_songs"})," return an empty response with a bad album id"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"artist_albums"})," return an empty response with a bad artist id"]}),"\n",(0,s.jsxs)(n.li,{children:["Calls to ",(0,s.jsx)(n.code,{children:"songs"})," with user ID instead of user object"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-554",children:"API 5.5.4"}),"\n",(0,s.jsx)(n.h3,{id:"fixed-14",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"User count in Api::ping and Api::handshake was doubled"}),"\n",(0,s.jsx)(n.li,{children:"Api3::stats method had incorrect recent parameters"}),"\n",(0,s.jsxs)(n.li,{children:["Ensure the output ",(0,s.jsx)(n.code,{children:"bitrate"})," and ",(0,s.jsx)(n.code,{children:"mime"})," are set for song objects"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-553",children:"API 5.5.3"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-552",children:"API 5.5.2"}),"\n",(0,s.jsx)(n.h3,{id:"added-12",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"song_artist"})," as a search type (uses artist rules)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"album_artist"})," as a search type (uses artist rules)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"song_genre"}),", ",(0,s.jsx)(n.code,{children:"mbid_artist"}),", ",(0,s.jsx)(n.code,{children:"mbid_song"})," to album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"song_genre"}),", ",(0,s.jsx)(n.code,{children:"mbid_album"}),", ",(0,s.jsx)(n.code,{children:"mbid_song"})," to artist search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"possible_duplicate_album"})," to song search"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-15",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"unable to retrieve song_artist or album_artist results"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-551",children:"API 5.5.1"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-550",children:"API 5.5.0"}),"\n",(0,s.jsx)(n.h3,{id:"added-13",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Api::stream add new types ",(0,s.jsx)(n.code,{children:"playlist"})," and ",(0,s.jsx)(n.code,{children:"search"})," (Streams a random object from these lists)"]}),"\n",(0,s.jsxs)(n.li,{children:["Api::download add new types ",(0,s.jsx)(n.code,{children:"playlist"})," and ",(0,s.jsx)(n.code,{children:"search"})]}),"\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"podcast"})," as a search type","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"title"})]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"podcast_episode"})," (Search by podcast episode name)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"time"})," (Episode length in minutes)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"state"})," (Completed, Pending Skipped)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"file"})]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"added"})]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"pubdate"})," (Episode Publication Date)"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"podcast_episode"})," as a search type","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"title"})]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"podcast"})," (Search by podcast name)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"time"})," (Length in minutes)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"state"})," (Completed, Pending Skipped)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"file"})]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"added"})]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"pubdate"})," (Publication Date)"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"genre"})," as a search type","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"title"})]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-16",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"API4::get_indexes podcast_episode was encoding into the API5 object"}),"\n",(0,s.jsx)(n.li,{children:"API4::share_create was unable to share when using lowercase types"}),"\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Added missing ",(0,s.jsx)(n.code,{children:"song"})," (was ",(0,s.jsx)(n.code,{children:"song_title"}),") to album searches"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api--541",children:"API  5.4.1"}),"\n",(0,s.jsx)(n.h3,{id:"added-14",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Include ",(0,s.jsx)(n.code,{children:"lyrics"})," in Song objects"]}),"\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"file"})," to album and artist search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"track"})," to song search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"summary"})," to artist search"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-540",children:"API 5.4.0"}),"\n",(0,s.jsx)(n.h3,{id:"added-15",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"file"})," to album and artist search"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-533",children:"API 5.3.3"}),"\n",(0,s.jsx)(n.h3,{id:"added-16",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"song_title"})," to album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"album_title"})," and ",(0,s.jsx)(n.code,{children:"song_title"})," to artist search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"orphaned_album"})," to song search"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-532",children:"API 5.3.2"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-531",children:"API 5.3.1"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-530",children:"API 5.3.0"}),"\n",(0,s.jsx)(n.h3,{id:"added-17",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["advanced_search:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"songrating"})," to album search (My Rating (Song))"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"songrating"})," (My Rating (Song)) and ",(0,s.jsx)(n.code,{children:"albumrating"})," (My Rating (Album)) to artist search"]}),"\n",(0,s.jsx)(n.li,{children:"Allow empty/null searches for all mbid searches"}),"\n",(0,s.jsx)(n.li,{children:"Allow empty/null searches for label searches"}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"song_count"})," to album and artist search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"album_count"})," to artist search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"myplayedartist"})," (Played by Me (Artist)) to album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"song_artist"})," to album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add alias ",(0,s.jsx)(n.code,{children:"album_artist"})," to album search for ",(0,s.jsx)(n.code,{children:"artist"})," searches"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"recent_added"})," to album search"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-521",children:"API 5.2.1"}),"\n",(0,s.jsx)(n.h3,{id:"changed-10",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Return the xml total_count of playlists based on hide_search preference"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-17",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API4","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"update_from_tags: type case error"}),"\n",(0,s.jsx)(n.li,{children:"rate: Object type to class mapping"}),"\n",(0,s.jsx)(n.li,{children:"flag: Object type to class mapping"}),"\n",(0,s.jsx)(n.li,{children:"update_art: Object type to class mapping and type case check"}),"\n",(0,s.jsx)(n.li,{children:"update_from_tags: Object type to class mapping"}),"\n",(0,s.jsx)(n.li,{children:"genre and tag function compatibility"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API3","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"stats: incorrect getRandom call"}),"\n",(0,s.jsx)(n.li,{children:"rate: Object type to class mapping"}),"\n",(0,s.jsx)(n.li,{children:"playlist: bad escaping on the playlist id"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-520",children:"API 5.2.0"}),"\n",(0,s.jsxs)(n.p,{children:["Check out the docs for multi API support at ",(0,s.jsx)(n.a,{href:"https://ampache.org/api/",children:"ampache.org"})]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"note"})," JSON didn't exist for API3 so all json requests from API3 calls will revert to API5"]}),"\n",(0,s.jsx)(n.h3,{id:"added-18",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Support for API3, API4 and API5 responses including PHP8 support (keeps original tag calls)"}),"\n",(0,s.jsxs)(n.li,{children:["API5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"playlists: sql for searches wasn't filtering"}),"\n",(0,s.jsx)(n.li,{children:"playlists: add parameter 'show_dupes' if true ignore 'api_hide_dupe_searches' setting"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API4","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"playlists: add parameter 'show_dupes' if true ignore 'api_hide_dupe_searches' setting"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API3","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Added genre calls as an alias to tag functions to match API4 and API5"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-511",children:"API 5.1.1"}),"\n",(0,s.jsx)(n.h3,{id:"fixed-18",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Access to podcast_episode_delete"}),"\n",(0,s.jsx)(n.li,{children:"stats calls with an offest and limit"}),"\n",(0,s.jsx)(n.li,{children:"advanced_search calls with an offset and limit"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-510",children:"API 5.1.0"}),"\n",(0,s.jsx)(n.h3,{id:"added-19",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["NEW API functions","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api::live_stream (get a radio stream by id)"}),"\n",(0,s.jsx)(n.li,{children:"Api::live_streams"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Api::stream Added type 'podcast_episode' ('podcast' to be removed in Ampache 6.0.0)"}),"\n",(0,s.jsx)(n.li,{children:"Add 'time' and 'size' to all podcast_episode responses"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-11",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"live_stream objects added 'catalog' and 'site_url'"}),"\n",(0,s.jsx)(n.li,{children:"stats: additional type values: 'video', 'playlist', 'podcast', 'podcast_episode'"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-19",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"get_indexes: JSON didn't think live_streams was valid (it is)"}),"\n",(0,s.jsx)(n.li,{children:"record_play: user is optional"}),"\n",(0,s.jsx)(n.li,{children:"Bad xml tags in deleted functions"}),"\n",(0,s.jsx)(n.li,{children:"scrobble: Add song_mbid, artist_mbid, album_mbid (docs have no '_' so support both)"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-500",children:"API 5.0.0"}),"\n",(0,s.jsx)(n.p,{children:"All API code that used 'Tag' now references 'Genre' instead"}),"\n",(0,s.jsx)(n.p,{children:'This version of the API is the first semantic version. "5.0.0"'}),"\n",(0,s.jsx)(n.h3,{id:"added-20",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Add global playcount to podcast_episode and video responses"}),"\n",(0,s.jsx)(n.li,{children:"searches (the number of saved smartlists) added to the handshake/ping response"}),"\n",(0,s.jsxs)(n.li,{children:["NEW API functions","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api::song_delete (Delete files when you are allowed to)"}),"\n",(0,s.jsx)(n.li,{children:"Api::user_preferences (Get your user preferences)"}),"\n",(0,s.jsx)(n.li,{children:"Api::user_preference (Get your preference by name)"}),"\n",(0,s.jsx)(n.li,{children:"Api::system_update (Check Ampache for updates and run the update if there is one.)"}),"\n",(0,s.jsx)(n.li,{children:"Api::system_preferences (Preferences for the system user)"}),"\n",(0,s.jsx)(n.li,{children:"Api::system_preference (Get a system preference by name)"}),"\n",(0,s.jsx)(n.li,{children:"Api::preference_create (Add a new preference to Ampache)"}),"\n",(0,s.jsx)(n.li,{children:"Api::preference_edit (Edit a preference value by name; optionally apply to all users)"}),"\n",(0,s.jsx)(n.li,{children:"Api::preference_delete (Delete a preference by name)"}),"\n",(0,s.jsx)(n.li,{children:"Api::labels (list your record labels)"}),"\n",(0,s.jsx)(n.li,{children:"Api::label (get a label by id)"}),"\n",(0,s.jsx)(n.li,{children:"Api::label_artists (get all artists attached to that label)"}),"\n",(0,s.jsx)(n.li,{children:"Api::get_bookmark (See if you've previously played the file)"}),"\n",(0,s.jsx)(n.li,{children:"Api::bookmarks (List all bookmarks created by your account)"}),"\n",(0,s.jsx)(n.li,{children:"Api::bookmark_create (Create a bookmark to allow revisting later)"}),"\n",(0,s.jsx)(n.li,{children:"Api::bookmark_edit (Edit a bookmark)"}),"\n",(0,s.jsx)(n.li,{children:"Api::bookmark_delete (Delete a bookmark by object id, type, user and client name)"}),"\n",(0,s.jsx)(n.li,{children:"Api::localplay_songs (Get the list of songs in your localplay instance)"}),"\n",(0,s.jsx)(n.li,{children:"API::deleted_songs"}),"\n",(0,s.jsx)(n.li,{children:"API::deleted_podcast_episodes"}),"\n",(0,s.jsx)(n.li,{children:"API::deleted_videos"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-12",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"The API version matches release version '5.0.0'"}),"\n",(0,s.jsx)(n.li,{children:"A backcompatible version (500000) is sent when using old api versions"}),"\n",(0,s.jsxs)(n.li,{children:["handshake and ping counts now return the actual object counts for playlists","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"'playlists' => $counts['playlist'],"}),"\n",(0,s.jsx)(n.li,{children:"'searches' => $counts['search'],"}),"\n",(0,s.jsx)(n.li,{children:"'playlists_searches' => $counts['playlist'] + $counts['search']"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Renamed functions:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"tags => genres"}),"\n",(0,s.jsx)(n.li,{children:"tag => genre"}),"\n",(0,s.jsx)(n.li,{children:"tag_artists => genre_artists"}),"\n",(0,s.jsx)(n.li,{children:"tag_albums => genre_albums"}),"\n",(0,s.jsx)(n.li,{children:"tag_songs => genre_songs"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Don't allow duplicate podcast feeds"}),"\n",(0,s.jsx)(n.li,{children:"Make filter optional in shares, genre_artists, genre_albums, genre_songs (Used as a general catch all method like genres)"}),"\n",(0,s.jsxs)(n.li,{children:["Error Codes and response structure has changed","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"4700 Access Control not Enabled"}),"\n",(0,s.jsx)(n.li,{children:"4701 Received Invalid Handshake"}),"\n",(0,s.jsx)(n.li,{children:"4703 Access Denied"}),"\n",(0,s.jsx)(n.li,{children:"4704 Not Found"}),"\n",(0,s.jsx)(n.li,{children:"4705 Missing Method"}),"\n",(0,s.jsx)(n.li,{children:"4706 Depreciated Method"}),"\n",(0,s.jsx)(n.li,{children:"4710 Bad Request"}),"\n",(0,s.jsx)(n.li,{children:"4742 Failed Access Check"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"stats: Removed back compat from older versions. Only 'type' is mandatory"}),"\n",(0,s.jsx)(n.li,{children:"Return empty objects when the request was correct but the results were empty"}),"\n",(0,s.jsx)(n.li,{children:"Don't transcode podcast_episodes"}),"\n",(0,s.jsxs)(n.li,{children:["localplay","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"added 'track' parameter used by 'skip' commands to go to the playlist track (playlist starts at 1)"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"system_update: update the database if required as well"}),"\n",(0,s.jsx)(n.li,{children:"playlist_edit: added 'owner' as an optional parameter (Change playlist owner to the user id)"}),"\n",(0,s.jsx)(n.li,{children:"catalog_file: Allow comma-separate task values. (good for API inotify scripts)"}),"\n",(0,s.jsx)(n.li,{children:'podcast_episode object "pubdate" has been changed to ISO 8601 date (2004-02-12T15:19:21+00:00)'}),"\n",(0,s.jsx)(n.li,{children:'podcast object "build_date" and "sync_date" have also been changed to ISO 8601 date'}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-20",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"catalog_file: Couldn't add files"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-442",children:"API 4.4.2"}),"\n",(0,s.jsx)(n.h3,{id:"fixed-21",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"API::indexes Artist albums were being added incorrectly for XML"}),"\n",(0,s.jsx)(n.li,{children:"Send back the full album name in responses"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-441",children:"API 4.4.1"}),"\n",(0,s.jsx)(n.h3,{id:"fixed-22",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"API::stats would not offset recent calls"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-440",children:"API 4.4.0"}),"\n",(0,s.jsx)(n.h3,{id:"added-21",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["NEW API functions","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api::users (ID and Username of the site users)"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Api::localplay added new options to 'command' ('pause', 'add', 'volume_up', 'volume_down', 'volume_mute', 'delete_all', 'skip')"}),"\n",(0,s.jsxs)(n.li,{children:["Api::localplay added parameters:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"'oid' (integer) object_id to add //optional"}),"\n",(0,s.jsx)(n.li,{children:"'type' (string) Default: 'Song' ('Song', 'Video', 'Podcast_Episode', 'Channel', 'Broadcast', 'Democratic', 'Live_Stream') //optional"}),"\n",(0,s.jsx)(n.li,{children:"'clear' (integer) 0|1 clear the current playlist on add //optional"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Api::playlist_edit added new parameter 'sort': (0,1) sort the playlist by 'Artist, Album, Song' //optional"}),"\n",(0,s.jsxs)(n.li,{children:["Api::get_indexes","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"New type options: 'album_artist', 'podcast', 'podcast_episode', 'share', 'video'"}),"\n",(0,s.jsx)(n.li,{children:"Added parameter 'include': (0,1) (add the extra songs details if a playlist or podcast_episodes if a podcast)"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Api::rate - Added types 'playlist', 'podcast', 'podcast_episode', 'video', 'tvshow', 'tvshow_season'"}),"\n",(0,s.jsx)(n.li,{children:"Api::flag - Added types 'podcast', 'podcast_episode', 'video', 'tvshow', 'tvshow_season'"}),"\n",(0,s.jsx)(n.li,{children:"Add time to artist and album objects. (total time of all songs in seconds)"}),"\n",(0,s.jsx)(n.li,{children:"Add songcount, albumcount to artist objects. (time in seconds)"}),"\n",(0,s.jsx)(n.li,{children:"Add songcount to album objects. (time in seconds)"}),"\n",(0,s.jsx)(n.li,{children:"Add type (release_type) to album objects"}),"\n",(0,s.jsx)(n.li,{children:"Add disk to song objects"}),"\n",(0,s.jsx)(n.li,{children:"Add time to video objects. (time in seconds)"}),"\n",(0,s.jsx)(n.li,{children:"Add title, mime, catalog to podcast_episodes"}),"\n",(0,s.jsx)(n.li,{children:"Api::advanced_search Add 'playlist', 'user' and 'video' to search types"}),"\n",(0,s.jsxs)(n.li,{children:["Api::handshake added extra total counts to the response","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"users, tags, podcasts, podcast_episodes, shares, licenses, live_streams, labels"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Api::ping match the handshake response (excluding the auth token)"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-13",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"get_indexes: 'playlist' now requires include=1 for xml calls if you want the tracks"}),"\n",(0,s.jsx)(n.li,{children:"Make filter optional in shares"}),"\n",(0,s.jsxs)(n.li,{children:["Api::podcast_episodes","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:'"url" is now a play url (instead of a link to the episode)'}),"\n",(0,s.jsx)(n.li,{children:'"public_url" is now the old episode link'}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-23",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api::podcast_edit wasn't able to edit a podcast..."}),"\n",(0,s.jsx)(n.li,{children:"Api::democratic was using action from localplay in the return responses"}),"\n",(0,s.jsx)(n.li,{children:"get_indexes for XML didn't include podcast indexes"}),"\n",(0,s.jsx)(n.li,{children:"Set OUTDATED_DATABASE_OK on image.php, play/index.php and share.php to stop blocking requests"}),"\n",(0,s.jsx)(n.li,{children:"Don't limit sub items when using a limit (e.g return all podcast episodes when selecting a podcast)"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"deprecated",children:"Deprecated"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Dropped in API 5.0.0","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api::get_indexes; stop including playlist track and id in xml by default"}),"\n",(0,s.jsx)(n.li,{children:'Album objects: "tracks" will only include track details. Use "songcount"'}),"\n",(0,s.jsx)(n.li,{children:'Artist objects: "albums", "songs" will only include track details Use "albumcount" and "songcount"'}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-430",children:"API 4.3.0"}),"\n",(0,s.jsx)(n.h3,{id:"changed-14",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Api::record_play","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Make 'user' parameter optional"}),"\n",(0,s.jsxs)(n.li,{children:["Allow 'user' to the be user_id ",(0,s.jsx)(n.strong,{children:"or"})," the username string"]}),"\n",(0,s.jsx)(n.li,{children:"Add 'date' parameter (optional)"}),"\n",(0,s.jsx)(n.li,{children:"Require 100 (Admin) permission to record plays for other users"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api::get_indexes","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Add 'hide_search' parameter (optional)"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api::playlists","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Add 'hide_search' parameter (optional)"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Setting a limit of 'none' would slice away all the results"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-426",children:"API 4.2.6"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-425",children:"API 4.2.5"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-424",children:"API 4.2.4"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-423",children:"API 4.2.3"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-422",children:"API 4.2.2"}),"\n",(0,s.jsx)(n.p,{children:"Minor bugfixes"}),"\n",(0,s.jsx)(n.h3,{id:"added-22",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api::advanced_search added parameter 'random' (0|1) to shuffle your searches"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-15",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Remove spaces from advanced_search rule names. (Backwards compatible with old names)","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"'has image' => 'has_image'"}),"\n",(0,s.jsx)(n.li,{children:"'image height' => 'image_height'"}),"\n",(0,s.jsx)(n.li,{children:"'image width' => 'image_width'"}),"\n",(0,s.jsx)(n.li,{children:"'filename' => 'file' (Video search)"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"deprecated-1",children:"Deprecated"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Search rules 'has image', 'image height', 'image width', 'filename'. (Removed in Ampache 5.0.0)"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-24",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api::stream, Api::download Api::playlist_generate 'format' parameter was overwritten with 'xml' or 'json'"}),"\n",(0,s.jsx)(n.li,{children:"Produce valid XML for playlist_generate using the 'id' format in XML"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-421",children:"API 4.2.1"}),"\n",(0,s.jsx)(n.p,{children:"No functional changes from 4.2.0"}),"\n",(0,s.jsx)(n.h3,{id:"fixed-25",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:'Filter in "playlist" and "playlist_songs" fixed'}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-420",children:"API 4.2.0"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"API versions will follow release version and no longer use builds in the integer versions (e.g. 420000)"}),"\nAPI 5.0.0-release will be the first Ampache release to match the release string."]}),"\n",(0,s.jsx)(n.h3,{id:"added-23",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["JSON API now available!","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Call xml as normal: ",(0,s.jsx)(n.code,{children:"http://music.com.au/server/xml.server.php?action=handshake&auth=APIKEY&version=420000"})]}),"\n",(0,s.jsxs)(n.li,{children:["Call the JSON server: ",(0,s.jsx)(n.code,{children:"http://music.com.au/server/json.server.php?action=handshake&auth=APIKEY&version=420000"})]}),"\n",(0,s.jsxs)(n.li,{children:["Example XML and JSON responses available ",(0,s.jsx)(n.a,{href:"https://github.com/ampache/python3-ampache/tree/master/docs",children:"here"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["NEW API functions","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"get_similar: send artist or song id to get related objects from last.fm"}),"\n",(0,s.jsx)(n.li,{children:"shares: get a list of shares you can access"}),"\n",(0,s.jsx)(n.li,{children:"share: get a share by id"}),"\n",(0,s.jsx)(n.li,{children:"share_create: create a share"}),"\n",(0,s.jsx)(n.li,{children:"share_edit: edit an existing share"}),"\n",(0,s.jsx)(n.li,{children:"share_delete: delete an existing share"}),"\n",(0,s.jsx)(n.li,{children:"podcasts: get a list of podcasts you can access"}),"\n",(0,s.jsx)(n.li,{children:"podcast: get a podcast by id"}),"\n",(0,s.jsx)(n.li,{children:"podcast_episodes: get a list of podcast_episodes you can access"}),"\n",(0,s.jsx)(n.li,{children:"podcast_episode: get a podcast_episode by id"}),"\n",(0,s.jsx)(n.li,{children:"podcast_episode_delete: delete an existing podcast_episode"}),"\n",(0,s.jsx)(n.li,{children:"podcast_create: create a podcast"}),"\n",(0,s.jsx)(n.li,{children:"podcast_edit: edit an existing podcast"}),"\n",(0,s.jsx)(n.li,{children:"podcast_delete: delete an existing podcast"}),"\n",(0,s.jsx)(n.li,{children:"update_podcast: sync and download new episodes"}),"\n",(0,s.jsx)(n.li,{children:"licenses: get a list of licenses you can access"}),"\n",(0,s.jsx)(n.li,{children:"license: get a license by id"}),"\n",(0,s.jsx)(n.li,{children:"catalogs: get all the catalogs"}),"\n",(0,s.jsx)(n.li,{children:"catalog: get a catalog by id"}),"\n",(0,s.jsx)(n.li,{children:"catalog_file: clean, add, verify using the file path (good for scripting)"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-16",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Bump API version to 420000 (4.2.0)"}),"\n",(0,s.jsxs)(n.li,{children:["All calls that return songs now include ",(0,s.jsx)(n.code,{children:"<playlisttrack>"})," which can be used to identify track order."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"<playcount>"})," added to objects with a playcount."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"<license>"})," added to song objects."]}),"\n",(0,s.jsx)(n.li,{children:"Don't gather art when adding songs"}),"\n",(0,s.jsx)(n.li,{children:"Added actions to catalog_action. 'verify_catalog' 'gather_art'"}),"\n",(0,s.jsxs)(n.li,{children:['API function "playlist_edit": added ability to edit playlist items',"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"items  = (string) comma-separated song_id's (replace existing items with a new object_id) //optional"}),"\n",(0,s.jsx)(n.li,{children:"tracks = (string) comma-separated playlisttrack numbers matched to items in order //optional"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Random albums will get songs for all disks if album_group enabled"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"deprecated-2",children:"Deprecated"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API Build number is depreciated (the last 3 digits of the api version)","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:'API 5.0.0 will be released with a string version ("5.0.0-release")'}),"\n",(0,s.jsx)(n.li,{children:"All future 4.x.x API versions will follow the main Ampache version. (420000, 421000, 422000)"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.del,{children:"total_count in the XML API is depreciated and will be removed in API 5.0.0."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["XML can count objects the same was as a JSON array [",(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/simplexmlelement.count.php",children:"https://www.php.net/manual/en/simplexmlelement.count.php"}),"]"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.del,{children:"Genre in songs is depreciated and will be removed in API 5.0.0."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Use tag instead of genre, tag provides a genre ID as well as the name."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-26",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Extra text in catalog API calls"}),"\n",(0,s.jsx)(n.li,{children:"Don't fail the API calls when the database needs updating"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-400-build-004",children:"API 4.0.0 build 004"}),"\n",(0,s.jsx)(n.p,{children:"Bump API version to 400004 (4.0.0 build 004)"}),"\n",(0,s.jsx)(n.h3,{id:"added-24",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Add Api::check_access to warn when you can't access a function"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-27",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fix parameters using 0"}),"\n",(0,s.jsx)(n.li,{children:"Get the correct total_count in xml when you set a limit"}),"\n",(0,s.jsx)(n.li,{children:"Fix many XML formatting issues"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-400-build-003",children:"API 4.0.0 build 003"}),"\n",(0,s.jsx)(n.p,{children:"Bump API version to 400003 (4.0.0 build 003)"}),"\n",(0,s.jsx)(n.h3,{id:"added-25",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["user_numeric searches also available in the API. ([",(0,s.jsx)(n.a,{href:"https://ampache.org/api/api-xml-methods",children:"https://ampache.org/api/api-xml-methods"}),"])"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-17",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api::playlist - filter mandatory"}),"\n",(0,s.jsx)(n.li,{children:"Api::playlist_edit - filter mandatory. name and type now optional"}),"\n",(0,s.jsx)(n.li,{children:"Api::user - Extend return values to include more user fields"}),"\n",(0,s.jsx)(n.li,{children:"Playlist::create - Return duplicate playlist ID instead of creating a new one"}),"\n",(0,s.jsx)(n.li,{children:"Do not limit smartlists based on item count (return everything you can access)"}),"\n",(0,s.jsx)(n.li,{children:"Api/Database - Add last_count for search table to speed up access in API"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"removed-1",children:"Removed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Artist::check - Remove MBID from Various Artist objects"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-28",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fix Song::update_song for label"}),"\n",(0,s.jsx)(n.li,{children:"Fix Api issues relating to playlist access"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-400-build-001",children:"API 4.0.0 build 001"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Bump API version to 400002 (4.0.0 build 001)"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"added-26",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Documented the Ampache API [",(0,s.jsx)(n.a,{href:"https://ampache.org/api/api-xml-methods",children:"https://ampache.org/api/api-xml-methods"}),"]"]}),"\n",(0,s.jsx)(n.li,{children:"Include smartlists in the API playlist calls."}),"\n",(0,s.jsxs)(n.li,{children:["Authentication: allow sha256 encrypted apikey for auth","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"You must send an encrypted api key in the following fashion. (Hash key joined with username)"}),"\n",(0,s.jsx)(n.li,{children:"$passphrase = hash('sha256', $username . hash('sha256', $apikey));"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Added artist_tag to song searches"}),"\n",(0,s.jsx)(n.li,{children:"flag: allows flagging object by id & type"}),"\n",(0,s.jsx)(n.li,{children:"record_play: allows recording play of object without streaming"}),"\n",(0,s.jsx)(n.li,{children:"catalog_action: allow running add_to_catalog|clean_catalog"}),"\n",(0,s.jsx)(n.li,{children:"playlist_edit: allow editing name and type of playlist"}),"\n",(0,s.jsx)(n.li,{children:"goodbye: Destroy session"}),"\n",(0,s.jsx)(n.li,{children:"get_indexes: return simple index lists to allow a quicker library fill."}),"\n",(0,s.jsx)(n.li,{children:"check_parameter: error when mandatory inputs are missing"}),"\n",(0,s.jsx)(n.li,{children:"stream: Raw stream of song_id"}),"\n",(0,s.jsx)(n.li,{children:"download: Download, not recorded as a play"}),"\n",(0,s.jsx)(n.li,{children:"get_art: Raw art file like subsonic getCoverArt"}),"\n",(0,s.jsx)(n.li,{children:"user_create: 'user' access level only!"}),"\n",(0,s.jsx)(n.li,{children:"user_update: update user details and passwords for non-admins"}),"\n",(0,s.jsx)(n.li,{children:"user_delete: you can't delete yourself or and admin account!"}),"\n",(0,s.jsx)(n.li,{children:"update_from_tags: updates a single album, artist, song from the tag data instead of the entire library!"}),"\n",(0,s.jsx)(n.li,{children:"update_art: updates a single album, artist, song running the gather_art process"}),"\n",(0,s.jsx)(n.li,{children:"update_artist_info: Update artist information and fetch similar artists from last.fm"}),"\n",(0,s.jsx)(n.li,{children:"playlist_generate: Get a list of song xml, indexes or id's based on some simple search criteria. care of @4phun"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-18",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Authentication: Require a handshake and generate unique sessions at all times"}),"\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"'is not' has been added shifting values down the list.\n(0=contains, 1=does not contain, 2=starts with, 3=ends with, 4=is, 5=is not, 6=sounds like, 7=does not sound like)"}),"\n",(0,s.jsx)(n.li,{children:"rule_1['name'] is depreciated. Instead of multiple searches for the same thing rule_1'name'\nhas been replaced with 'title' (I have put a temp workaround into the search rules to alleviate this change)"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["stats","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"allow songs|artists|albums (instead of just albums)"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["playlists","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"allow return of smartlists as well as regular playlists (set a 5000 limit on unlimited smartlists)"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["playlist_add_song","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Added check boolean to skip duplicate songs"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["playlist_remove_song","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Allow uid of song instead of the track id from the playlist"}),"\n"]}),"\n"]}),"\n"]})]})}function o(e={}){const{wrapper:n}={...(0,l.RP)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},8453:(e,n,i)=>{i.d(n,{RP:()=>d,xA:()=>a});var s=i(6540);const l=s.createContext({});function d(e){const n=s.useContext(l);return s.useMemo((()=>"function"==typeof e?e(n):{...n,...e}),[n,e])}const r={};function a({components:e,children:n,disableParentContext:i}){let a;return a=i?"function"==typeof e?e({}):e||r:d(e),s.createElement(l.Provider,{value:a},n)}}}]);
\ No newline at end of file
diff --git a/api/assets/js/d263a616.e8219e41.js b/api/assets/js/d263a616.e8219e41.js
deleted file mode 100644
index 52912ffb..00000000
--- a/api/assets/js/d263a616.e8219e41.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkampache_org_api=self.webpackChunkampache_org_api||[]).push([[2600],{3246:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>o,frontMatter:()=>d,metadata:()=>a,toc:()=>t});var s=i(4848),l=i(8453);const d={title:"API Changelog",metaTitle:"API Changelog",description:"API Changelog"},r=void 0,a={id:"api-changelog",title:"API Changelog",description:"API Changelog",source:"@site/docs/api-changelog.md",sourceDirName:".",slug:"/api-changelog",permalink:"/api/api-changelog",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{title:"API Changelog",metaTitle:"API Changelog",description:"API Changelog"},sidebar:"api",previous:{title:"API Examples",permalink:"/api/api-examples"},next:{title:"Access Control Lists",permalink:"/api/api-acls"}},c={},t=[{value:"API 6.6.0",id:"api-660",level:2},{value:"Added",id:"added",level:3},{value:"Changed",id:"changed",level:3},{value:"Fixed",id:"fixed",level:3},{value:"API 6.4.0",id:"api-640",level:2},{value:"Added",id:"added-1",level:3},{value:"Changed",id:"changed-1",level:3},{value:"Fixed",id:"fixed-1",level:3},{value:"API 6.3.1",id:"api-631",level:2},{value:"Added",id:"added-2",level:3},{value:"API 6.3.0",id:"api-630",level:2},{value:"Added",id:"added-3",level:3},{value:"Changed",id:"changed-2",level:3},{value:"Fixed",id:"fixed-2",level:3},{value:"API 6.2.0",id:"api-620",level:2},{value:"Added",id:"added-4",level:3},{value:"Changed",id:"changed-3",level:3},{value:"Fixed",id:"fixed-3",level:3},{value:"API 6.1.0",id:"api-610",level:2},{value:"Added",id:"added-5",level:3},{value:"Changed",id:"changed-4",level:3},{value:"Fixed",id:"fixed-4",level:3},{value:"API 6.0.3",id:"api-603",level:2},{value:"Added",id:"added-6",level:3},{value:"Fixed",id:"fixed-5",level:3},{value:"API 6.0.2",id:"api-602",level:2},{value:"API 6.0.1",id:"api-601",level:2},{value:"Changed",id:"changed-5",level:3},{value:"Fixed",id:"fixed-6",level:3},{value:"API 6.0.0",id:"api-600",level:2},{value:"Added",id:"added-7",level:3},{value:"Changed",id:"changed-6",level:3},{value:"Removed",id:"removed",level:3},{value:"Fixed",id:"fixed-7",level:3},{value:"API 5.6.4",id:"api-564",level:2},{value:"Fixed",id:"fixed-8",level:3},{value:"API 5.6.3",id:"api-563",level:2},{value:"Added",id:"added-8",level:3},{value:"Fixed",id:"fixed-9",level:3},{value:"API 5.6.2",id:"api-562",level:2},{value:"Fixed",id:"fixed-10",level:3},{value:"API 5.6.1",id:"api-561",level:2},{value:"API 5.6.0",id:"api-560",level:2},{value:"Fixed",id:"fixed-11",level:3},{value:"API 5.5.6",id:"api-556",level:2},{value:"Changed",id:"changed-7",level:3},{value:"Fixed",id:"fixed-12",level:3},{value:"API 5.5.4",id:"api-554",level:2},{value:"Fixed",id:"fixed-13",level:3},{value:"API 5.5.3",id:"api-553",level:2},{value:"API 5.5.2",id:"api-552",level:2},{value:"Added",id:"added-9",level:3},{value:"Fixed",id:"fixed-14",level:3},{value:"API 5.5.1",id:"api-551",level:2},{value:"API 5.5.0",id:"api-550",level:2},{value:"Added",id:"added-10",level:3},{value:"Fixed",id:"fixed-15",level:3},{value:"API  5.4.1",id:"api--541",level:2},{value:"Added",id:"added-11",level:3},{value:"API 5.4.0",id:"api-540",level:2},{value:"Added",id:"added-12",level:3},{value:"API 5.3.3",id:"api-533",level:2},{value:"Added",id:"added-13",level:3},{value:"API 5.3.2",id:"api-532",level:2},{value:"API 5.3.1",id:"api-531",level:2},{value:"API 5.3.0",id:"api-530",level:2},{value:"Added",id:"added-14",level:3},{value:"API 5.2.1",id:"api-521",level:2},{value:"Changed",id:"changed-8",level:3},{value:"Fixed",id:"fixed-16",level:3},{value:"API 5.2.0",id:"api-520",level:2},{value:"Added",id:"added-15",level:3},{value:"API 5.1.1",id:"api-511",level:2},{value:"Fixed",id:"fixed-17",level:3},{value:"API 5.1.0",id:"api-510",level:2},{value:"Added",id:"added-16",level:3},{value:"Changed",id:"changed-9",level:3},{value:"Fixed",id:"fixed-18",level:3},{value:"API 5.0.0",id:"api-500",level:2},{value:"Added",id:"added-17",level:3},{value:"Changed",id:"changed-10",level:3},{value:"Fixed",id:"fixed-19",level:3},{value:"API 4.4.2",id:"api-442",level:2},{value:"Fixed",id:"fixed-20",level:3},{value:"API 4.4.1",id:"api-441",level:2},{value:"Fixed",id:"fixed-21",level:3},{value:"API 4.4.0",id:"api-440",level:2},{value:"Added",id:"added-18",level:3},{value:"Changed",id:"changed-11",level:3},{value:"Fixed",id:"fixed-22",level:3},{value:"Deprecated",id:"deprecated",level:3},{value:"API 4.3.0",id:"api-430",level:2},{value:"Changed",id:"changed-12",level:3},{value:"API 4.2.6",id:"api-426",level:2},{value:"API 4.2.5",id:"api-425",level:2},{value:"API 4.2.4",id:"api-424",level:2},{value:"API 4.2.3",id:"api-423",level:2},{value:"API 4.2.2",id:"api-422",level:2},{value:"Added",id:"added-19",level:3},{value:"Changed",id:"changed-13",level:3},{value:"Deprecated",id:"deprecated-1",level:3},{value:"Fixed",id:"fixed-23",level:3},{value:"API 4.2.1",id:"api-421",level:2},{value:"Fixed",id:"fixed-24",level:3},{value:"API 4.2.0",id:"api-420",level:2},{value:"Added",id:"added-20",level:3},{value:"Changed",id:"changed-14",level:3},{value:"Deprecated",id:"deprecated-2",level:3},{value:"Fixed",id:"fixed-25",level:3},{value:"API 4.0.0 build 004",id:"api-400-build-004",level:2},{value:"Added",id:"added-21",level:3},{value:"Fixed",id:"fixed-26",level:3},{value:"API 4.0.0 build 003",id:"api-400-build-003",level:2},{value:"Added",id:"added-22",level:3},{value:"Changed",id:"changed-15",level:3},{value:"Removed",id:"removed-1",level:3},{value:"Fixed",id:"fixed-27",level:3},{value:"API 4.0.0 build 001",id:"api-400-build-001",level:2},{value:"Added",id:"added-23",level:3},{value:"Changed",id:"changed-16",level:3}];function h(e){const n={a:"a",code:"code",del:"del",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",ul:"ul",...(0,l.RP)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"api-660",children:"API 6.6.0"}),"\n",(0,s.jsxs)(n.p,{children:["Like with ",(0,s.jsx)(n.code,{children:"total_count"}),", we've added an md5sum of the results (called ",(0,s.jsx)(n.code,{children:"md5"}),") in responses"]}),"\n",(0,s.jsx)(n.p,{children:"This is useful for recording whether you need to update or change results."}),"\n",(0,s.jsx)(n.p,{children:"Inconsistency with the return of object arrays and single items have been fixed and docs updated."}),"\n",(0,s.jsx)(n.h3,{id:"added",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Track user IP on handshake and ping calls"}),"\n",(0,s.jsx)(n.li,{children:"playlist_edit: separate error when the playlist doesn't exist"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"New Method: playlist_hash (Get the MD5 hash of the playlist without getting the whole object)"}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"md5"})," to responses. (Hash objects in the response before slicing and limiting)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"md5"})," property to playlist objects. (Hash of song objects in the response)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"username"})," property to handshake and ping (with auth) responses to workaround missing usernames in token auth"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"has_access"})," property to playlist objects. (Can edit the playlist if true)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"has_collaborate"})," property to playlist objects. (Can add and remove songs to the playlist if true)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"last_update"})," property to playlist objects. (Time a playlist changed. Smartplaylists do not change based on returned songs)"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"playlist_edit: Add songs if you're a collaborator and ignore edit parameters if you fail has_access check"}),"\n",(0,s.jsx)(n.li,{children:"catalog_add: Do not return an object. (We return a single item)"}),"\n",(0,s.jsx)(n.li,{children:"bookmark_create: Do not return an object. (We return a single item)"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"User preferences were not initiated and the server preferences would overwrite differences"}),"\n",(0,s.jsx)(n.li,{children:"Api::set_user_id function sending an int instead of a user"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"JSON: Send empty array for missing single item methods"}),"\n",(0,s.jsx)(n.li,{children:"lost_password: function name incorrect"}),"\n",(0,s.jsx)(n.li,{children:"flag: id smartplaylists correctly"}),"\n",(0,s.jsx)(n.li,{children:"rate: id smartplaylists correctly"}),"\n",(0,s.jsx)(n.li,{children:"albums: Browse user may not be set"}),"\n",(0,s.jsx)(n.li,{children:"podcast_episodes: Browse user may not be set"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-640",children:"API 6.4.0"}),"\n",(0,s.jsx)(n.h3,{id:"added-1",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Downgrade any API7 calls to API6 ",(0,s.jsx)(n.a,{href:"https://github.com/ampache/ampache/wiki/ampache7-for-admins#there-is-no-api7-only-api6-and-5-4-and-3-too",children:"wiki"})]}),"\n",(0,s.jsxs)(n.li,{children:["New Method: player (Inform the server about the state of your client player)","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Returns ",(0,s.jsx)(n.code,{children:"now_playing"})," state on completion"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["download: add ",(0,s.jsx)(n.code,{children:"bitrate"})," parameter"]}),"\n",(0,s.jsxs)(n.li,{children:["playlists: add ",(0,s.jsx)(n.code,{children:"include"})," parameter (",(0,s.jsx)(n.strong,{children:"note"})," this can be massive and slow when searches are included)"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-1",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Do not translate API ",(0,s.jsx)(n.code,{children:"errorMessage"})," strings ",(0,s.jsx)(n.a,{href:"https://ampache.org/api/api-errors",children:"ampache.org"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-1",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Download method format parameter didn't have a fallback value"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API4","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"playlist: error check for missing/deleted playlists"}),"\n",(0,s.jsx)(n.li,{children:"playlist_songs: error check for missing/deleted playlists"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Playlists objects would not return duplicates items if allowed"}),"\n",(0,s.jsx)(n.li,{children:"has_art property missing from songs and albums"}),"\n",(0,s.jsx)(n.li,{children:"playlist_add: couldn't add a single item"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-631",children:"API 6.3.1"}),"\n",(0,s.jsx)(n.h3,{id:"added-2",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"New Method: now_playing (Get what is currently being played by all users.)"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-630",children:"API 6.3.0"}),"\n",(0,s.jsx)(n.h3,{id:"added-3",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"New Method: search_group (return multiple object types from a single set of search rules)"}),"\n",(0,s.jsx)(n.li,{children:"New Method: search (alias for advanced_search)"}),"\n",(0,s.jsx)(n.li,{children:"New Method: user_playlists (return user playlists and does not include smartlists)"}),"\n",(0,s.jsx)(n.li,{children:"New Method: user_smartlists (return user smartlists (searches) and does not include playlists)"}),"\n",(0,s.jsx)(n.li,{children:"New Method: playlist_add (add songs to a playlist, allowing different song parent types)"}),"\n",(0,s.jsx)(n.li,{children:"New Method: index (replaces get_indexes with a simpler list of id's. children can be included)"}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"has_art"})," parameter to any object with an ",(0,s.jsx)(n.code,{children:"art"})," url"]}),"\n",(0,s.jsx)(n.li,{children:"Add avatar url to user objects"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-2",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["playlist_add_song: depreciated and will be removed in ",(0,s.jsx)(n.strong,{children:"API7"})," (Use playlist_add)"]}),"\n",(0,s.jsx)(n.li,{children:"share_create: add more valid types ('playlist', 'podcast', 'podcast_episode', 'video')"}),"\n",(0,s.jsx)(n.li,{children:"user: make username optional"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-2",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Userflag wasn't sending bool when cached in the database"}),"\n",(0,s.jsx)(n.li,{children:"Admin would always get everyones playlists when filtering"}),"\n",(0,s.jsx)(n.li,{children:"Stream methods would not send the bitrate correctly"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API4","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"playlists method not respecting like for smartlists"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"playlists method not respecting like for smartlists"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"playlists method not respecting like for smartlists"}),"\n",(0,s.jsxs)(n.li,{children:["playlist_edit method will decode html ",(0,s.jsx)(n.code,{children:","})," separators"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-620",children:"API 6.2.0"}),"\n",(0,s.jsx)(n.h3,{id:"added-4",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"API: Allow non-expiring user sessions when using a header token"}),"\n",(0,s.jsx)(n.li,{children:"Allow endless api sessions. (You should start using http header auth to hide these)"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-3",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Set default API version to 6 (was 5)"}),"\n",(0,s.jsxs)(n.li,{children:["Allow raising and lowering response version on ping to ",(0,s.jsx)(n.strong,{children:"any"})," version"]}),"\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Return error on handshake version failure"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-3",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"UrlToSong couldn't handle encoded urls"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API3","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Video data would get an incorrect stream url"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"bookmark_create: type is mandatory"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"bookmark_create: type is mandatory"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-610",children:"API 6.1.0"}),"\n",(0,s.jsx)(n.p,{children:"Two new methods have been added"}),"\n",(0,s.jsx)(n.p,{children:"The bookmark methods have had a bit of a rework as they were not very useful"}),"\n",(0,s.jsx)(n.p,{children:"Finally the issues with setting your auth token in the http header have been fixed"}),"\n",(0,s.jsx)(n.h3,{id:"added-5",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"New Method: bookmark (Get single bookmark by bookmark_id)"}),"\n",(0,s.jsx)(n.li,{children:"New Method: lost_password (Allows a non-admin user to reset their password)"}),"\n",(0,s.jsxs)(n.li,{children:["bookmark_create: Add ",(0,s.jsx)(n.code,{children:"include"})," parameter (if true include the object in the bookmark)"]}),"\n",(0,s.jsxs)(n.li,{children:["bookmark_edit: Add ",(0,s.jsx)(n.code,{children:"include"})," parameter (if true include the object in the bookmark)"]}),"\n",(0,s.jsxs)(n.li,{children:["get_bookmark","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"include"})," parameter (if true include the object in the bookmark)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"all"})," parameter (if true include every bookmark for the object)"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["bookmarks","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add parameter ",(0,s.jsx)(n.code,{children:"client"})," to filter by specific groups of bookmarks"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"include"})," parameter (if true include the object in the bookmark)"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-4",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"bookmark_edit: show error on missing bookmark instead of empty object"}),"\n",(0,s.jsx)(n.li,{children:"bookmark_delete: show error on missing bookmark instead of empty object"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["get_bookmark","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["add bookmark as a valid ",(0,s.jsx)(n.code,{children:"object_type"})]}),"\n",(0,s.jsx)(n.li,{children:"Don't return single JSON bookmarks as an object"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["bookmark_create: Remove ",(0,s.jsx)(n.code,{children:"client"})," parameter default value ('AmpacheAPI')"]}),"\n",(0,s.jsxs)(n.li,{children:["bookmark_edit","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Remove ",(0,s.jsx)(n.code,{children:"client"})," parameter default value ('AmpacheAPI')"]}),"\n",(0,s.jsx)(n.li,{children:"show error on missing bookmark instead of empty object"}),"\n",(0,s.jsxs)(n.li,{children:["add bookmark as a valid ",(0,s.jsx)(n.code,{children:"object_type"})]}),"\n",(0,s.jsx)(n.li,{children:"Don't return single JSON bookmarks as an object"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["bookmark_delete","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Remove ",(0,s.jsx)(n.code,{children:"client"})," parameter default value ('AmpacheAPI')"]}),"\n",(0,s.jsx)(n.li,{children:"show error on missing bookmark instead of empty object"}),"\n",(0,s.jsxs)(n.li,{children:["add bookmark as a valid ",(0,s.jsx)(n.code,{children:"object_type"})]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-4",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"handshake: auth failure with header token"}),"\n",(0,s.jsxs)(n.li,{children:["playlist_generate: Don't error when optional ",(0,s.jsx)(n.code,{children:"mode"})," and ",(0,s.jsx)(n.code,{children:"format"})," are not set"]}),"\n",(0,s.jsx)(n.li,{children:"advanced_search: runtime error on empty data type"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API4","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fix lots of Runtime Error's on missing optional data"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fix lots of Runtime Error's on missing optional data"}),"\n",(0,s.jsxs)(n.li,{children:["genre_artists, genre_albums, genre_songs: Parameter ",(0,s.jsx)(n.code,{children:"filter"})," runtime errors"]}),"\n",(0,s.jsxs)(n.li,{children:["bookmark_edit","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Missing user id in data array"}),"\n",(0,s.jsx)(n.li,{children:"Not able to edit all bookmarks"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fix lots of Runtime Error's on missing optional data"}),"\n",(0,s.jsx)(n.li,{children:"catalog_folder didn't get the group of items correctly"}),"\n",(0,s.jsxs)(n.li,{children:["genre_artists, genre_albums, genre_songs: Parameter ",(0,s.jsx)(n.code,{children:"filter"})," runtime errors"]}),"\n",(0,s.jsxs)(n.li,{children:["bookmark_edit","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Missing user id in data array"}),"\n",(0,s.jsx)(n.li,{children:"Not able to edit all bookmarks"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-603",children:"API 6.0.3"}),"\n",(0,s.jsx)(n.h3,{id:"added-6",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API5::playlist_songs: Add ",(0,s.jsx)(n.code,{children:"random"})," to get random objects filtered by limit"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-5",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"handshake: runtime errors with bad username"}),"\n",(0,s.jsx)(n.li,{children:"handshake: Don't error on empty data counts"}),"\n",(0,s.jsx)(n.li,{children:"ping: Don't error on empty data counts"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"list: searches were missing from playlists"}),"\n",(0,s.jsx)(n.li,{children:"browse: XML returned a list instead of a browse object"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-602",children:"API 6.0.2"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-601",children:"API 6.0.1"}),"\n",(0,s.jsx)(n.h3,{id:"changed-5",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6 XML","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"get_similar: return song objects to match json"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-6",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"user_preference: returned array instead of object"}),"\n",(0,s.jsx)(n.li,{children:"system_preference: returned array instead of object"}),"\n",(0,s.jsx)(n.li,{children:"preference_create: returned array instead of object"}),"\n",(0,s.jsx)(n.li,{children:"preference_edit: returned array instead of object"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-600",children:"API 6.0.0"}),"\n",(0,s.jsxs)(n.p,{children:["Stream token's will let you design permalinked streams and allow users to stream iwhtout re authenticating to the server. ",(0,s.jsx)(n.a,{href:"https://github.com/ampache/ampache/wiki/ampache6-details#allow-permalink-user-streams",children:"wiki"})]}),"\n",(0,s.jsx)(n.h3,{id:"added-7",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API5::playlist_songs: Add ",(0,s.jsx)(n.code,{children:"random"})," to get random objects filtered by limit"]}),"\n",(0,s.jsxs)(n.li,{children:["API6 (Based on API5)","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"API6::browse: List server contents in a directory-style listing (Music, Podcast and Video catalogs)"}),"\n",(0,s.jsxs)(n.li,{children:["API6::list: Replace get_indexes with a faster lookup and similar parameters returning ",(0,s.jsx)(n.code,{children:"id"}),", ",(0,s.jsx)(n.code,{children:"name"}),", ",(0,s.jsx)(n.code,{children:"prefix"})," and ",(0,s.jsx)(n.code,{children:"basename"})]}),"\n",(0,s.jsx)(n.li,{children:"API6::catalog_add: Create a catalog (Require: 75)"}),"\n",(0,s.jsx)(n.li,{children:"API6::catalog_delete: Delete a catalog (Require: 75)"}),"\n",(0,s.jsx)(n.li,{children:"API6::live_stream_create: Create a new live stream (radio station)"}),"\n",(0,s.jsx)(n.li,{children:"API6::live_stream_edit: Edit a live stream"}),"\n",(0,s.jsx)(n.li,{children:"API6::live_stream_delete: Delete a stream by ID"}),"\n",(0,s.jsx)(n.li,{children:"API6::register: Allow users to register an account (if enabled)"}),"\n",(0,s.jsx)(n.li,{children:"API6::playlist_create: Return an error if the playlist name already exists for that user"}),"\n",(0,s.jsxs)(n.li,{children:["API6::playlist_songs: Add ",(0,s.jsx)(n.code,{children:"random"})," to get random objects filtered by limit"]}),"\n",(0,s.jsxs)(n.li,{children:["API6::user_edit (previously user_create):","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"group"})," parameter to pick a catalog filter group"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"fullname_public"})," to enable/disable using fullname in public display"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"reset_apikey"})," to reset a user Api Key"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"reset_streamtoken"})," to reset a user Stream Token"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"clear_stats"})," reset all stats for this user ",(0,s.jsx)(n.strong,{children:"be very sure about this one!"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"prefix"})," (Prefix for Full Name) to album & artist responses"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"basename"})," (Name without prefix) to album & artist responses"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"bitrate"})," to Democratic objects"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"format"})," to Song and Democratic objects"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"stream_format"}),", ",(0,s.jsx)(n.code,{children:"stream_bitrate"}),", ",(0,s.jsx)(n.code,{children:"stream_mime"})," to Song objects (This is the transcoded output for a stream)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add all mapped artists to song and album objects (JSON added an ",(0,s.jsx)(n.code,{children:"artists"})," element)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"bitrate"}),", ",(0,s.jsx)(n.code,{children:"stream_bitrate"}),", ",(0,s.jsx)(n.code,{children:"rate"}),", ",(0,s.jsx)(n.code,{children:"mode"}),", ",(0,s.jsx)(n.code,{children:"channels"})," to Podcast Episode objects"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["JSON responses","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Cast bool fields to ",(0,s.jsx)(n.code,{children:"true"})," and ",(0,s.jsx)(n.code,{children:"false"}),' instead of "1" & "0"']}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"total_count"})," to responses to give clients an idea of the total possible objects"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"song_genre"})," to album and artist searches"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"possible_duplicate_album"})," to song search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"mbid_artist"})," to album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"barcode"})," to album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"catalog_number"})," to album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"smartplaylist"})," to album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"duplicate_tracks"})," to album and song search (MIN & MAX id for song search)"]}),"\n",(0,s.jsxs)(n.li,{children:["Alias ",(0,s.jsx)(n.code,{children:"possible_duplicate_album"})," => ",(0,s.jsx)(n.code,{children:"possible_duplicate"})," for album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Alias ",(0,s.jsx)(n.code,{children:"album_genre"})," => ",(0,s.jsx)(n.code,{children:"genre"})," for album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Alias ",(0,s.jsx)(n.code,{children:"mbid_album"})," => ",(0,s.jsx)(n.code,{children:"mbid"})," for album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Alias ",(0,s.jsx)(n.code,{children:"mbid_artist"})," => ",(0,s.jsx)(n.code,{children:"mbid"})," for artist search"]}),"\n",(0,s.jsxs)(n.li,{children:["Alias ",(0,s.jsx)(n.code,{children:"song_genre"})," => ",(0,s.jsx)(n.code,{children:"genre"})," for song search"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-6",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Api6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Renamed ",(0,s.jsx)(n.code,{children:"user_update"})," to ",(0,s.jsx)(n.code,{children:"user_edit"})," (user_update still works and will be depreciated in API7)"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add backwards compatible ",(0,s.jsx)(n.code,{children:"user_edit"})," method to point to ",(0,s.jsx)(n.code,{children:"user_update"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Add all possible plugin preferences to the system list so they can't be deleted"}),"\n",(0,s.jsx)(n.li,{children:"Albums with no album_artist may now return 0 artist called 'Various'"}),"\n",(0,s.jsx)(n.li,{children:"Don't send AlbumDisk objects to the API"}),"\n",(0,s.jsx)(n.li,{children:"Send the authenticated user to all method calls"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["XML responses","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Api6 XML success and error response messages are put in a ",(0,s.jsx)(n.code,{children:"message"})," element (like json)"]}),"\n",(0,s.jsx)(n.li,{children:"For data responses id is the only attribute and everything else is an element"}),"\n",(0,s.jsx)(n.li,{children:"Name was not set as an attribute OR an element so now it's always an element"}),"\n",(0,s.jsx)(n.li,{children:"Return original XML output (that may be malformed) when loadxml fails."}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api6::get_indexes: This method is depreciated and will be removed in ",(0,s.jsx)(n.strong,{children:"API7"})," (Use list instead)"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"removed",children:"Removed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Api6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"preciserating"})," removed from all objects (use rating)"]}),"\n",(0,s.jsx)(n.li,{children:"Remove non-song MBIDs as not relevant to the object"}),"\n",(0,s.jsxs)(n.li,{children:["album_songs remove ",(0,s.jsx)(n.code,{children:"exact"})," as a parameter"]}),"\n",(0,s.jsxs)(n.li,{children:["stream remove ",(0,s.jsx)(n.code,{children:"podcast"})," as a valid ",(0,s.jsx)(n.code,{children:"type"})," value"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"preference_create: don't allow creating 'system' preferences"}),"\n",(0,s.jsxs)(n.li,{children:["Warning of depreciated methods from API5 have been removed from API6","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api6::tag"}),"\n",(0,s.jsx)(n.li,{children:"Api6::tags"}),"\n",(0,s.jsx)(n.li,{children:"Api6::tag_albums"}),"\n",(0,s.jsx)(n.li,{children:"Api6::tag_artists"}),"\n",(0,s.jsx)(n.li,{children:"Api6::tag_songs"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-7",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"advanced_search methods were breaking with various offset and limits"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api6 JSON","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Share and Bookmark object id's were not strings"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api3","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Never send 0 ratings. They should always be null (e.g. ",(0,s.jsx)(n.code,{children:"<rating/>"}),")"]}),"\n",(0,s.jsx)(n.li,{children:"Artists method parameters were incorrect"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-564",children:"API 5.6.4"}),"\n",(0,s.jsx)(n.h3,{id:"fixed-8",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fixed Bearer token auth on all methods"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API4","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fix lots of Runtime Error's on missing optional data"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fix lots of Runtime Error's on missing optional data"}),"\n",(0,s.jsxs)(n.li,{children:["genre_artists, genre_albums, genre_songs: Parameter ",(0,s.jsx)(n.code,{children:"filter"})," runtime errors"]}),"\n",(0,s.jsx)(n.li,{children:"bookmark_edit, bookmark_create: Missing user in the object data"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-563",children:"API 5.6.3"}),"\n",(0,s.jsx)(n.h3,{id:"added-8",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API5::playlist_songs: Add ",(0,s.jsx)(n.code,{children:"random"})," to get random objects filtered by limit"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-9",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"handshake: runtime errors with bad username"}),"\n",(0,s.jsx)(n.li,{children:"handshake: Don't error on empty data counts"}),"\n",(0,s.jsx)(n.li,{children:"ping: Don't error on empty data counts"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API4","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["share_create: null ",(0,s.jsx)(n.code,{children:"expires"})," fall back to ",(0,s.jsx)(n.code,{children:"share_expire"})," or 7 days"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["share_create: null ",(0,s.jsx)(n.code,{children:"expires"})," fall back to ",(0,s.jsx)(n.code,{children:"share_expire"})," or 7 days"]}),"\n",(0,s.jsx)(n.li,{children:"preference_edit: Could apply to the wrong user"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-562",children:"API 5.6.2"}),"\n",(0,s.jsx)(n.h3,{id:"fixed-10",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Require and set a valid version for ",(0,s.jsx)(n.code,{children:"api_force_version"})]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-561",children:"API 5.6.1"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-560",children:"API 5.6.0"}),"\n",(0,s.jsx)(n.h3,{id:"fixed-11",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["ALL","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"share_create and share_edit methods broken when setting expiry days"}),"\n",(0,s.jsx)(n.li,{children:"advanced_search methods were breaking with various offset and limits"}),"\n",(0,s.jsx)(n.li,{children:"playlists methods parameter 'exact' always ending up false"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"update_art hardcoded url to artist"}),"\n",(0,s.jsx)(n.li,{children:"Typo in song bitrate xml"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-556",children:"API 5.5.6"}),"\n",(0,s.jsx)(n.p,{children:"Fix various runtime errors and incorrect parameters for responses."}),"\n",(0,s.jsx)(n.h3,{id:"changed-7",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"API browses all point to the Api class"}),"\n",(0,s.jsxs)(n.li,{children:["Use ",(0,s.jsx)(n.code,{children:"FILTER_VALIDATE_IP"})," on ping calls"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-12",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Api5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"songs"})," set_filter call without browse parameter may have lost info"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"get_indexes"})," set album_artist filter correctly"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"artists"})," set album_artist filter correctly"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"share_create"})," undefined filter check"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api4","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"songs"})," set_filter call without browse parameter may have lost info"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"get_indexes"})," set album_artist filter correctly"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"timeline"})," incorrect JSON attribute ",(0,s.jsx)(n.code,{children:"data"})," instead of ",(0,s.jsx)(n.code,{children:"date"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"catalogs"})," JSON had incorrect data for ",(0,s.jsx)(n.code,{children:"last_add"})," and missing ",(0,s.jsx)(n.code,{children:"enabled"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"albums"})," return an empty response with a bad artist id"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"download"}),' url parameter order matching "client, action, cache"']}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"catalogs"})," undefined filter check"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"podcast"})," undefined filter check"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"podcast_edit"})," undefined filter check"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"podcasts"})," undefined filter check"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"share_create"})," undefined filter check"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"share_edit"})," undefined filter check"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api3","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"album_songs"})," return an empty response with a bad album id"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"artist_albums"})," return an empty response with a bad artist id"]}),"\n",(0,s.jsxs)(n.li,{children:["Calls to ",(0,s.jsx)(n.code,{children:"songs"})," with user ID instead of user object"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-554",children:"API 5.5.4"}),"\n",(0,s.jsx)(n.h3,{id:"fixed-13",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"User count in Api::ping and Api::handshake was doubled"}),"\n",(0,s.jsx)(n.li,{children:"Api3::stats method had incorrect recent parameters"}),"\n",(0,s.jsxs)(n.li,{children:["Ensure the output ",(0,s.jsx)(n.code,{children:"bitrate"})," and ",(0,s.jsx)(n.code,{children:"mime"})," are set for song objects"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-553",children:"API 5.5.3"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-552",children:"API 5.5.2"}),"\n",(0,s.jsx)(n.h3,{id:"added-9",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"song_artist"})," as a search type (uses artist rules)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"album_artist"})," as a search type (uses artist rules)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"song_genre"}),", ",(0,s.jsx)(n.code,{children:"mbid_artist"}),", ",(0,s.jsx)(n.code,{children:"mbid_song"})," to album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"song_genre"}),", ",(0,s.jsx)(n.code,{children:"mbid_album"}),", ",(0,s.jsx)(n.code,{children:"mbid_song"})," to artist search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"possible_duplicate_album"})," to song search"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-14",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"unable to retrieve song_artist or album_artist results"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-551",children:"API 5.5.1"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-550",children:"API 5.5.0"}),"\n",(0,s.jsx)(n.h3,{id:"added-10",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Api::stream add new types ",(0,s.jsx)(n.code,{children:"playlist"})," and ",(0,s.jsx)(n.code,{children:"search"})," (Streams a random object from these lists)"]}),"\n",(0,s.jsxs)(n.li,{children:["Api::download add new types ",(0,s.jsx)(n.code,{children:"playlist"})," and ",(0,s.jsx)(n.code,{children:"search"})]}),"\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"podcast"})," as a search type","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"title"})]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"podcast_episode"})," (Search by podcast episode name)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"time"})," (Episode length in minutes)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"state"})," (Completed, Pending Skipped)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"file"})]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"added"})]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"pubdate"})," (Episode Publication Date)"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"podcast_episode"})," as a search type","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"title"})]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"podcast"})," (Search by podcast name)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"time"})," (Length in minutes)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"state"})," (Completed, Pending Skipped)"]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"file"})]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"added"})]}),"\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"pubdate"})," (Publication Date)"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"genre"})," as a search type","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add rule ",(0,s.jsx)(n.code,{children:"title"})]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-15",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"API4::get_indexes podcast_episode was encoding into the API5 object"}),"\n",(0,s.jsx)(n.li,{children:"API4::share_create was unable to share when using lowercase types"}),"\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Added missing ",(0,s.jsx)(n.code,{children:"song"})," (was ",(0,s.jsx)(n.code,{children:"song_title"}),") to album searches"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api--541",children:"API  5.4.1"}),"\n",(0,s.jsx)(n.h3,{id:"added-11",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Include ",(0,s.jsx)(n.code,{children:"lyrics"})," in Song objects"]}),"\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"file"})," to album and artist search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"track"})," to song search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"summary"})," to artist search"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-540",children:"API 5.4.0"}),"\n",(0,s.jsx)(n.h3,{id:"added-12",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"file"})," to album and artist search"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-533",children:"API 5.3.3"}),"\n",(0,s.jsx)(n.h3,{id:"added-13",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"song_title"})," to album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"album_title"})," and ",(0,s.jsx)(n.code,{children:"song_title"})," to artist search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"orphaned_album"})," to song search"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-532",children:"API 5.3.2"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-531",children:"API 5.3.1"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-530",children:"API 5.3.0"}),"\n",(0,s.jsx)(n.h3,{id:"added-14",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["advanced_search:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"songrating"})," to album search (My Rating (Song))"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"songrating"})," (My Rating (Song)) and ",(0,s.jsx)(n.code,{children:"albumrating"})," (My Rating (Album)) to artist search"]}),"\n",(0,s.jsx)(n.li,{children:"Allow empty/null searches for all mbid searches"}),"\n",(0,s.jsx)(n.li,{children:"Allow empty/null searches for label searches"}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"song_count"})," to album and artist search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"album_count"})," to artist search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"myplayedartist"})," (Played by Me (Artist)) to album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"song_artist"})," to album search"]}),"\n",(0,s.jsxs)(n.li,{children:["Add alias ",(0,s.jsx)(n.code,{children:"album_artist"})," to album search for ",(0,s.jsx)(n.code,{children:"artist"})," searches"]}),"\n",(0,s.jsxs)(n.li,{children:["Add ",(0,s.jsx)(n.code,{children:"recent_added"})," to album search"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-521",children:"API 5.2.1"}),"\n",(0,s.jsx)(n.h3,{id:"changed-8",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Return the xml total_count of playlists based on hide_search preference"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-16",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API4","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"update_from_tags: type case error"}),"\n",(0,s.jsx)(n.li,{children:"rate: Object type to class mapping"}),"\n",(0,s.jsx)(n.li,{children:"flag: Object type to class mapping"}),"\n",(0,s.jsx)(n.li,{children:"update_art: Object type to class mapping and type case check"}),"\n",(0,s.jsx)(n.li,{children:"update_from_tags: Object type to class mapping"}),"\n",(0,s.jsx)(n.li,{children:"genre and tag function compatibility"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API3","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"stats: incorrect getRandom call"}),"\n",(0,s.jsx)(n.li,{children:"rate: Object type to class mapping"}),"\n",(0,s.jsx)(n.li,{children:"playlist: bad escaping on the playlist id"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-520",children:"API 5.2.0"}),"\n",(0,s.jsxs)(n.p,{children:["Check out the docs for multi API support at ",(0,s.jsx)(n.a,{href:"https://ampache.org/api/",children:"ampache.org"})]}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"note"})," JSON didn't exist for API3 so all json requests from API3 calls will revert to API5"]}),"\n",(0,s.jsx)(n.h3,{id:"added-15",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Support for API3, API4 and API5 responses including PHP8 support (keeps original tag calls)"}),"\n",(0,s.jsxs)(n.li,{children:["API5","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"playlists: sql for searches wasn't filtering"}),"\n",(0,s.jsx)(n.li,{children:"playlists: add parameter 'show_dupes' if true ignore 'api_hide_dupe_searches' setting"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API4","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"playlists: add parameter 'show_dupes' if true ignore 'api_hide_dupe_searches' setting"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["API3","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Added genre calls as an alias to tag functions to match API4 and API5"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-511",children:"API 5.1.1"}),"\n",(0,s.jsx)(n.h3,{id:"fixed-17",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Access to podcast_episode_delete"}),"\n",(0,s.jsx)(n.li,{children:"stats calls with an offest and limit"}),"\n",(0,s.jsx)(n.li,{children:"advanced_search calls with an offset and limit"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-510",children:"API 5.1.0"}),"\n",(0,s.jsx)(n.h3,{id:"added-16",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["NEW API functions","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api::live_stream (get a radio stream by id)"}),"\n",(0,s.jsx)(n.li,{children:"Api::live_streams"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Api::stream Added type 'podcast_episode' ('podcast' to be removed in Ampache 6.0.0)"}),"\n",(0,s.jsx)(n.li,{children:"Add 'time' and 'size' to all podcast_episode responses"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-9",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"live_stream objects added 'catalog' and 'site_url'"}),"\n",(0,s.jsx)(n.li,{children:"stats: additional type values: 'video', 'playlist', 'podcast', 'podcast_episode'"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-18",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"get_indexes: JSON didn't think live_streams was valid (it is)"}),"\n",(0,s.jsx)(n.li,{children:"record_play: user is optional"}),"\n",(0,s.jsx)(n.li,{children:"Bad xml tags in deleted functions"}),"\n",(0,s.jsx)(n.li,{children:"scrobble: Add song_mbid, artist_mbid, album_mbid (docs have no '_' so support both)"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-500",children:"API 5.0.0"}),"\n",(0,s.jsx)(n.p,{children:"All API code that used 'Tag' now references 'Genre' instead"}),"\n",(0,s.jsx)(n.p,{children:'This version of the API is the first semantic version. "5.0.0"'}),"\n",(0,s.jsx)(n.h3,{id:"added-17",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Add global playcount to podcast_episode and video responses"}),"\n",(0,s.jsx)(n.li,{children:"searches (the number of saved smartlists) added to the handshake/ping response"}),"\n",(0,s.jsxs)(n.li,{children:["NEW API functions","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api::song_delete (Delete files when you are allowed to)"}),"\n",(0,s.jsx)(n.li,{children:"Api::user_preferences (Get your user preferences)"}),"\n",(0,s.jsx)(n.li,{children:"Api::user_preference (Get your preference by name)"}),"\n",(0,s.jsx)(n.li,{children:"Api::system_update (Check Ampache for updates and run the update if there is one.)"}),"\n",(0,s.jsx)(n.li,{children:"Api::system_preferences (Preferences for the system user)"}),"\n",(0,s.jsx)(n.li,{children:"Api::system_preference (Get a system preference by name)"}),"\n",(0,s.jsx)(n.li,{children:"Api::preference_create (Add a new preference to Ampache)"}),"\n",(0,s.jsx)(n.li,{children:"Api::preference_edit (Edit a preference value by name; optionally apply to all users)"}),"\n",(0,s.jsx)(n.li,{children:"Api::preference_delete (Delete a preference by name)"}),"\n",(0,s.jsx)(n.li,{children:"Api::labels (list your record labels)"}),"\n",(0,s.jsx)(n.li,{children:"Api::label (get a label by id)"}),"\n",(0,s.jsx)(n.li,{children:"Api::label_artists (get all artists attached to that label)"}),"\n",(0,s.jsx)(n.li,{children:"Api::get_bookmark (See if you've previously played the file)"}),"\n",(0,s.jsx)(n.li,{children:"Api::bookmarks (List all bookmarks created by your account)"}),"\n",(0,s.jsx)(n.li,{children:"Api::bookmark_create (Create a bookmark to allow revisting later)"}),"\n",(0,s.jsx)(n.li,{children:"Api::bookmark_edit (Edit a bookmark)"}),"\n",(0,s.jsx)(n.li,{children:"Api::bookmark_delete (Delete a bookmark by object id, type, user and client name)"}),"\n",(0,s.jsx)(n.li,{children:"Api::localplay_songs (Get the list of songs in your localplay instance)"}),"\n",(0,s.jsx)(n.li,{children:"API::deleted_songs"}),"\n",(0,s.jsx)(n.li,{children:"API::deleted_podcast_episodes"}),"\n",(0,s.jsx)(n.li,{children:"API::deleted_videos"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-10",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"The API version matches release version '5.0.0'"}),"\n",(0,s.jsx)(n.li,{children:"A backcompatible version (500000) is sent when using old api versions"}),"\n",(0,s.jsxs)(n.li,{children:["handshake and ping counts now return the actual object counts for playlists","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"'playlists' => $counts['playlist'],"}),"\n",(0,s.jsx)(n.li,{children:"'searches' => $counts['search'],"}),"\n",(0,s.jsx)(n.li,{children:"'playlists_searches' => $counts['playlist'] + $counts['search']"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Renamed functions:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"tags => genres"}),"\n",(0,s.jsx)(n.li,{children:"tag => genre"}),"\n",(0,s.jsx)(n.li,{children:"tag_artists => genre_artists"}),"\n",(0,s.jsx)(n.li,{children:"tag_albums => genre_albums"}),"\n",(0,s.jsx)(n.li,{children:"tag_songs => genre_songs"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Don't allow duplicate podcast feeds"}),"\n",(0,s.jsx)(n.li,{children:"Make filter optional in shares, genre_artists, genre_albums, genre_songs (Used as a general catch all method like genres)"}),"\n",(0,s.jsxs)(n.li,{children:["Error Codes and response structure has changed","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"4700 Access Control not Enabled"}),"\n",(0,s.jsx)(n.li,{children:"4701 Received Invalid Handshake"}),"\n",(0,s.jsx)(n.li,{children:"4703 Access Denied"}),"\n",(0,s.jsx)(n.li,{children:"4704 Not Found"}),"\n",(0,s.jsx)(n.li,{children:"4705 Missing Method"}),"\n",(0,s.jsx)(n.li,{children:"4706 Depreciated Method"}),"\n",(0,s.jsx)(n.li,{children:"4710 Bad Request"}),"\n",(0,s.jsx)(n.li,{children:"4742 Failed Access Check"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"stats: Removed back compat from older versions. Only 'type' is mandatory"}),"\n",(0,s.jsx)(n.li,{children:"Return empty objects when the request was correct but the results were empty"}),"\n",(0,s.jsx)(n.li,{children:"Don't transcode podcast_episodes"}),"\n",(0,s.jsxs)(n.li,{children:["localplay","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"added 'track' parameter used by 'skip' commands to go to the playlist track (playlist starts at 1)"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"system_update: update the database if required as well"}),"\n",(0,s.jsx)(n.li,{children:"playlist_edit: added 'owner' as an optional parameter (Change playlist owner to the user id)"}),"\n",(0,s.jsx)(n.li,{children:"catalog_file: Allow comma-separate task values. (good for API inotify scripts)"}),"\n",(0,s.jsx)(n.li,{children:'podcast_episode object "pubdate" has been changed to ISO 8601 date (2004-02-12T15:19:21+00:00)'}),"\n",(0,s.jsx)(n.li,{children:'podcast object "build_date" and "sync_date" have also been changed to ISO 8601 date'}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-19",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"catalog_file: Couldn't add files"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-442",children:"API 4.4.2"}),"\n",(0,s.jsx)(n.h3,{id:"fixed-20",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"API::indexes Artist albums were being added incorrectly for XML"}),"\n",(0,s.jsx)(n.li,{children:"Send back the full album name in responses"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-441",children:"API 4.4.1"}),"\n",(0,s.jsx)(n.h3,{id:"fixed-21",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"API::stats would not offset recent calls"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-440",children:"API 4.4.0"}),"\n",(0,s.jsx)(n.h3,{id:"added-18",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["NEW API functions","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api::users (ID and Username of the site users)"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Api::localplay added new options to 'command' ('pause', 'add', 'volume_up', 'volume_down', 'volume_mute', 'delete_all', 'skip')"}),"\n",(0,s.jsxs)(n.li,{children:["Api::localplay added parameters:","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"'oid' (integer) object_id to add //optional"}),"\n",(0,s.jsx)(n.li,{children:"'type' (string) Default: 'Song' ('Song', 'Video', 'Podcast_Episode', 'Channel', 'Broadcast', 'Democratic', 'Live_Stream') //optional"}),"\n",(0,s.jsx)(n.li,{children:"'clear' (integer) 0|1 clear the current playlist on add //optional"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Api::playlist_edit added new parameter 'sort': (0,1) sort the playlist by 'Artist, Album, Song' //optional"}),"\n",(0,s.jsxs)(n.li,{children:["Api::get_indexes","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"New type options: 'album_artist', 'podcast', 'podcast_episode', 'share', 'video'"}),"\n",(0,s.jsx)(n.li,{children:"Added parameter 'include': (0,1) (add the extra songs details if a playlist or podcast_episodes if a podcast)"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Api::rate - Added types 'playlist', 'podcast', 'podcast_episode', 'video', 'tvshow', 'tvshow_season'"}),"\n",(0,s.jsx)(n.li,{children:"Api::flag - Added types 'podcast', 'podcast_episode', 'video', 'tvshow', 'tvshow_season'"}),"\n",(0,s.jsx)(n.li,{children:"Add time to artist and album objects. (total time of all songs in seconds)"}),"\n",(0,s.jsx)(n.li,{children:"Add songcount, albumcount to artist objects. (time in seconds)"}),"\n",(0,s.jsx)(n.li,{children:"Add songcount to album objects. (time in seconds)"}),"\n",(0,s.jsx)(n.li,{children:"Add type (release_type) to album objects"}),"\n",(0,s.jsx)(n.li,{children:"Add disk to song objects"}),"\n",(0,s.jsx)(n.li,{children:"Add time to video objects. (time in seconds)"}),"\n",(0,s.jsx)(n.li,{children:"Add title, mime, catalog to podcast_episodes"}),"\n",(0,s.jsx)(n.li,{children:"Api::advanced_search Add 'playlist', 'user' and 'video' to search types"}),"\n",(0,s.jsxs)(n.li,{children:["Api::handshake added extra total counts to the response","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"users, tags, podcasts, podcast_episodes, shares, licenses, live_streams, labels"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Api::ping match the handshake response (excluding the auth token)"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-11",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"get_indexes: 'playlist' now requires include=1 for xml calls if you want the tracks"}),"\n",(0,s.jsx)(n.li,{children:"Make filter optional in shares"}),"\n",(0,s.jsxs)(n.li,{children:["Api::podcast_episodes","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:'"url" is now a play url (instead of a link to the episode)'}),"\n",(0,s.jsx)(n.li,{children:'"public_url" is now the old episode link'}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-22",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api::podcast_edit wasn't able to edit a podcast..."}),"\n",(0,s.jsx)(n.li,{children:"Api::democratic was using action from localplay in the return responses"}),"\n",(0,s.jsx)(n.li,{children:"get_indexes for XML didn't include podcast indexes"}),"\n",(0,s.jsx)(n.li,{children:"Set OUTDATED_DATABASE_OK on image.php, play/index.php and share.php to stop blocking requests"}),"\n",(0,s.jsx)(n.li,{children:"Don't limit sub items when using a limit (e.g return all podcast episodes when selecting a podcast)"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"deprecated",children:"Deprecated"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Dropped in API 5.0.0","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api::get_indexes; stop including playlist track and id in xml by default"}),"\n",(0,s.jsx)(n.li,{children:'Album objects: "tracks" will only include track details. Use "songcount"'}),"\n",(0,s.jsx)(n.li,{children:'Artist objects: "albums", "songs" will only include track details Use "albumcount" and "songcount"'}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-430",children:"API 4.3.0"}),"\n",(0,s.jsx)(n.h3,{id:"changed-12",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Api::record_play","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Make 'user' parameter optional"}),"\n",(0,s.jsxs)(n.li,{children:["Allow 'user' to the be user_id ",(0,s.jsx)(n.strong,{children:"or"})," the username string"]}),"\n",(0,s.jsx)(n.li,{children:"Add 'date' parameter (optional)"}),"\n",(0,s.jsx)(n.li,{children:"Require 100 (Admin) permission to record plays for other users"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api::get_indexes","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Add 'hide_search' parameter (optional)"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["Api::playlists","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Add 'hide_search' parameter (optional)"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Setting a limit of 'none' would slice away all the results"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-426",children:"API 4.2.6"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-425",children:"API 4.2.5"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-424",children:"API 4.2.4"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-423",children:"API 4.2.3"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.strong,{children:"NO CHANGE"})}),"\n",(0,s.jsx)(n.h2,{id:"api-422",children:"API 4.2.2"}),"\n",(0,s.jsx)(n.p,{children:"Minor bugfixes"}),"\n",(0,s.jsx)(n.h3,{id:"added-19",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api::advanced_search added parameter 'random' (0|1) to shuffle your searches"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-13",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Remove spaces from advanced_search rule names. (Backwards compatible with old names)","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"'has image' => 'has_image'"}),"\n",(0,s.jsx)(n.li,{children:"'image height' => 'image_height'"}),"\n",(0,s.jsx)(n.li,{children:"'image width' => 'image_width'"}),"\n",(0,s.jsx)(n.li,{children:"'filename' => 'file' (Video search)"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"deprecated-1",children:"Deprecated"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Search rules 'has image', 'image height', 'image width', 'filename'. (Removed in Ampache 5.0.0)"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-23",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api::stream, Api::download Api::playlist_generate 'format' parameter was overwritten with 'xml' or 'json'"}),"\n",(0,s.jsx)(n.li,{children:"Produce valid XML for playlist_generate using the 'id' format in XML"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-421",children:"API 4.2.1"}),"\n",(0,s.jsx)(n.p,{children:"No functional changes from 4.2.0"}),"\n",(0,s.jsx)(n.h3,{id:"fixed-24",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:'Filter in "playlist" and "playlist_songs" fixed'}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-420",children:"API 4.2.0"}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.strong,{children:"API versions will follow release version and no longer use builds in the integer versions (e.g. 420000)"}),"\nAPI 5.0.0-release will be the first Ampache release to match the release string."]}),"\n",(0,s.jsx)(n.h3,{id:"added-20",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["JSON API now available!","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Call xml as normal: ",(0,s.jsx)(n.code,{children:"http://music.com.au/server/xml.server.php?action=handshake&auth=APIKEY&version=420000"})]}),"\n",(0,s.jsxs)(n.li,{children:["Call the JSON server: ",(0,s.jsx)(n.code,{children:"http://music.com.au/server/json.server.php?action=handshake&auth=APIKEY&version=420000"})]}),"\n",(0,s.jsxs)(n.li,{children:["Example XML and JSON responses available ",(0,s.jsx)(n.a,{href:"https://github.com/ampache/python3-ampache/tree/master/docs",children:"here"})]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["NEW API functions","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"get_similar: send artist or song id to get related objects from last.fm"}),"\n",(0,s.jsx)(n.li,{children:"shares: get a list of shares you can access"}),"\n",(0,s.jsx)(n.li,{children:"share: get a share by id"}),"\n",(0,s.jsx)(n.li,{children:"share_create: create a share"}),"\n",(0,s.jsx)(n.li,{children:"share_edit: edit an existing share"}),"\n",(0,s.jsx)(n.li,{children:"share_delete: delete an existing share"}),"\n",(0,s.jsx)(n.li,{children:"podcasts: get a list of podcasts you can access"}),"\n",(0,s.jsx)(n.li,{children:"podcast: get a podcast by id"}),"\n",(0,s.jsx)(n.li,{children:"podcast_episodes: get a list of podcast_episodes you can access"}),"\n",(0,s.jsx)(n.li,{children:"podcast_episode: get a podcast_episode by id"}),"\n",(0,s.jsx)(n.li,{children:"podcast_episode_delete: delete an existing podcast_episode"}),"\n",(0,s.jsx)(n.li,{children:"podcast_create: create a podcast"}),"\n",(0,s.jsx)(n.li,{children:"podcast_edit: edit an existing podcast"}),"\n",(0,s.jsx)(n.li,{children:"podcast_delete: delete an existing podcast"}),"\n",(0,s.jsx)(n.li,{children:"update_podcast: sync and download new episodes"}),"\n",(0,s.jsx)(n.li,{children:"licenses: get a list of licenses you can access"}),"\n",(0,s.jsx)(n.li,{children:"license: get a license by id"}),"\n",(0,s.jsx)(n.li,{children:"catalogs: get all the catalogs"}),"\n",(0,s.jsx)(n.li,{children:"catalog: get a catalog by id"}),"\n",(0,s.jsx)(n.li,{children:"catalog_file: clean, add, verify using the file path (good for scripting)"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-14",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Bump API version to 420000 (4.2.0)"}),"\n",(0,s.jsxs)(n.li,{children:["All calls that return songs now include ",(0,s.jsx)(n.code,{children:"<playlisttrack>"})," which can be used to identify track order."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"<playcount>"})," added to objects with a playcount."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.code,{children:"<license>"})," added to song objects."]}),"\n",(0,s.jsx)(n.li,{children:"Don't gather art when adding songs"}),"\n",(0,s.jsx)(n.li,{children:"Added actions to catalog_action. 'verify_catalog' 'gather_art'"}),"\n",(0,s.jsxs)(n.li,{children:['API function "playlist_edit": added ability to edit playlist items',"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"items  = (string) comma-separated song_id's (replace existing items with a new object_id) //optional"}),"\n",(0,s.jsx)(n.li,{children:"tracks = (string) comma-separated playlisttrack numbers matched to items in order //optional"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Random albums will get songs for all disks if album_group enabled"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"deprecated-2",children:"Deprecated"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["API Build number is depreciated (the last 3 digits of the api version)","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:'API 5.0.0 will be released with a string version ("5.0.0-release")'}),"\n",(0,s.jsx)(n.li,{children:"All future 4.x.x API versions will follow the main Ampache version. (420000, 421000, 422000)"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.del,{children:"total_count in the XML API is depreciated and will be removed in API 5.0.0."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["XML can count objects the same was as a JSON array [",(0,s.jsx)(n.a,{href:"https://www.php.net/manual/en/simplexmlelement.count.php",children:"https://www.php.net/manual/en/simplexmlelement.count.php"}),"]"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.del,{children:"Genre in songs is depreciated and will be removed in API 5.0.0."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Use tag instead of genre, tag provides a genre ID as well as the name."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-25",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Extra text in catalog API calls"}),"\n",(0,s.jsx)(n.li,{children:"Don't fail the API calls when the database needs updating"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-400-build-004",children:"API 4.0.0 build 004"}),"\n",(0,s.jsx)(n.p,{children:"Bump API version to 400004 (4.0.0 build 004)"}),"\n",(0,s.jsx)(n.h3,{id:"added-21",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Add Api::check_access to warn when you can't access a function"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-26",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fix parameters using 0"}),"\n",(0,s.jsx)(n.li,{children:"Get the correct total_count in xml when you set a limit"}),"\n",(0,s.jsx)(n.li,{children:"Fix many XML formatting issues"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-400-build-003",children:"API 4.0.0 build 003"}),"\n",(0,s.jsx)(n.p,{children:"Bump API version to 400003 (4.0.0 build 003)"}),"\n",(0,s.jsx)(n.h3,{id:"added-22",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["user_numeric searches also available in the API. ([",(0,s.jsx)(n.a,{href:"https://ampache.org/api/api-xml-methods",children:"https://ampache.org/api/api-xml-methods"}),"])"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-15",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Api::playlist - filter mandatory"}),"\n",(0,s.jsx)(n.li,{children:"Api::playlist_edit - filter mandatory. name and type now optional"}),"\n",(0,s.jsx)(n.li,{children:"Api::user - Extend return values to include more user fields"}),"\n",(0,s.jsx)(n.li,{children:"Playlist::create - Return duplicate playlist ID instead of creating a new one"}),"\n",(0,s.jsx)(n.li,{children:"Do not limit smartlists based on item count (return everything you can access)"}),"\n",(0,s.jsx)(n.li,{children:"Api/Database - Add last_count for search table to speed up access in API"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"removed-1",children:"Removed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Artist::check - Remove MBID from Various Artist objects"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"fixed-27",children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Fix Song::update_song for label"}),"\n",(0,s.jsx)(n.li,{children:"Fix Api issues relating to playlist access"}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"api-400-build-001",children:"API 4.0.0 build 001"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Bump API version to 400002 (4.0.0 build 001)"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"added-23",children:"Added"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Documented the Ampache API [",(0,s.jsx)(n.a,{href:"https://ampache.org/api/api-xml-methods",children:"https://ampache.org/api/api-xml-methods"}),"]"]}),"\n",(0,s.jsx)(n.li,{children:"Include smartlists in the API playlist calls."}),"\n",(0,s.jsxs)(n.li,{children:["Authentication: allow sha256 encrypted apikey for auth","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"You must send an encrypted api key in the following fashion. (Hash key joined with username)"}),"\n",(0,s.jsx)(n.li,{children:"$passphrase = hash('sha256', $username . hash('sha256', $apikey));"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"Added artist_tag to song searches"}),"\n",(0,s.jsx)(n.li,{children:"flag: allows flagging object by id & type"}),"\n",(0,s.jsx)(n.li,{children:"record_play: allows recording play of object without streaming"}),"\n",(0,s.jsx)(n.li,{children:"catalog_action: allow running add_to_catalog|clean_catalog"}),"\n",(0,s.jsx)(n.li,{children:"playlist_edit: allow editing name and type of playlist"}),"\n",(0,s.jsx)(n.li,{children:"goodbye: Destroy session"}),"\n",(0,s.jsx)(n.li,{children:"get_indexes: return simple index lists to allow a quicker library fill."}),"\n",(0,s.jsx)(n.li,{children:"check_parameter: error when mandatory inputs are missing"}),"\n",(0,s.jsx)(n.li,{children:"stream: Raw stream of song_id"}),"\n",(0,s.jsx)(n.li,{children:"download: Download, not recorded as a play"}),"\n",(0,s.jsx)(n.li,{children:"get_art: Raw art file like subsonic getCoverArt"}),"\n",(0,s.jsx)(n.li,{children:"user_create: 'user' access level only!"}),"\n",(0,s.jsx)(n.li,{children:"user_update: update user details and passwords for non-admins"}),"\n",(0,s.jsx)(n.li,{children:"user_delete: you can't delete yourself or and admin account!"}),"\n",(0,s.jsx)(n.li,{children:"update_from_tags: updates a single album, artist, song from the tag data instead of the entire library!"}),"\n",(0,s.jsx)(n.li,{children:"update_art: updates a single album, artist, song running the gather_art process"}),"\n",(0,s.jsx)(n.li,{children:"update_artist_info: Update artist information and fetch similar artists from last.fm"}),"\n",(0,s.jsx)(n.li,{children:"playlist_generate: Get a list of song xml, indexes or id's based on some simple search criteria. care of @4phun"}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"changed-16",children:"Changed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Authentication: Require a handshake and generate unique sessions at all times"}),"\n",(0,s.jsxs)(n.li,{children:["advanced_search","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"'is not' has been added shifting values down the list.\n(0=contains, 1=does not contain, 2=starts with, 3=ends with, 4=is, 5=is not, 6=sounds like, 7=does not sound like)"}),"\n",(0,s.jsx)(n.li,{children:"rule_1['name'] is depreciated. Instead of multiple searches for the same thing rule_1'name'\nhas been replaced with 'title' (I have put a temp workaround into the search rules to alleviate this change)"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["stats","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"allow songs|artists|albums (instead of just albums)"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["playlists","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"allow return of smartlists as well as regular playlists (set a 5000 limit on unlimited smartlists)"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["playlist_add_song","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Added check boolean to skip duplicate songs"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["playlist_remove_song","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Allow uid of song instead of the track id from the playlist"}),"\n"]}),"\n"]}),"\n"]})]})}function o(e={}){const{wrapper:n}={...(0,l.RP)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},8453:(e,n,i)=>{i.d(n,{RP:()=>d,xA:()=>a});var s=i(6540);const l=s.createContext({});function d(e){const n=s.useContext(l);return s.useMemo((()=>"function"==typeof e?e(n):{...n,...e}),[n,e])}const r={};function a({components:e,children:n,disableParentContext:i}){let a;return a=i?"function"==typeof e?e({}):e||r:d(e),s.createElement(l.Provider,{value:a},n)}}}]);
\ No newline at end of file
diff --git a/api/assets/js/dabe12fe.007388fa.js b/api/assets/js/dabe12fe.8940c614.js
similarity index 95%
rename from api/assets/js/dabe12fe.007388fa.js
rename to api/assets/js/dabe12fe.8940c614.js
index 2640f3f7..1bd56a15 100644
--- a/api/assets/js/dabe12fe.007388fa.js
+++ b/api/assets/js/dabe12fe.8940c614.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkampache_org_api=self.webpackChunkampache_org_api||[]).push([[3403],{6982:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>h,contentTitle:()=>i,default:()=>a,frontMatter:()=>l,metadata:()=>d,toc:()=>c});var n=t(4848),r=t(8453);const l={title:"XML Methods",metaTitle:"XML Methods",description:"API documentation"},i=void 0,d={id:"api-xml-methods",title:"XML Methods",description:"API documentation",source:"@site/docs/api-xml-methods.md",sourceDirName:".",slug:"/api-xml-methods",permalink:"/api/api-xml-methods",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{title:"XML Methods",metaTitle:"XML Methods",description:"API documentation"},sidebar:"api",previous:{title:"Standards",permalink:"/api/api-standards"},next:{title:"JSON Methods",permalink:"/api/api-json-methods"}},h={},c=[{value:"Auth Methods",id:"auth-methods",level:2},{value:"handshake",id:"handshake",level:3},{value:"goodbye",id:"goodbye",level:3},{value:"lost_password",id:"lost_password",level:3},{value:"ping",id:"ping",level:3},{value:"register",id:"register",level:3},{value:"Non-Data Methods",id:"non-data-methods",level:2},{value:"system_update",id:"system_update",level:3},{value:"system_preferences",id:"system_preferences",level:3},{value:"users",id:"users",level:3},{value:"user_preferences",id:"user_preferences",level:3},{value:"Data Methods",id:"data-methods",level:2},{value:"advanced_search",id:"advanced_search",level:3},{value:"albums",id:"albums",level:3},{value:"album",id:"album",level:3},{value:"album_songs",id:"album_songs",level:3},{value:"artists",id:"artists",level:3},{value:"artist",id:"artist",level:3},{value:"artist_albums",id:"artist_albums",level:3},{value:"artist_songs",id:"artist_songs",level:3},{value:"bookmarks",id:"bookmarks",level:3},{value:"bookmark",id:"bookmark",level:3},{value:"bookmark_create",id:"bookmark_create",level:3},{value:"bookmark_delete",id:"bookmark_delete",level:3},{value:"bookmark_edit",id:"bookmark_edit",level:3},{value:"browse",id:"browse",level:3},{value:"catalogs",id:"catalogs",level:3},{value:"catalog",id:"catalog",level:3},{value:"catalog_action",id:"catalog_action",level:3},{value:"catalog_add",id:"catalog_add",level:3},{value:"catalog_delete",id:"catalog_delete",level:3},{value:"catalog_file",id:"catalog_file",level:3},{value:"catalog_folder",id:"catalog_folder",level:3},{value:"deleted_podcast_episodes",id:"deleted_podcast_episodes",level:3},{value:"deleted_songs",id:"deleted_songs",level:3},{value:"deleted_videos",id:"deleted_videos",level:3},{value:"flag",id:"flag",level:3},{value:"followers",id:"followers",level:3},{value:"following",id:"following",level:3},{value:"friends_timeline",id:"friends_timeline",level:3},{value:"genres",id:"genres",level:3},{value:"genre",id:"genre",level:3},{value:"genre_albums",id:"genre_albums",level:3},{value:"genre_artists",id:"genre_artists",level:3},{value:"genre_songs",id:"genre_songs",level:3},{value:"get_bookmark",id:"get_bookmark",level:3},{value:"get_indexes",id:"get_indexes",level:3},{value:"get_similar",id:"get_similar",level:3},{value:"index",id:"index",level:3},{value:"labels",id:"labels",level:3},{value:"label",id:"label",level:3},{value:"label_artists",id:"label_artists",level:3},{value:"last_shouts",id:"last_shouts",level:3},{value:"license",id:"license",level:3},{value:"license_songs",id:"license_songs",level:3},{value:"licenses",id:"licenses",level:3},{value:"list",id:"list",level:3},{value:"live_streams",id:"live_streams",level:3},{value:"live_stream",id:"live_stream",level:3},{value:"live_stream_create",id:"live_stream_create",level:3},{value:"live_stream_delete",id:"live_stream_delete",level:3},{value:"live_stream_edit",id:"live_stream_edit",level:3},{value:"now_playing",id:"now_playing",level:3},{value:"player",id:"player",level:3},{value:"playlists",id:"playlists",level:3},{value:"playlist",id:"playlist",level:3},{value:"playlist_add",id:"playlist_add",level:3},{value:"playlist_add_song",id:"playlist_add_song",level:3},{value:"playlist_create",id:"playlist_create",level:3},{value:"playlist_delete",id:"playlist_delete",level:3},{value:"playlist_edit",id:"playlist_edit",level:3},{value:"playlist_generate",id:"playlist_generate",level:3},{value:"playlist_hash",id:"playlist_hash",level:3},{value:"playlist_remove_song",id:"playlist_remove_song",level:3},{value:"playlist_songs",id:"playlist_songs",level:3},{value:"podcast",id:"podcast",level:3},{value:"podcasts",id:"podcasts",level:3},{value:"podcast_create",id:"podcast_create",level:3},{value:"podcast_delete",id:"podcast_delete",level:3},{value:"podcast_edit",id:"podcast_edit",level:3},{value:"podcast_episodes",id:"podcast_episodes",level:3},{value:"podcast_episode",id:"podcast_episode",level:3},{value:"podcast_episode_delete",id:"podcast_episode_delete",level:3},{value:"preference_create",id:"preference_create",level:3},{value:"preference_delete",id:"preference_delete",level:3},{value:"preference_edit",id:"preference_edit",level:3},{value:"rate",id:"rate",level:3},{value:"record_play",id:"record_play",level:3},{value:"scrobble",id:"scrobble",level:3},{value:"search_group",id:"search_group",level:3},{value:"search_songs",id:"search_songs",level:3},{value:"shares",id:"shares",level:3},{value:"share",id:"share",level:3},{value:"share_create",id:"share_create",level:3},{value:"share_delete",id:"share_delete",level:3},{value:"share_edit",id:"share_edit",level:3},{value:"songs",id:"songs",level:3},{value:"song",id:"song",level:3},{value:"song_delete",id:"song_delete",level:3},{value:"stats",id:"stats",level:3},{value:"system_preference",id:"system_preference",level:3},{value:"timeline",id:"timeline",level:3},{value:"toggle_follow",id:"toggle_follow",level:3},{value:"update_art",id:"update_art",level:3},{value:"update_artist_info",id:"update_artist_info",level:3},{value:"update_from_tags",id:"update_from_tags",level:3},{value:"update_podcast",id:"update_podcast",level:3},{value:"url_to_song",id:"url_to_song",level:3},{value:"user",id:"user",level:3},{value:"user_create",id:"user_create",level:3},{value:"user_delete",id:"user_delete",level:3},{value:"user_edit",id:"user_edit",level:3},{value:"user_playlists",id:"user_playlists",level:3},{value:"user_preference",id:"user_preference",level:3},{value:"user_smartlists",id:"user_smartlists",level:3},{value:"videos",id:"videos",level:3},{value:"video",id:"video",level:3},{value:"Binary Data Methods",id:"binary-data-methods",level:2},{value:"stream",id:"stream",level:3},{value:"download",id:"download",level:3},{value:"get_art",id:"get_art",level:3},{value:"Control Methods",id:"control-methods",level:2},{value:"localplay",id:"localplay",level:3},{value:"democratic",id:"democratic",level:3}];function x(e){const s={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.RP)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:"Let's go through come calls and examples that you can do for each XML method."}),"\n",(0,n.jsx)(s.p,{children:"With the exception of Binary methods, all responses will return a HTTP 200 response."}),"\n",(0,n.jsx)(s.p,{children:"Also remember that Binary data methods will not return xml; just the file/data you have requested."}),"\n",(0,n.jsx)(s.p,{children:"Binary methods will also return:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"HTTP 400 responses for a bad or incomplete request"}),"\n",(0,n.jsx)(s.li,{children:"HTTP 404 responses where the requests data was not found"}),"\n",(0,n.jsx)(s.li,{children:"HTTP 416 responses where the stream is unable to return the requested content-range"}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["For information about about how playback works and what a client can expect from Ampache check out ",(0,n.jsx)(s.a,{href:"https://ampache.org/api/api-media-methods",children:"API Media Methods"})]}),"\n",(0,n.jsx)(s.h2,{id:"auth-methods",children:"Auth Methods"}),"\n",(0,n.jsx)(s.p,{children:"Auth methods are used for authenticating or checking the status of your session in an Ampache server."}),"\n",(0,n.jsx)(s.p,{children:"Remember that the auth parameter does not need to be sent as a parameter in the URL."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"https://ampache.org/api/#http-header-authentication",children:"HTTP header authentication"})," is supported for the auth parameter where present."]}),"\n",(0,n.jsx)(s.h3,{id:"handshake",children:"handshake"}),"\n",(0,n.jsx)(s.p,{children:"This is the function that handles verifying a new handshake Takes a timestamp, auth key, and username."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'auth'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$passphrase (Timestamp . Password SHA hash) OR (API Key)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'user'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$username (Required if login/password authentication)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'timestamp'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"UNIXTIME() The timestamp used in seed of password hash"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(Required if login/password authentication)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'version'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$version (API Version that the application understands)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <auth>\n    <api>\n    <session_expire>\n    <update>\n    <add>\n    <clean>\n    <songs>\n    <albums>\n    <artists>\n    <genres>\n    <playlists>\n    <users>\n    <catalogs>\n    <videos>\n    <podcasts>\n    <podcast_episodes>\n    <shares>\n    <licenses>\n    <live_streams>\n    <labels>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/handshake.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"goodbye",children:"goodbye"}),"\n",(0,n.jsx)(s.p,{children:"Destroy a session using the auth parameter."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'auth'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"(Session ID) destroys the session if it exists"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/goodbye.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"lost_password",children:"lost_password"}),"\n",(0,n.jsx)(s.p,{children:"Email a new password to the user (if allowed) using a reset token."}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-php",children:"   $username;\n   $key = hash('sha256', 'email');\n   auth = hash('sha256', $username . $key);\n"})}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'auth'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"password reset token"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.h3,{id:"ping",children:"ping"}),"\n",(0,n.jsx)(s.p,{children:"This can be called without being authenticated, it is useful for determining if what the status of the server is, and what version it is running/compatible with"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'auth'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"(Session ID) returns version information and extends the session if passed"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'version'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$version (API Version that the application understands)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <session_expire>\n    <server>\n    <version>\n    <compatible>\n    <auth>\n    <api>\n    <update>\n    <add>\n    <clean>\n    <songs>\n    <albums>\n    <artists>\n    <genres>\n    <playlists>\n    <users>\n    <catalogs>\n    <videos>\n    <podcasts>\n    <podcast_episodes>\n    <shares>\n    <licenses>\n    <live_streams>\n    <labels>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <server>\n    <version>\n    <compatible>\n</root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/ping.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"register",children:"register"}),"\n",(0,n.jsx)(s.p,{children:"Register as a new user if allowed. (Requires the username, password and email.)"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$username"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'password'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"hash('sha256', $password)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'email'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["e.g. ",(0,n.jsx)(s.code,{children:"user@gmail.com"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'fullname'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.h2,{id:"non-data-methods",children:"Non-Data Methods"}),"\n",(0,n.jsx)(s.p,{children:"These methods take no parameters beyond your auth key to return information"}),"\n",(0,n.jsx)(s.h3,{id:"system_update",children:"system_update"}),"\n",(0,n.jsx)(s.p,{children:"Check Ampache for updates and run the update if there is one."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/system_update.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"system_preferences",children:"system_preferences"}),"\n",(0,n.jsx)(s.p,{children:"Get your server preferences"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <preferences>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/system_preferences.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"users",children:"users"}),"\n",(0,n.jsx)(s.p,{children:"Get ids and usernames for your site"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <user>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/users.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"user_preferences",children:"user_preferences"}),"\n",(0,n.jsx)(s.p,{children:"Get your user preferences"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <preference>\n</root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/user_preferences.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h2,{id:"data-methods",children:"Data Methods"}),"\n",(0,n.jsx)(s.p,{children:"Data methods require additional information and parameters to return information"}),"\n",(0,n.jsx)(s.h3,{id:"advanced_search",children:"advanced_search"}),"\n",(0,n.jsx)(s.p,{children:"Perform an advanced search given passed rules. This works in a similar way to the web/UI search pages.\nYou can pass multiple rules as well as joins to create in depth search results."}),"\n",(0,n.jsx)(s.p,{children:"Rules must be sent in groups of 3 using an int (starting from 1) to designate which rules are combined.\nUse operator ('and', 'or') to choose whether to join or separate each rule when searching."}),"\n",(0,n.jsxs)(s.p,{children:["Refer to the ",(0,n.jsx)(s.a,{href:"https://ampache.org/api/api-advanced-search",children:"Advanced Search"})," page for details about creating searches."]}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," the rules part can be confusing but essentially you can include as many 'arrays' of rules as you want.\nJust add 1 to the rule value to create a new group of rules."]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Mandatory Rule Values","\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"rule_1"}),"\n",(0,n.jsx)(s.li,{children:"rule_1_operator"}),"\n",(0,n.jsx)(s.li,{children:"rule_1_input"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["Optional (Metadata searches ",(0,n.jsx)(s.strong,{children:"only"}),")","\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"rule_1_subtype"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"operator"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"and, or (whether to match one rule or all)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"rule_*"}),(0,n.jsx)(s.td,{children:"array"}),(0,n.jsxs)(s.td,{children:["[",(0,n.jsx)(s.code,{children:"rule_1"}),", ",(0,n.jsx)(s.code,{children:"rule_1_operator"}),", ",(0,n.jsx)(s.code,{children:"rule_1_input"}),"]"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"rule_*"}),(0,n.jsx)(s.td,{children:"array"}),(0,n.jsxs)(s.td,{children:["[",(0,n.jsx)(s.code,{children:"rule_2"}),", ",(0,n.jsx)(s.code,{children:"rule_2_operator"}),", ",(0,n.jsx)(s.code,{children:"rule_2_input"}),"], [etc]"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"type"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"album"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"label"}),", ",(0,n.jsx)(s.code,{children:"playlist"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"podcast"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"genre"}),", ",(0,n.jsx)(s.code,{children:"user"}),", ",(0,n.jsx)(s.code,{children:"video"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"random"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (random order of results; default to 0)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>|<album>|<artist>|<playlist>|<label>|<user>|<video>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:["SONG ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/advanced_search%20(song).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ARTIST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/advanced_search%20(artist).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ALBUM ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/advanced_search%20(album).xml",children:"Example"})]}),"\n",(0,n.jsx)(s.h3,{id:"albums",children:"albums"}),"\n",(0,n.jsx)(s.p,{children:"This returns albums based on the provided search filters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"albums"}),", ",(0,n.jsx)(s.code,{children:"songs"})," (include child objects in the response)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'add'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <album>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/albums.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"album",children:"album"}),"\n",(0,n.jsx)(s.p,{children:"This returns a single album based on the UID provided"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Album, returns album XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"songs"})," (include child objects in the response)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <album>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/album.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"album_songs",children:"album_songs"}),"\n",(0,n.jsx)(s.p,{children:"This returns the songs of a specified album"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Album, returns song XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"comma string pairs (e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/album_songs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"artists",children:"artists"}),"\n",(0,n.jsx)(s.p,{children:"This takes a collection of inputs and returns artist objects."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'add'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"albums"}),", ",(0,n.jsx)(s.code,{children:"songs"})," (include child objects in the response)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'album_artist'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter for album artists only)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <artist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/artists.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"artist",children:"artist"}),"\n",(0,n.jsx)(s.p,{children:"This returns a single artist based on the UID of said artist"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Artist, returns artist XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"albums"}),", ",(0,n.jsx)(s.code,{children:"songs"})," (include child objects in the response)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <artist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/artist.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"artist_albums",children:"artist_albums"}),"\n",(0,n.jsx)(s.p,{children:"This returns the albums of an artist"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Artist, returns Album XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'album_artist'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter for album artists only)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <album>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/artist_albums.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"artist_songs",children:"artist_songs"}),"\n",(0,n.jsx)(s.p,{children:"This returns the songs of the specified artist"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Artist, returns Song XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'top50'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter to the artist top 50)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/artist_songs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"bookmarks",children:"bookmarks"}),"\n",(0,n.jsx)(s.p,{children:"Get information about bookmarked media this user is allowed to manage."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"filter by the agent/client name"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <bookmark>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmarks.xml",children:"Example"}),"\n",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmarks%20(with%20include).xml",children:"Example (with include)"})]}),"\n",(0,n.jsx)(s.h3,{id:"bookmark",children:"bookmark"}),"\n",(0,n.jsx)(s.p,{children:"Get a single bookmark by bookmark_id"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"bookmark_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <bookmark>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmark.xml",children:"Example"}),"\n",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmark%20(with%20include).xml",children:"Example (with include)"})]}),"\n",(0,n.jsx)(s.h3,{id:"bookmark_create",children:"bookmark_create"}),"\n",(0,n.jsx)(s.p,{children:"Create a placeholder for the current media that you can return to later."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$object_id to find"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'position'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"current track time in seconds"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Agent string."}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'date'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"update time (Default: UNIXTIME())"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <bookmark>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmark_create.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"bookmark_delete",children:"bookmark_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete an existing bookmark. (if it exists)"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$object_id to delete"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Agent string."}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmark_delete",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"bookmark_edit",children:"bookmark_edit"}),"\n",(0,n.jsx)(s.p,{children:"Edit a placeholder for the current media that you can return to later."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$object_id to find"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"bookmark"}),", ",(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'position'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"current track time in seconds"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Agent string."}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'date'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"update time (Default: UNIXTIME())"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <bookmark>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmark_edit.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"browse",children:"browse"}),"\n",(0,n.jsx)(s.p,{children:"Return children of a parent object in a folder traversal/browse style. If you don't send any parameters you'll get a catalog list (the 'root' path)"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," Catalog ID is required on 'artist', 'album', 'podcast' so you can filter the browse correctly"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"object_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"'root', 'catalog', 'artist', 'album', 'podcast'"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"catalog ID you are browsing"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'add'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <browse>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/browse%20(root).xml",children:"Example"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/browse%20(music%20catalog).xml",children:"Example: music catalog"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/browse%20(podcast%20catalog).xml",children:"Example: podcast catalog"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/browse%20(video%20catalog).xml",children:"Example: video catalog"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/browse%20(artist).xml",children:"Example: artist"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/browse%20(album).xml",children:"Example: album"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/browse%20(podcast).xml",children:"Example: podcast"})}),"\n",(0,n.jsx)(s.h3,{id:"catalogs",children:"catalogs"}),"\n",(0,n.jsx)(s.p,{children:"This searches the catalogs and returns... catalogs"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"music"}),", ",(0,n.jsx)(s.code,{children:"clip"}),", ",(0,n.jsx)(s.code,{children:"tvshow"}),", ",(0,n.jsx)(s.code,{children:"movie"}),", ",(0,n.jsx)(s.code,{children:"personal_video"}),", ",(0,n.jsx)(s.code,{children:"podcast"})," (Catalog type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <catalog>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/catalogs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"catalog",children:"catalog"}),"\n",(0,n.jsx)(s.p,{children:"Return catalog by UID"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Catalog"}),(0,n.jsx)(s.td,{children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <catalog>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/catalog.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"catalog_action",children:"catalog_action"}),"\n",(0,n.jsx)(s.p,{children:"Kick off a catalog update or clean for the selected catalog"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'task'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"add_to_catalog"}),", ",(0,n.jsx)(s.code,{children:"clean_catalog"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'catalog'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$catalog_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/catalog_action%20(clean_catalog).xml",children:"Example: clean_catalog"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/catalog_action%20(add_to_catalog).xml",children:"Example: add_to_catalog"})}),"\n",(0,n.jsx)(s.h3,{id:"catalog_add",children:"catalog_add"}),"\n",(0,n.jsx)(s.p,{children:"Create a public url that can be used by anyone to stream media.\nTakes the file id with optional description and expires parameters."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'name'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Name for the catalog"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'path'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"URL or folder path for your catalog"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"'local', 'beets', 'remote', 'subsonic', 'seafile', 'beetsremote' Default: local"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'media_type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"'music', 'podcast', 'clip', 'tvshow', 'movie', 'personal_video' Default: 'music'"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'file_pattern'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Pattern used identify tags from the file name. Default: '%T - %t'"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'folder_pattern'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Pattern used identify tags from the folder name. Default: '%a/%A'"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"login to remote catalog ('remote', 'subsonic', 'seafile', 'beetsremote')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'password'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"password to remote catalog ('remote', 'subsonic', 'seafile', 'beetsremote')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <catalog>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/catalog_create.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"catalog_delete",children:"catalog_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete an existing catalog."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of catalog to delete"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/catalog_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"catalog_file",children:"catalog_file"}),"\n",(0,n.jsx)(s.p,{children:"Perform actions on local catalog files.\nSingle file versions of catalog add, clean, verify and remove (delete)\nMake sure you remember to urlencode those file names!"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'file'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"FULL path to local file"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'task'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"add"}),", ",(0,n.jsx)(s.code,{children:"clean"}),", ",(0,n.jsx)(s.code,{children:"verify"}),", ",(0,n.jsx)(s.code,{children:"remove"})," (can include comma-separated values)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'catalog'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$catalog_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/catalog_file.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"catalog_folder",children:"catalog_folder"}),"\n",(0,n.jsx)(s.p,{children:"Perform actions on local catalog folders.\nSingle folder versions of catalog add, clean, verify and remove (delete)\nMake sure you remember to urlencode those folder names!"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'folder'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"FULL path to local folder"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'task'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"add"}),", ",(0,n.jsx)(s.code,{children:"clean"}),", ",(0,n.jsx)(s.code,{children:"verify"}),", ",(0,n.jsx)(s.code,{children:"remove"})," (can include comma-separated values)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'catalog'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$catalog_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/catalog_folder.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"deleted_podcast_episodes",children:"deleted_podcast_episodes"}),"\n",(0,n.jsx)(s.p,{children:"This returns the episodes for a podcast that have been deleted"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <deleted_podcast_episode>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/deleted_podcast_episodes.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"deleted_songs",children:"deleted_songs"}),"\n",(0,n.jsx)(s.p,{children:"Returns songs that have been deleted from the server"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <deleted_song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/deleted_songs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"deleted_videos",children:"deleted_videos"}),"\n",(0,n.jsx)(s.p,{children:"This returns video objects that have been deleted"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <deleted_video>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/deleted_videos.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"flag",children:"flag"}),"\n",(0,n.jsx)(s.p,{children:"This flags a library item as a favorite"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Setting flag to true (1) will set the flag"}),"\n",(0,n.jsx)(s.li,{children:"Setting flag to false (0) will remove the flag"}),"\n"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"album"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"podcast"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"tvshow"}),", ",(0,n.jsx)(s.code,{children:"tvshow_season"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$object_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'flag'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/flag.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"followers",children:"followers"}),"\n",(0,n.jsx)(s.p,{children:"This gets the followers for the requested username"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Username of the user for who to get followers list"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <user>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/followers.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"following",children:"following"}),"\n",(0,n.jsx)(s.p,{children:"Get a list of people that this user follows"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"(Username of the user for who to get following list"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <user>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/following.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"friends_timeline",children:"friends_timeline"}),"\n",(0,n.jsx)(s.p,{children:"This get current user friends timeline"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'since'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"UNIXTIME()"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <activity>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/friends_timeline.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"genres",children:"genres"}),"\n",(0,n.jsx)(s.p,{children:"This returns the genres (Tags) based on the specified filter"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <genre>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/genres.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"genre",children:"genre"}),"\n",(0,n.jsxs)(s.p,{children:["This returns a single genre based on UID.\nAll XML Documents that have a ",(0,n.jsx)(s.code,{children:"<genre></genre>"}),' element may have 0 or more genre elements associated with them.\nEach genre element has an attribute "count" that indicates the number of people who have specified this genre.']}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of genre, returns genre XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <genre>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/genre.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"genre_albums",children:"genre_albums"}),"\n",(0,n.jsx)(s.p,{children:"This returns the albums associated with the genre in question"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of genre, returns album XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <album>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/genre_albums.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"genre_artists",children:"genre_artists"}),"\n",(0,n.jsx)(s.p,{children:"This returns the artists associated with the genre in question as defined by the UID"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of genre, returns artist XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <artist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/genre_artists.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"genre_songs",children:"genre_songs"}),"\n",(0,n.jsx)(s.p,{children:"returns the songs for this genre"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of genre, returns song XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/genre_songs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"get_bookmark",children:"get_bookmark"}),"\n",(0,n.jsxs)(s.p,{children:["Get the bookmark from it's object_id and object_type.\nBy default; get only the most recent bookmark. Use ",(0,n.jsx)(s.code,{children:"all"})," to retrieve all media bookmarks for the object."]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$object_id to find"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'all'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"0,1, if true include every bookmark for the object"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <bookmark>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_bookmark.xml",children:"Example"}),"\n",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_bookmark%20(with%20include).xml",children:"Example (with include)"})]}),"\n",(0,n.jsx)(s.h3,{id:"get_indexes",children:"get_indexes"}),"\n",(0,n.jsx)(s.p,{children:"This takes a collection of inputs and returns ID + name for the object type"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," This method is depreciated and will be removed in ",(0,n.jsx)(s.strong,{children:"API7"})," (Use list)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"album"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"album_artist"}),", ",(0,n.jsx)(s.code,{children:"song_artist"}),", ",(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"podcast"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"live_stream"}),", ",(0,n.jsx)(s.code,{children:"catalog"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Value is Alpha Match for returned results, may be more than one letter/number"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'hide_search'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true do not include searches/smartlists in the result)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (include songs in a playlist or episodes in a podcast)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>|<album>|<artist>|<playlist>|<podcast>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:["SONGS ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_indexes%20(song).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ARTIST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_indexes%20(artist).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ALBUM ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_indexes%20(album).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["PLAYLIST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_indexes%20(playlist).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["PODCAST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_indexes%20(podcast).xml",children:"Example"})]}),"\n",(0,n.jsx)(s.h3,{id:"get_similar",children:"get_similar"}),"\n",(0,n.jsx)(s.p,{children:"Return similar artist id's or similar song ids compared to the input filter"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"artist"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"artist id or song id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>|<artist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_similar.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"index",children:"index"}),"\n",(0,n.jsx)(s.p,{children:"This takes a collection of inputs and returns ID + name for the object type"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"catalog"}),", ",(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"album"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"album_artist"}),", ",(0,n.jsx)(s.code,{children:"song_artist"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"podcast"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"share"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"live_stream"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Value is Alpha Match for returned results, may be more than one letter/number"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'hide_search'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true do not include searches/smartlists in the result)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'add'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (include songs in a playlist or episodes in a podcast)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <catalog>|<song>|<album>|<artist>|<album_artist>|<song_artist>|<playlist>|<podcast>|<podcast_episode>|<share>|<video>|<live_stream>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:["SONGS ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(song).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ARTIST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(artist).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ALBUM ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(album).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["PLAYLIST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(playlist).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["PODCAST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(podcast).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["SONG ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(song%20with%20include).xml",children:"Example (with include)"})]}),"\n",(0,n.jsxs)(s.p,{children:["ARTIST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(artist%20with%20include).xml",children:"Example (with include)"})]}),"\n",(0,n.jsxs)(s.p,{children:["ALBUM ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(album%20with%20include).xml",children:"Example (with include)"})]}),"\n",(0,n.jsxs)(s.p,{children:["PLAYLIST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(playlist%20with%20include).xml",children:"Example (with include)"})]}),"\n",(0,n.jsx)(s.h3,{id:"labels",children:"labels"}),"\n",(0,n.jsx)(s.p,{children:"This returns labels based on the specified filter"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <label>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/labels.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"label",children:"label"}),"\n",(0,n.jsx)(s.p,{children:"This returns a single label"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of label, returns label XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <label>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/label.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"label_artists",children:"label_artists"}),"\n",(0,n.jsx)(s.p,{children:"This returns the artists for a label"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of label, returns artist XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <artist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/label_artists.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"last_shouts",children:"last_shouts"}),"\n",(0,n.jsx)(s.p,{children:"This gets the latest posted shouts"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Get latest shouts for this username"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <shout>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/last_shouts.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"license",children:"license"}),"\n",(0,n.jsx)(s.p,{children:"This returns a single license"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of license, returns license XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <license>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/license.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"license_songs",children:"license_songs"}),"\n",(0,n.jsx)(s.p,{children:"This returns the songs for a license"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of license, returns song XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/license_songs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"licenses",children:"licenses"}),"\n",(0,n.jsx)(s.p,{children:"This returns licenses based on the specified filter"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <license>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/licenses.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"list",children:"list"}),"\n",(0,n.jsxs)(s.p,{children:["This takes a named array of objects and returning ",(0,n.jsx)(s.code,{children:"id"}),", ",(0,n.jsx)(s.code,{children:"name"}),", ",(0,n.jsx)(s.code,{children:"prefix"})," and ",(0,n.jsx)(s.code,{children:"basename"})]}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," This method replaces get_indexes and does not have the ",(0,n.jsx)(s.code,{children:"include"})," parameter and does not include children in the response."]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"album"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"album_artist"}),", ",(0,n.jsx)(s.code,{children:"song_artist"}),", ",(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"podcast"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"live_stream"}),", ",(0,n.jsx)(s.code,{children:"catalog"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Value is Alpha Match for returned results, may be more than one letter/number"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'hide_search'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true do not include searches/smartlists in the result)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <list>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/list.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"live_streams",children:"live_streams"}),"\n",(0,n.jsx)(s.p,{children:"This returns live_streams based on the specified filter"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <live_stream>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/live_streams.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"live_stream",children:"live_stream"}),"\n",(0,n.jsx)(s.p,{children:"This returns a single live_stream"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of live_stream, returns live_stream XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <live_stream>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/live_stream.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"live_stream_create",children:"live_stream_create"}),"\n",(0,n.jsx)(s.p,{children:"Create a live_stream (radio station) object."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager) permission to create and edit live_streams"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$object_id to find"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'position'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"current track time in seconds"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Agent string. (Default: 'AmpacheAPI')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'date'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"update time (Default: UNIXTIME())"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <live_stream>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/live_stream_create.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"live_stream_delete",children:"live_stream_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete an existing live_stream (radio station). (if it exists)"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager) permission to create and edit live_streams"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$object_id to delete"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Agent string. (Default: 'AmpacheAPI')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/live_stream_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"live_stream_edit",children:"live_stream_edit"}),"\n",(0,n.jsx)(s.p,{children:"Edit a live_stream (radio station) object."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager) permission to create and edit live_streams"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$object_id to find"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'position'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"current track time in seconds"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Agent string. (Default: 'AmpacheAPI')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'date'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"update time (Default: UNIXTIME())"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <live_stream>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/live_stream_edit.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"now_playing",children:"now_playing"}),"\n",(0,n.jsx)(s.p,{children:"Get what is currently being played by all users."}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <now_playing>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/now_playing.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"player",children:"player"}),"\n",(0,n.jsx)(s.p,{children:"Inform the server about the state of your client. (Song you are playing, Play/Pause state, etc.)"}),"\n",(0,n.jsxs)(s.p,{children:["Return the ",(0,n.jsx)(s.code,{children:"now_playing"})," state when completed"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$object_id currently playing/stopping"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})," (Default: ",(0,n.jsx)(s.code,{children:"song"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'state'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"play"}),", ",(0,n.jsx)(s.code,{children:"stop"})," (Default: ",(0,n.jsx)(s.code,{children:"play"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'time'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"current play time in whole seconds (Default: 0)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"agent/client name"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <now_playing>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/player.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlists",children:"playlists"}),"\n",(0,n.jsx)(s.p,{children:"This returns playlists based on the specified filter"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'hide_search'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true do not include searches/smartlists in the result)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'show_dupes'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true if true ignore 'api_hide_dupe_searches' setting)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'add'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <playlist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlists.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist",children:"playlist"}),"\n",(0,n.jsx)(s.p,{children:"This returns a single playlist"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of playlist, returns playlist XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <playlist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist_add",children:"playlist_add"}),"\n",(0,n.jsx)(s.p,{children:"This adds a song to a playlist. setting check=1 will not add duplicates to the playlist"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of the object to add to playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"'song', 'album', 'artist', 'playlist'"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_add.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist_add_song",children:"playlist_add_song"}),"\n",(0,n.jsx)(s.p,{children:"This adds a song to a playlist. setting check=1 will not add duplicates to the playlist"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," This method is depreciated and will be removed in ",(0,n.jsx)(s.strong,{children:"API7"})," (Use playlist_add)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'song'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of song to add to playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'check'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," Whether to check and ignore duplicates (default = 0)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_add_song.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist_create",children:"playlist_create"}),"\n",(0,n.jsx)(s.p,{children:"This create a new playlist and return it"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'name'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Playlist name"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"public"}),", ",(0,n.jsx)(s.code,{children:"private"})," (Playlist type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <playlist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_create.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist_delete",children:"playlist_delete"}),"\n",(0,n.jsx)(s.p,{children:"This deletes a playlist"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Playlist"}),(0,n.jsx)(s.td,{children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist_edit",children:"playlist_edit"}),"\n",(0,n.jsx)(s.p,{children:"This modifies name and type of a playlist\nPreviously name and type were mandatory while filter wasn't. this has been reversed."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," items and tracks must be sent together and be of equal length"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'name'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Playlist name"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"public"}),", ",(0,n.jsx)(s.code,{children:"private"})," (Playlist type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'owner'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Change playlist owner to the user id (-1 = System playlist)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'items'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"comma-separated song_id's (replaces existing items with a new id)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'tracks'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"comma-separated playlisttrack numbers matched to 'items' in order"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_edit.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist_generate",children:"playlist_generate"}),"\n",(0,n.jsx)(s.p,{children:"Get a list of song XML, indexes or id's based on some simple search criteria\n'recent' will search for tracks played after 'Popular Threshold' days\n'forgotten' will search for tracks played before 'Popular Threshold' days\n'unplayed' added in 400002 for searching unplayed tracks"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"Note"})," when using the 'id' format total_count is not returned."]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'mode'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"recent"}),", ",(0,n.jsx)(s.code,{children:"forgotten"}),", ",(0,n.jsx)(s.code,{children:"unplayed"}),", ",(0,n.jsx)(s.code,{children:"random"})," (default = 'random')"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"string LIKE matched to song title"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'album'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$album_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'artist'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$artist_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'flag'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (get flagged songs only. default = 0)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'format'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"index"}),", ",(0,n.jsx)(s.code,{children:"id"})," (default = 'song')"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>|<index>|<id>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:["SONG ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_generate%20(song).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["INDEX ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_generate%20(index).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ID ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_generate%20(id).xml",children:"Example"})]}),"\n",(0,n.jsx)(s.h3,{id:"playlist_hash",children:"playlist_hash"}),"\n",(0,n.jsx)(s.p,{children:"This returns the md5 hash for the songs in a playlist"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <md5>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_hash.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist_remove_song",children:"playlist_remove_song"}),"\n",(0,n.jsx)(s.p,{children:"This remove a song from a playlist.\nPrevious versions required 'track' instead of 'song'."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'song'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of song to remove from playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'track'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Track number to remove from playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_remove_song.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist_songs",children:"playlist_songs"}),"\n",(0,n.jsx)(s.p,{children:"This returns the songs for a playlist"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Playlist, returns song XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'random'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true get random songs using limit)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_songs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"podcast",children:"podcast"}),"\n",(0,n.jsx)(s.p,{children:"Get the podcast from it's id."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of podcast, returns podcast XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"episodes"})," (include podcast_episodes in the response)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <podcast>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/podcast.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"podcasts",children:"podcasts"}),"\n",(0,n.jsx)(s.p,{children:"Get information about podcasts"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Value is Alpha Match for returned results, may be more than one letter/number"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"episodes"})," (include podcast_episodes in the response)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <podcast>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/podcasts.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"podcast_create",children:"podcast_create"}),"\n",(0,n.jsx)(s.p,{children:"Create a podcast that can be used by anyone to stream media.\nTakes the url and catalog parameters."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'url'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"rss url for podcast"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'catalog'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"podcast catalog"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <podcast>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/podcast_create.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"podcast_delete",children:"podcast_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete an existing podcast."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of podcast to delete"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/podcast_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"podcast_edit",children:"podcast_edit"}),"\n",(0,n.jsx)(s.p,{children:"Update the description and/or expiration date for an existing podcast.\nTakes the podcast id to update with optional description and expires parameters."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Alpha-numeric search term"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'feed'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"feed rss xml url"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'title'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"title string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'website'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"source website url"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'description'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'generator'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'copyright'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/podcast_edit.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"podcast_episodes",children:"podcast_episodes"}),"\n",(0,n.jsx)(s.p,{children:"This returns the episodes for a podcast"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of podcast"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <podcast_episode>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/podcast_episodes.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"podcast_episode",children:"podcast_episode"}),"\n",(0,n.jsx)(s.p,{children:"Get the podcast_episode from it's id."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"podcast_episode ID number"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <podcast_episode>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/podcast_episode.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"podcast_episode_delete",children:"podcast_episode_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete an existing podcast_episode."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of podcast_episode to delete"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/podcast_episode_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"preference_create",children:"preference_create"}),"\n",(0,n.jsx)(s.p,{children:"Add a new preference to your server"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"boolean"}),", ",(0,n.jsx)(s.code,{children:"integer"}),", ",(0,n.jsx)(s.code,{children:"string"}),", ",(0,n.jsx)(s.code,{children:"special"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'default'"}),(0,n.jsx)(s.td,{children:"mixed"}),(0,n.jsx)(s.td,{children:"string or integer default value"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'category'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"interface"}),", ",(0,n.jsx)(s.code,{children:"internal"}),", ",(0,n.jsx)(s.code,{children:"options"}),", ",(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"plugins"}),", ",(0,n.jsx)(s.code,{children:"streaming"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'description'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'subcategory'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'level'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"access level required to change the value (default 100)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <preference>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/preference_create.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"preference_delete",children:"preference_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete a non-system preference by name"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/preference_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"preference_edit",children:"preference_edit"}),"\n",(0,n.jsx)(s.p,{children:"Edit a preference value and apply to all users if allowed"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'value'"}),(0,n.jsx)(s.td,{children:"mixed"}),(0,n.jsx)(s.td,{children:"(string/integer) Preference value"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'all'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," apply to all users"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/preference_edit.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"rate",children:"rate"}),"\n",(0,n.jsx)(s.p,{children:"This rates a library item"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"album"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"podcast"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"tvshow"}),", ",(0,n.jsx)(s.code,{children:"tvshow_season"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"library item id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'rating'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"rating between 0-5"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/rate.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"record_play",children:"record_play"}),"\n",(0,n.jsx)(s.p,{children:"Take a song_id and update the object_count and user_activity table with a play. This allows other sources to record play history to Ampache."}),"\n",(0,n.jsx)(s.p,{children:"If you don't supply a user id (optional) then just fall back to you."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin) permission to change another user's play history"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$object_id"}),(0,n.jsx)(s.td,{children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'user'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$user_id"}),(0,n.jsx)(s.td,{children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$agent"}),(0,n.jsx)(s.td,{children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'date'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"UNIXTIME()"}),(0,n.jsx)(s.td,{children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/record_play.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"scrobble",children:"scrobble"}),"\n",(0,n.jsx)(s.p,{children:"Search for a song using text info and then record a play if found. This allows other sources to record play history to ampache"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'song'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"HTML encoded string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'artist'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"HTML encoded string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'album'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"HTML encoded string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'songmbid'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song_mbid"})," also supported"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'artistmbid'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"artist_mbid"})," also supported"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'albummbid'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"album_mbid"})," also supported"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'date'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"UNIXTIME()"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$agent"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/scrobble.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"search_group",children:"search_group"}),"\n",(0,n.jsx)(s.p,{children:"Perform a group search given passed rules. This function will return multiple object types if the rule names match the object type.\nYou can pass multiple rules as well as joins to create in depth search results."}),"\n",(0,n.jsx)(s.p,{children:"Limit and offset are applied per object type. Meaning with a limit of 10 you will return 10 objects of each type not 10 results total."}),"\n",(0,n.jsx)(s.p,{children:"Rules must be sent in groups of 3 using an int (starting from 1) to designate which rules are combined.\nUse operator ('and', 'or') to choose whether to join or separate each rule when searching."}),"\n",(0,n.jsxs)(s.p,{children:["Refer to the ",(0,n.jsx)(s.a,{href:"https://ampache.org/api/api-advanced-search",children:"Advanced Search"})," page for details about creating searches."]}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," the rules part can be confusing but essentially you can include as many 'arrays' of rules as you want.\nJust add 1 to the rule value to create a new group of rules."]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Mandatory Rule Values","\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"rule_1"}),"\n",(0,n.jsx)(s.li,{children:"rule_1_operator"}),"\n",(0,n.jsx)(s.li,{children:"rule_1_input"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["Optional (Metadata searches ",(0,n.jsx)(s.strong,{children:"only"}),")","\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"rule_1_subtype"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," the type parameter is different from the regular advanced_search method.\nEach type is a grouping of object types so allow single search calls to be made"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.p,{children:"all"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"song"}),"\n",(0,n.jsx)(s.li,{children:"album"}),"\n",(0,n.jsx)(s.li,{children:"song_artist"}),"\n",(0,n.jsx)(s.li,{children:"album_artist"}),"\n",(0,n.jsx)(s.li,{children:"artist"}),"\n",(0,n.jsx)(s.li,{children:"label"}),"\n",(0,n.jsx)(s.li,{children:"playlist"}),"\n",(0,n.jsx)(s.li,{children:"podcast"}),"\n",(0,n.jsx)(s.li,{children:"podcast_episode"}),"\n",(0,n.jsx)(s.li,{children:"genre"}),"\n",(0,n.jsx)(s.li,{children:"user"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.p,{children:"music"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"song"}),"\n",(0,n.jsx)(s.li,{children:"album"}),"\n",(0,n.jsx)(s.li,{children:"artist"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.p,{children:"song_artist"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"song"}),"\n",(0,n.jsx)(s.li,{children:"album"}),"\n",(0,n.jsx)(s.li,{children:"song_artist"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.p,{children:"album_artist"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"song"}),"\n",(0,n.jsx)(s.li,{children:"album"}),"\n",(0,n.jsx)(s.li,{children:"album_artist"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.p,{children:"podcast"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"podcast"}),"\n",(0,n.jsx)(s.li,{children:"podcast_episode"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.p,{children:"video"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"video"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"operator"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"and, or (whether to match one rule or all)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"rule_*"}),(0,n.jsx)(s.td,{children:"array"}),(0,n.jsxs)(s.td,{children:["[",(0,n.jsx)(s.code,{children:"rule_1"}),", ",(0,n.jsx)(s.code,{children:"rule_1_operator"}),", ",(0,n.jsx)(s.code,{children:"rule_1_input"}),"]"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"rule_*"}),(0,n.jsx)(s.td,{children:"array"}),(0,n.jsxs)(s.td,{children:["[",(0,n.jsx)(s.code,{children:"rule_2"}),", ",(0,n.jsx)(s.code,{children:"rule_2_operator"}),", ",(0,n.jsx)(s.code,{children:"rule_2_input"}),"], [etc]"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"type"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"all"}),", ",(0,n.jsx)(s.code,{children:"music"}),", ",(0,n.jsx)(s.code,{children:"song_artist"}),", ",(0,n.jsx)(s.code,{children:"album_artist"}),", ",(0,n.jsx)(s.code,{children:"podcast"}),", ",(0,n.jsx)(s.code,{children:"video"})," (",(0,n.jsx)(s.code,{children:"all"})," by default)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"random"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (random order of results; default to 0)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <search>\n        <song>|<album>|<song_artist>|<album_artist>|<artist>|<label>|<playlist>|<podcast>|<podcast_episode>|<genre>|<user>\n    </search>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:["ALL ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/search_group%20(all).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["MUSIC ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/search_group%20(music).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["PODCAST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/search_group%20(podcast).xml",children:"Example"})]}),"\n",(0,n.jsx)(s.h3,{id:"search_songs",children:"search_songs"}),"\n",(0,n.jsx)(s.p,{children:"This searches the songs and returns... songs"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/search_songs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"shares",children:"shares"}),"\n",(0,n.jsx)(s.p,{children:"This searches the shares and returns... shares"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," boolean to match the exact filter string"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <share>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/shares.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"share",children:"share"}),"\n",(0,n.jsx)(s.p,{children:"Return shares by UID"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Share, returns song XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <share>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/share.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"share_create",children:"share_create"}),"\n",(0,n.jsx)(s.p,{children:"Create a public url that can be used by anyone to stream media.\nTakes the file id with optional description and expires parameters."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of object you are sharing"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"object_type"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'description'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"description (will be filled for you if empty)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'expires'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"days to keep active"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <share>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/share_create.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"share_delete",children:"share_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete an existing share."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Share to delete"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/share_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"share_edit",children:"share_edit"}),"\n",(0,n.jsx)(s.p,{children:"Update the description and/or expiration date for an existing share.\nTakes the share id to update with optional description and expires parameters."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Alpha-numeric search term"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'stream'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," Allow streaming"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'download'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," Allow Downloading"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'expires'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"number of whole days before expiry"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'description'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"update description"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/share_edit.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"songs",children:"songs"}),"\n",(0,n.jsx)(s.p,{children:"Returns songs based on the specified filter"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'add'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/songs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"song",children:"song"}),"\n",(0,n.jsx)(s.p,{children:"returns a single song"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Song, returns song XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/song.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"song_delete",children:"song_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete an existing song. (if you are allowed to)"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of song to delete"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/song_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"stats",children:"stats"}),"\n",(0,n.jsxs)(s.p,{children:["Get some items based on some simple search types and filters. (Random by default)\nThis method ",(0,n.jsx)(s.strong,{children:"HAD"})," partial backwards compatibility with older api versions but it has now been removed"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"album"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"podcast"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"newest"}),", ",(0,n.jsx)(s.code,{children:"highest"}),", ",(0,n.jsx)(s.code,{children:"frequent"}),", ",(0,n.jsx)(s.code,{children:"recent"}),", ",(0,n.jsx)(s.code,{children:"forgotten"}),", ",(0,n.jsx)(s.code,{children:"flagged"}),", ",(0,n.jsx)(s.code,{children:"random"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'user_id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>|<album>|<artist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:["SONG ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/stats%20(song).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ARTIST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/stats%20(artist).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ALBUM ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/stats%20(album).xml",children:"Example"})]}),"\n",(0,n.jsx)(s.h3,{id:"system_preference",children:"system_preference"}),"\n",(0,n.jsx)(s.p,{children:"Get your server preference by name"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <preference>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/system_preferences.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"timeline",children:"timeline"}),"\n",(0,n.jsx)(s.p,{children:"This gets a user's timeline"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Username of the user for whom to get the timeline"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'since'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"UNIXTIME()"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <activity>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/timeline.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"toggle_follow",children:"toggle_follow"}),"\n",(0,n.jsx)(s.p,{children:"This follow/unfollow a user"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Username of the user to follow/unfollow"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/toggle_follow.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"update_art",children:"update_art"}),"\n",(0,n.jsx)(s.p,{children:"Updates a single album, artist, song running the gather_art process\nDoesn't overwrite existing art by default."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$object_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"podcast"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'overwrite'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n    <art>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/update_art.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"update_artist_info",children:"update_artist_info"}),"\n",(0,n.jsx)(s.p,{children:"Update artist information and fetch similar artists from last.fm\nMake sure lastfm_API_key is set in your configuration file"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$artist_id"}),(0,n.jsx)(s.td,{children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/update_artist_info.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"update_from_tags",children:"update_from_tags"}),"\n",(0,n.jsx)(s.p,{children:"Update a single album, artist, song from the tag data"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"album"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$artist_id, $album_id, $song_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/update_from_tags.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"update_podcast",children:"update_podcast"}),"\n",(0,n.jsx)(s.p,{children:"Sync and download new podcast episodes"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$object_id"}),(0,n.jsx)(s.td,{children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/update_podcast.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"url_to_song",children:"url_to_song"}),"\n",(0,n.jsx)(s.p,{children:"This takes a url and returns the song object in question"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'url'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Full Ampache URL from server, translates back into a song XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/url_to_song.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"user",children:"user"}),"\n",(0,n.jsx)(s.p,{children:"This gets a user's public information."}),"\n",(0,n.jsx)(s.p,{children:"If the username is omitted, this will return the current api user's public information."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Username of the user to get details for"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <user>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/user.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"user_create",children:"user_create"}),"\n",(0,n.jsx)(s.p,{children:"Create a new user. (Requires the username, password and email.)"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$username"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'password'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"hash('sha256', $password)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'email'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["e.g. ",(0,n.jsx)(s.code,{children:"user@gmail.com"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'fullname'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'disable'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'group'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Catalog filter group, default = 0"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/user_create.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"user_delete",children:"user_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete an existing user."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/user_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"user_edit",children:"user_edit"}),"\n",(0,n.jsx)(s.p,{children:"Update an existing user."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," This function has been renamed from user_update to match other edit functions"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$username"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'password'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"hash('sha256', $password)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'email'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["e.g. ",(0,n.jsx)(s.code,{children:"user@gmail.com"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'fullname'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'website'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'state'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'city'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'disable'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'group'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Catalog filter group, default = 0"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'maxbitrate'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'fullname_public'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," show fullname in public display"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'reset_apikey'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," reset user Api Key"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'reset_streamtoken'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," reset user Stream Token"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'clear_stats'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," reset all stats for this user"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/user_edit.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"user_playlists",children:"user_playlists"}),"\n",(0,n.jsx)(s.p,{children:"This returns playlists based on the specified filter for your user"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," This method does not include smartlists"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'add'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <playlist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/user_playlists.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"user_preference",children:"user_preference"}),"\n",(0,n.jsx)(s.p,{children:"Get your user preference by name"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <preference>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/user_preference.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"user_smartlists",children:"user_smartlists"}),"\n",(0,n.jsx)(s.p,{children:"This returns smartlists based on the specified filter for your user"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," This method does not include playlists"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'add'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <playlist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/user_smartlists.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"videos",children:"videos"}),"\n",(0,n.jsx)(s.p,{children:"This returns video objects!"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <video>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/videos.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"video",children:"video"}),"\n",(0,n.jsx)(s.p,{children:"This returns a single video"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of video, returns video XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <video>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/video.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h2,{id:"binary-data-methods",children:"Binary Data Methods"}),"\n",(0,n.jsx)(s.p,{children:"Binary data methods are used for returning raw data to the user such as a image or stream."}),"\n",(0,n.jsx)(s.h3,{id:"stream",children:"stream"}),"\n",(0,n.jsx)(s.p,{children:"Streams a given media file. Takes the file id in parameter with optional max bit rate, file format, time offset, size and estimate content length option."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," search and playlist will only stream a random object from the list"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$object_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"search"}),", ",(0,n.jsx)(s.code,{children:"playlist"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'bitrate'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"max bitrate for transcoding in bytes (e.g 192000=192Kb)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'format'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"mp3"}),", ",(0,n.jsx)(s.code,{children:"ogg"}),", ",(0,n.jsx)(s.code,{children:"raw"}),", etc (raw returns the original format)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'length'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return file (HTTP 200 OK)"}),"\n",(0,n.jsx)(s.li,{children:"throws (HTTP 400 Bad Request)"}),"\n",(0,n.jsx)(s.li,{children:"throws (HTTP 404 Not Found)"}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"download",children:"download"}),"\n",(0,n.jsx)(s.p,{children:"Downloads a given media file. set format=raw to download the full file"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," search and playlist will only download a random object from the list"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$object_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"search"}),", ",(0,n.jsx)(s.code,{children:"playlist"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'bitrate'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"max bitrate for transcoding in bytes (e.g 192000=192Kb)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'format'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"mp3"}),", ",(0,n.jsx)(s.code,{children:"ogg"}),", ",(0,n.jsx)(s.code,{children:"raw"}),", etc (raw returns the original format)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return file (HTTP 200 OK)"}),"\n",(0,n.jsx)(s.li,{children:"throws (HTTP 400 Bad Request)"}),"\n",(0,n.jsx)(s.li,{children:"throws (HTTP 404 Not Found)"}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"get_art",children:"get_art"}),"\n",(0,n.jsx)(s.p,{children:"Get an art image."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$object_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"album"}),", ",(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"search"}),", ",(0,n.jsx)(s.code,{children:"podcast"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return image (HTTP 200 OK)"}),"\n",(0,n.jsx)(s.li,{children:"throws (HTTP 400 Bad Request)"}),"\n",(0,n.jsx)(s.li,{children:"throws (HTTP 404 Not Found)"}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"control-methods",children:"Control Methods"}),"\n",(0,n.jsx)(s.h3,{id:"localplay",children:"localplay"}),"\n",(0,n.jsx)(s.p,{children:"This is for controlling localplay"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'command'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"next"}),", ",(0,n.jsx)(s.code,{children:"prev"}),", ",(0,n.jsx)(s.code,{children:"stop"}),", ",(0,n.jsx)(s.code,{children:"play"}),", ",(0,n.jsx)(s.code,{children:"pause"}),", ",(0,n.jsx)(s.code,{children:"add"}),", ",(0,n.jsx)(s.code,{children:"volume_up"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"volume_down"}),", ",(0,n.jsx)(s.code,{children:"volume_mute"}),", ",(0,n.jsx)(s.code,{children:"delete_all"}),", ",(0,n.jsx)(s.code,{children:"skip"}),", ",(0,n.jsx)(s.code,{children:"status"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'oid'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$object_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"channel"}),", ",(0,n.jsx)(s.code,{children:"broadcast"}),", ",(0,n.jsx)(s.code,{children:"democratic"}),", ",(0,n.jsx)(s.code,{children:"live_stream"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'clear'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (Clear the current playlist before adding)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <localplay>\n        <command>\n            <next>|<prev>|<stop>|<play>|<pause>|<add>|<volume_up>|<volume_down>|<volume_mute>|<delete_all>|<skip>|<status>\n        </command>\n    </localplay>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/localplay.xml",children:"Example"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/localplay%20(status).xml",children:"Example (status)"})}),"\n",(0,n.jsx)(s.h3,{id:"democratic",children:"democratic"}),"\n",(0,n.jsx)(s.p,{children:"This is for controlling democratic play (Songs only)"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Method Descriptions"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"vote: +1 vote for the oid"}),"\n",(0,n.jsx)(s.li,{children:"devote: -1 vote for the oid"}),"\n",(0,n.jsx)(s.li,{children:"playlist: Return an array of song items with an additional <vote>[VOTE COUNT]</vote> element"}),"\n",(0,n.jsx)(s.li,{children:"play: Returns the URL for playing democratic play"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'oid'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"UID of Song object"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'method'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"vote"}),", ",(0,n.jsx)(s.code,{children:"devote"}),", ",(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"play"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <url>|<method><result>|<song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/democratic%20(play).xml",children:"Example"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/democratic%20(vote).xml",children:"Example"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/democratic%20(playlist).xml",children:"Example"})})]})}function a(e={}){const{wrapper:s}={...(0,r.RP)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(x,{...e})}):x(e)}},8453:(e,s,t)=>{t.d(s,{RP:()=>l,xA:()=>d});var n=t(6540);const r=n.createContext({});function l(e){const s=n.useContext(r);return n.useMemo((()=>"function"==typeof e?e(s):{...s,...e}),[s,e])}const i={};function d({components:e,children:s,disableParentContext:t}){let d;return d=t?"function"==typeof e?e({}):e||i:l(e),n.createElement(r.Provider,{value:d},s)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkampache_org_api=self.webpackChunkampache_org_api||[]).push([[3403],{6982:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>h,contentTitle:()=>i,default:()=>a,frontMatter:()=>l,metadata:()=>d,toc:()=>c});var n=t(4848),r=t(8453);const l={title:"XML Methods",metaTitle:"XML Methods",description:"API documentation"},i=void 0,d={id:"api-xml-methods",title:"XML Methods",description:"API documentation",source:"@site/docs/api-xml-methods.md",sourceDirName:".",slug:"/api-xml-methods",permalink:"/api/api-xml-methods",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{title:"XML Methods",metaTitle:"XML Methods",description:"API documentation"},sidebar:"api",previous:{title:"Standards",permalink:"/api/api-standards"},next:{title:"JSON Methods",permalink:"/api/api-json-methods"}},h={},c=[{value:"Auth Methods",id:"auth-methods",level:2},{value:"handshake",id:"handshake",level:3},{value:"goodbye",id:"goodbye",level:3},{value:"lost_password",id:"lost_password",level:3},{value:"ping",id:"ping",level:3},{value:"register",id:"register",level:3},{value:"Non-Data Methods",id:"non-data-methods",level:2},{value:"system_update",id:"system_update",level:3},{value:"system_preferences",id:"system_preferences",level:3},{value:"users",id:"users",level:3},{value:"user_preferences",id:"user_preferences",level:3},{value:"Data Methods",id:"data-methods",level:2},{value:"advanced_search",id:"advanced_search",level:3},{value:"albums",id:"albums",level:3},{value:"album",id:"album",level:3},{value:"album_songs",id:"album_songs",level:3},{value:"artists",id:"artists",level:3},{value:"artist",id:"artist",level:3},{value:"artist_albums",id:"artist_albums",level:3},{value:"artist_songs",id:"artist_songs",level:3},{value:"bookmarks",id:"bookmarks",level:3},{value:"bookmark",id:"bookmark",level:3},{value:"bookmark_create",id:"bookmark_create",level:3},{value:"bookmark_delete",id:"bookmark_delete",level:3},{value:"bookmark_edit",id:"bookmark_edit",level:3},{value:"browse",id:"browse",level:3},{value:"catalogs",id:"catalogs",level:3},{value:"catalog",id:"catalog",level:3},{value:"catalog_action",id:"catalog_action",level:3},{value:"catalog_add",id:"catalog_add",level:3},{value:"catalog_delete",id:"catalog_delete",level:3},{value:"catalog_file",id:"catalog_file",level:3},{value:"catalog_folder",id:"catalog_folder",level:3},{value:"deleted_podcast_episodes",id:"deleted_podcast_episodes",level:3},{value:"deleted_songs",id:"deleted_songs",level:3},{value:"deleted_videos",id:"deleted_videos",level:3},{value:"flag",id:"flag",level:3},{value:"followers",id:"followers",level:3},{value:"following",id:"following",level:3},{value:"friends_timeline",id:"friends_timeline",level:3},{value:"genres",id:"genres",level:3},{value:"genre",id:"genre",level:3},{value:"genre_albums",id:"genre_albums",level:3},{value:"genre_artists",id:"genre_artists",level:3},{value:"genre_songs",id:"genre_songs",level:3},{value:"get_bookmark",id:"get_bookmark",level:3},{value:"get_indexes",id:"get_indexes",level:3},{value:"get_similar",id:"get_similar",level:3},{value:"index",id:"index",level:3},{value:"labels",id:"labels",level:3},{value:"label",id:"label",level:3},{value:"label_artists",id:"label_artists",level:3},{value:"last_shouts",id:"last_shouts",level:3},{value:"license",id:"license",level:3},{value:"license_songs",id:"license_songs",level:3},{value:"licenses",id:"licenses",level:3},{value:"list",id:"list",level:3},{value:"live_streams",id:"live_streams",level:3},{value:"live_stream",id:"live_stream",level:3},{value:"live_stream_create",id:"live_stream_create",level:3},{value:"live_stream_delete",id:"live_stream_delete",level:3},{value:"live_stream_edit",id:"live_stream_edit",level:3},{value:"now_playing",id:"now_playing",level:3},{value:"player",id:"player",level:3},{value:"playlists",id:"playlists",level:3},{value:"playlist",id:"playlist",level:3},{value:"playlist_add",id:"playlist_add",level:3},{value:"playlist_add_song",id:"playlist_add_song",level:3},{value:"playlist_create",id:"playlist_create",level:3},{value:"playlist_delete",id:"playlist_delete",level:3},{value:"playlist_edit",id:"playlist_edit",level:3},{value:"playlist_generate",id:"playlist_generate",level:3},{value:"playlist_hash",id:"playlist_hash",level:3},{value:"playlist_remove_song",id:"playlist_remove_song",level:3},{value:"playlist_songs",id:"playlist_songs",level:3},{value:"podcast",id:"podcast",level:3},{value:"podcasts",id:"podcasts",level:3},{value:"podcast_create",id:"podcast_create",level:3},{value:"podcast_delete",id:"podcast_delete",level:3},{value:"podcast_edit",id:"podcast_edit",level:3},{value:"podcast_episodes",id:"podcast_episodes",level:3},{value:"podcast_episode",id:"podcast_episode",level:3},{value:"podcast_episode_delete",id:"podcast_episode_delete",level:3},{value:"preference_create",id:"preference_create",level:3},{value:"preference_delete",id:"preference_delete",level:3},{value:"preference_edit",id:"preference_edit",level:3},{value:"rate",id:"rate",level:3},{value:"record_play",id:"record_play",level:3},{value:"scrobble",id:"scrobble",level:3},{value:"search_group",id:"search_group",level:3},{value:"search_songs",id:"search_songs",level:3},{value:"shares",id:"shares",level:3},{value:"share",id:"share",level:3},{value:"share_create",id:"share_create",level:3},{value:"share_delete",id:"share_delete",level:3},{value:"share_edit",id:"share_edit",level:3},{value:"songs",id:"songs",level:3},{value:"song",id:"song",level:3},{value:"song_delete",id:"song_delete",level:3},{value:"stats",id:"stats",level:3},{value:"system_preference",id:"system_preference",level:3},{value:"timeline",id:"timeline",level:3},{value:"toggle_follow",id:"toggle_follow",level:3},{value:"update_art",id:"update_art",level:3},{value:"update_artist_info",id:"update_artist_info",level:3},{value:"update_from_tags",id:"update_from_tags",level:3},{value:"update_podcast",id:"update_podcast",level:3},{value:"url_to_song",id:"url_to_song",level:3},{value:"user",id:"user",level:3},{value:"user_create",id:"user_create",level:3},{value:"user_delete",id:"user_delete",level:3},{value:"user_edit",id:"user_edit",level:3},{value:"user_playlists",id:"user_playlists",level:3},{value:"user_preference",id:"user_preference",level:3},{value:"user_smartlists",id:"user_smartlists",level:3},{value:"videos",id:"videos",level:3},{value:"video",id:"video",level:3},{value:"Binary Data Methods",id:"binary-data-methods",level:2},{value:"download",id:"download",level:3},{value:"get_art",id:"get_art",level:3},{value:"stream",id:"stream",level:3},{value:"Control Methods",id:"control-methods",level:2},{value:"localplay",id:"localplay",level:3},{value:"democratic",id:"democratic",level:3}];function x(e){const s={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.RP)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.p,{children:"Let's go through come calls and examples that you can do for each XML method."}),"\n",(0,n.jsx)(s.p,{children:"With the exception of Binary methods, all responses will return a HTTP 200 response."}),"\n",(0,n.jsx)(s.p,{children:"Also remember that Binary data methods will not return xml; just the file/data you have requested."}),"\n",(0,n.jsx)(s.p,{children:"Binary methods will also return:"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"HTTP 400 responses for a bad or incomplete request"}),"\n",(0,n.jsx)(s.li,{children:"HTTP 404 responses where the requests data was not found"}),"\n",(0,n.jsx)(s.li,{children:"HTTP 416 responses where the stream is unable to return the requested content-range"}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:["For information about about how playback works and what a client can expect from Ampache check out ",(0,n.jsx)(s.a,{href:"https://ampache.org/api/api-media-methods",children:"API Media Methods"})]}),"\n",(0,n.jsx)(s.h2,{id:"auth-methods",children:"Auth Methods"}),"\n",(0,n.jsx)(s.p,{children:"Auth methods are used for authenticating or checking the status of your session in an Ampache server."}),"\n",(0,n.jsx)(s.p,{children:"Remember that the auth parameter does not need to be sent as a parameter in the URL."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"https://ampache.org/api/#http-header-authentication",children:"HTTP header authentication"})," is supported for the auth parameter where present."]}),"\n",(0,n.jsx)(s.h3,{id:"handshake",children:"handshake"}),"\n",(0,n.jsx)(s.p,{children:"This is the function that handles verifying a new handshake Takes a timestamp, auth key, and username."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'auth'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$passphrase (Timestamp . Password SHA hash) OR (API Key)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'user'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$username (Required if login/password authentication)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'timestamp'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"UNIXTIME() The timestamp used in seed of password hash"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(Required if login/password authentication)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'version'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$version (API Version that the application understands)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <auth>\n    <api>\n    <session_expire>\n    <update>\n    <add>\n    <clean>\n    <songs>\n    <albums>\n    <artists>\n    <genres>\n    <playlists>\n    <users>\n    <catalogs>\n    <videos>\n    <podcasts>\n    <podcast_episodes>\n    <shares>\n    <licenses>\n    <live_streams>\n    <labels>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/handshake.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"goodbye",children:"goodbye"}),"\n",(0,n.jsx)(s.p,{children:"Destroy a session using the auth parameter."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'auth'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"(Session ID) destroys the session if it exists"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/goodbye.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"lost_password",children:"lost_password"}),"\n",(0,n.jsx)(s.p,{children:"Email a new password to the user (if allowed) using a reset token."}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-php",children:"   $username;\n   $key = hash('sha256', 'email');\n   auth = hash('sha256', $username . $key);\n"})}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'auth'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"password reset token"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.h3,{id:"ping",children:"ping"}),"\n",(0,n.jsx)(s.p,{children:"This can be called without being authenticated, it is useful for determining if what the status of the server is, and what version it is running/compatible with"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'auth'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"(Session ID) returns version information and extends the session if passed"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'version'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$version (API Version that the application understands)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <session_expire>\n    <server>\n    <version>\n    <compatible>\n    <auth>\n    <api>\n    <update>\n    <add>\n    <clean>\n    <songs>\n    <albums>\n    <artists>\n    <genres>\n    <playlists>\n    <users>\n    <catalogs>\n    <videos>\n    <podcasts>\n    <podcast_episodes>\n    <shares>\n    <licenses>\n    <live_streams>\n    <labels>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <server>\n    <version>\n    <compatible>\n</root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/ping.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"register",children:"register"}),"\n",(0,n.jsx)(s.p,{children:"Register as a new user if allowed. (Requires the username, password and email.)"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$username"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'password'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"hash('sha256', $password)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'email'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["e.g. ",(0,n.jsx)(s.code,{children:"user@gmail.com"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'fullname'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.h2,{id:"non-data-methods",children:"Non-Data Methods"}),"\n",(0,n.jsx)(s.p,{children:"These methods take no parameters beyond your auth key to return information"}),"\n",(0,n.jsx)(s.h3,{id:"system_update",children:"system_update"}),"\n",(0,n.jsx)(s.p,{children:"Check Ampache for updates and run the update if there is one."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/system_update.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"system_preferences",children:"system_preferences"}),"\n",(0,n.jsx)(s.p,{children:"Get your server preferences"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <preferences>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/system_preferences.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"users",children:"users"}),"\n",(0,n.jsx)(s.p,{children:"Get ids and usernames for your site"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <user>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/users.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"user_preferences",children:"user_preferences"}),"\n",(0,n.jsx)(s.p,{children:"Get your user preferences"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <preference>\n</root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/user_preferences.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h2,{id:"data-methods",children:"Data Methods"}),"\n",(0,n.jsx)(s.p,{children:"Data methods require additional information and parameters to return information"}),"\n",(0,n.jsx)(s.h3,{id:"advanced_search",children:"advanced_search"}),"\n",(0,n.jsx)(s.p,{children:"Perform an advanced search given passed rules. This works in a similar way to the web/UI search pages.\nYou can pass multiple rules as well as joins to create in depth search results."}),"\n",(0,n.jsx)(s.p,{children:"Rules must be sent in groups of 3 using an int (starting from 1) to designate which rules are combined.\nUse operator ('and', 'or') to choose whether to join or separate each rule when searching."}),"\n",(0,n.jsxs)(s.p,{children:["Refer to the ",(0,n.jsx)(s.a,{href:"https://ampache.org/api/api-advanced-search",children:"Advanced Search"})," page for details about creating searches."]}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," the rules part can be confusing but essentially you can include as many 'arrays' of rules as you want.\nJust add 1 to the rule value to create a new group of rules."]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Mandatory Rule Values","\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"rule_1"}),"\n",(0,n.jsx)(s.li,{children:"rule_1_operator"}),"\n",(0,n.jsx)(s.li,{children:"rule_1_input"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["Optional (Metadata searches ",(0,n.jsx)(s.strong,{children:"only"}),")","\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"rule_1_subtype"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"operator"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"and, or (whether to match one rule or all)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"rule_*"}),(0,n.jsx)(s.td,{children:"array"}),(0,n.jsxs)(s.td,{children:["[",(0,n.jsx)(s.code,{children:"rule_1"}),", ",(0,n.jsx)(s.code,{children:"rule_1_operator"}),", ",(0,n.jsx)(s.code,{children:"rule_1_input"}),"]"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"rule_*"}),(0,n.jsx)(s.td,{children:"array"}),(0,n.jsxs)(s.td,{children:["[",(0,n.jsx)(s.code,{children:"rule_2"}),", ",(0,n.jsx)(s.code,{children:"rule_2_operator"}),", ",(0,n.jsx)(s.code,{children:"rule_2_input"}),"], [etc]"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"type"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"album"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"label"}),", ",(0,n.jsx)(s.code,{children:"playlist"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"podcast"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"genre"}),", ",(0,n.jsx)(s.code,{children:"user"}),", ",(0,n.jsx)(s.code,{children:"video"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"random"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (random order of results; default to 0)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>|<album>|<artist>|<playlist>|<label>|<user>|<video>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:["SONG ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/advanced_search%20(song).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ARTIST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/advanced_search%20(artist).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ALBUM ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/advanced_search%20(album).xml",children:"Example"})]}),"\n",(0,n.jsx)(s.h3,{id:"albums",children:"albums"}),"\n",(0,n.jsx)(s.p,{children:"This returns albums based on the provided search filters"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"albums"}),", ",(0,n.jsx)(s.code,{children:"songs"})," (include child objects in the response)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'add'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <album>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/albums.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"album",children:"album"}),"\n",(0,n.jsx)(s.p,{children:"This returns a single album based on the UID provided"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Album, returns album XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"songs"})," (include child objects in the response)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <album>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/album.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"album_songs",children:"album_songs"}),"\n",(0,n.jsx)(s.p,{children:"This returns the songs of a specified album"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Album, returns song XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"comma string pairs (e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/album_songs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"artists",children:"artists"}),"\n",(0,n.jsx)(s.p,{children:"This takes a collection of inputs and returns artist objects."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'add'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"albums"}),", ",(0,n.jsx)(s.code,{children:"songs"})," (include child objects in the response)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'album_artist'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter for album artists only)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <artist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/artists.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"artist",children:"artist"}),"\n",(0,n.jsx)(s.p,{children:"This returns a single artist based on the UID of said artist"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Artist, returns artist XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"albums"}),", ",(0,n.jsx)(s.code,{children:"songs"})," (include child objects in the response)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <artist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/artist.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"artist_albums",children:"artist_albums"}),"\n",(0,n.jsx)(s.p,{children:"This returns the albums of an artist"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Artist, returns Album XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'album_artist'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter for album artists only)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <album>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/artist_albums.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"artist_songs",children:"artist_songs"}),"\n",(0,n.jsx)(s.p,{children:"This returns the songs of the specified artist"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Artist, returns Song XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'top50'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter to the artist top 50)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/artist_songs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"bookmarks",children:"bookmarks"}),"\n",(0,n.jsx)(s.p,{children:"Get information about bookmarked media this user is allowed to manage."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"filter by the agent/client name"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <bookmark>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmarks.xml",children:"Example"}),"\n",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmarks%20(with%20include).xml",children:"Example (with include)"})]}),"\n",(0,n.jsx)(s.h3,{id:"bookmark",children:"bookmark"}),"\n",(0,n.jsx)(s.p,{children:"Get a single bookmark by bookmark_id"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"bookmark_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <bookmark>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmark.xml",children:"Example"}),"\n",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmark%20(with%20include).xml",children:"Example (with include)"})]}),"\n",(0,n.jsx)(s.h3,{id:"bookmark_create",children:"bookmark_create"}),"\n",(0,n.jsx)(s.p,{children:"Create a placeholder for the current media that you can return to later."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$object_id to find"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'position'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"current track time in seconds"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Agent string."}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'date'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"update time (Default: UNIXTIME())"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <bookmark>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmark_create.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"bookmark_delete",children:"bookmark_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete an existing bookmark. (if it exists)"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$object_id to delete"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Agent string."}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmark_delete",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"bookmark_edit",children:"bookmark_edit"}),"\n",(0,n.jsx)(s.p,{children:"Edit a placeholder for the current media that you can return to later."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$object_id to find"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"bookmark"}),", ",(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'position'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"current track time in seconds"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Agent string."}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'date'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"update time (Default: UNIXTIME())"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <bookmark>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/bookmark_edit.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"browse",children:"browse"}),"\n",(0,n.jsx)(s.p,{children:"Return children of a parent object in a folder traversal/browse style. If you don't send any parameters you'll get a catalog list (the 'root' path)"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," Catalog ID is required on 'artist', 'album', 'podcast' so you can filter the browse correctly"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"object_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"'root', 'catalog', 'artist', 'album', 'podcast'"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"catalog ID you are browsing"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'add'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <browse>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/browse%20(root).xml",children:"Example"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/browse%20(music%20catalog).xml",children:"Example: music catalog"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/browse%20(podcast%20catalog).xml",children:"Example: podcast catalog"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/browse%20(video%20catalog).xml",children:"Example: video catalog"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/browse%20(artist).xml",children:"Example: artist"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/browse%20(album).xml",children:"Example: album"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/browse%20(podcast).xml",children:"Example: podcast"})}),"\n",(0,n.jsx)(s.h3,{id:"catalogs",children:"catalogs"}),"\n",(0,n.jsx)(s.p,{children:"This searches the catalogs and returns... catalogs"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"music"}),", ",(0,n.jsx)(s.code,{children:"clip"}),", ",(0,n.jsx)(s.code,{children:"tvshow"}),", ",(0,n.jsx)(s.code,{children:"movie"}),", ",(0,n.jsx)(s.code,{children:"personal_video"}),", ",(0,n.jsx)(s.code,{children:"podcast"})," (Catalog type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <catalog>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/catalogs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"catalog",children:"catalog"}),"\n",(0,n.jsx)(s.p,{children:"Return catalog by UID"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Catalog"}),(0,n.jsx)(s.td,{children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <catalog>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/catalog.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"catalog_action",children:"catalog_action"}),"\n",(0,n.jsx)(s.p,{children:"Kick off a catalog update or clean for the selected catalog"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'task'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"add_to_catalog"}),", ",(0,n.jsx)(s.code,{children:"clean_catalog"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'catalog'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$catalog_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/catalog_action%20(clean_catalog).xml",children:"Example: clean_catalog"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/catalog_action%20(add_to_catalog).xml",children:"Example: add_to_catalog"})}),"\n",(0,n.jsx)(s.h3,{id:"catalog_add",children:"catalog_add"}),"\n",(0,n.jsx)(s.p,{children:"Create a public url that can be used by anyone to stream media.\nTakes the file id with optional description and expires parameters."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'name'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Name for the catalog"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'path'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"URL or folder path for your catalog"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"'local', 'beets', 'remote', 'subsonic', 'seafile', 'beetsremote' Default: local"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'media_type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"'music', 'podcast', 'clip', 'tvshow', 'movie', 'personal_video' Default: 'music'"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'file_pattern'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Pattern used identify tags from the file name. Default: '%T - %t'"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'folder_pattern'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Pattern used identify tags from the folder name. Default: '%a/%A'"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"login to remote catalog ('remote', 'subsonic', 'seafile', 'beetsremote')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'password'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"password to remote catalog ('remote', 'subsonic', 'seafile', 'beetsremote')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <catalog>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/catalog_create.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"catalog_delete",children:"catalog_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete an existing catalog."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of catalog to delete"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/catalog_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"catalog_file",children:"catalog_file"}),"\n",(0,n.jsx)(s.p,{children:"Perform actions on local catalog files.\nSingle file versions of catalog add, clean, verify and remove (delete)\nMake sure you remember to urlencode those file names!"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'file'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"FULL path to local file"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'task'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"add"}),", ",(0,n.jsx)(s.code,{children:"clean"}),", ",(0,n.jsx)(s.code,{children:"verify"}),", ",(0,n.jsx)(s.code,{children:"remove"})," (can include comma-separated values)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'catalog'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$catalog_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/catalog_file.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"catalog_folder",children:"catalog_folder"}),"\n",(0,n.jsx)(s.p,{children:"Perform actions on local catalog folders.\nSingle folder versions of catalog add, clean, verify and remove (delete)\nMake sure you remember to urlencode those folder names!"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'folder'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"FULL path to local folder"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'task'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"add"}),", ",(0,n.jsx)(s.code,{children:"clean"}),", ",(0,n.jsx)(s.code,{children:"verify"}),", ",(0,n.jsx)(s.code,{children:"remove"})," (can include comma-separated values)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'catalog'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$catalog_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/catalog_folder.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"deleted_podcast_episodes",children:"deleted_podcast_episodes"}),"\n",(0,n.jsx)(s.p,{children:"This returns the episodes for a podcast that have been deleted"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <deleted_podcast_episode>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/deleted_podcast_episodes.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"deleted_songs",children:"deleted_songs"}),"\n",(0,n.jsx)(s.p,{children:"Returns songs that have been deleted from the server"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <deleted_song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/deleted_songs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"deleted_videos",children:"deleted_videos"}),"\n",(0,n.jsx)(s.p,{children:"This returns video objects that have been deleted"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <deleted_video>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/deleted_videos.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"flag",children:"flag"}),"\n",(0,n.jsx)(s.p,{children:"This flags a library item as a favorite"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"Setting flag to true (1) will set the flag"}),"\n",(0,n.jsx)(s.li,{children:"Setting flag to false (0) will remove the flag"}),"\n"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"album"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"podcast"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"tvshow"}),", ",(0,n.jsx)(s.code,{children:"tvshow_season"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$object_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'flag'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/flag.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"followers",children:"followers"}),"\n",(0,n.jsx)(s.p,{children:"This gets the followers for the requested username"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Username of the user for who to get followers list"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <user>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/followers.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"following",children:"following"}),"\n",(0,n.jsx)(s.p,{children:"Get a list of people that this user follows"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"(Username of the user for who to get following list"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <user>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/following.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"friends_timeline",children:"friends_timeline"}),"\n",(0,n.jsx)(s.p,{children:"This get current user friends timeline"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'since'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"UNIXTIME()"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <activity>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/friends_timeline.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"genres",children:"genres"}),"\n",(0,n.jsx)(s.p,{children:"This returns the genres (Tags) based on the specified filter"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <genre>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/genres.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"genre",children:"genre"}),"\n",(0,n.jsxs)(s.p,{children:["This returns a single genre based on UID.\nAll XML Documents that have a ",(0,n.jsx)(s.code,{children:"<genre></genre>"}),' element may have 0 or more genre elements associated with them.\nEach genre element has an attribute "count" that indicates the number of people who have specified this genre.']}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of genre, returns genre XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <genre>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/genre.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"genre_albums",children:"genre_albums"}),"\n",(0,n.jsx)(s.p,{children:"This returns the albums associated with the genre in question"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of genre, returns album XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <album>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/genre_albums.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"genre_artists",children:"genre_artists"}),"\n",(0,n.jsx)(s.p,{children:"This returns the artists associated with the genre in question as defined by the UID"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of genre, returns artist XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <artist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/genre_artists.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"genre_songs",children:"genre_songs"}),"\n",(0,n.jsx)(s.p,{children:"returns the songs for this genre"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of genre, returns song XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/genre_songs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"get_bookmark",children:"get_bookmark"}),"\n",(0,n.jsxs)(s.p,{children:["Get the bookmark from it's object_id and object_type.\nBy default; get only the most recent bookmark. Use ",(0,n.jsx)(s.code,{children:"all"})," to retrieve all media bookmarks for the object."]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$object_id to find"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"0,1, if true include the object in the bookmark"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'all'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"0,1, if true include every bookmark for the object"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <bookmark>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_bookmark.xml",children:"Example"}),"\n",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_bookmark%20(with%20include).xml",children:"Example (with include)"})]}),"\n",(0,n.jsx)(s.h3,{id:"get_indexes",children:"get_indexes"}),"\n",(0,n.jsx)(s.p,{children:"This takes a collection of inputs and returns ID + name for the object type"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," This method is depreciated and will be removed in ",(0,n.jsx)(s.strong,{children:"API7"})," (Use list)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"album"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"album_artist"}),", ",(0,n.jsx)(s.code,{children:"song_artist"}),", ",(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"podcast"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"live_stream"}),", ",(0,n.jsx)(s.code,{children:"catalog"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Value is Alpha Match for returned results, may be more than one letter/number"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'hide_search'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true do not include searches/smartlists in the result)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (include songs in a playlist or episodes in a podcast)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>|<album>|<artist>|<playlist>|<podcast>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:["SONGS ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_indexes%20(song).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ARTIST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_indexes%20(artist).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ALBUM ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_indexes%20(album).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["PLAYLIST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_indexes%20(playlist).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["PODCAST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_indexes%20(podcast).xml",children:"Example"})]}),"\n",(0,n.jsx)(s.h3,{id:"get_similar",children:"get_similar"}),"\n",(0,n.jsx)(s.p,{children:"Return similar artist id's or similar song ids compared to the input filter"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"artist"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"artist id or song id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>|<artist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/get_similar.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"index",children:"index"}),"\n",(0,n.jsx)(s.p,{children:"This takes a collection of inputs and returns ID + name for the object type"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"catalog"}),", ",(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"album"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"album_artist"}),", ",(0,n.jsx)(s.code,{children:"song_artist"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"podcast"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"share"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"live_stream"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Value is Alpha Match for returned results, may be more than one letter/number"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'hide_search'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true do not include searches/smartlists in the result)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'add'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (include songs in a playlist or episodes in a podcast)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <catalog>|<song>|<album>|<artist>|<album_artist>|<song_artist>|<playlist>|<podcast>|<podcast_episode>|<share>|<video>|<live_stream>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:["SONGS ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(song).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ARTIST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(artist).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ALBUM ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(album).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["PLAYLIST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(playlist).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["PODCAST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(podcast).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["SONG ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(song%20with%20include).xml",children:"Example (with include)"})]}),"\n",(0,n.jsxs)(s.p,{children:["ARTIST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(artist%20with%20include).xml",children:"Example (with include)"})]}),"\n",(0,n.jsxs)(s.p,{children:["ALBUM ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(album%20with%20include).xml",children:"Example (with include)"})]}),"\n",(0,n.jsxs)(s.p,{children:["PLAYLIST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/index%20(playlist%20with%20include).xml",children:"Example (with include)"})]}),"\n",(0,n.jsx)(s.h3,{id:"labels",children:"labels"}),"\n",(0,n.jsx)(s.p,{children:"This returns labels based on the specified filter"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <label>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/labels.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"label",children:"label"}),"\n",(0,n.jsx)(s.p,{children:"This returns a single label"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of label, returns label XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <label>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/label.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"label_artists",children:"label_artists"}),"\n",(0,n.jsx)(s.p,{children:"This returns the artists for a label"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of label, returns artist XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <artist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/label_artists.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"last_shouts",children:"last_shouts"}),"\n",(0,n.jsx)(s.p,{children:"This gets the latest posted shouts"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Get latest shouts for this username"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <shout>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/last_shouts.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"license",children:"license"}),"\n",(0,n.jsx)(s.p,{children:"This returns a single license"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of license, returns license XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <license>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/license.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"license_songs",children:"license_songs"}),"\n",(0,n.jsx)(s.p,{children:"This returns the songs for a license"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of license, returns song XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/license_songs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"licenses",children:"licenses"}),"\n",(0,n.jsx)(s.p,{children:"This returns licenses based on the specified filter"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <license>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/licenses.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"list",children:"list"}),"\n",(0,n.jsxs)(s.p,{children:["This takes a named array of objects and returning ",(0,n.jsx)(s.code,{children:"id"}),", ",(0,n.jsx)(s.code,{children:"name"}),", ",(0,n.jsx)(s.code,{children:"prefix"})," and ",(0,n.jsx)(s.code,{children:"basename"})]}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," This method replaces get_indexes and does not have the ",(0,n.jsx)(s.code,{children:"include"})," parameter and does not include children in the response."]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"album"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"album_artist"}),", ",(0,n.jsx)(s.code,{children:"song_artist"}),", ",(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"podcast"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"live_stream"}),", ",(0,n.jsx)(s.code,{children:"catalog"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Value is Alpha Match for returned results, may be more than one letter/number"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'hide_search'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true do not include searches/smartlists in the result)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <list>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/list.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"live_streams",children:"live_streams"}),"\n",(0,n.jsx)(s.p,{children:"This returns live_streams based on the specified filter"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <live_stream>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/live_streams.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"live_stream",children:"live_stream"}),"\n",(0,n.jsx)(s.p,{children:"This returns a single live_stream"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of live_stream, returns live_stream XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <live_stream>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/live_stream.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"live_stream_create",children:"live_stream_create"}),"\n",(0,n.jsx)(s.p,{children:"Create a live_stream (radio station) object."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager) permission to create and edit live_streams"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$object_id to find"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'position'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"current track time in seconds"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Agent string. (Default: 'AmpacheAPI')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'date'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"update time (Default: UNIXTIME())"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <live_stream>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/live_stream_create.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"live_stream_delete",children:"live_stream_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete an existing live_stream (radio station). (if it exists)"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager) permission to create and edit live_streams"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$object_id to delete"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Agent string. (Default: 'AmpacheAPI')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/live_stream_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"live_stream_edit",children:"live_stream_edit"}),"\n",(0,n.jsx)(s.p,{children:"Edit a live_stream (radio station) object."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager) permission to create and edit live_streams"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$object_id to find"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})," (object_type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'position'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"current track time in seconds"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Agent string. (Default: 'AmpacheAPI')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'date'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"update time (Default: UNIXTIME())"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <live_stream>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/live_stream_edit.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"now_playing",children:"now_playing"}),"\n",(0,n.jsx)(s.p,{children:"Get what is currently being played by all users."}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <now_playing>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/now_playing.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"player",children:"player"}),"\n",(0,n.jsx)(s.p,{children:"Inform the server about the state of your client. (Song you are playing, Play/Pause state, etc.)"}),"\n",(0,n.jsxs)(s.p,{children:["Return the ",(0,n.jsx)(s.code,{children:"now_playing"})," state when completed"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$object_id currently playing/stopping"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})," (Default: ",(0,n.jsx)(s.code,{children:"song"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'state'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"play"}),", ",(0,n.jsx)(s.code,{children:"stop"})," (Default: ",(0,n.jsx)(s.code,{children:"play"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'time'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"current play time in whole seconds (Default: 0)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"agent/client name"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <now_playing>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/player.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlists",children:"playlists"}),"\n",(0,n.jsx)(s.p,{children:"This returns playlists based on the specified filter"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'hide_search'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true do not include searches/smartlists in the result)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'show_dupes'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true if true ignore 'api_hide_dupe_searches' setting)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'add'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <playlist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlists.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist",children:"playlist"}),"\n",(0,n.jsx)(s.p,{children:"This returns a single playlist"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of playlist, returns playlist XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <playlist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist_add",children:"playlist_add"}),"\n",(0,n.jsx)(s.p,{children:"This adds a song to a playlist. setting check=1 will not add duplicates to the playlist"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of the object to add to playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"'song', 'album', 'artist', 'playlist'"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_add.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist_add_song",children:"playlist_add_song"}),"\n",(0,n.jsx)(s.p,{children:"This adds a song to a playlist. setting check=1 will not add duplicates to the playlist"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," This method is depreciated and will be removed in ",(0,n.jsx)(s.strong,{children:"API7"})," (Use playlist_add)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'song'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of song to add to playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'check'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," Whether to check and ignore duplicates (default = 0)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_add_song.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist_create",children:"playlist_create"}),"\n",(0,n.jsx)(s.p,{children:"This create a new playlist and return it"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'name'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Playlist name"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"public"}),", ",(0,n.jsx)(s.code,{children:"private"})," (Playlist type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <playlist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_create.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist_delete",children:"playlist_delete"}),"\n",(0,n.jsx)(s.p,{children:"This deletes a playlist"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Playlist"}),(0,n.jsx)(s.td,{children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist_edit",children:"playlist_edit"}),"\n",(0,n.jsx)(s.p,{children:"This modifies name and type of a playlist\nPreviously name and type were mandatory while filter wasn't. this has been reversed."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," items and tracks must be sent together and be of equal length"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'name'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Playlist name"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"public"}),", ",(0,n.jsx)(s.code,{children:"private"})," (Playlist type)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'owner'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Change playlist owner to the user id (-1 = System playlist)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'items'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"comma-separated song_id's (replaces existing items with a new id)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'tracks'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"comma-separated playlisttrack numbers matched to 'items' in order"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_edit.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist_generate",children:"playlist_generate"}),"\n",(0,n.jsx)(s.p,{children:"Get a list of song XML, indexes or id's based on some simple search criteria\n'recent' will search for tracks played after 'Popular Threshold' days\n'forgotten' will search for tracks played before 'Popular Threshold' days\n'unplayed' added in 400002 for searching unplayed tracks"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"Note"})," when using the 'id' format total_count is not returned."]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'mode'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"recent"}),", ",(0,n.jsx)(s.code,{children:"forgotten"}),", ",(0,n.jsx)(s.code,{children:"unplayed"}),", ",(0,n.jsx)(s.code,{children:"random"})," (default = 'random')"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"string LIKE matched to song title"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'album'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$album_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'artist'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$artist_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'flag'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (get flagged songs only. default = 0)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'format'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"index"}),", ",(0,n.jsx)(s.code,{children:"id"})," (default = 'song')"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>|<index>|<id>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:["SONG ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_generate%20(song).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["INDEX ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_generate%20(index).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ID ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_generate%20(id).xml",children:"Example"})]}),"\n",(0,n.jsx)(s.h3,{id:"playlist_hash",children:"playlist_hash"}),"\n",(0,n.jsx)(s.p,{children:"This returns the md5 hash for the songs in a playlist"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <md5>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_hash.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist_remove_song",children:"playlist_remove_song"}),"\n",(0,n.jsx)(s.p,{children:"This remove a song from a playlist.\nPrevious versions required 'track' instead of 'song'."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'song'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of song to remove from playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'track'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Track number to remove from playlist"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_remove_song.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"playlist_songs",children:"playlist_songs"}),"\n",(0,n.jsx)(s.p,{children:"This returns the songs for a playlist"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Playlist, returns song XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'random'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true get random songs using limit)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/playlist_songs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"podcast",children:"podcast"}),"\n",(0,n.jsx)(s.p,{children:"Get the podcast from it's id."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of podcast, returns podcast XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"episodes"})," (include podcast_episodes in the response)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <podcast>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/podcast.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"podcasts",children:"podcasts"}),"\n",(0,n.jsx)(s.p,{children:"Get information about podcasts"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Value is Alpha Match for returned results, may be more than one letter/number"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'include'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"episodes"})," (include podcast_episodes in the response)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <podcast>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/podcasts.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"podcast_create",children:"podcast_create"}),"\n",(0,n.jsx)(s.p,{children:"Create a podcast that can be used by anyone to stream media.\nTakes the url and catalog parameters."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'url'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"rss url for podcast"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'catalog'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"podcast catalog"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <podcast>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/podcast_create.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"podcast_delete",children:"podcast_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete an existing podcast."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of podcast to delete"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/podcast_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"podcast_edit",children:"podcast_edit"}),"\n",(0,n.jsx)(s.p,{children:"Update the description and/or expiration date for an existing podcast.\nTakes the podcast id to update with optional description and expires parameters."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Alpha-numeric search term"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'feed'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"feed rss xml url"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'title'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"title string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'website'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"source website url"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'description'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'generator'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'copyright'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/podcast_edit.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"podcast_episodes",children:"podcast_episodes"}),"\n",(0,n.jsx)(s.p,{children:"This returns the episodes for a podcast"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of podcast"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <podcast_episode>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/podcast_episodes.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"podcast_episode",children:"podcast_episode"}),"\n",(0,n.jsx)(s.p,{children:"Get the podcast_episode from it's id."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"podcast_episode ID number"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <podcast_episode>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/podcast_episode.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"podcast_episode_delete",children:"podcast_episode_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete an existing podcast_episode."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of podcast_episode to delete"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/podcast_episode_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"preference_create",children:"preference_create"}),"\n",(0,n.jsx)(s.p,{children:"Add a new preference to your server"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"boolean"}),", ",(0,n.jsx)(s.code,{children:"integer"}),", ",(0,n.jsx)(s.code,{children:"string"}),", ",(0,n.jsx)(s.code,{children:"special"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'default'"}),(0,n.jsx)(s.td,{children:"mixed"}),(0,n.jsx)(s.td,{children:"string or integer default value"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'category'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"interface"}),", ",(0,n.jsx)(s.code,{children:"internal"}),", ",(0,n.jsx)(s.code,{children:"options"}),", ",(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"plugins"}),", ",(0,n.jsx)(s.code,{children:"streaming"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'description'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'subcategory'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'level'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"access level required to change the value (default 100)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <preference>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/preference_create.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"preference_delete",children:"preference_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete a non-system preference by name"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/preference_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"preference_edit",children:"preference_edit"}),"\n",(0,n.jsx)(s.p,{children:"Edit a preference value and apply to all users if allowed"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'value'"}),(0,n.jsx)(s.td,{children:"mixed"}),(0,n.jsx)(s.td,{children:"(string/integer) Preference value"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'all'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," apply to all users"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/preference_edit.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"rate",children:"rate"}),"\n",(0,n.jsx)(s.p,{children:"This rates a library item"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"album"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"podcast"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"tvshow"}),", ",(0,n.jsx)(s.code,{children:"tvshow_season"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"library item id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'rating'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"rating between 0-5"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/rate.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"record_play",children:"record_play"}),"\n",(0,n.jsx)(s.p,{children:"Take a song_id and update the object_count and user_activity table with a play. This allows other sources to record play history to Ampache."}),"\n",(0,n.jsx)(s.p,{children:"If you don't supply a user id (optional) then just fall back to you."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin) permission to change another user's play history"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$object_id"}),(0,n.jsx)(s.td,{children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'user'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$user_id"}),(0,n.jsx)(s.td,{children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$agent"}),(0,n.jsx)(s.td,{children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'date'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"UNIXTIME()"}),(0,n.jsx)(s.td,{children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/record_play.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"scrobble",children:"scrobble"}),"\n",(0,n.jsx)(s.p,{children:"Search for a song using text info and then record a play if found. This allows other sources to record play history to ampache"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'song'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"HTML encoded string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'artist'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"HTML encoded string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'album'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"HTML encoded string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'songmbid'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song_mbid"})," also supported"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'artistmbid'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"artist_mbid"})," also supported"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'albummbid'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"album_mbid"})," also supported"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'date'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"UNIXTIME()"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'client'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$agent"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/scrobble.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"search_group",children:"search_group"}),"\n",(0,n.jsx)(s.p,{children:"Perform a group search given passed rules. This function will return multiple object types if the rule names match the object type.\nYou can pass multiple rules as well as joins to create in depth search results."}),"\n",(0,n.jsx)(s.p,{children:"Limit and offset are applied per object type. Meaning with a limit of 10 you will return 10 objects of each type not 10 results total."}),"\n",(0,n.jsx)(s.p,{children:"Rules must be sent in groups of 3 using an int (starting from 1) to designate which rules are combined.\nUse operator ('and', 'or') to choose whether to join or separate each rule when searching."}),"\n",(0,n.jsxs)(s.p,{children:["Refer to the ",(0,n.jsx)(s.a,{href:"https://ampache.org/api/api-advanced-search",children:"Advanced Search"})," page for details about creating searches."]}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," the rules part can be confusing but essentially you can include as many 'arrays' of rules as you want.\nJust add 1 to the rule value to create a new group of rules."]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["Mandatory Rule Values","\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"rule_1"}),"\n",(0,n.jsx)(s.li,{children:"rule_1_operator"}),"\n",(0,n.jsx)(s.li,{children:"rule_1_input"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["Optional (Metadata searches ",(0,n.jsx)(s.strong,{children:"only"}),")","\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"rule_1_subtype"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," the type parameter is different from the regular advanced_search method.\nEach type is a grouping of object types so allow single search calls to be made"]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.p,{children:"all"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"song"}),"\n",(0,n.jsx)(s.li,{children:"album"}),"\n",(0,n.jsx)(s.li,{children:"song_artist"}),"\n",(0,n.jsx)(s.li,{children:"album_artist"}),"\n",(0,n.jsx)(s.li,{children:"artist"}),"\n",(0,n.jsx)(s.li,{children:"label"}),"\n",(0,n.jsx)(s.li,{children:"playlist"}),"\n",(0,n.jsx)(s.li,{children:"podcast"}),"\n",(0,n.jsx)(s.li,{children:"podcast_episode"}),"\n",(0,n.jsx)(s.li,{children:"genre"}),"\n",(0,n.jsx)(s.li,{children:"user"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.p,{children:"music"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"song"}),"\n",(0,n.jsx)(s.li,{children:"album"}),"\n",(0,n.jsx)(s.li,{children:"artist"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.p,{children:"song_artist"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"song"}),"\n",(0,n.jsx)(s.li,{children:"album"}),"\n",(0,n.jsx)(s.li,{children:"song_artist"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.p,{children:"album_artist"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"song"}),"\n",(0,n.jsx)(s.li,{children:"album"}),"\n",(0,n.jsx)(s.li,{children:"album_artist"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.p,{children:"podcast"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"podcast"}),"\n",(0,n.jsx)(s.li,{children:"podcast_episode"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.li,{children:["\n",(0,n.jsx)(s.p,{children:"video"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"video"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"operator"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"and, or (whether to match one rule or all)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"rule_*"}),(0,n.jsx)(s.td,{children:"array"}),(0,n.jsxs)(s.td,{children:["[",(0,n.jsx)(s.code,{children:"rule_1"}),", ",(0,n.jsx)(s.code,{children:"rule_1_operator"}),", ",(0,n.jsx)(s.code,{children:"rule_1_input"}),"]"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"rule_*"}),(0,n.jsx)(s.td,{children:"array"}),(0,n.jsxs)(s.td,{children:["[",(0,n.jsx)(s.code,{children:"rule_2"}),", ",(0,n.jsx)(s.code,{children:"rule_2_operator"}),", ",(0,n.jsx)(s.code,{children:"rule_2_input"}),"], [etc]"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"type"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"all"}),", ",(0,n.jsx)(s.code,{children:"music"}),", ",(0,n.jsx)(s.code,{children:"song_artist"}),", ",(0,n.jsx)(s.code,{children:"album_artist"}),", ",(0,n.jsx)(s.code,{children:"podcast"}),", ",(0,n.jsx)(s.code,{children:"video"})," (",(0,n.jsx)(s.code,{children:"all"})," by default)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"random"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (random order of results; default to 0)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <search>\n        <song>|<album>|<song_artist>|<album_artist>|<artist>|<label>|<playlist>|<podcast>|<podcast_episode>|<genre>|<user>\n    </search>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:["ALL ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/search_group%20(all).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["MUSIC ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/search_group%20(music).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["PODCAST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/search_group%20(podcast).xml",children:"Example"})]}),"\n",(0,n.jsx)(s.h3,{id:"search_songs",children:"search_songs"}),"\n",(0,n.jsx)(s.p,{children:"This searches the songs and returns... songs"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/search_songs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"shares",children:"shares"}),"\n",(0,n.jsx)(s.p,{children:"This searches the shares and returns... shares"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," boolean to match the exact filter string"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <share>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/shares.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"share",children:"share"}),"\n",(0,n.jsx)(s.p,{children:"Return shares by UID"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Share, returns song XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <share>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/share.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"share_create",children:"share_create"}),"\n",(0,n.jsx)(s.p,{children:"Create a public url that can be used by anyone to stream media.\nTakes the file id with optional description and expires parameters."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of object you are sharing"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"object_type"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'description'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"description (will be filled for you if empty)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'expires'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"days to keep active"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <share>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/share_create.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"share_delete",children:"share_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete an existing share."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Share to delete"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/share_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"share_edit",children:"share_edit"}),"\n",(0,n.jsx)(s.p,{children:"Update the description and/or expiration date for an existing share.\nTakes the share id to update with optional description and expires parameters."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Alpha-numeric search term"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'stream'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," Allow streaming"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'download'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," Allow Downloading"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'expires'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"number of whole days before expiry"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'description'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"update description"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/share_edit.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"songs",children:"songs"}),"\n",(0,n.jsx)(s.p,{children:"Returns songs based on the specified filter"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'add'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/songs.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"song",children:"song"}),"\n",(0,n.jsx)(s.p,{children:"returns a single song"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of Song, returns song XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/song.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"song_delete",children:"song_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete an existing song. (if you are allowed to)"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of song to delete"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/song_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"stats",children:"stats"}),"\n",(0,n.jsxs)(s.p,{children:["Get some items based on some simple search types and filters. (Random by default)\nThis method ",(0,n.jsx)(s.strong,{children:"HAD"})," partial backwards compatibility with older api versions but it has now been removed"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"album"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"podcast"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"newest"}),", ",(0,n.jsx)(s.code,{children:"highest"}),", ",(0,n.jsx)(s.code,{children:"frequent"}),", ",(0,n.jsx)(s.code,{children:"recent"}),", ",(0,n.jsx)(s.code,{children:"forgotten"}),", ",(0,n.jsx)(s.code,{children:"flagged"}),", ",(0,n.jsx)(s.code,{children:"random"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'user_id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>|<album>|<artist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsxs)(s.p,{children:["SONG ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/stats%20(song).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ARTIST ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/stats%20(artist).xml",children:"Example"})]}),"\n",(0,n.jsxs)(s.p,{children:["ALBUM ",(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/stats%20(album).xml",children:"Example"})]}),"\n",(0,n.jsx)(s.h3,{id:"system_preference",children:"system_preference"}),"\n",(0,n.jsx)(s.p,{children:"Get your server preference by name"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <preference>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/system_preferences.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"timeline",children:"timeline"}),"\n",(0,n.jsx)(s.p,{children:"This gets a user's timeline"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Username of the user for whom to get the timeline"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'since'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"UNIXTIME()"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <activity>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/timeline.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"toggle_follow",children:"toggle_follow"}),"\n",(0,n.jsx)(s.p,{children:"This follow/unfollow a user"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Username of the user to follow/unfollow"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/toggle_follow.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"update_art",children:"update_art"}),"\n",(0,n.jsx)(s.p,{children:"Updates a single album, artist, song running the gather_art process\nDoesn't overwrite existing art by default."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$object_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"podcast"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'overwrite'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n    <art>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/update_art.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"update_artist_info",children:"update_artist_info"}),"\n",(0,n.jsx)(s.p,{children:"Update artist information and fetch similar artists from last.fm\nMake sure lastfm_API_key is set in your configuration file"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 75 (Catalog Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$artist_id"}),(0,n.jsx)(s.td,{children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/update_artist_info.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"update_from_tags",children:"update_from_tags"}),"\n",(0,n.jsx)(s.p,{children:"Update a single album, artist, song from the tag data"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"album"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$artist_id, $album_id, $song_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/update_from_tags.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"update_podcast",children:"update_podcast"}),"\n",(0,n.jsx)(s.p,{children:"Sync and download new podcast episodes"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 50 (Content Manager)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$object_id"}),(0,n.jsx)(s.td,{children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/update_podcast.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"url_to_song",children:"url_to_song"}),"\n",(0,n.jsx)(s.p,{children:"This takes a url and returns the song object in question"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'url'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Full Ampache URL from server, translates back into a song XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/url_to_song.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"user",children:"user"}),"\n",(0,n.jsx)(s.p,{children:"This gets a user's public information."}),"\n",(0,n.jsx)(s.p,{children:"If the username is omitted, this will return the current api user's public information."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Username of the user to get details for"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <user>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/user.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"user_create",children:"user_create"}),"\n",(0,n.jsx)(s.p,{children:"Create a new user. (Requires the username, password and email.)"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$username"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'password'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"hash('sha256', $password)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'email'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["e.g. ",(0,n.jsx)(s.code,{children:"user@gmail.com"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'fullname'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'disable'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'group'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Catalog filter group, default = 0"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/user_create.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"user_delete",children:"user_delete"}),"\n",(0,n.jsx)(s.p,{children:"Delete an existing user."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/user_delete.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"user_edit",children:"user_edit"}),"\n",(0,n.jsx)(s.p,{children:"Update an existing user."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"ACCESS REQUIRED:"})," 100 (Admin)"]}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," This function has been renamed from user_update to match other edit functions"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'username'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"$username"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'password'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"hash('sha256', $password)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'email'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["e.g. ",(0,n.jsx)(s.code,{children:"user@gmail.com"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'fullname'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'website'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'state'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'city'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'disable'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'group'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Catalog filter group, default = 0"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'maxbitrate'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'fullname_public'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," show fullname in public display"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'reset_apikey'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," reset user Api Key"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'reset_streamtoken'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," reset user Stream Token"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'clear_stats'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," reset all stats for this user"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <success>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/user_edit.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"user_playlists",children:"user_playlists"}),"\n",(0,n.jsx)(s.p,{children:"This returns playlists based on the specified filter for your user"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," This method does not include smartlists"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'add'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <playlist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/user_playlists.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"user_preference",children:"user_preference"}),"\n",(0,n.jsx)(s.p,{children:"Get your user preference by name"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Preference name e.g ('notify_email', 'ajax_load')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <preference>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/user_preference.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"user_smartlists",children:"user_smartlists"}),"\n",(0,n.jsx)(s.p,{children:"This returns smartlists based on the specified filter for your user"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," This method does not include playlists"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'add'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'add' date newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'update'"}),(0,n.jsx)(s.td,{children:"set_filter"}),(0,n.jsx)(s.td,{children:"ISO 8601 Date Format (2020-09-16) Find objects with an 'update' time newer than the specified date"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'cond'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:["Apply additional filters to the browse using ",(0,n.jsx)(s.code,{children:";"})," separated comma string pairs"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"(e.g. 'filter1,value1;filter2,value2')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'sort'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Sort name or comma-separated key pair. (e.g. 'name,order')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{children:"Default order 'ASC' (e.g. 'name,ASC' == 'name')"}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <playlist>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/user_smartlists.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"videos",children:"videos"}),"\n",(0,n.jsx)(s.p,{children:"This returns video objects!"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"Filter results to match this string"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'exact'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (if true filter is exact ",(0,n.jsx)(s.code,{children:"="})," rather than fuzzy ",(0,n.jsx)(s.code,{children:"LIKE"}),")"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'limit'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Maximum number of results to return"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <video>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/videos.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h3,{id:"video",children:"video"}),"\n",(0,n.jsx)(s.p,{children:"This returns a single video"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsx)(s.tbody,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'filter'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsx)(s.td,{children:"UID of video, returns video XML"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <total_count>\n    <video>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/video.xml",children:"Example"})}),"\n",(0,n.jsx)(s.h2,{id:"binary-data-methods",children:"Binary Data Methods"}),"\n",(0,n.jsx)(s.p,{children:"Binary data methods are used for returning raw data to the user such as a image or stream."}),"\n",(0,n.jsx)(s.h3,{id:"download",children:"download"}),"\n",(0,n.jsx)(s.p,{children:"Downloads a given media file. set format=raw to download the full file"}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," search and playlist will only download a random object from the list"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$object_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"search"}),", ",(0,n.jsx)(s.code,{children:"playlist"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'bitrate'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"max bitrate for transcoding in bytes (e.g 192000=192Kb)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'format'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"mp3"}),", ",(0,n.jsx)(s.code,{children:"ogg"}),", ",(0,n.jsx)(s.code,{children:"raw"}),", etc (raw returns the original format)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'stats'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"}),", if false disable stat recording when playing the object (default: 1)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return file (HTTP 200 OK)"}),"\n",(0,n.jsx)(s.li,{children:"throws (HTTP 400 Bad Request)"}),"\n",(0,n.jsx)(s.li,{children:"throws (HTTP 404 Not Found)"}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"get_art",children:"get_art"}),"\n",(0,n.jsx)(s.p,{children:"Get an art image."}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$object_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"artist"}),", ",(0,n.jsx)(s.code,{children:"album"}),", ",(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"search"}),", ",(0,n.jsx)(s.code,{children:"podcast"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return image (HTTP 200 OK)"}),"\n",(0,n.jsx)(s.li,{children:"throws (HTTP 400 Bad Request)"}),"\n",(0,n.jsx)(s.li,{children:"throws (HTTP 404 Not Found)"}),"\n"]}),"\n",(0,n.jsx)(s.h3,{id:"stream",children:"stream"}),"\n",(0,n.jsx)(s.p,{children:"Streams a given media file. Takes the file id in parameter with optional max bit rate, file format, time offset, size and estimate content length option."}),"\n",(0,n.jsxs)(s.p,{children:[(0,n.jsx)(s.strong,{children:"NOTE"})," search and playlist will only stream a random object from the list"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'id'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$object_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"search"}),", ",(0,n.jsx)(s.code,{children:"playlist"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'bitrate'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"max bitrate for transcoding in bytes (e.g 192000=192Kb)"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'format'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"mp3"}),", ",(0,n.jsx)(s.code,{children:"ogg"}),", ",(0,n.jsx)(s.code,{children:"raw"}),", etc (raw returns the original format)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'offset'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"Return results starting from this index position"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'length'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'stats'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"}),", if false disable stat recording when playing the object (default: 1)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return file (HTTP 200 OK)"}),"\n",(0,n.jsx)(s.li,{children:"throws (HTTP 400 Bad Request)"}),"\n",(0,n.jsx)(s.li,{children:"throws (HTTP 404 Not Found)"}),"\n"]}),"\n",(0,n.jsx)(s.h2,{id:"control-methods",children:"Control Methods"}),"\n",(0,n.jsx)(s.h3,{id:"localplay",children:"localplay"}),"\n",(0,n.jsx)(s.p,{children:"This is for controlling localplay"}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'command'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"next"}),", ",(0,n.jsx)(s.code,{children:"prev"}),", ",(0,n.jsx)(s.code,{children:"stop"}),", ",(0,n.jsx)(s.code,{children:"play"}),", ",(0,n.jsx)(s.code,{children:"pause"}),", ",(0,n.jsx)(s.code,{children:"add"}),", ",(0,n.jsx)(s.code,{children:"volume_up"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{}),(0,n.jsx)(s.td,{}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"volume_down"}),", ",(0,n.jsx)(s.code,{children:"volume_mute"}),", ",(0,n.jsx)(s.code,{children:"delete_all"}),", ",(0,n.jsx)(s.code,{children:"skip"}),", ",(0,n.jsx)(s.code,{children:"status"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"}})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'oid'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"$object_id"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'type'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"song"}),", ",(0,n.jsx)(s.code,{children:"video"}),", ",(0,n.jsx)(s.code,{children:"podcast_episode"}),", ",(0,n.jsx)(s.code,{children:"channel"}),", ",(0,n.jsx)(s.code,{children:"broadcast"}),", ",(0,n.jsx)(s.code,{children:"democratic"}),", ",(0,n.jsx)(s.code,{children:"live_stream"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'clear'"}),(0,n.jsx)(s.td,{children:"boolean"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"0"}),", ",(0,n.jsx)(s.code,{children:"1"})," (Clear the current playlist before adding)"]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"YES"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <localplay>\n        <command>\n            <next>|<prev>|<stop>|<play>|<pause>|<add>|<volume_up>|<volume_down>|<volume_mute>|<delete_all>|<skip>|<status>\n        </command>\n    </localplay>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/localplay.xml",children:"Example"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/localplay%20(status).xml",children:"Example (status)"})}),"\n",(0,n.jsx)(s.h3,{id:"democratic",children:"democratic"}),"\n",(0,n.jsx)(s.p,{children:"This is for controlling democratic play (Songs only)"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsxs)(s.li,{children:[(0,n.jsx)(s.strong,{children:"Method Descriptions"}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"vote: +1 vote for the oid"}),"\n",(0,n.jsx)(s.li,{children:"devote: -1 vote for the oid"}),"\n",(0,n.jsx)(s.li,{children:"playlist: Return an array of song items with an additional <vote>[VOTE COUNT]</vote> element"}),"\n",(0,n.jsx)(s.li,{children:"play: Returns the URL for playing democratic play"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(s.table,{children:[(0,n.jsx)(s.thead,{children:(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.th,{children:"Input"}),(0,n.jsx)(s.th,{children:"Type"}),(0,n.jsx)(s.th,{children:"Description"}),(0,n.jsx)(s.th,{style:{textAlign:"right"},children:"Optional"})]})}),(0,n.jsxs)(s.tbody,{children:[(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'oid'"}),(0,n.jsx)(s.td,{children:"integer"}),(0,n.jsx)(s.td,{children:"UID of Song object"}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]}),(0,n.jsxs)(s.tr,{children:[(0,n.jsx)(s.td,{children:"'method'"}),(0,n.jsx)(s.td,{children:"string"}),(0,n.jsxs)(s.td,{children:[(0,n.jsx)(s.code,{children:"vote"}),", ",(0,n.jsx)(s.code,{children:"devote"}),", ",(0,n.jsx)(s.code,{children:"playlist"}),", ",(0,n.jsx)(s.code,{children:"play"})]}),(0,n.jsx)(s.td,{style:{textAlign:"right"},children:"NO"})]})]})]}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"return"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root>\n    <url>|<method><result>|<song>\n</root>\n"})}),"\n",(0,n.jsxs)(s.ul,{children:["\n",(0,n.jsx)(s.li,{children:"throws"}),"\n"]}),"\n",(0,n.jsx)(s.pre,{children:(0,n.jsx)(s.code,{className:"language-XML",children:"<root><error></root>\n"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/democratic%20(play).xml",children:"Example"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/democratic%20(vote).xml",children:"Example"})}),"\n",(0,n.jsx)(s.p,{children:(0,n.jsx)(s.a,{href:"https://raw.githubusercontent.com/ampache/python3-ampache/api6/docs/xml-responses/democratic%20(playlist).xml",children:"Example"})})]})}function a(e={}){const{wrapper:s}={...(0,r.RP)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(x,{...e})}):x(e)}},8453:(e,s,t)=>{t.d(s,{RP:()=>l,xA:()=>d});var n=t(6540);const r=n.createContext({});function l(e){const s=n.useContext(r);return n.useMemo((()=>"function"==typeof e?e(s):{...s,...e}),[s,e])}const i={};function d({components:e,children:s,disableParentContext:t}){let d;return d=t?"function"==typeof e?e({}):e||i:l(e),n.createElement(r.Provider,{value:d},s)}}}]);
\ No newline at end of file
diff --git a/api/assets/js/runtime~main.9785685b.js b/api/assets/js/runtime~main.23503988.js
similarity index 97%
rename from api/assets/js/runtime~main.9785685b.js
rename to api/assets/js/runtime~main.23503988.js
index 59b27145..42eb77e4 100644
--- a/api/assets/js/runtime~main.9785685b.js
+++ b/api/assets/js/runtime~main.23503988.js
@@ -1 +1 @@
-(()=>{"use strict";var e,a,c,d,f,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,d,f)=>{if(!c){var b=1/0;for(i=0;i<e.length;i++){c=e[i][0],d=e[i][1],f=e[i][2];for(var t=!0,o=0;o<c.length;o++)(!1&f||b>=f)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,f<b&&(b=f));if(t){e.splice(i--,1);var n=d();void 0!==n&&(a=n)}}return a}f=f||0;for(var i=e.length;i>0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,d,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(f,b),f},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({5:"1c5acfb5",35:"e79ec335",39:"16afabd9",161:"1c78cd59",292:"84ba5c6b",416:"881e5e25",605:"6bc8fb69",614:"6b98cdf5",757:"702d5c70",764:"308522b1",973:"d21fcd6f",1052:"f5888d8d",1057:"d6204bc9",1090:"4bd0e1c8",1148:"4d3f8808",1170:"ecff10aa",1199:"0cca21c1",1242:"42eb3ee9",1300:"96b9e82d",1312:"0b2bb9cc",1413:"599334d1",1599:"6ea2aad0",1602:"3124bd78",1865:"6f8c85c1",1886:"2bfa15ce",2017:"c15804c8",2176:"deb08c36",2407:"b69e4d6d",2478:"0ad4058e",2486:"7a511394",2600:"d263a616",2964:"59f7cb6a",3315:"33b6cb12",3361:"c377a04b",3399:"48f475b4",3403:"dabe12fe",3588:"8d8c0509",4139:"5b6fbd72",4173:"75a2a462",4196:"becc5997",4316:"7928baae",4337:"052fbc95",4676:"542a3051",4900:"3fae2260",4915:"bcf35e24",5073:"3566af9d",5080:"5ffdd1a2",5365:"259b4479",5458:"9c401ef1",5571:"91da8120",5705:"80f9a994",5742:"aba21aa0",5877:"34ed4d93",5891:"a0afd0bd",6380:"d73ef89a",6799:"0a8cd4c3",6805:"323977b1",6822:"ddc2c0f1",6868:"96c9ab32",6981:"9adb8c8e",7041:"cf323836",7098:"a7bd4aaa",7139:"61c99b95",7165:"13d5083f",7223:"417ef407",7333:"584e7203",7611:"486eb140",7646:"e7fb1820",7823:"f8cdcf3a",7908:"eaa027ed",7948:"fc5132f9",7987:"9bc533c2",8268:"7272f1a3",8401:"17896441",8596:"57ed6a03",8643:"f2356d46",8801:"0dbbd02d",8826:"70625dc2",8846:"a8180c60",8963:"e62670d0",9048:"a94703ab",9098:"90dc6546",9527:"7753c0b9",9600:"dec88586",9647:"5e95c892",9652:"6f5a207f",9669:"3604e9f1",9925:"01353680"}[e]||e)+"."+{5:"e5448dce",35:"62eb9d08",39:"0ef9a182",161:"147adf7c",292:"2eb1830c",416:"81c3a9a7",605:"78a58ddd",614:"dfe3cf9f",757:"8a99329a",764:"f63f8af5",973:"899b630e",1052:"c006273f",1057:"8cb8ea9f",1090:"e0d075c2",1148:"67409751",1170:"585fb193",1199:"80f829a2",1242:"5a376fa8",1300:"fcc51a2b",1312:"cbd6761e",1413:"ac7e123b",1599:"8dfb8353",1602:"b43eda1a",1865:"86703462",1886:"ef0ec52e",2017:"64fb67b1",2176:"b41b44e4",2237:"5ee48252",2407:"9f69b537",2478:"02f629f4",2486:"6dbc0ae5",2600:"e8219e41",2964:"9cab2beb",3315:"faff7630",3361:"36dfa853",3399:"762dd65c",3403:"007388fa",3588:"f60c8f7b",4139:"b988e407",4173:"fa7ce3d3",4196:"f2416897",4316:"daf4c6f2",4337:"565dc09f",4676:"e95881ec",4900:"a435c7a6",4915:"6cb3c880",5073:"ac13b296",5080:"43a2b4b8",5365:"cc2a6cd0",5458:"87adf6b6",5571:"40bba7f0",5705:"418c1a5d",5742:"920bc964",5877:"e02d6adc",5891:"36794de8",6380:"3ae7f6b0",6799:"6a0c814a",6805:"aa2d1bce",6822:"8f087afc",6868:"24a3819e",6981:"c0b40879",7041:"4f05abb4",7098:"d0e8271a",7139:"14799503",7165:"fe460c20",7223:"9f3ca6a2",7333:"80d85c1c",7611:"2c3d0c66",7646:"6654d94e",7823:"6e97c164",7908:"84ec07e1",7948:"ddb347ba",7987:"b10d3634",8268:"18c90b05",8401:"70e3326f",8596:"fb89a98e",8643:"7c387685",8801:"7bf90cfb",8826:"2e263984",8846:"ff414d29",8963:"813b4365",9048:"6f87efce",9098:"732203fe",9527:"6ebf8cf1",9600:"f48c52bf",9647:"eee142ed",9652:"6ebdbeb7",9669:"8d198f84",9925:"f755f605"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},f="ampache-org-api:",r.l=(e,a,c,b)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==f+c){t=u;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",f+c),t.src=e),d[e]=[a];var l=(a,c)=>{t.onerror=t.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/api/",r.gca=function(e){return e={17896441:"8401","1c5acfb5":"5",e79ec335:"35","16afabd9":"39","1c78cd59":"161","84ba5c6b":"292","881e5e25":"416","6bc8fb69":"605","6b98cdf5":"614","702d5c70":"757","308522b1":"764",d21fcd6f:"973",f5888d8d:"1052",d6204bc9:"1057","4bd0e1c8":"1090","4d3f8808":"1148",ecff10aa:"1170","0cca21c1":"1199","42eb3ee9":"1242","96b9e82d":"1300","0b2bb9cc":"1312","599334d1":"1413","6ea2aad0":"1599","3124bd78":"1602","6f8c85c1":"1865","2bfa15ce":"1886",c15804c8:"2017",deb08c36:"2176",b69e4d6d:"2407","0ad4058e":"2478","7a511394":"2486",d263a616:"2600","59f7cb6a":"2964","33b6cb12":"3315",c377a04b:"3361","48f475b4":"3399",dabe12fe:"3403","8d8c0509":"3588","5b6fbd72":"4139","75a2a462":"4173",becc5997:"4196","7928baae":"4316","052fbc95":"4337","542a3051":"4676","3fae2260":"4900",bcf35e24:"4915","3566af9d":"5073","5ffdd1a2":"5080","259b4479":"5365","9c401ef1":"5458","91da8120":"5571","80f9a994":"5705",aba21aa0:"5742","34ed4d93":"5877",a0afd0bd:"5891",d73ef89a:"6380","0a8cd4c3":"6799","323977b1":"6805",ddc2c0f1:"6822","96c9ab32":"6868","9adb8c8e":"6981",cf323836:"7041",a7bd4aaa:"7098","61c99b95":"7139","13d5083f":"7165","417ef407":"7223","584e7203":"7333","486eb140":"7611",e7fb1820:"7646",f8cdcf3a:"7823",eaa027ed:"7908",fc5132f9:"7948","9bc533c2":"7987","7272f1a3":"8268","57ed6a03":"8596",f2356d46:"8643","0dbbd02d":"8801","70625dc2":"8826",a8180c60:"8846",e62670d0:"8963",a94703ab:"9048","90dc6546":"9098","7753c0b9":"9527",dec88586:"9600","5e95c892":"9647","6f5a207f":"9652","3604e9f1":"9669","01353680":"9925"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>d=e[a]=[c,f]));c.push(d[2]=f);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var f=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,f,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(c);n<b.length;n++)f=b[n],r.o(e,f)&&e[f]&&e[f][0](),e[f]=0;return r.O(i)},c=self.webpackChunkampache_org_api=self.webpackChunkampache_org_api||[];c.forEach(a.bind(null,0)),c.push=a.bind(null,c.push.bind(c))})()})();
\ No newline at end of file
+(()=>{"use strict";var e,a,c,d,f,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(a,c,d,f)=>{if(!c){var b=1/0;for(i=0;i<e.length;i++){c=e[i][0],d=e[i][1],f=e[i][2];for(var t=!0,o=0;o<c.length;o++)(!1&f||b>=f)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,f<b&&(b=f));if(t){e.splice(i--,1);var n=d();void 0!==n&&(a=n)}}return a}f=f||0;for(var i=e.length;i>0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,d,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(f,b),f},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({5:"1c5acfb5",35:"e79ec335",39:"16afabd9",161:"1c78cd59",292:"84ba5c6b",416:"881e5e25",605:"6bc8fb69",614:"6b98cdf5",757:"702d5c70",764:"308522b1",973:"d21fcd6f",1052:"f5888d8d",1057:"d6204bc9",1090:"4bd0e1c8",1148:"4d3f8808",1170:"ecff10aa",1199:"0cca21c1",1242:"42eb3ee9",1300:"96b9e82d",1312:"0b2bb9cc",1413:"599334d1",1599:"6ea2aad0",1602:"3124bd78",1865:"6f8c85c1",1886:"2bfa15ce",2017:"c15804c8",2176:"deb08c36",2407:"b69e4d6d",2478:"0ad4058e",2486:"7a511394",2600:"d263a616",2964:"59f7cb6a",3315:"33b6cb12",3361:"c377a04b",3399:"48f475b4",3403:"dabe12fe",3588:"8d8c0509",4139:"5b6fbd72",4173:"75a2a462",4196:"becc5997",4316:"7928baae",4337:"052fbc95",4676:"542a3051",4900:"3fae2260",4915:"bcf35e24",5073:"3566af9d",5080:"5ffdd1a2",5365:"259b4479",5458:"9c401ef1",5571:"91da8120",5705:"80f9a994",5742:"aba21aa0",5877:"34ed4d93",5891:"a0afd0bd",6380:"d73ef89a",6799:"0a8cd4c3",6805:"323977b1",6822:"ddc2c0f1",6868:"96c9ab32",6981:"9adb8c8e",7041:"cf323836",7098:"a7bd4aaa",7139:"61c99b95",7165:"13d5083f",7223:"417ef407",7333:"584e7203",7611:"486eb140",7646:"e7fb1820",7823:"f8cdcf3a",7908:"eaa027ed",7948:"fc5132f9",7987:"9bc533c2",8268:"7272f1a3",8401:"17896441",8596:"57ed6a03",8643:"f2356d46",8801:"0dbbd02d",8826:"70625dc2",8846:"a8180c60",8963:"e62670d0",9048:"a94703ab",9098:"90dc6546",9527:"7753c0b9",9600:"dec88586",9647:"5e95c892",9652:"6f5a207f",9669:"3604e9f1",9925:"01353680"}[e]||e)+"."+{5:"e5448dce",35:"62eb9d08",39:"0ef9a182",161:"147adf7c",292:"2eb1830c",416:"81c3a9a7",605:"78a58ddd",614:"dfe3cf9f",757:"8a99329a",764:"f63f8af5",973:"899b630e",1052:"c006273f",1057:"8cb8ea9f",1090:"e0d075c2",1148:"67409751",1170:"585fb193",1199:"80f829a2",1242:"5a376fa8",1300:"fcc51a2b",1312:"cbd6761e",1413:"ac7e123b",1599:"8dfb8353",1602:"b43eda1a",1865:"86703462",1886:"ef0ec52e",2017:"64fb67b1",2176:"b41b44e4",2237:"5ee48252",2407:"9f69b537",2478:"02f629f4",2486:"6dbc0ae5",2600:"910eac38",2964:"9cab2beb",3315:"faff7630",3361:"beef289d",3399:"762dd65c",3403:"8940c614",3588:"f60c8f7b",4139:"b988e407",4173:"fa7ce3d3",4196:"f2416897",4316:"daf4c6f2",4337:"565dc09f",4676:"e95881ec",4900:"a435c7a6",4915:"6cb3c880",5073:"ac13b296",5080:"43a2b4b8",5365:"cc2a6cd0",5458:"87adf6b6",5571:"40bba7f0",5705:"418c1a5d",5742:"920bc964",5877:"e02d6adc",5891:"36794de8",6380:"3ae7f6b0",6799:"592f19d0",6805:"aa2d1bce",6822:"8f087afc",6868:"24a3819e",6981:"c0b40879",7041:"4f05abb4",7098:"d0e8271a",7139:"14799503",7165:"fe460c20",7223:"9f3ca6a2",7333:"80d85c1c",7611:"2c3d0c66",7646:"6654d94e",7823:"6e97c164",7908:"84ec07e1",7948:"ddb347ba",7987:"b10d3634",8268:"18c90b05",8401:"70e3326f",8596:"fb89a98e",8643:"7c387685",8801:"7bf90cfb",8826:"2e263984",8846:"ff414d29",8963:"813b4365",9048:"6f87efce",9098:"732203fe",9527:"6ebf8cf1",9600:"f48c52bf",9647:"eee142ed",9652:"6ebdbeb7",9669:"8d198f84",9925:"f755f605"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},f="ampache-org-api:",r.l=(e,a,c,b)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==f+c){t=u;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",f+c),t.src=e),d[e]=[a];var l=(a,c)=>{t.onerror=t.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/api/",r.gca=function(e){return e={17896441:"8401","1c5acfb5":"5",e79ec335:"35","16afabd9":"39","1c78cd59":"161","84ba5c6b":"292","881e5e25":"416","6bc8fb69":"605","6b98cdf5":"614","702d5c70":"757","308522b1":"764",d21fcd6f:"973",f5888d8d:"1052",d6204bc9:"1057","4bd0e1c8":"1090","4d3f8808":"1148",ecff10aa:"1170","0cca21c1":"1199","42eb3ee9":"1242","96b9e82d":"1300","0b2bb9cc":"1312","599334d1":"1413","6ea2aad0":"1599","3124bd78":"1602","6f8c85c1":"1865","2bfa15ce":"1886",c15804c8:"2017",deb08c36:"2176",b69e4d6d:"2407","0ad4058e":"2478","7a511394":"2486",d263a616:"2600","59f7cb6a":"2964","33b6cb12":"3315",c377a04b:"3361","48f475b4":"3399",dabe12fe:"3403","8d8c0509":"3588","5b6fbd72":"4139","75a2a462":"4173",becc5997:"4196","7928baae":"4316","052fbc95":"4337","542a3051":"4676","3fae2260":"4900",bcf35e24:"4915","3566af9d":"5073","5ffdd1a2":"5080","259b4479":"5365","9c401ef1":"5458","91da8120":"5571","80f9a994":"5705",aba21aa0:"5742","34ed4d93":"5877",a0afd0bd:"5891",d73ef89a:"6380","0a8cd4c3":"6799","323977b1":"6805",ddc2c0f1:"6822","96c9ab32":"6868","9adb8c8e":"6981",cf323836:"7041",a7bd4aaa:"7098","61c99b95":"7139","13d5083f":"7165","417ef407":"7223","584e7203":"7333","486eb140":"7611",e7fb1820:"7646",f8cdcf3a:"7823",eaa027ed:"7908",fc5132f9:"7948","9bc533c2":"7987","7272f1a3":"8268","57ed6a03":"8596",f2356d46:"8643","0dbbd02d":"8801","70625dc2":"8826",a8180c60:"8846",e62670d0:"8963",a94703ab:"9048","90dc6546":"9098","7753c0b9":"9527",dec88586:"9600","5e95c892":"9647","6f5a207f":"9652","3604e9f1":"9669","01353680":"9925"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>d=e[a]=[c,f]));c.push(d[2]=f);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var f=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,f,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(c);n<b.length;n++)f=b[n],r.o(e,f)&&e[f]&&e[f][0](),e[f]=0;return r.O(i)},c=self.webpackChunkampache_org_api=self.webpackChunkampache_org_api||[];c.forEach(a.bind(null,0)),c.push=a.bind(null,c.push.bind(c))})()})();
\ No newline at end of file
diff --git a/api/browse/album-browse/index.html b/api/browse/album-browse/index.html
index 5a434da7..1a6bc6bf 100644
--- a/api/browse/album-browse/index.html
+++ b/api/browse/album-browse/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Album Browse | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/browse/album-browse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Album Browse | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/browse/album-browse"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/album-browse" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/album-browse" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/browse/artist-browse/index.html b/api/browse/artist-browse/index.html
index 7041141c..2fe389e7 100644
--- a/api/browse/artist-browse/index.html
+++ b/api/browse/artist-browse/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Artist Browse | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/browse/artist-browse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Artist Browse | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/browse/artist-browse"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/artist-browse" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/artist-browse" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/browse/catalog-browse/index.html b/api/browse/catalog-browse/index.html
index 38c480f4..6965097c 100644
--- a/api/browse/catalog-browse/index.html
+++ b/api/browse/catalog-browse/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Catalog Browse | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/browse/catalog-browse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Catalog Browse | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/browse/catalog-browse"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/catalog-browse" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/catalog-browse" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/browse/follower-browse/index.html b/api/browse/follower-browse/index.html
index 5c26b6d0..92df5ebc 100644
--- a/api/browse/follower-browse/index.html
+++ b/api/browse/follower-browse/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Follower Browse | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/browse/follower-browse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Follower Browse | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/browse/follower-browse"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/follower-browse" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/follower-browse" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/browse/genre-browse/index.html b/api/browse/genre-browse/index.html
index ddf9f31a..70d068ec 100644
--- a/api/browse/genre-browse/index.html
+++ b/api/browse/genre-browse/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Genre Browse | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/browse/genre-browse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Genre Browse | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/browse/genre-browse"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/genre-browse" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/genre-browse" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/browse/label-browse/index.html b/api/browse/label-browse/index.html
index 19d4825f..edae7255 100644
--- a/api/browse/label-browse/index.html
+++ b/api/browse/label-browse/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Label Browse | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/browse/label-browse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Label Browse | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/browse/label-browse"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/label-browse" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/label-browse" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/browse/license-browse/index.html b/api/browse/license-browse/index.html
index 0498e904..4ff1b3de 100644
--- a/api/browse/license-browse/index.html
+++ b/api/browse/license-browse/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">License Browse | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/browse/license-browse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="License Browse | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/browse/license-browse"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/license-browse" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/license-browse" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/browse/live_stream-browse/index.html b/api/browse/live_stream-browse/index.html
index 394dcd0d..ab7b00e9 100644
--- a/api/browse/live_stream-browse/index.html
+++ b/api/browse/live_stream-browse/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Live Stream Browse | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/browse/live_stream-browse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Live Stream Browse | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/browse/live_stream-browse"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/live_stream-browse" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/live_stream-browse" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/browse/playlist-browse/index.html b/api/browse/playlist-browse/index.html
index 1ff876b9..45f6c578 100644
--- a/api/browse/playlist-browse/index.html
+++ b/api/browse/playlist-browse/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Playlist Browse | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/browse/playlist-browse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Playlist Browse | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/browse/playlist-browse"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/playlist-browse" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/playlist-browse" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/browse/podcast-browse/index.html b/api/browse/podcast-browse/index.html
index 6697b3c3..3c375c2d 100644
--- a/api/browse/podcast-browse/index.html
+++ b/api/browse/podcast-browse/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Podcast Browse | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/browse/podcast-browse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Podcast Browse | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/browse/podcast-browse"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/podcast-browse" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/podcast-browse" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/browse/podcast_episode-browse/index.html b/api/browse/podcast_episode-browse/index.html
index 23e16faa..0cbcd418 100644
--- a/api/browse/podcast_episode-browse/index.html
+++ b/api/browse/podcast_episode-browse/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Podcast Browse | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/browse/podcast_episode-browse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Podcast Browse | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/browse/podcast_episode-browse"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/podcast_episode-browse" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/podcast_episode-browse" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/browse/share-browse/index.html b/api/browse/share-browse/index.html
index 6cc7e484..8f6e01e5 100644
--- a/api/browse/share-browse/index.html
+++ b/api/browse/share-browse/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Share Browse | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/browse/share-browse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Share Browse | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/browse/share-browse"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/share-browse" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/share-browse" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/browse/song-browse/index.html b/api/browse/song-browse/index.html
index 7f89e8c2..3fffaa74 100644
--- a/api/browse/song-browse/index.html
+++ b/api/browse/song-browse/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Song Browse | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/browse/song-browse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Song Browse | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/browse/song-browse"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/song-browse" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/song-browse" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/browse/user-browse/index.html b/api/browse/user-browse/index.html
index 2bd4c067..9f05df31 100644
--- a/api/browse/user-browse/index.html
+++ b/api/browse/user-browse/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">User Browse | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/browse/user-browse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="User Browse | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/browse/user-browse"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/user-browse" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/user-browse" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/browse/video-browse/index.html b/api/browse/video-browse/index.html
index 3007dc63..178e0dad 100644
--- a/api/browse/video-browse/index.html
+++ b/api/browse/video-browse/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Video Browse | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/browse/video-browse"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Video Browse | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/browse/video-browse"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/video-browse" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/browse/video-browse" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/index.html b/api/index.html
index 46ffa78c..e32925f0 100644
--- a/api/index.html
+++ b/api/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Ampache API | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Ampache API | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/"><link data-rh="true" rel="alternate" href="https://ampache.org/api/" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/" hreflang="x-default"><script data-rh="true">function insertBanner(){var n=document.createElement("div");n.id="__docusaurus-base-url-issue-banner-container";n.innerHTML='\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n   <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n   <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n   <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/api/</span> </p>\n   <p>We suggest trying baseUrl = <span id="__docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n',document.body.prepend(n);var e=document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,o="/"===s.substr(-1)?s:s+"/";e.innerHTML=o}document.addEventListener("DOMContentLoaded",(function(){void 0===window.docusaurus&&insertBanner()}))</script><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
@@ -17,7 +17,7 @@
 <p>If you have any questions or requests for this API please submit a <a href="https://github.com/ampache/ampache/issues/new?assignees=&amp;labels=&amp;template=feature_request.md&amp;title=%5BFeature+Request%5D" target="_blank" rel="noopener noreferrer">Feature Request</a>.
 All dates in the API calls should be passed as <a href="http://en.wikipedia.org/wiki/ISO_8601" target="_blank" rel="noopener noreferrer">ISO 8601</a> dates.</p>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="news">News<a href="#news" class="hash-link" aria-label="Direct link to News" title="Direct link to News">​</a></h2>
-<p>Ampache 7 development has started!</p>
+<p>Ampache7 is <a href="https://github.com/ampache/ampache/releases/" target="_blank" rel="noopener noreferrer">here!</a></p>
 <p>The good news is that API6 will remain as the primary API for the next major version. This means <strong>NO</strong> breaking changes for the API!</p>
 <p>API6 will continue to be extended and developed as normal.</p>
 <h2 class="anchor anchorWithStickyNavbar_LWe7" id="archived-version-documentation">Archived Version Documentation<a href="#archived-version-documentation" class="hash-link" aria-label="Direct link to Archived Version Documentation" title="Direct link to Archived Version Documentation">​</a></h2>
diff --git a/api/subsonic/index.html b/api/subsonic/index.html
index f43de93c..68814af6 100644
--- a/api/subsonic/index.html
+++ b/api/subsonic/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Subsonic API | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/subsonic"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Subsonic API | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/subsonic"><link data-rh="true" rel="alternate" href="https://ampache.org/api/subsonic" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/subsonic" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-4.1/api-errors/index.html b/api/versions/api-4.1/api-errors/index.html
index aed990da..67a90f10 100644
--- a/api/versions/api-4.1/api-errors/index.html
+++ b/api/versions/api-4.1/api-errors/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Errors 4.2 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-4.1/api-errors"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Errors 4.2 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-4.1/api-errors"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.1/api-errors" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.1/api-errors" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-4.1/index.html b/api/versions/api-4.1/index.html
index aed7c379..560d128f 100644
--- a/api/versions/api-4.1/index.html
+++ b/api/versions/api-4.1/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API4.1 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-4.1/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API4.1 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-4.1/"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.1/" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.1/" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-4.1/xml-methods/index.html b/api/versions/api-4.1/xml-methods/index.html
index 693ba2e6..635108da 100644
--- a/api/versions/api-4.1/xml-methods/index.html
+++ b/api/versions/api-4.1/xml-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">XML 4.1 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-4.1/xml-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="XML 4.1 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-4.1/xml-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.1/xml-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.1/xml-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-4.2/api-advanced-search/index.html b/api/versions/api-4.2/api-advanced-search/index.html
index c73f070d..c544a7af 100644
--- a/api/versions/api-4.2/api-advanced-search/index.html
+++ b/api/versions/api-4.2/api-advanced-search/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">advanced_search 4.2 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-4.2/api-advanced-search"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="advanced_search 4.2 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-4.2/api-advanced-search"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.2/api-advanced-search" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.2/api-advanced-search" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-4.2/api-errors/index.html b/api/versions/api-4.2/api-errors/index.html
index bcb41b0c..3618c25e 100644
--- a/api/versions/api-4.2/api-errors/index.html
+++ b/api/versions/api-4.2/api-errors/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Errors 4.2 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-4.2/api-errors"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Errors 4.2 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-4.2/api-errors"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.2/api-errors" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.2/api-errors" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-4.2/api-json-methods/index.html b/api/versions/api-4.2/api-json-methods/index.html
index e3642663..d536f00f 100644
--- a/api/versions/api-4.2/api-json-methods/index.html
+++ b/api/versions/api-4.2/api-json-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">JSON 4.2 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-4.2/api-json-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="JSON 4.2 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-4.2/api-json-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.2/api-json-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.2/api-json-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-4.2/api-xml-methods/index.html b/api/versions/api-4.2/api-xml-methods/index.html
index 8cb4f32a..d1ee586d 100644
--- a/api/versions/api-4.2/api-xml-methods/index.html
+++ b/api/versions/api-4.2/api-xml-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">XML 4.2 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-4.2/api-xml-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="XML 4.2 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-4.2/api-xml-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.2/api-xml-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.2/api-xml-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-4.2/index.html b/api/versions/api-4.2/index.html
index 10dca526..bdd0305e 100644
--- a/api/versions/api-4.2/index.html
+++ b/api/versions/api-4.2/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API4.2 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-4.2/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API4.2 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-4.2/"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.2/" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.2/" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-4.3/api-advanced-search/index.html b/api/versions/api-4.3/api-advanced-search/index.html
index fb19aba8..7b2f79a6 100644
--- a/api/versions/api-4.3/api-advanced-search/index.html
+++ b/api/versions/api-4.3/api-advanced-search/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">advanced_search 4.3 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-4.3/api-advanced-search"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="advanced_search 4.3 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-4.3/api-advanced-search"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.3/api-advanced-search" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.3/api-advanced-search" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-4.3/api-errors/index.html b/api/versions/api-4.3/api-errors/index.html
index a5962f69..0185e13b 100644
--- a/api/versions/api-4.3/api-errors/index.html
+++ b/api/versions/api-4.3/api-errors/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Errors 4.3 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-4.3/api-errors"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Errors 4.3 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-4.3/api-errors"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.3/api-errors" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.3/api-errors" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-4.3/api-json-methods/index.html b/api/versions/api-4.3/api-json-methods/index.html
index d6348579..976a725e 100644
--- a/api/versions/api-4.3/api-json-methods/index.html
+++ b/api/versions/api-4.3/api-json-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">JSON 4.3 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-4.3/api-json-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="JSON 4.3 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-4.3/api-json-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.3/api-json-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.3/api-json-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-4.3/api-xml-methods/index.html b/api/versions/api-4.3/api-xml-methods/index.html
index b895f560..cc6d7ae1 100644
--- a/api/versions/api-4.3/api-xml-methods/index.html
+++ b/api/versions/api-4.3/api-xml-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">XML 4.3 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-4.3/api-xml-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="XML 4.3 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-4.3/api-xml-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.3/api-xml-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.3/api-xml-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-4.3/index.html b/api/versions/api-4.3/index.html
index 220740c5..c334ff00 100644
--- a/api/versions/api-4.3/index.html
+++ b/api/versions/api-4.3/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API 4.3 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-4.3/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API 4.3 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-4.3/"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.3/" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-4.3/" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-5.0/api-advanced-search/index.html b/api/versions/api-5.0/api-advanced-search/index.html
index 44abdb96..129dc105 100644
--- a/api/versions/api-5.0/api-advanced-search/index.html
+++ b/api/versions/api-5.0/api-advanced-search/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5.0 advanced_search | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-5.0/api-advanced-search"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5.0 advanced_search | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-5.0/api-advanced-search"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.0/api-advanced-search" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.0/api-advanced-search" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-5.0/api-errors/index.html b/api/versions/api-5.0/api-errors/index.html
index e86218cb..6e12d408 100644
--- a/api/versions/api-5.0/api-errors/index.html
+++ b/api/versions/api-5.0/api-errors/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5.0 Errors | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-5.0/api-errors"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5.0 Errors | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-5.0/api-errors"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.0/api-errors" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.0/api-errors" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-5.0/api-json-methods/index.html b/api/versions/api-5.0/api-json-methods/index.html
index 21caecc8..ccca5d99 100644
--- a/api/versions/api-5.0/api-json-methods/index.html
+++ b/api/versions/api-5.0/api-json-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5.0 JSON Methods | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-5.0/api-json-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5.0 JSON Methods | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-5.0/api-json-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.0/api-json-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.0/api-json-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-5.0/api-standards/index.html b/api/versions/api-5.0/api-standards/index.html
index 046223be..7481abfa 100644
--- a/api/versions/api-5.0/api-standards/index.html
+++ b/api/versions/api-5.0/api-standards/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5.0 Standards | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-5.0/api-standards"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5.0 Standards | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-5.0/api-standards"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.0/api-standards" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.0/api-standards" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-5.0/api-xml-methods/index.html b/api/versions/api-5.0/api-xml-methods/index.html
index 652f044e..a03f5b9d 100644
--- a/api/versions/api-5.0/api-xml-methods/index.html
+++ b/api/versions/api-5.0/api-xml-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5.0 XML Methods | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-5.0/api-xml-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5.0 XML Methods | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-5.0/api-xml-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.0/api-xml-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.0/api-xml-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-5.0/index.html b/api/versions/api-5.0/index.html
index 96bff774..b0c51520 100644
--- a/api/versions/api-5.0/index.html
+++ b/api/versions/api-5.0/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5.0 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-5.0/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5.0 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-5.0/"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.0/" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.0/" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-5.1/api-advanced-search/index.html b/api/versions/api-5.1/api-advanced-search/index.html
index 1cd1d001..0c5fd1c5 100644
--- a/api/versions/api-5.1/api-advanced-search/index.html
+++ b/api/versions/api-5.1/api-advanced-search/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5.1 advanced_search | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-5.1/api-advanced-search"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5.1 advanced_search | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-5.1/api-advanced-search"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.1/api-advanced-search" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.1/api-advanced-search" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-5.1/api-errors/index.html b/api/versions/api-5.1/api-errors/index.html
index 1a4613f5..058c1ae2 100644
--- a/api/versions/api-5.1/api-errors/index.html
+++ b/api/versions/api-5.1/api-errors/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5.1 Errors | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-5.1/api-errors"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5.1 Errors | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-5.1/api-errors"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.1/api-errors" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.1/api-errors" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-5.1/api-json-methods/index.html b/api/versions/api-5.1/api-json-methods/index.html
index 17d5e5e4..784a7fc6 100644
--- a/api/versions/api-5.1/api-json-methods/index.html
+++ b/api/versions/api-5.1/api-json-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5.1 JSON Methods | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-5.1/api-json-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5.1 JSON Methods | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-5.1/api-json-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.1/api-json-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.1/api-json-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-5.1/api-standards/index.html b/api/versions/api-5.1/api-standards/index.html
index c6dfef63..71729c56 100644
--- a/api/versions/api-5.1/api-standards/index.html
+++ b/api/versions/api-5.1/api-standards/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5.1 Standards | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-5.1/api-standards"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5.1 Standards | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-5.1/api-standards"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.1/api-standards" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.1/api-standards" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-5.1/api-xml-methods/index.html b/api/versions/api-5.1/api-xml-methods/index.html
index 213eea7f..d02f19dc 100644
--- a/api/versions/api-5.1/api-xml-methods/index.html
+++ b/api/versions/api-5.1/api-xml-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5.1 XML Methods | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-5.1/api-xml-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5.1 XML Methods | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-5.1/api-xml-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.1/api-xml-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.1/api-xml-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-5.1/index.html b/api/versions/api-5.1/index.html
index 5db667ba..c3993f8d 100644
--- a/api/versions/api-5.1/index.html
+++ b/api/versions/api-5.1/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API5.1 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-5.1/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API5.1 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-5.1/"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.1/" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-5.1/" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-6.0/api-advanced-search/index.html b/api/versions/api-6.0/api-advanced-search/index.html
index 15bcd370..49974c52 100644
--- a/api/versions/api-6.0/api-advanced-search/index.html
+++ b/api/versions/api-6.0/api-advanced-search/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">advanced_search | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-6.0/api-advanced-search"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="advanced_search | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-6.0/api-advanced-search"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-6.0/api-advanced-search" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-6.0/api-advanced-search" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-6.0/api-errors/index.html b/api/versions/api-6.0/api-errors/index.html
index 1c150005..f363bcfd 100644
--- a/api/versions/api-6.0/api-errors/index.html
+++ b/api/versions/api-6.0/api-errors/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API6 Errors | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-6.0/api-errors"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API6 Errors | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-6.0/api-errors"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-6.0/api-errors" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-6.0/api-errors" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-6.0/api-json-methods/index.html b/api/versions/api-6.0/api-json-methods/index.html
index 44449ea7..9f4b1bc4 100644
--- a/api/versions/api-6.0/api-json-methods/index.html
+++ b/api/versions/api-6.0/api-json-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API6 JSON Methods | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-6.0/api-json-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API6 JSON Methods | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-6.0/api-json-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-6.0/api-json-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-6.0/api-json-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-6.0/api-standards/index.html b/api/versions/api-6.0/api-standards/index.html
index 1467d56f..df6de093 100644
--- a/api/versions/api-6.0/api-standards/index.html
+++ b/api/versions/api-6.0/api-standards/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API6 Standards | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-6.0/api-standards"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API6 Standards | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-6.0/api-standards"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-6.0/api-standards" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-6.0/api-standards" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-6.0/api-xml-methods/index.html b/api/versions/api-6.0/api-xml-methods/index.html
index ad5ab763..f79db79a 100644
--- a/api/versions/api-6.0/api-xml-methods/index.html
+++ b/api/versions/api-6.0/api-xml-methods/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API6 XML Methods | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-6.0/api-xml-methods"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API6 XML Methods | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-6.0/api-xml-methods"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-6.0/api-xml-methods" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-6.0/api-xml-methods" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/api-6.0/index.html b/api/versions/api-6.0/index.html
index cd743afd..a9c2e125 100644
--- a/api/versions/api-6.0/index.html
+++ b/api/versions/api-6.0/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">API6.0 | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/api-6.0/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="API6.0 | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/api-6.0/"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-6.0/" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/api-6.0/" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">
diff --git a/api/versions/index.html b/api/versions/index.html
index 3ea43d53..ece2ecb5 100644
--- a/api/versions/index.html
+++ b/api/versions/index.html
@@ -4,7 +4,7 @@
 <meta charset="UTF-8">
 <meta name="generator" content="Docusaurus v3.5.2">
 <title data-rh="true">Past Releases | Ampache API</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://ampache.org/api/versions/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Past Releases | Ampache API"><meta data-rh="true" name="description" content="API documentation"><meta data-rh="true" property="og:description" content="API documentation"><link data-rh="true" rel="icon" href="/api/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://ampache.org/api/versions/"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/" hreflang="en"><link data-rh="true" rel="alternate" href="https://ampache.org/api/versions/" hreflang="x-default"><link rel="stylesheet" href="/api/assets/css/styles.e2cce421.css">
-<script src="/api/assets/js/runtime~main.9785685b.js" defer="defer"></script>
+<script src="/api/assets/js/runtime~main.23503988.js" defer="defer"></script>
 <script src="/api/assets/js/main.fb57077b.js" defer="defer"></script>
 </head>
 <body class="navigation-with-keyboard">