Revert an entity's local PCD overrides
const url = 'https://example.com/api/v1/pcd/1/overrides/delayProfile/example/revert?arrType=radarr';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"opIds":[1],"cascadeGroup":false}'};
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/pcd/1/overrides/delayProfile/example/revert?arrType=radarr' \ --header 'Content-Type: application/json' \ --data '{ "opIds": [ 1 ], "cascadeGroup": false }'Soft-drops all or selected published user ops for the entity and recompiles the PCD. Operation rows are retained; no automatic snapshot is created. Revert is fail-closed: dependent or conflicting changes are not silently dropped. Only cascadeGroup explicitly permits including other entities in a required group. API tokens require admin scope. The request body is limited to 8 KB.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”PCD database ID
Resolved entity family
Current resolved entity name, not an earlier name before a rename. Preserved exactly without trimming; empty names are rejected. Names containing a slash are supported when it is URL-encoded as %2F.
Query Parameters
Section titled “Query Parameters”Required for naming, mediaSettings, and qualityDefinitions. Required and must be lidarr for lidarrMetadataProfile. Rejected for delayProfile, regularExpression, customFormat, and qualityProfile. Never inferred from a sibling Arr app.
Request Body
Section titled “Request Body”All fields are optional; omit opIds to revert all user ops for the entity.
object
Explicit subset of the entity’s published user-op IDs to revert
Explicitly include other ops in a required dependent-operation group
Responses
Section titled “Responses”User ops reverted and cache recompiled
object
Resolved config entity type
Explicit Arr app for scoped entities; null for Arr-agnostic entities
Current resolved entity name, preserved exactly without trimming
object
Resolved config entity type
Explicit Arr app for scoped entities; null for Arr-agnostic entities
Current resolved entity name, preserved exactly without trimming
Whether a fully reverted entity matches base. Null when not comparable, including a partial revert or an entity absent from both layers.
Example
{ "entityType": "delayProfile", "arrType": "radarr", "cascadedEntities": [ { "entityType": "delayProfile", "arrType": "radarr" } ]}Invalid parameters or JSON body, oversized body, disabled database, or unbuilt cache
object
Error message
Stable machine-readable code present on 5xx responses; error is a fixed user-safe message, raw detail is logged server-side only
Example
{ "code": "cleanup_failed"}Authentication required
object
Error message
Stable machine-readable code present on 5xx responses; error is a fixed user-safe message, raw detail is logged server-side only
Example
{ "code": "cleanup_failed"}The API token lacks the admin scope.
An authenticated API token lacks the scope the requested route requires.
object
Always Forbidden.
The API token scope this request requires.
Example
{ "requiredScope": "read"}Entity_not_found means no local overrides map to the entity’s current name. op_not_found means a selected op does not belong to this entity.
object
Machine-readable missing-target (404) or fail-closed conflict (409) reason
object
Resolved config entity type
Explicit Arr app for scoped entities; null for Arr-agnostic entities
Current resolved entity name, preserved exactly without trimming
Example
{ "reason": "entity_not_found", "entities": [ { "entityType": "delayProfile", "arrType": "radarr" } ]}Revert rejected without changing the published-op set:
- group_dependency: a required group includes unselected ops; use cascadeGroup to opt in.
- dependent_ops: remaining user ops depend on the selected create or rename.
- selection_blocked: a partial selection is not closed over overlapping fields or renames.
- op_not_revertible: a selected op is no longer published and cannot be reverted.
- conflict_after_revert: recompilation would introduce a new conflict on a remaining op.
- collateral_ops: recompilation would change ops outside the explicitly planned set.
object
Machine-readable missing-target (404) or fail-closed conflict (409) reason
object
Resolved config entity type
Explicit Arr app for scoped entities; null for Arr-agnostic entities
Current resolved entity name, preserved exactly without trimming
Example
{ "reason": "entity_not_found", "entities": [ { "entityType": "delayProfile", "arrType": "radarr" } ]}Failed to revert local overrides
object
Error message
Stable machine-readable code present on 5xx responses; error is a fixed user-safe message, raw detail is logged server-side only
Example
{ "code": "cleanup_failed"}