Vos autres outils peuvent interroger Routarr.
Un script, n8n, Home Assistant ou un tableau de bord peut demander où irait un titre, forcer sa catégorie, lancer une simulation et l'appliquer, ou lire l'état, chacun avec une clé qui ne fait que ce que vous avez permis.
- 01
X-Api-Key: rtr_…
Créez une clé sur l'écran Applications, une par outil. Toute clé lit, et une portée qui change quelque chose, comme
operate(piloter) pour appliquer ouwrite(écrire) pour fixer un titre, ne s'accorde que là où il le faut : la référence plus bas nomme celle que demande chaque opération. Routarr ne montre la clé qu'une fois, etAuthorization: Bearerla transporte aussi. - 02
GET /api/v1/route
Demandez où irait un titre. Routarr le cherche dans l'Arr, le passe à vos règles et ne déplace rien. Ici, jq garde de la réponse ce dont un script a besoin.
- 03
GET /api/v1/openapi.json
Chaque opération et la portée qu'elle demande figurent sur l'écran Référence de l'API de votre Routarr, qui sert le contrat OpenAPI à ce chemin, pour la version qu'il exécute.
curl -fsS -H "X-Api-Key: $ROUTARR_KEY" \
"http://localhost:9876/api/v1/route?type=movie&tmdb=149" \
| jq '.answers[0]
| {category, folder: .root_folder.path, action, rule}'{
"category": "anime",
"folder": "/movies/anime",
"action": "move",
"rule": "Anime japonais"
}Rien de ce qui est documenté sous /api/v1 n'est retiré, renommé ni ne change de type. De nouvelles opérations et de nouveaux champs peuvent arriver avec chaque version.
Ce qu'une application peut demander.
Les opérations de Routarr 0.2.0, la version que nomme cette page, groupées par ce qu'elles touchent. Ouvrez-en une pour voir ce qu'elle prend et ce qu'elle répond. Le mot à droite est la portée qu'il faut à une clé. Un nom de type mène à son entrée parmi les types listés en dernier.
État
Si Routarr répond, et ce qui demande votre attention.
GET/api/v1/auth/meÀ qui appartient la clé, portée : read
GET/api/v1/healthJoindre chaque Arr et chaque source, et en rendre compte, portée : operate
Paramètres
probeboolean· dans la requêtefreshboolean· dans la requête
Réponse 200HealthResponse
databasestringinstancesInstanceHealth[]metadataMetadataHealthstatsAppStatsstatusstringversionstringwarningsWarning[]
GET/api/v1/metadata/providersLes sources de métadonnées, et ce à quoi chacune peut répondre, portée : read
GET/api/v1/metricsMétriques Prometheus, portée : read
Ne prend rien.
Réponse 200
GET/api/v1/pingSi Routarr répond, portée : sans clé
GET/api/v1/statusCe qui demande votre attention, portée : read
Ne prend rien.
Réponse 200StatusResponse
dry_runbooleanfailed_decisionsintegerpending_decisionsintegerrunning_jobsintegerversionstringwarningsWarning[]
Bibliothèque
Les titres que Routarr a lus dans les Arrs, et où va chacun.
GET/api/v1/mediaLa bibliothèque, page par page, portée : read
Paramètres
instance_idstring· dans la requêtemedia_typestring· dans la requêtecategorystring· dans la requêtesearchstring· dans la requêtetmdb_idinteger· dans la requêtetvdb_idinteger· dans la requêteimdb_idstring· dans la requêteunmatchedboolean· dans la requêtepageinteger· dans la requêteper_pageinteger· dans la requête
Réponse 200Page_MediaListItem
dataMediaListItem[]paginationPagination
GET/api/v1/media/facetsLes valeurs que contient la bibliothèque, pour chaque condition, portée : read
Ne prend rien.
Réponse 200LibraryFacets
GET/api/v1/media/{id}Un titre, portée : read
Paramètres
idstring· dans le chemin · obligatoire
Réponse 200MediaDetail
instance_namestring?mediaMediaViewmetadataMediaMetadata?overridePinnedCategory?
GET/api/v1/media/{id}/explainOù va un titre, et pourquoi, portée : read
Paramètres
idstring· dans le chemin · obligatoire
Réponse 200Explanation
actionstringconfidencenumberinstance_enabledbooleanmediaMediaViewmetadataMediaMetadata?override_categorystring?rule_tracesRuleTrace[]rules_categorystringtarget_categorystringtarget_root_folderstring?winning_rulestring?
GET/api/v1/routeOù irait un titre qu'un autre service nomme, portée : read
Paramètres
typestring· dans la requête · obligatoiretmdbinteger· dans la requêtetvdbinteger· dans la requêteimdbstring· dans la requêteinstancestring· dans la requêtetagsstring· dans la requêteseries_typestring· dans la requêtemonitoredboolean· dans la requêteenrichboolean· dans la requête
Réponse 200Placement
answersPlacementAnswer[]errorsInstanceFailure[]
Décisions
Simuler les règles sur la bibliothèque, puis appliquer ou annuler les déplacements qu'elles décident.
GET/api/v1/decisionsLes décisions, page par page, portée : read
Paramètres
instance_idstring· dans la requêtemedia_typestring· dans la requêtestatusstring· dans la requêtecategorystring· dans la requêteactionstring· dans la requêtesimulation_idstring· dans la requêtesearchstring· dans la requêteinclude_supersededboolean· dans la requêtepageinteger· dans la requêteper_pageinteger· dans la requête
Réponse 200Page_Decision
dataDecision[]paginationPagination
POST/api/v1/decisions/applyAppliquer les décisions choisies, portée : operate
Paramètres
Preferstring?· en-tête
Corps
confirmConfirmeddecision_idsstring[]· obligatoiremove_filesboolean
Réponse 200ApplyReport
appliedintegererrorsApplyError[]failedintegermovingintegerrequestedintegerskippedintegerstoppedStopReason?supersededinteger
POST/api/v1/decisions/apply-allAppliquer tout ce qu'une simulation a proposé, portée : operate
Paramètres
Preferstring?· en-tête
Corps
confirmConfirmedmove_filesbooleansimulation_idstring· obligatoire
Réponse 200BatchApplyReport
appliedintegerbatches_plannedintegerbatches_runintegercandidatesintegererrorsApplyError[]failedintegermovingintegerskippedintegerstoppedStopReason?stopped_earlybooleansupersededinteger
POST/api/v1/decisions/revertRemettre des titres en place, portée : operate
Paramètres
Preferstring?· en-tête
Corps
confirmConfirmeddecision_idsstring[]· obligatoiremove_filesboolean
Réponse 200ApplyReport
appliedintegererrorsApplyError[]failedintegermovingintegerrequestedintegerskippedintegerstoppedStopReason?supersededinteger
POST/api/v1/simulatePasser les règles sur la bibliothèque, portée : operate
Paramètres
Preferstring?· en-tête
Corps
instance_idsstring[]?max_returnedinteger?media_typestring?persistbooleanpersist_unchangedboolean
Réponse 200SimulationResult
already_correctintegercapacityCapacityForecast[]decisionsDecision[]elapsed_msintegerexcluded_by_ruleintegermoves_requiredintegerno_category_matchintegeroverrides_appliedintegerreturnedintegersimulation_idstringskipped_unmappedintegertotal_mediainteger
Exceptions
Les titres dont la catégorie est forcée à la main, qui priment sur toutes les règles.
GET/api/v1/overridesLes exceptions, portée : read
Paramètres
pageinteger· dans la requêteper_pageinteger· dans la requête
Réponse 200Page_OverrideWithMedia
dataOverrideWithMedia[]paginationPagination
POST/api/v1/overridesForcer la catégorie d'un titre, portée : write
Corps
media_idstring· obligatoirereasonstring?target_categorystring· obligatoire
Réponse 201OverrideEntry
created_atstringidstringmedia_idstringreasonstring?subjectstring?target_categorystring
DELETE/api/v1/overrides/externalRetirer l'exception d'un titre par l'identifiant qu'un autre service lui donne, portée : write
Paramètres
typestring· dans la requête · obligatoiretmdbinteger· dans la requêtetvdbinteger· dans la requêteimdbstring· dans la requêteinstancestring· dans la requête
Réponse 200Deleted
deletedboolean
PUT/api/v1/overrides/externalForcer la catégorie d'un titre par l'identifiant qu'un autre service lui donne, portée : write
Paramètres
typestring· dans la requête · obligatoiretmdbinteger· dans la requêtetvdbinteger· dans la requêteimdbstring· dans la requêteinstancestring· dans la requête
Corps
reasonstring?target_categorystring· obligatoire
Réponse 200OverrideEntry[]
created_atstringidstringmedia_idstringreasonstring?subjectstring?target_categorystring
DELETE/api/v1/overrides/{id}Retirer une exception, portée : write
Tâches
Ce qui a tourné en arrière-plan, et comment cela s'est terminé.
GET/api/v1/jobsLes tâches, les plus récentes d'abord, portée : read
Paramètres
statusstring· dans la requêtekindstring· dans la requêtepageinteger· dans la requêteper_pageinteger· dans la requêteincludestring· dans la requête
Réponse 200Page_Job
dataJob[]paginationPagination
GET/api/v1/jobs/{id}Une tâche, portée : read
Paramètres
idstring· dans le chemin · obligatoire
Réponse 200Job
detailstring?errorstring?error_messagestring?finished_atstring?idstringinstance_idstring?kindstringprogress_currentintegerprogress_totalintegerresultobjectstarted_atstringstatusstringsubjectstring?triggerstring
GET/api/v1/logsCe qu'a fait chaque déplacement, page par page, portée : read
Paramètres
instance_idstring· dans la requêtemedia_idstring· dans la requêteactionstring· dans la requêtesuccessboolean· dans la requêtesearchstring· dans la requêtepageinteger· dans la requêteper_pageinteger· dans la requête
Réponse 200Page_LogEntry
dataLogEntry[]paginationPagination
GET/api/v1/logs/exportLe même journal en fichier CSV, portée : read
Paramètres
instance_idstring· dans la requêtemedia_idstring· dans la requêteactionstring· dans la requêtesuccessboolean· dans la requêtesearchstring· dans la requête
Réponse 200
Instances
Les Arr que Routarr lit, et les relire.
GET/api/v1/instancesLes Arr que Routarr lit, portée : read
Ne prend rien.
Réponse 200InstanceResponse[]
api_key_encryptedbooleanapi_key_maskedstringapi_key_setbooleanbase_urlstringcreated_atstringenabledbooleanidstringinstance_typestringlast_sync_atstring?last_sync_attempt_atstring?last_sync_statusstring?namestringsync_interval_minutesintegerupdated_atstringwebhook_pathstring?webhook_tokenstring?webhook_urlstring?
POST/api/v1/instances/syncRelire chaque Arr activé, portée : operate
Paramètres
Preferstring?· en-tête
Réponse 200SyncReport[]
errorstring?instance_idstringinstance_namestringmediaintegerremovedintegerroot_foldersinteger
GET/api/v1/instances/{id}Un Arr, portée : read
Paramètres
idstring· dans le chemin · obligatoire
Réponse 200InstanceResponse
api_key_encryptedbooleanapi_key_maskedstringapi_key_setbooleanbase_urlstringcreated_atstringenabledbooleanidstringinstance_typestringlast_sync_atstring?last_sync_attempt_atstring?last_sync_statusstring?namestringsync_interval_minutesintegerupdated_atstringwebhook_pathstring?webhook_tokenstring?webhook_urlstring?
POST/api/v1/instances/{id}/syncRelire un Arr, portée : operate
Paramètres
idstring· dans le chemin · obligatoirePreferstring?· en-tête
Réponse 200SyncReport
errorstring?instance_idstringinstance_namestringmediaintegerremovedintegerroot_foldersinteger
Règles
Les règles par ordre de priorité, les conditions qu'elles peuvent employer, et les tests qui fixent ce qu'elles décident.
GET/api/v1/rule-testsLes tests de règles, portée : read
Paramètres
pageinteger· dans la requêteper_pageinteger· dans la requête
Réponse 200Page_RuleTest
dataRuleTest[]paginationPagination
POST/api/v1/rule-testsFixer en test ce que les règles décident pour un titre, portée : configure
Corps
expected_categorystring?media_idstring· obligatoirenamestring· obligatoire
Réponse 201RuleTest
created_atstringevaluated_atstringexpected_categorystringidstringmedia_typestringnamestringsource_media_titlestring?
POST/api/v1/rule-tests/runPasser chaque test sur les règles telles qu'elles sont, portée : operate
DELETE/api/v1/rule-tests/{id}Retirer un test de règles, portée : configure
GET/api/v1/rulesLes règles, par ordre de priorité, portée : read
POST/api/v1/rulesCréer une règle, portée : configure
GET/api/v1/rules/conditionsLes conditions qu'une règle peut employer, portée : read
GET/api/v1/rules/exportLes règles en un lot, portée : read
Ne prend rien.
Réponse 200RuleBundle
categoriesstring[]exported_atstring?rulesBundledRule[]versioninteger
GET/api/v1/rules/healthCe que décide chaque règle, portée : read
POST/api/v1/rules/importImporter un lot de règles, portée : configure
Corps
bundleRuleBundle· obligatoirecreate_missing_categoriesbooleanreplaceboolean
Réponse 200RuleImportReport
adjustedstring[]importedintegerreplacedbooleanskippedstring[]
POST/api/v1/rules/previewCe que déplacerait un brouillon de règle, sans rien enregistrer, portée : configure
Corps
instance_idsstring[]?ruleCreateRuleRequest· obligatoirerule_idstring?sample_sizeinteger
Réponse 200PreviewResponse
afterPreviewSummarybeforePreviewSummarychangedPreviewChange[]changed_totalintegerissuesValidationIssue[]
POST/api/v1/rules/reorderRemettre les règles dans un nouvel ordre, portée : configure
POST/api/v1/rules/validateJuger un brouillon de règle, sans rien enregistrer, portée : configure
Corps
conditionsCondition[]· obligatoiredescriptionstring?enabledbooleanexclusionsCondition[]instance_idsstring[]?match_modeMatchModemedia_typestring· obligatoirenamestring· obligatoirepriorityinteger?target_categorystring· obligatoire
Réponse 200RuleVerdict
issuesValidationIssue[]validboolean
DELETE/api/v1/rules/{id}Retirer une règle, portée : configure
GET/api/v1/rules/{id}Une règle, portée : read
PUT/api/v1/rules/{id}Remplacer une règle, portée : configure
Paramètres
idstring· dans le chemin · obligatoire
Corps
conditionsCondition[]· obligatoiredescriptionstring?enabledbooleanexclusionsCondition[]instance_idsstring[]?match_modeMatchModemedia_typestring· obligatoirenamestring· obligatoirepriorityinteger?target_categorystring· obligatoire
Réponse 200Rule
POST/api/v1/rules/{id}/duplicateCopier une règle, désactivée, portée : configure
Catégories et dossiers
Les catégories, et les dossiers racines qui mènent à chacune.
GET/api/v1/categoriesLes catégories, avec ce qui utilise chacune, portée : read
Ne prend rien.
Réponse 200CategoryWithUsage[]
created_atstringdescriptionstring?display_orderintegeridstringis_defaultbooleannamestringroot_folder_countintegerrule_countinteger
POST/api/v1/categoriesCréer une catégorie, portée : configure
Corps
descriptionstring?display_orderintegeris_defaultbooleannamestring· obligatoire
Réponse 201Category
created_atstringdescriptionstring?display_orderintegeridstringis_defaultbooleannamestring
DELETE/api/v1/categories/{id}Retirer une catégorie, portée : configure
PUT/api/v1/categories/{id}Renommer une catégorie, portée : configure
Paramètres
idstring· dans le chemin · obligatoire
Corps
namestring· obligatoire
Réponse 200Category
created_atstringdescriptionstring?display_orderintegeridstringis_defaultbooleannamestring
GET/api/v1/root-foldersLes dossiers racines, et la catégorie à laquelle mène chacun, portée : read
Ne prend rien.
Réponse 200RootFolderWithInstance[]
accessiblebooleanarr_idinteger?categorystring?free_spaceinteger?idstringinstance_idstringlast_accessible_atstring?last_synced_atstring?originstringpathstringinstance_namestringinstance_typestring
POST/api/v1/root-foldersDéclarer une destination que l'Arr ne liste pas, portée : configure
Corps
instance_idstring· obligatoirepathstring· obligatoire
Réponse 201Declared
idstringpathstringverifiedboolean
GET/api/v1/root-folders/conflictsCe que les associations laissent dans le flou, portée : read
Ne prend rien.
Réponse 200MappingConflict[]
categorystring?instance_namestring?kindstringmessagestringseveritystring
DELETE/api/v1/root-folders/{id}Retirer une destination déclarée, portée : configure
PUT/api/v1/root-folders/{id}/categoryMener un dossier à une catégorie, ou à aucune, portée : configure
Paramètres
idstring· dans le chemin · obligatoire
Corps
categorystring?· obligatoire
Réponse 200Mapped
categorystring?updatedboolean
Sauvegardes
Les sauvegardes que Routarr conserve, et en faire une tout de suite.
GET/api/v1/backupsLes sauvegardes conservées, portée : read
POST/api/v1/backupsFaire une sauvegarde tout de suite, portée : operate
Paramètres
Preferstring?· en-tête
Réponse 200BackupFile
created_atstringencryptedbooleannamestringsize_bytesinteger
Types
Chaque forme que prennent ou répondent les opérations ci-dessus. Un nom de type ouvre son entrée ici.
AlternativeDecision
categorystring· obligatoireconfidencenumberexcluded_bystring?reasonstring· obligatoirerule_namestring· obligatoire
ApplyAllRequest
confirmConfirmedmove_filesbooleansimulation_idstring· obligatoire
ApplyDecisionsRequest
confirmConfirmeddecision_idsstring[]· obligatoiremove_filesboolean
ApplyError
decision_idstring· obligatoiremedia_titlestring· obligatoiremessagestring· obligatoire
ApplyReport
appliedinteger· obligatoireerrorsApplyError[]· obligatoirefailedinteger· obligatoiremovinginteger· obligatoirerequestedinteger· obligatoireskippedinteger· obligatoirestoppedStopReason?supersededinteger· obligatoire
AppStats
applied_decisionsinteger· obligatoireenabled_rulesinteger· obligatoirefailed_decisionsinteger· obligatoirepending_decisionsinteger· obligatoirerunning_jobsinteger· obligatoiretotal_instancesinteger· obligatoiretotal_mediainteger· obligatoiretotal_moviesinteger· obligatoiretotal_overridesinteger· obligatoiretotal_rulesinteger· obligatoiretotal_seriesinteger· obligatoireunmapped_categoriesinteger· obligatoire
BackupFile
created_atstring· obligatoireencryptedboolean· obligatoirenamestring· obligatoiresize_bytesinteger· obligatoire
BackupListResponse
backupsBackupFile[]· obligatoireretention_countinteger· obligatoire
BatchApplyReport
appliedinteger· obligatoirebatches_plannedinteger· obligatoirebatches_runinteger· obligatoirecandidatesinteger· obligatoireerrorsApplyError[]· obligatoirefailedinteger· obligatoiremovinginteger· obligatoireskippedinteger· obligatoirestoppedStopReason?stopped_earlyboolean· obligatoiresupersededinteger· obligatoire
BundledRule
CapacityForecast
fitsboolean· obligatoirefree_bytesinteger· obligatoireincoming_bytesinteger· obligatoireinstance_idstring· obligatoireinstance_namestring?itemsinteger· obligatoirepathstring· obligatoiresame_filesystem_bytesinteger· obligatoire
Category
created_atstring· obligatoiredescriptionstring?display_orderinteger· obligatoireidstring· obligatoireis_defaultboolean· obligatoirenamestring· obligatoire
CategoryWithUsage
created_atstring· obligatoiredescriptionstring?display_orderinteger· obligatoireidstring· obligatoireis_defaultboolean· obligatoirenamestring· obligatoireroot_folder_countinteger· obligatoirerule_countinteger· obligatoire
Condition
L'une de ces formes, distinguées par type
genre_containsvaluestring[]genre_contains_allvaluestring[]genre_not_containsvaluestring[]keyword_containsvaluestring[]keyword_contains_allvaluestring[]keyword_not_containsvaluestring[]original_languagevaluestring[]original_language_notvaluestring[]origin_countryvaluestring[]origin_country_allvaluestring[]year_rangevalueobjecttag_invaluestring[]tag_in_allvaluestring[]series_type_isvaluestring[]size_on_disk_over_gbvalueintegerseason_count_overvalueintegercertification_invaluestring[]status_isvaluestring[]current_root_foldervaluestringcurrent_root_folder_starts_withvaluestringhas_filesvaluebooleantitle_containsvaluestring[]tmdb_id_invalueinteger[]tvdb_id_invalueinteger[]imdb_id_invaluestring[]added_within_daysvalueintegermonitoredvaluebooleanhas_metadatavalueboolean
ConditionCatalog
conditionsConditionSpec[]· obligatoirematch_modesstring[]· obligatoire
ConditionOutcome
expectedstringkeystring· obligatoirekindstring· obligatoirematchedboolean· obligatoireobservedstring· obligatoireparamsobject· obligatoiresourcestring?
ConditionSpec
availableboolean· obligatoirecounterpartstring· obligatoirelabelstring· obligatoirelabel_keystring· obligatoiremedia_typesstring[]· obligatoiremetadata_fieldstring?needs_metadataboolean· obligatoirequantifierstring· obligatoiresuggestionsstring· obligatoiretypestring· obligatoirevalue_typestring· obligatoire
Confirmed
Une liste de string
CreateCategoryRequest
descriptionstring?display_orderintegeris_defaultbooleannamestring· obligatoire
CreateOverrideRequest
media_idstring· obligatoirereasonstring?target_categorystring· obligatoire
CreateRuleRequest
Decision
actionstring· obligatoireactorstring?alternativesAlternativeDecision[]· obligatoireapplied_atstring?confidencenumbercurrent_root_folderstring?decided_atstring· obligatoireerror_messagestring?idstring· obligatoireinstance_idstring· obligatoireinstance_namestring?is_overrideboolean· obligatoirematched_rule_idstring?matched_rule_namestring?media_idstring· obligatoiremedia_titlestring· obligatoiremedia_typestring· obligatoirereason_linesReasonLine[]· obligatoirereasonsstring[]· obligatoirereverted_atstring?revertiblebooleansimulation_idstring?statusstring· obligatoiresubjectstring?supersededbooleantarget_categorystring· obligatoiretarget_root_folderstring?
Declared
idstring· obligatoirepathstring· obligatoireverifiedboolean· obligatoire
DeclareRootFolder
instance_idstring· obligatoirepathstring· obligatoire
Deleted
deletedboolean· obligatoire
Explanation
actionstring· obligatoireconfidencenumber· obligatoireinstance_enabledboolean· obligatoiremediaMediaView· obligatoiremetadataMediaMetadata?override_categorystring?rule_tracesRuleTrace[]· obligatoirerules_categorystring· obligatoiretarget_categorystring· obligatoiretarget_root_folderstring?winning_rulestring?
Facet
countinteger· obligatoiregroupstring?labelstring?valuestring· obligatoire
HealthResponse
databasestring· obligatoireinstancesInstanceHealth[]· obligatoiremetadataMetadataHealth· obligatoirestatsAppStats· obligatoirestatusstring· obligatoireversionstring· obligatoirewarningsWarning[]· obligatoire
ImportRulesRequest
bundleRuleBundle· obligatoirecreate_missing_categoriesbooleanreplaceboolean
InstanceFailure
errorstring· obligatoireinstance_idstring· obligatoireinstance_namestring· obligatoire
InstanceHealth
detailstring?idstring· obligatoireinstance_typestring· obligatoirelast_syncstring?last_sync_statusstring?mapped_root_foldersinteger· obligatoiremedia_countinteger· obligatoirenamestring· obligatoirestatusstring· obligatoireversionstring?
InstanceResponse
api_key_encryptedboolean· obligatoireapi_key_maskedstring· obligatoireapi_key_setboolean· obligatoirebase_urlstring· obligatoirecreated_atstring· obligatoireenabledboolean· obligatoireidstring· obligatoireinstance_typestring· obligatoirelast_sync_atstring?last_sync_attempt_atstring?last_sync_statusstring?namestring· obligatoiresync_interval_minutesinteger· obligatoireupdated_atstring· obligatoirewebhook_pathstring?webhook_tokenstring?webhook_urlstring?
Job
detailstring?errorstring?error_messagestring?finished_atstring?idstring· obligatoireinstance_idstring?kindstring· obligatoireprogress_currentinteger· obligatoireprogress_totalinteger· obligatoireresultobjectstarted_atstring· obligatoirestatusstring· obligatoiresubjectstring?triggerstring· obligatoire
LibraryFacets
certificationsFacet[]· obligatoiregenresFacet[]· obligatoireorigin_countriesFacet[]· obligatoireoriginal_languagesFacet[]· obligatoireroot_foldersFacet[]· obligatoireseries_typesFacet[]· obligatoirestatusesFacet[]· obligatoiretagsFacet[]· obligatoiretotal_mediainteger· obligatoirevocabulariesVocabularies· obligatoirewithout_metadatainteger· obligatoire
LogEntry
actionstring· obligatoireactorstring?decision_idstring?detailsstring?error_messagestring?executed_atstring· obligatoireidstring· obligatoireinstance_idstring?media_idstring?media_titlestring?subjectstring?successboolean· obligatoire
Mapped
categorystring?updatedboolean· obligatoire
MappingConflict
categorystring?instance_namestring?kindstring· obligatoiremessagestring· obligatoireseveritystring· obligatoire
MatchMode
L'une de ces valeurs
allany
Me
subjectstring· obligatoire
Media
added_atstring?arr_idinteger· obligatoirecertificationstring?current_pathstring?current_root_folderstring?genresstring?has_filesboolean· obligatoireidstring· obligatoireimdb_idstring?instance_idstring· obligatoirelast_synced_atstring?media_typestring· obligatoiremonitoredboolean· obligatoireoriginal_languagestring?season_countinteger?series_typestring?size_on_diskinteger?sort_titlestring?statusstring?tagsstring?titlestring· obligatoiretmdb_idinteger?tvdb_idinteger?yearinteger?
MediaDetail
instance_namestring?mediaMediaView· obligatoiremetadataMediaMetadata?overridePinnedCategory?
MediaListItem
arr_idinteger· obligatoirecomputed_categorystring?current_root_folderstring?has_filesboolean· obligatoirehas_metadataboolean· obligatoireidstring· obligatoireimdb_idstring?instance_idstring· obligatoireinstance_namestring· obligatoirelast_synced_atstring?media_typestring· obligatoiremonitoredboolean· obligatoireoverride_categorystring?statusstring?titlestring· obligatoiretmdb_idinteger?tvdb_idinteger?yearinteger?
MediaMetadata
certificationstring?certification_scalestring?field_sourcesobjectgenresstring[]keywordsstring[]origin_countriesstring[]original_languagestring?overviewstring?poster_pathstring?sourcesstring[]statusstring?
MediaView
added_atstring?arr_idinteger· obligatoirecertificationstring?current_pathstring?current_root_folderstring?genresstring?has_filesboolean· obligatoireidstring· obligatoireimdb_idstring?instance_idstring· obligatoirelast_synced_atstring?media_typestring· obligatoiremonitoredboolean· obligatoireoriginal_languagestring?season_countinteger?series_typestring?size_on_diskinteger?sort_titlestring?statusstring?tagsstring?titlestring· obligatoiretmdb_idinteger?tvdb_idinteger?yearinteger?genre_liststring[]· obligatoiretag_liststring[]· obligatoire
MetadataHealth
cached_itemsinteger· obligatoiremedia_missing_metadatainteger· obligatoireprovidersMetadataProviderHealth[]· obligatoire
MetadataProviderHealth
configuredboolean· obligatoireconnectedboolean?display_namestring· obligatoireidstring· obligatoireneeds_keyboolean· obligatoirereasonstring?
NewRuleTest
expected_categorystring?media_idstring· obligatoirenamestring· obligatoire
OverrideEntry
created_atstring· obligatoireidstring· obligatoiremedia_idstring· obligatoirereasonstring?subjectstring?target_categorystring· obligatoire
OverrideWithMedia
created_atstring· obligatoireidstring· obligatoiremedia_idstring· obligatoirereasonstring?subjectstring?target_categorystring· obligatoireinstance_namestring· obligatoiremedia_titlestring· obligatoiremedia_typestring· obligatoire
Page_Decision
dataDecision[]· obligatoirepaginationPagination· obligatoire
Page_Job
dataJob[]· obligatoirepaginationPagination· obligatoire
Page_LogEntry
dataLogEntry[]· obligatoirepaginationPagination· obligatoire
Page_MediaListItem
dataMediaListItem[]· obligatoirepaginationPagination· obligatoire
Page_OverrideWithMedia
dataOverrideWithMedia[]· obligatoirepaginationPagination· obligatoire
Page_RuleTest
dataRuleTest[]· obligatoirepaginationPagination· obligatoire
Pagination
pageinteger· obligatoireper_pageinteger· obligatoiretotalinteger· obligatoiretotal_pagesinteger· obligatoire
PinnedCategory
reasonstring?target_categorystring· obligatoire
PinRequest
reasonstring?target_categorystring· obligatoire
Placement
answersPlacementAnswer[]· obligatoireerrorsInstanceFailure[]· obligatoire
PlacementAnswer
actionstring· obligatoirecategorystring· obligatoireconfidencenumber· obligatoirecurrent_root_folderstring?instance_idstring· obligatoireinstance_namestring· obligatoireis_overrideboolean· obligatoiremedia_idstring?root_folderPlacementFolder?rulestring?sourcestring· obligatoiretitlestring· obligatoireunanswered_fieldsstring[]· obligatoireyearinteger?
PlacementFolder
originstring· obligatoirepathstring· obligatoire
Pong
statusstring· obligatoire
PreviewChange
confidencenumber· obligatoirecurrent_root_folderstring?from_categorystring· obligatoireinstance_namestring?media_idstring· obligatoiremedia_titlestring· obligatoiremedia_typestring· obligatoirereasonsstring[]· obligatoiretarget_root_folderstring?to_categorystring· obligatoire
PreviewRequest
instance_idsstring[]?ruleCreateRuleRequest· obligatoirerule_idstring?sample_sizeinteger
PreviewResponse
afterPreviewSummary· obligatoirebeforePreviewSummary· obligatoirechangedPreviewChange[]· obligatoirechanged_totalinteger· obligatoireissuesValidationIssue[]· obligatoire
PreviewSummary
already_correctinteger· obligatoireexcluded_by_ruleinteger· obligatoiremoves_requiredinteger· obligatoireno_category_matchinteger· obligatoireskipped_unmappedinteger· obligatoiretotal_mediainteger· obligatoire
ProviderDescription
configuredboolean· obligatoiredisplay_namestring· obligatoirefetchedboolean· obligatoirefieldsstring[]· obligatoireidstring· obligatoirekey_envstring?media_typesstring[]· obligatoireneeds_keyboolean· obligatoirewebsitestring?
ProvidersResponse
orderstring[]· obligatoireprovidersProviderDescription[]· obligatoire
ReasonLine
matchedboolean?textstring· obligatoire
RenameCategoryRequest
namestring· obligatoire
Reordered
reorderedinteger· obligatoire
ReorderRulesRequest
rule_idsstring[]· obligatoire
RevertDecisionsRequest
confirmConfirmeddecision_idsstring[]· obligatoiremove_filesboolean
RootFolder
accessibleboolean· obligatoirearr_idinteger?categorystring?free_spaceinteger?idstring· obligatoireinstance_idstring· obligatoirelast_accessible_atstring?last_synced_atstring?originstring· obligatoirepathstring· obligatoire
RootFolderWithInstance
accessibleboolean· obligatoirearr_idinteger?categorystring?free_spaceinteger?idstring· obligatoireinstance_idstring· obligatoirelast_accessible_atstring?last_synced_atstring?originstring· obligatoirepathstring· obligatoireinstance_namestring· obligatoireinstance_typestring· obligatoire
Rule
conditionsCondition[]· obligatoirecreated_atstring· obligatoiredescriptionstring?enabledboolean· obligatoireexclusionsCondition[]idstring· obligatoireinstance_idsstring[]?match_modeMatchModemedia_typestring· obligatoirenamestring· obligatoirepriorityinteger· obligatoiretarget_categorystring· obligatoireupdated_atstring· obligatoire
RuleBundle
categoriesstring[]exported_atstring?rulesBundledRule[]· obligatoireversioninteger· obligatoire
RuleHealth
ambiguous_withstring?duplicate_ofstring?enabledboolean· obligatoirematched_nothingboolean· obligatoirepriorityinteger· obligatoirerule_idstring· obligatoirerule_namestring· obligatoireshadowedinteger· obligatoireshadowed_bystring?vetoedinteger· obligatoirewoninteger· obligatoire
RuleHealthReport
rulesRuleHealth[]· obligatoiretotal_mediainteger· obligatoire
RuleImportReport
adjustedstring[]· obligatoireimportedinteger· obligatoirereplacedboolean· obligatoireskippedstring[]· obligatoire
RuleTest
created_atstring· obligatoireevaluated_atstring· obligatoireexpected_categorystring· obligatoireidstring· obligatoiremedia_typestring· obligatoirenamestring· obligatoiresource_media_titlestring?
RuleTestResult
actual_categorystring?errorstring?error_keystring?expected_categorystring· obligatoireidstring· obligatoirematched_rulestring?namestring· obligatoirepassedboolean· obligatoire
RuleTestRun
failedinteger· obligatoirepassedinteger· obligatoireresultsRuleTestResult[]· obligatoiretotalinteger· obligatoire
RuleTrace
categorystring· obligatoireconditionsConditionOutcome[]· obligatoireexcluded_bystring?matchedboolean· obligatoireoutcomestring· obligatoirepriorityinteger· obligatoirerule_idstring· obligatoirerule_namestring· obligatoire
RuleVerdict
issuesValidationIssue[]· obligatoirevalidboolean· obligatoire
SimulationRequest
instance_idsstring[]?max_returnedinteger?media_typestring?persistbooleanpersist_unchangedboolean
SimulationResult
already_correctinteger· obligatoirecapacityCapacityForecast[]· obligatoiredecisionsDecision[]· obligatoireelapsed_msinteger· obligatoireexcluded_by_ruleinteger· obligatoiremoves_requiredinteger· obligatoireno_category_matchinteger· obligatoireoverrides_appliedinteger· obligatoirereturnedinteger· obligatoiresimulation_idstring· obligatoireskipped_unmappedinteger· obligatoiretotal_mediainteger· obligatoire
StatusResponse
dry_runboolean· obligatoirefailed_decisionsinteger· obligatoirepending_decisionsinteger· obligatoirerunning_jobsinteger· obligatoireversionstring· obligatoirewarningsWarning[]· obligatoire
StopReason
L'une de ces valeurs
dry_runcancelledshutdown
SyncReport
errorstring?instance_idstring· obligatoireinstance_namestring· obligatoiremediainteger· obligatoireremovedinteger· obligatoireroot_foldersinteger· obligatoire
UpdateRootFolderCategory
categorystring?· obligatoire
ValidationIssue
fieldstring· obligatoirekeystring· obligatoiremessagestringparamsobject· obligatoireseveritystring· obligatoire
Warning
codestring· obligatoireguide_stepstring?messagestring· obligatoireseveritystring· obligatoire