Vai al contenuto

Riferimento API ​

Il servizio espone tre superfici HTTP sulla porta 8000.

PrefissoScopoAutenticazione
/Applicazione statica WebUINessuna
/apiEndpoint XML TorznabNessuna; apikey è accettato ma non convalidato
/webapiAPI JSON same-origin di configurazioneNessuna

Endpoint WebAPI ​

MetodoPercorsoRisposta 200Errori gestiti
GET/webapi/statusStato aggregato del servizio—
GET/webapi/settingsImpostazioni pubbliche schema v1—
PUT/webapi/settingsImpostazioni effettive convalidate422 body non valido
GET/webapi/result-processingPreset e regole effettivi—
PUT/webapi/result-processingPreset e regole convalidati422 body non valido
GET/webapi/prowlarr/statusStato live, inclusi errori remotiSempre 200
POST/webapi/prowlarr/test{ "connected": true, "error": null }400, 502
POST/webapi/prowlarr/indexerRisultato di creazione o indexer esistente400, 502

Durante la breve sostituzione del database, il middleware può restituire HTTP 503 con Retry-After: 5 prima dell'handler normale di qualsiasi route.

GET /webapi/status ​

L'endpoint verifica PostgreSQL ma non contatta Prowlarr. La sezione Prowlarr contiene l'ultimo riepilogo in memoria, oppure valori nulli prima di un'operazione.

CampoTipoSignificato
api_versionintegerVersione schema WebAPI, attualmente 1
application_versionstringVersione dell'applicazione FastAPI
database.connectedbooleanEsito della verifica corrente
updater.installed_versionstring or nullTag snapshot installato
updater.latest_versionstring or nullUltimo tag remoto individuato
updater.enabledbooleanStato effettivo degli aggiornamenti automatici
updater.updatingbooleanAggiornamento in corso
updater.maintenancebooleanSostituzione del database in corso
updater.last_checkstring or nullTimestamp ISO-8601 dell'ultimo controllo
updater.next_checkstring or nullProssimo controllo; null se disabilitato
updater.last_errorstring or nullUltimo errore dell'updater
result_processing.presetstringPreset effettivo
result_processing.custom_rule_countintegerNumero di regole, incluse quelle disabilitate
prowlarr.configuredbooleanURL e API key entrambe effettive
prowlarr.connectedboolean or nullEsito della connessione in cache
prowlarr.indexer_installedboolean or nullEsito dell'installazione in cache
prowlarr.errorstring or nullErrore sanificato in cache

Impostazioni ​

GET /webapi/settings e un PUT /webapi/settings riuscito restituiscono:

CampoTipo
schema_versioninteger 1
database_update.enabledboolean
database_update.interval_secondsinteger, 60–604800
result_processing.presetunfiltered, italian_preferred, italian_only oppure custom
result_processing.custom_rulesarray
prowlarr.urlstring
prowlarr.indexer_urlstring
prowlarr.api_key_configuredboolean

PUT accetta prowlarr.api_key facoltativo e di sola scrittura: ometterlo conserva la chiave, una stringa non vuota la sostituisce e una stringa vuota la cancella. Campi non validi o sconosciuti restituiscono HTTP 422 con { "detail": "..." }. Un aggiornamento completo riuscito riconfigura anche l'updater e cancella lo stato Prowlarr in cache.

Elaborazione dei risultati ​

Entrambe le route usano questo body:

json
{
  "preset": "italian_preferred",
  "custom_rules": []
}

GET restituisce l'oggetto effettivo. PUT restituisce quello convalidato; preset, regole, campi, operatori, azioni, valori o campi sconosciuti non validi producono HTTP 422 con un dettaglio.

Stato Prowlarr ​

GET /webapi/prowlarr/status restituisce HTTP 200 con quattro campi:

CampoTipoComportamento
configuredbooleanFalse se URL e API key non sono entrambe effettive
connectedboolean or nullNull senza configurazione; altrimenti esito live
indexer_installedboolean or nullNull senza configurazione o in caso di errore iniziale; altrimenti esito live
errorstring or nullMotivo sanificato oppure null

Gli errori remoti normali restano dati di stato invece di errori HTTP:

json
{
  "configured": true,
  "connected": false,
  "indexer_installed": false,
  "error": "Unable to connect to Prowlarr"
}

Gli errori sicuri specifici includono connessione, stato HTTP remoto, risposta troppo grande, JSON non valido e schema non valido. Se il testo contiene il segreto configurato o traceback, viene sostituito con Prowlarr request failed.

Comandi Prowlarr ​

RouteRisposta in caso di successo400502
POST /webapi/prowlarr/test{ "connected": true, "error": null }URL o API key mancantiErrore remoto; { "detail": "Prowlarr request failed" }
POST /webapi/prowlarr/indexer{ "created": boolean, "already_installed": boolean, "indexer_id": integer or null }URL, API key o Indexer URL mancantiErrore remoto; stesso dettaglio stabile

Un indexer già installato restituisce created: false e already_installed: true; uno appena creato restituisce l'inverso. L'ID è null se Prowlarr non fornisce un integer ID.

Gestione dei segreti ​

Le letture JSON non includono mai la API key salvata o fornita dall'ambiente. GET /webapi/settings espone solo api_key_configured e le risposte di stato non hanno un campo chiave. Gli errori dei comandi usano sempre il dettaglio generico stabile; gli errori di stato possono mantenere un motivo specifico sanificato. Consulta lo schema di configurazione.

Torznab ​

Consulta le funzionalità Torznab per query e XML.

Violarr è stato creato e reso possibile anche grazie a strumenti di intelligenza artificiale generativa, sotto direzione e revisione umana.