REST /api/v1/hierarchy-validation 7 endpoints
GET /api/v1/hierarchy-validation/api/v1/hierarchy-validation

List recent validation results for an organization

Public

Response Example

{
  "data": [
    {
      "validation_id": "val-001",
      "organization_id": "org-42",
      "check_type": "no_circle",
      "passed": true,
      "checked_at": "2026-03-25T08:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 5
  }
}
GET /api/v1/hierarchy-validation/api/v1/hierarchy-validation/{validationId}

Get a specific validation result

Public

Response Example

{
  "validation_id": "val-001",
  "organization_id": "org-42",
  "unit_id": "unit-002",
  "check_type": "no_circle",
  "passed": true,
  "details": null,
  "checked_at": "2026-03-25T08:00:00Z"
}
POST /api/v1/hierarchy-validation/api/v1/hierarchy-validation/circle-check

Validate that setting a new parent does not create a circular reference

Public

Request Example

{
  "unit_id": "unit-019",
  "new_parent_id": "unit-002"
}

Response Example

{
  "valid": true,
  "unit_id": "unit-019",
  "new_parent_id": "unit-002",
  "message": "No circular reference detected"
}
POST /api/v1/hierarchy-validation/api/v1/hierarchy-validation/depth-check

Validate that adding a unit does not exceed max hierarchy depth

Public

Request Example

{
  "unit_id": "unit-019",
  "max_depth": 4
}

Response Example

{
  "valid": true,
  "unit_id": "unit-019",
  "current_depth": 2,
  "max_depth": 4,
  "message": "Depth within allowed limit"
}
POST /api/v1/hierarchy-validation/api/v1/hierarchy-validation/orphan-check

Validate that deleting a unit leaves no orphaned children

Public

Request Example

{
  "deleted_unit_id": "unit-019"
}

Response Example

{
  "valid": false,
  "deleted_unit_id": "unit-019",
  "orphaned_children": [
    "unit-030",
    "unit-031"
  ],
  "message": "Deletion would orphan 2 child units"
}
PUT /api/v1/hierarchy-validation/api/v1/hierarchy-validation/{validationId}

Update a validation record (e.g. annotate with resolution)

Public

Request Example

{
  "resolution_note": "Orphans reassigned to unit-001 before deletion"
}

Response Example

{
  "validation_id": "val-009",
  "resolution_note": "Orphans reassigned to unit-001 before deletion",
  "updated_at": "2026-03-26T15:00:00Z"
}
DELETE /api/v1/hierarchy-validation/api/v1/hierarchy-validation/{validationId}

Delete a validation log entry

Public

Response Example

{
  "deleted": true,
  "validation_id": "val-001"
}

Additional Metadata

{
  "contract_summary": {
    "total_contracts": 410,
    "total_endpoints": 2416,
    "api_styles_used": [
      "rest"
    ]
  },
  "generated_at": "2026-03-26T06:55:53.316Z"
}