Provider overview
Active registry
Section titled “Active registry”| Provider | Role | Authentication | Media |
|---|---|---|---|
| Plex | Source | Plex PIN/account token | Movies, shows |
| AniList | Target | Hosted or custom OAuth | Anime movies and shows |
| TMDB | Target | Hosted or custom application | Movies, shows |
| Letterboxd | Target | Hosted OAuth | Movies only |
| SIMKL | Target | Hosted or custom OAuth | Movies, TV, anime |
Providers are discovered from plugin folders. Their manifest declares media, capabilities, authentication modes, resources, settings, actions, and features. Generic source/target pages render those schemas without hard-coded frontend provider registries.
Provider settings define a connection. Profile settings define synchronization policy. For example, AniList score format and HTTP pacing belong to the target instance, while Protect target progress and rating priority belong to a profile.
Common target behavior
Section titled “Common target behavior”All targets implement map, batch read, batch write, and revert contracts. The core stores normalized operations and opaque payloads; provider-specific request construction and post-timeout reconciliation stay inside the target runtime.
Ratings use a canonical Decimal from 0 to 1. Each target defines its exact
minimum, maximum, step, and ROUND_HALF_UP conversion.
Target HTTP policy is configurable per instance. Provider defaults are documented on each page and bulk Apply/Revert uses the same shared pacing state.
Provider-specific features
Section titled “Provider-specific features”A plugin can add a namespaced feature without changing the core. Current examples are Plex recorded-history enrichment and Letterboxd diary import. AniList exposes specialized list-status and rewatch behavior while still using standard feature phases.
See Future integrations and the provider development guide.