Preview the config a goal would generate (non-persisting)
const url = 'https://example.com/api/v1/goals/preview';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"databaseId":1,"arrType":"radarr","profileName":"example","preset":"example","weights":{"qualityVsSize":1,"compatibility":1,"hdrPreference":1,"unwantedStrictness":1,"resolutionCeiling":"720p"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/v1/goals/preview \ --header 'Content-Type: application/json' \ --data '{ "databaseId": 1, "arrType": "radarr", "profileName": "example", "preset": "example", "weights": { "qualityVsSize": 1, "compatibility": 1, "hdrPreference": 1, "unwantedStrictness": 1, "resolutionCeiling": "720p" } }'Translates a goal (preset + slider weights) into a concrete scoring plan for one quality
profile and returns the plan plus the authoritative sandbox config diff. Mutates nothing —
scores are compiled only inside an ephemeral sandbox cache; pcd_ops is untouched.
Request Bodyrequired
Section titled “Request Bodyrequired”object
Raw PCD quality-profile name (pcd:-stripped)
object
Responses
Section titled “Responses”The generated plan and sandbox diff
Non-persisting preview — the plan plus the authoritative sandbox config diff.
object
Deterministic translation of a goal into concrete scores + thresholds.
object
object
Closed set of semantic categories a custom format is classified into.
object
object
object
Ceiling-derived quality-ladder configuration (issue #221), always shown before persistence. A per-arr ceiling reshapes the shared quality_profile_qualities row set for every Arr that syncs the profile; sharedLadderNote surfaces that when the profile is sibling-compatible.
object
One row of the ceiling-derived quality ladder (issue #221).
object
object
Dot-notated field path
object
Raw PCD quality-profile name (pcd:-stripped)
Finite integer custom-format score
object
object
object
Raw PCD quality-profile name (pcd:-stripped)
Finite integer custom-format score
object
Example
{ "plan": { "arrType": "radarr", "decisions": [ { "arrType": "radarr", "category": "unwanted", "reason": { "category": "unwanted", "ceiling": "above" } } ], "uncategorized": [ { "suggestedCategory": "unwanted" } ], "qualityLadder": { "ceiling": "720p", "items": [ { "type": "quality" } ] } }, "configDiff": [ { "entityType": "quality_profile", "arrType": "radarr", "changes": [ { "type": "added" } ] } ], "appliedChanges": [ { "kind": "set_cf_score" } ], "skippedChanges": [ { "change": { "kind": "set_cf_score" } } ]}Invalid request
object
Error message
Examplegenerated
{ "error": "example"}Database cache not found
object
Error message
Examplegenerated
{ "error": "example"}