Cascade Subset Violation
URI: https://docs.ankatech.co/errors/cascade-subset-violation
HTTP Status: 409 Conflict
When you see this
A cascading change would leave dependent resources outside the bounds of the policy that governs them. The cascade was rejected to keep child policies a valid subset of their parent.
Common Causes
- Changing a parent policy in a way that would make existing child policies non-conforming.
- A cascade that would widen a child policy beyond the new parent bounds.
- Dependent resources that cannot be brought into compliance by the cascade.
Response Example
{
"type": "https://docs.ankatech.co/errors/cascade-subset-violation",
"title": "Cascade Subset Violation",
"status": 409,
"detail": "Proposed algorithm deployment policy violates subset constraint for 2 tenants. Tenants would need to update their policies to remain compliant before the deployment narrowing can proceed.",
"instance": "/api/v3/admin/platform/deployment/policies/algorithm-availability",
"timestamp": 1730000000,
"extensions": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"policyType": "algorithm",
"violators": [
{ "tenantId": "3f9a1b62-5d47-4c8e-b0a2-91d7e4f60cc5", "tenantName": "acme-payments" },
{ "tenantId": "7c2e9d10-8b4f-4a6e-9f31-2d5b8e7a1c04", "tenantName": "northwind-hr" }
],
"totalViolators": 2
}
}
Content-Type: application/problem+json — the response follows RFC 9457 Problem Details.
Extension members: policyType names the deployment policy type being narrowed; violators lists at most the first 50 affected tenants, sorted by tenantName and then by tenantId, as {tenantId, tenantName} and nothing else — the body never echoes the proposed deployment policy, which the caller already holds; totalViolators is the full count, which can exceed the length of violators.
How to Resolve
- Identify the tenants that would violate the new bounds (
extensions.violators, withextensions.totalViolatorsas the full count). - Bring those child policies into compliance first, or narrow the parent change.
- Re-apply the cascade once all dependents would remain a valid subset.
For full schema definitions, examples, and interactive testing, see the Developer Hub Reference.