Jobs API
All endpoints use /v1 and return JSON unless noted otherwise.
Discover capabilities
Section titled “Discover capabilities”GET /v1/jobs/typesreturns job definitions filtered to configured providers.GET /v1/jobs/templatesreturns versioned recipes with readiness and missing-setup details.POST /v1/jobs/recipes/:idcreates a disabled recipe job and dedicated rule set.
Recommendation jobs use type: recommendations, source: tmdb, and either
recommendation_seeds (up to 20 TMDB IDs) or recommendation_list containing
a list-provider source and normal list locator. Show jobs may set
series_type to standard, anime, or daily.
GET /v1/jobs/listreturns dynamic and readable legacy jobs.GET /v1/jobs/enabledreturns enabled jobs.
Read a job
Section titled “Read a job”GET /v1/jobs/dynamic/:id
Returns one job with its resolved rule set. Legacy jobs are read-only through the dynamic API.
Create a job
Section titled “Create a job”POST /v1/jobs
{ "name": "Trending Movies", "enabled": false, "type": "trending", "source": "tmdb", "media": "movie", "limit": 50, "delivery_limit": 5, "rule_set_id": "default-movies"}The server validates the type/source/media combination, discovery and delivery limits, period, schedule, delivery mode, and rule assignment. A delivery limit of 0 is unlimited.
Update and delete
Section titled “Update and delete”PUT /v1/jobs/:idupdates a dynamic job.DELETE /v1/jobs/:iddeletes a dynamic job.
Legacy jobs return a conflict/error and should be migrated first.
Preview
Section titled “Preview”POST /v1/jobs/:id/preview
Discovers and evaluates candidates without delivering them. Preview uses the same source and assigned rule set as a live run.
POST /v1/jobs/selection/preview
Fetches participating jobs and returns per-job stage counts, deduplicated movie/show winners, below-cutoff candidates, merged source/job provenance, delivery-limit exclusions, and provider errors without delivering anything.
Trigger
Section titled “Trigger”POST /v1/jobs/:id/trigger
Starts an enabled dynamic job asynchronously. Use Activity Job Runs to follow the resulting execution.
Migrate legacy jobs
Section titled “Migrate legacy jobs”POST /v1/jobs/migrate
Compatibility endpoint that applies the same idempotent legacy-job migration used during startup. Supported v1 installations are migrated automatically, so this normally reports that no legacy jobs remain.
Customize rules
Section titled “Customize rules”POST /v1/jobs/:id/customize-rules
Creates and assigns an independent copy of the job’s effective rule set. See the Rules API.
Legacy compatibility endpoints
Section titled “Legacy compatibility endpoints”The following v1 endpoints remain available for existing integrations:
GET /v1/jobs/statusPOST /v1/jobs/trigger/:jobPOST /v1/jobs/preview/:jobGET /v1/jobs/:job/decisions
New clients should use stable dynamic job IDs and the /jobs/:id/... forms.