Skip to content

Get the dependency impact of a single entity

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

Returns the entities that reference (direction=dependents, default) or are referenced by (direction=dependencies) a single named node, via a bounded traversal over the dependency graph. Powers editor “Used by” panels, cascade-delete warnings, and node-focus navigation.

name may contain reserved characters (it is a free-form entity name); clients MUST percent-encode it. depth is clamped to [1, 3]. A well-formed request for a name that does not exist returns 404; an unknown or not-yet-built databaseId returns 400.

databaseId
required
integer

PCD database ID

nodeKind
required
string
Allowed values: custom_format regular_expression quality_profile quality quality_definition

Entity family of the focus node

name
required
string

Name of the focus entity (percent-encoded; may contain reserved characters)

direction
string
default: dependents
Allowed values: dependents dependencies

Traverse to dependents (reverse, default) or dependencies (forward)

depth
integer
default: 2 >= 1 <= 3

Traversal depth, clamped to [1, 3]

arrType
string
Allowed values: radarr sonarr lidarr all

Restrict to edges scoped to this Arr app (and all)

Dependency impact result

Media typeapplication/json
object
databaseId
required

PCD database ID

integer
node
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 (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
direction
required

dependents (default) = entities that reference this node (reverse traversal); dependencies = entities this node references (forward).

string
Allowed values: dependents dependencies
depth
required

Traversal depth actually applied (clamped to [1, 3])

integer
edges
required

All edges discovered by the bounded traversal

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
byArrType
required

The same edges grouped by arrType (arr scopes never collapsed)

object
key
additional properties
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
counts
required

Count of distinct related entities keyed by node kind, plus total

object
key
additional properties
integer
hasDownstream
required

True when at least one edge was found (there is downstream impact)

boolean
truncated
required

True when the traversal hit its depth or visited cap and stopped early

boolean
Example
{
"node": {
"kind": "custom_format",
"compatibleArrTypes": [
"radarr"
]
},
"direction": "dependents",
"edges": [
{
"from": {
"kind": "custom_format"
},
"to": {
"kind": "custom_format"
},
"edgeKind": "quality_profile_custom_format",
"arrType": "radarr"
}
],
"byArrType": {
"additionalProperty": [
{
"from": {
"kind": "custom_format"
},
"to": {
"kind": "custom_format"
},
"edgeKind": "quality_profile_custom_format",
"arrType": "radarr"
}
]
}
}

Invalid databaseId, unknown nodeKind/arrType, 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"
}

No node with that kind and name (an unknown or not-yet-built databaseId is 400, not 404)

Media typeapplication/json
object
error
required

Error message

string
Examplegenerated
{
"error": "example"
}

Failed to compute dependency impact

Media typeapplication/json
object
error
required

Error message

string
Examplegenerated
{
"error": "example"
}