mirror of
https://github.com/plexguide/Huntarr.io.git
synced 2026-02-20 07:44:17 -05:00
- Move donate page from help/donate.html to donate.html (URL: .../donate.html) - Update all doc links and README to new donate URL - Sidebar Donate link: red border, left accent, subtle red glow and background - Applies to all doc pages via shared main.css
247 lines
11 KiB
HTML
247 lines
11 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>API Reference - Huntarr Docs</title>
|
|
<link rel="icon" type="image/png" href="../images/huntarr-logo.png">
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
|
|
<link rel="stylesheet" href="../css/main.css">
|
|
</head>
|
|
<body>
|
|
|
|
<!-- Mobile Topbar -->
|
|
<div class="docs-mobile-topbar">
|
|
<button class="mob-hamburger" aria-label="Open navigation"><span></span><span></span><span></span></button>
|
|
<img src="../images/huntarr-logo.png" alt="Huntarr" class="mob-logo">
|
|
<span class="mob-title">Documentation</span>
|
|
</div>
|
|
|
|
<!-- Sidebar Backdrop (mobile) -->
|
|
<div class="docs-sidebar-backdrop"></div>
|
|
|
|
<div class="docs-layout">
|
|
|
|
<!-- ===== SIDEBAR ===== -->
|
|
<nav class="docs-sidebar" aria-label="Documentation navigation">
|
|
<a href="../index.html" class="sidebar-brand">
|
|
<img src="../images/huntarr-logo.png" alt="Huntarr">
|
|
<span>Huntarr</span>
|
|
</a>
|
|
|
|
<div class="sidebar-scroll">
|
|
|
|
<!-- Getting Started -->
|
|
<div class="nav-group">
|
|
<div class="nav-group-title">Getting Started</div>
|
|
<div class="nav-group-items">
|
|
<a href="../index.html"><i class="fas fa-home"></i> Welcome</a>
|
|
<a href="../getting-started/installation.html"><i class="fas fa-download"></i> Installation</a>
|
|
<a href="../getting-started/setup-wizard.html"><i class="fas fa-magic"></i> Setup Wizard</a>
|
|
<a href="../getting-started/first-steps.html"><i class="fas fa-rocket"></i> First Steps</a>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Apps -->
|
|
<div class="nav-group">
|
|
<div class="nav-group-title">Apps</div>
|
|
<div class="nav-group-items">
|
|
<a href="../apps/index.html"><i class="fas fa-th-large"></i> Overview</a>
|
|
<a href="../apps/sonarr.html"><i class="fas fa-tv"></i> Sonarr</a>
|
|
<a href="../apps/radarr.html"><i class="fas fa-film"></i> Radarr</a>
|
|
<a href="../apps/lidarr.html"><i class="fas fa-music"></i> Lidarr</a>
|
|
<a href="../apps/readarr.html"><i class="fas fa-book"></i> Readarr</a>
|
|
<a href="../apps/whisparr.html"><i class="fas fa-mask"></i> Whisparr</a>
|
|
<a href="../apps/prowlarr.html"><i class="fas fa-search"></i> Prowlarr</a>
|
|
<a href="../apps/swaparr.html"><i class="fas fa-exchange-alt"></i> Swaparr</a>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Movie Hunt -->
|
|
<div class="nav-group">
|
|
<div class="nav-group-title">Movie Hunt</div>
|
|
<div class="nav-group-items">
|
|
<a href="../movie-hunt/index.html"><i class="fas fa-clapperboard"></i> Overview <span class="nav-badge nav-badge-beta">Beta</span></a>
|
|
<a href="../movie-hunt/media-collection.html"><i class="fas fa-photo-film"></i> Media Collection</a>
|
|
<a href="../movie-hunt/indexers-clients.html"><i class="fas fa-server"></i> Indexers & Clients</a>
|
|
<a href="../movie-hunt/profiles.html"><i class="fas fa-sliders"></i> Profiles</a>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- NZB Hunt -->
|
|
<div class="nav-group">
|
|
<div class="nav-group-title">NZB Hunt</div>
|
|
<div class="nav-group-items">
|
|
<a href="../nzb-hunt/index.html"><i class="fas fa-newspaper"></i> Overview <span class="nav-badge nav-badge-beta">Beta</span></a>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Requestarr -->
|
|
<div class="nav-group">
|
|
<div class="nav-group-title">Requests</div>
|
|
<div class="nav-group-items">
|
|
<a href="../requestarr/index.html"><i class="fas fa-hand-paper"></i> Requests</a>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Settings -->
|
|
<div class="nav-group">
|
|
<div class="nav-group-title">Settings</div>
|
|
<div class="nav-group-items">
|
|
<a href="../settings/index.html"><i class="fas fa-cog"></i> Main Settings</a>
|
|
<a href="../settings/scheduling.html"><i class="fas fa-clock"></i> Scheduling</a>
|
|
<a href="../settings/notifications.html"><i class="fas fa-bell"></i> Notifications</a>
|
|
<a href="../settings/backup-restore.html"><i class="fas fa-database"></i> Backup & Restore</a>
|
|
<a href="../settings/log-settings.html"><i class="fas fa-file-alt"></i> Log Settings</a>
|
|
<a href="../settings/user-account.html"><i class="fas fa-user-shield"></i> User Account</a>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- System -->
|
|
<div class="nav-group">
|
|
<div class="nav-group-title">System</div>
|
|
<div class="nav-group-items">
|
|
<a href="hunt-manager.html"><i class="fas fa-tasks"></i> Hunt Manager</a>
|
|
<a href="logs.html"><i class="fas fa-scroll"></i> Logs</a>
|
|
<a href="api.html" class="active"><i class="fas fa-code"></i> API Reference</a>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Help -->
|
|
<div class="nav-group">
|
|
<div class="nav-group-title">Help</div>
|
|
<div class="nav-group-items">
|
|
<a href="../help/faq.html"><i class="fas fa-question-circle"></i> FAQ</a>
|
|
<a href="../help/community.html"><i class="fas fa-users"></i> Community</a>
|
|
<a href="https://plexguide.github.io/Huntarr.io/donate.html"><i class="fas fa-heart"></i> Donate</a>
|
|
</div>
|
|
</div>
|
|
|
|
</div><!-- /sidebar-scroll -->
|
|
|
|
<div class="sidebar-footer">
|
|
<a href="https://discord.com/invite/PGJJjR5Cww" target="_blank" class="sf-discord" title="Discord"><i class="fab fa-discord"></i></a>
|
|
<a href="https://www.reddit.com/r/huntarr/" target="_blank" class="sf-reddit" title="Reddit"><i class="fab fa-reddit-alien"></i></a>
|
|
<a href="https://github.com/plexguide/Huntarr.io" target="_blank" class="sf-github" title="GitHub"><i class="fab fa-github"></i></a>
|
|
<a href="https://plexguide.github.io/Huntarr.io/donate.html" class="sf-heart" title="Donate"><i class="fas fa-heart"></i></a>
|
|
</div>
|
|
</nav>
|
|
|
|
<!-- ===== MAIN ===== -->
|
|
<main class="docs-main">
|
|
<div class="docs-content">
|
|
|
|
<h1>API Reference</h1>
|
|
<p class="page-subtitle">Huntarr's REST API for automation and integration.</p>
|
|
|
|
<h2>Overview</h2>
|
|
<ul>
|
|
<li>Huntarr exposes a REST API for programmatic access</li>
|
|
<li>All endpoints require authentication (session cookie or API key)</li>
|
|
<li>Responses are in JSON format</li>
|
|
</ul>
|
|
|
|
<h2>Authentication</h2>
|
|
<p>All API requests must include authentication:</p>
|
|
<ul>
|
|
<li><strong>Session Cookie</strong>: Automatically set after login via the web UI</li>
|
|
<li><strong>API Key</strong>: Pass as a query parameter <code>?apikey=YOUR_KEY</code> or header <code>X-Api-Key</code></li>
|
|
</ul>
|
|
|
|
<h2>Core Endpoints</h2>
|
|
|
|
<h3>Stats</h3>
|
|
<pre><code>GET /api/stats</code></pre>
|
|
<p>Returns dashboard statistics for all connected apps.</p>
|
|
|
|
<h3>Settings</h3>
|
|
<pre><code>GET /api/settings/general
|
|
POST /api/settings/general</code></pre>
|
|
<p>Get or update general settings.</p>
|
|
|
|
<h3>App Instances</h3>
|
|
<pre><code>GET /api/instances/{app_type}
|
|
POST /api/instances/{app_type}
|
|
DELETE /api/instances/{app_type}/{instance_id}</code></pre>
|
|
<p>Manage app instances. <code>app_type</code> can be: sonarr, radarr, lidarr, readarr, whisparr, prowlarr, swaparr.</p>
|
|
|
|
<h3>Schedules</h3>
|
|
<pre><code>GET /api/schedules
|
|
POST /api/schedules
|
|
PUT /api/schedules/{id}
|
|
DELETE /api/schedules/{id}</code></pre>
|
|
<p>Manage hunt schedules.</p>
|
|
|
|
<h3>Notifications</h3>
|
|
<pre><code>GET /api/notifications/connections
|
|
POST /api/notifications/connections
|
|
PUT /api/notifications/connections/{id}
|
|
DELETE /api/notifications/connections/{id}
|
|
POST /api/notifications/test</code></pre>
|
|
<p>Manage notification connections and send test notifications.</p>
|
|
|
|
<h3>Logs</h3>
|
|
<pre><code>GET /api/logs?app_type=sonarr&level=ERROR&limit=100
|
|
GET /api/logs/stats
|
|
POST /api/logs/cleanup
|
|
POST /api/logs/all/clear</code></pre>
|
|
<p>View logs, get statistics, and manage log data.</p>
|
|
|
|
<h3>Backup</h3>
|
|
<pre><code>GET /api/backup/list
|
|
POST /api/backup/create
|
|
POST /api/backup/restore
|
|
POST /api/backup/upload
|
|
DELETE /api/backup/{filename}</code></pre>
|
|
<p>Manage backups.</p>
|
|
|
|
<h2>Movie Hunt API</h2>
|
|
<pre><code>GET /api/movie-hunt/movies
|
|
GET /api/movie-hunt/movies/{id}
|
|
POST /api/movie-hunt/movies
|
|
DELETE /api/movie-hunt/movies/{id}
|
|
POST /api/movie-hunt/search
|
|
GET /api/movie-hunt/history?tmdb_id={id}</code></pre>
|
|
<p>Manage Movie Hunt library and trigger searches.</p>
|
|
|
|
<h2>Response Format</h2>
|
|
<p>All responses follow this structure:</p>
|
|
<pre><code>{
|
|
"success": true,
|
|
"data": { ... },
|
|
"message": "Operation completed"
|
|
}</code></pre>
|
|
|
|
<p>Error responses:</p>
|
|
<pre><code>{
|
|
"success": false,
|
|
"error": "Description of what went wrong"
|
|
}</code></pre>
|
|
|
|
<h2>Rate Limiting</h2>
|
|
<p>The API does not enforce rate limits internally, but be mindful of:</p>
|
|
<ul>
|
|
<li>*arr app API rate limits when triggering searches</li>
|
|
<li>Indexer rate limits when searches are processed</li>
|
|
<li>Database performance with very frequent requests</li>
|
|
</ul>
|
|
|
|
<div class="alert alert-warning">
|
|
<strong>Polling Frequency</strong>
|
|
<p>The API is intended for automation and integration. Avoid polling endpoints more frequently than every 5 seconds.</p>
|
|
</div>
|
|
|
|
</div><!-- /docs-content -->
|
|
|
|
<footer class="docs-footer">
|
|
<p>Huntarr is open source. <a href="https://github.com/plexguide/Huntarr.io" target="_blank">GitHub</a> · <a href="https://discord.com/invite/PGJJjR5Cww" target="_blank">Discord</a> · <a href="https://www.reddit.com/r/huntarr/" target="_blank">Reddit</a></p>
|
|
</footer>
|
|
</main>
|
|
|
|
</div><!-- /docs-layout -->
|
|
|
|
<button class="back-to-top" aria-label="Back to top"><i class="fas fa-arrow-up"></i></button>
|
|
<script src="../js/main.js"></script>
|
|
</body>
|
|
</html>
|