API HolyArrs
Konfiguracja
Wywołuj z własnych skryptów to samo API JSON, z którego korzysta aplikacja webowa, pod adresem /api/v1.
Pierwsze wywołanie
Link do: Pierwsze wywołanie- Otwórz Settings > API > API keys (ustawienia > API > klucze API) i utwórz klucz tylko z tymi zakresami, których potrzebujesz. Skopiuj go od razu, bo pokazuje się tylko raz.
- Wysyłaj go w nagłówku
X-Api-Keyprzy każdym wywołaniu. Nigdy nie wpisuj go w adresie. - Wywołuj adres bazowy
http://your-server:6262/api/v1. Przy URL base ustawionym na/holyarrswywołujhttp://your-server:6262/holyarrs/api/v1.
export HOLYARRS_KEY=...your key...curl -H "X-Api-Key: $HOLYARRS_KEY" "http://your-server:6262/api/v1/health"Dostaniesz w odpowiedzi JSON. Błędy mają postać {"error": "plain words"} z kodem statusu HTTP. Sekrety wracają zamaskowane.
Opcje
Link do: OpcjeWybierz zakres
Link do: Wybierz zakres| Zakres | Pozwala na |
|---|---|
health_read |
Tylko kanał kondycji, dla narzędzi do monitoringu |
read |
Trasy do odczytu, razem z kanałem kondycji |
write |
Zmiany, oprócz tras administracyjnych i sterujących |
admin |
Osoby, zaproszenia, limity próśb, klucze API, hasła i uwierzytelnianie dwuskładnikowe, ustawienia logowania, przywracanie |
control |
Przełączniki modułów, etapy, połączone aplikacje, restart i wyłączanie |
all |
read, write i admin. Bez control |
Narzędziu do monitoringu daj health_read i nic więcej.
Znajdź trasę
Link do: Znajdź trasęSettings > API pokazuje adres bazowy, zakresy, przykładowe wywołania oraz każdą trasę z jej zakresem i uprawnieniem. Plik OpenAPI jest pod /api/v1/openapi.json, gdy jesteś zalogowany. Trasy API wymieniają każdą trasę.
Połącz się z HolyArrs jak dotychczasowa aplikacja
Link do: Połącz się z HolyArrs jak dotychczasowa aplikacjaSeerr, Overseerr, Bazarr i podobne aplikacje nie używają tego API. Łączą się z HolyArrs tak, jakby to były Sonarr i Radarr, z własnymi kluczami. Zobacz API dla dotychczasowych aplikacji.
Jeśli to nie działa
Link do: Jeśli to nie działaObjaw. Błąd 401 przy każdym wywołaniu. Przyczyna. Klucz jest błędny albo usunięty. Rozwiązanie. Utwórz nowy klucz.
Objaw. Błąd 403 na jednej trasie. Przyczyna. Zakres klucza nie obejmuje tej trasy. Rozwiązanie. Sprawdź zakres trasy w Settings > API.
Objaw. Błąd 404 przy każdym wywołaniu.
Przyczyna. Brakuje URL base.
Rozwiązanie. Wstaw go przed /api/v1. Zobacz URL base.
Dla zaawansowanych
Link do: Dla zaawansowanychDodawanie trasy
Trasy są w pliku routes.go każdego modułu. Każda jest rejestrowana z metodą, ścieżką i uprawnieniem, więc każda trasa ma kontrolę uprawnień.
openapi.json powstaje z tras. TestOpenAPIGenerated zawodzi, gdy się rozjadą, więc zaktualizuj go w tej samej zmianie. Snapshot tabeli tras też zawodzi, gdy trasa zostanie dodana, usunięta albo przeniesiona bez aktualizacji snapshotu.
Po wydaniu ścieżki i nazwy pól zostają. Dodawaj pola, nigdy nie zmieniaj ich nazw. Po zmianie wykonaj go run ./app/backend/tools/apidoc, żeby przepisać Trasy API.
Wywołania serwera metadanych
HolyArrs pobiera nazwy, obrazki i identyfikatory z serwera metadanych HolyArrs. Żeby instalacja korzystała z innego serwera, ustaw HOLYARRS_METADATA_URL. Kodu serwera nie ma w tym repozytorium.
Rejestracja. Przy pierwszym wyszukiwaniu instalacja wywołuje POST /v1/installations bez treści. Odpowiedź to 201 z {"schema_version":1,"token":"hai_..."}. Aplikacja zapisuje token zaszyfrowany i wysyła Authorization: Bearer <token> przy każdym wyszukiwaniu. Rejestruje się raz. Po 401 nie rejestruje się ponownie, więc odwołana instalacja zostaje odwołana. Po przekroczeniu godzinnego limitu na grupę adresów odpowiedź to 429 registration_limit z Retry-After.
| Wyszukiwanie (wszystko GET) | Trasa |
|---|---|
| Wyszukiwanie | / |
| Film | /v1/movies/tmdb/{id} |
| Serial | /v1/shows/{tmdb or tvmaze}/{id} |
| Sezon | /v1/shows/tmdb/{id}/seasons/{n} (sezon 0 to odcinki specjalne) |
| Muzyka | / |
Nieznane albo powtórzone parametry są odrzucane. Identyfikatory od jednego dostawcy nigdy nie są używane u innego.
Poprawna odpowiedź zawiera schema_version, source, source_id, fetched_at, expires_at, completeness, stale i data. Traktuj HTML w opisach jako zwykły tekst.
| Status | Znaczy |
|---|---|
| 400 | Złe zapytanie, nie ponawiaj |
| 401 | Zły albo odwołany token, nie ponawiaj |
| 404 | Nie ma takiego rekordu |
| 429 | Za dużo wywołań, poczekaj na Retry-After |
| 503 | Zajęty, poczekaj i spróbuj raz jeszcze |
Powiązane strony
Link do: Powiązane stronyHolyArrs jest darmowy. Jeśli oszczędził ci czas, daj mu gwiazdkę na GitHubie, zostań sponsorem albo postaw mi kawę.