Simulate custom format scoring for releases
POST
/simulate/score
const url = 'https://example.com/api/v1/simulate/score';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"databaseId":1,"releases":[{"id":"example","title":"example","type":"movie"}],"profileNames":["example"],"arrType":"radarr"}'};
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/simulate/score \ --header 'Content-Type: application/json' \ --data '{ "databaseId": 1, "releases": [ { "id": "example", "title": "example", "type": "movie" } ], "profileNames": [ "example" ], "arrType": "radarr" }'Parses release titles, evaluates custom format matches, and calculates per-profile scores for interactive score simulation.
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
databaseId
required
PCD database instance ID
integer
releases
required
Release titles to simulate (max 50)
Array<object>
object
id
required
Client-generated correlation ID
string
title
required
Release title to parse and evaluate
string
type
required
string
profileNames
required
Quality profile names to score against (max 10)
Array<string>
arrType
required
Arr type for score column resolution
string
Responses
Section titled “Responses”Score simulation results
Media typeapplication/json
object
parserAvailable
required
boolean
results
required
Array<object>
object
id
required
string
title
required
string
parsed
required
One of:
object
source
required
Detected source (e.g., bluray, webdl, webrip)
string
resolution
required
Detected resolution (e.g., 1080p, 2160p)
string
modifier
required
Quality modifier (e.g., remux, none)
string
languages
required
Detected languages
Array<string>
releaseGroup
Detected release group
string
year
required
Detected year
integer
edition
Detected edition (e.g., Director’s Cut)
string
releaseType
Release type for series (single_episode, season_pack, etc.)
string
null
cfMatches
required
Array<object>
object
name
required
string
matches
required
boolean
conditions
required
Array<object>
object
conditionName
required
string
conditionType
required
string
matched
required
boolean
required
required
boolean
negate
required
boolean
passes
required
boolean
expected
required
string
actual
required
string
profileScores
required
Array<object>
object
profileName
required
string
totalScore
required
integer
minimumScore
required
integer
upgradeUntilScore
required
integer
contributions
required
Array<object>
object
cfName
required
string
score
required
integer
Examplegenerated
{ "parserAvailable": true, "results": [ { "id": "example", "title": "example", "parsed": { "source": "example", "resolution": "example", "modifier": "example", "languages": [ "example" ], "releaseGroup": "example", "year": 1, "edition": "example", "releaseType": "example" }, "cfMatches": [ { "name": "example", "matches": true, "conditions": [ { "conditionName": "example", "conditionType": "example", "matched": true, "required": true, "negate": true, "passes": true, "expected": "example", "actual": "example" } ] } ], "profileScores": [ { "profileName": "example", "totalScore": 1, "minimumScore": 1, "upgradeUntilScore": 1, "contributions": [ { "cfName": "example", "score": 1 } ] } ] } ]}Invalid request
Media typeapplication/json
object
error
required
string
Examplegenerated
{ "error": "example"}Database or profile not found
Media typeapplication/json
object
error
required
string
missing
required
Array<string>
Examplegenerated
{ "error": "example", "missing": [ "example" ]}Internal server error
Media typeapplication/json
object
error
required
string
Examplegenerated
{ "error": "example"}