{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/LegalHoldPolicy",
  "title": "Legal hold policy",
  "type": "object",
  "x-box-resource-id": "legal_hold_policy",
  "x-box-variant": "standard",
  "description": "Legal Hold Policy information describes the basic\ncharacteristics of the Policy, such as name, description,\nand filter dates.",
  "allOf": [
    {
      "$ref": "#/components/schemas/LegalHoldPolicy--Mini"
    },
    {
      "properties": {
        "policy_name": {
          "type": "string",
          "example": "Policy 4",
          "description": "Name of the legal hold policy.",
          "maxLength": 254
        },
        "description": {
          "type": "string",
          "description": "Description of the legal hold policy. Optional\nproperty with a 500 character limit.",
          "maxLength": 500,
          "example": "Postman created policy"
        },
        "status": {
          "type": "string",
          "example": "active",
          "enum": [
            "active",
            "applying",
            "releasing",
            "released"
          ],
          "description": "* 'active' - the policy is not in a transition state\n* 'applying' - that the policy is in the process of\n  being applied\n* 'releasing' - that the process is in the process\n  of being released\n* 'released' - the policy is no longer active"
        },
        "assignment_counts": {
          "type": "object",
          "description": "Counts of assignments within this a legal hold policy by item type",
          "properties": {
            "user": {
              "type": "integer",
              "format": "int64",
              "description": "The number of users this policy is applied to",
              "example": 1
            },
            "folder": {
              "type": "integer",
              "format": "int64",
              "description": "The number of folders this policy is applied to",
              "example": 2
            },
            "file": {
              "type": "integer",
              "format": "int64",
              "description": "The number of files this policy is applied to",
              "example": 3
            },
            "file_version": {
              "type": "integer",
              "format": "int64",
              "description": "The number of file versions this policy is applied to",
              "example": 4
            }
          }
        },
        "created_by": {
          "allOf": [
            {
              "$ref": "#/components/schemas/User--Mini"
            },
            {
              "description": "The user who created the legal hold policy object"
            }
          ]
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "description": "When the legal hold policy object was created",
          "example": "2012-12-12T10:53:43-08:00"
        },
        "modified_at": {
          "type": "string",
          "format": "date-time",
          "description": "When the legal hold policy object was modified.\nDoes not update when assignments are added or removed.",
          "example": "2012-12-12T10:53:43-08:00"
        },
        "deleted_at": {
          "type": "string",
          "format": "date-time",
          "description": "When the policy release request was sent. (Because\nit can take time for a policy to fully delete, this\nisn't quite the same time that the policy is fully deleted).\n\nIf `null`, the policy was not deleted.",
          "example": "2012-12-12T10:53:43-08:00"
        },
        "filter_started_at": {
          "type": "string",
          "format": "date-time",
          "description": "User-specified, optional date filter applies to\nCustodian assignments only",
          "example": "2012-12-12T10:53:43-08:00"
        },
        "filter_ended_at": {
          "type": "string",
          "format": "date-time",
          "description": "User-specified, optional date filter applies to\nCustodian assignments only",
          "example": "2012-12-12T10:53:43-08:00"
        },
        "release_notes": {
          "type": "string",
          "example": "Example",
          "description": "Optional notes about why the policy was created.",
          "maxLength": 500
        }
      }
    }
  ]
}