Skip to content

Get the resolved dependency graph for a PCD database

GET
/pcd/{databaseId}/graph
curl --request GET \
--url 'https://example.com/api/v1/pcd/1/graph?arrType=radarr&nodeKind=custom_format'

Returns the dependency graph of config entities for a PCD database, computed on demand from the in-memory PCD cache (read-only). Nodes are custom formats, regular expressions, quality profiles, qualities, and quality definitions; edges are referrer -> dependency relationships: quality profile -> custom format (scored), custom format -> regular expression, quality profile -> quality, and quality definition -> quality.

arrType filters to edges scoped to that Arr app (plus all edges) and to quality profiles compatible with it; nodeKind filters nodes/edges to a single entity family. All arr-scoped edges resolve by explicit arr_type with no sibling fallback.

databaseId
required
integer

PCD database ID

arrType
string
Allowed values: radarr sonarr lidarr all

Restrict to edges scoped to this Arr app (and all) and compatible quality profiles

nodeKind
string
Allowed values: custom_format regular_expression quality_profile quality quality_definition

Restrict the graph to a single entity family

Dependency graph

Media typeapplication/json
object
databaseId
required

PCD database ID

integer
nodes
required

Every in-scope entity node, with in/out degree and (where applicable) compatibility

Array<object>
object
kind
required

PCD entity family a dependency-graph node represents. quality and quality_definition are leaf kinds with no per-id editor route (see GraphNode.routeId).

string
Allowed values: custom_format regular_expression quality_profile quality quality_definition
name
required

Name-keyed identifier (never a route id)

string
routeId
required

Integer editor id for linkable kinds (custom_format, regular_expression, quality_profile); null for leaf kinds (quality, quality_definition) that have no per-id editor route.

integer
nullable
inDegree
required

Number of edges pointing at this node (how many entities reference it)

integer
outDegree
required

Number of edges leaving this node (how many entities it depends on)

integer
compatibleArrTypes

Arr apps this node is valid for, present only for quality_profile and quality nodes. For quality profiles it is derived from computeProfileCompatibility (never from arr_type='all' scores).

Array<string>
nullable
Allowed values: radarr sonarr lidarr
edges
required

Referrer -> dependency edges, filtered by the requested arrType/nodeKind

Array<object>
object
from
required
object
kind
required

PCD entity family a dependency-graph node represents. quality and quality_definition are leaf kinds with no per-id editor route (see GraphNode.routeId).

string
Allowed values: custom_format regular_expression quality_profile quality quality_definition
name
required

Name-keyed identifier of the referenced entity

string
to
required
object
kind
required

PCD entity family a dependency-graph node represents. quality and quality_definition are leaf kinds with no per-id editor route (see GraphNode.routeId).

string
Allowed values: custom_format regular_expression quality_profile quality quality_definition
name
required

Name-keyed identifier of the referenced entity

string
edgeKind
required

Relationship family. Direction is always referrer (from) -> dependency (to).

string
Allowed values: quality_profile_custom_format custom_format_regular_expression quality_profile_quality quality_definition_quality
arrType
required

Arr scope of a dependency edge. all is a first-class, distinct value (an edge that applies to every Arr app); it is never expanded into per-arr edges and never establishes per-arr quality-profile compatibility.

string
Allowed values: radarr sonarr lidarr all
score

Custom-format score, present only on quality_profile_custom_format edges

integer
nullable
groupName

Quality group name, present only on grouped quality_profile_quality edges

string
nullable
arrTypesPresent
required

Distinct arr scopes present across the returned edges

Array<string>
Allowed values: radarr sonarr lidarr all
truncated
required

True when the graph exceeded the server-side edge cap and was truncated

boolean
Example
{
"nodes": [
{
"kind": "custom_format",
"compatibleArrTypes": [
"radarr"
]
}
],
"edges": [
{
"from": {
"kind": "custom_format"
},
"to": {
"kind": "custom_format"
},
"edgeKind": "quality_profile_custom_format",
"arrType": "radarr"
}
],
"arrTypesPresent": [
"radarr"
]
}

Invalid databaseId, unknown arrType/nodeKind, or database not ready

Media typeapplication/json
object
error
required

Error message

string
Examplegenerated
{
"error": "example"
}

Authentication required

Media typeapplication/json
object
error
required

Error message

string
Examplegenerated
{
"error": "example"
}

Failed to build the dependency graph

Media typeapplication/json
object
error
required

Error message

string
Examplegenerated
{
"error": "example"
}