{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/PasswordPolicyObject",
  "title": "PasswordPolicyObject",
  "type": "object",
  "required": [
    "schemas",
    "minimumNumeric",
    "minimumCapAlpha",
    "minimumLowAlpha",
    "minimumSpecial",
    "minimumLength",
    "historyCount",
    "maxPasswordAge"
  ],
  "properties": {
    "schemas": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "urn:cisco:codev:identity:idbroker:pwdpolicy:schemas:1.0"
      },
      "description": "Input JSON schemas. It should contain the following schema: \n urn:cisco:codev:identity:idbroker:pwdpolicy:schemas:1.0"
    },
    "minimumNumeric": {
      "type": "string",
      "example": "",
      "description": "Minimum number of numeric characters in password"
    },
    "minimumCapAlpha": {
      "type": "string",
      "example": "",
      "description": "Minimum number of uppercase alphabetic character letters in password"
    },
    "minimumLowAlpha": {
      "type": "string",
      "example": "",
      "description": "Minimum number of lowercase alphabetic character letters in password"
    },
    "minimumSpecial": {
      "type": "string",
      "example": "",
      "description": "Minimum number of special characters included \"~!@#$%^&*()-_=+[]{}|;:,.<>/?\" in password"
    },
    "minimumLength": {
      "type": "string",
      "example": "",
      "description": "Minimum length of password. Must be between 8 and 256, inclusive."
    },
    "historyCount": {
      "type": "string",
      "example": "",
      "description": "The number of former passwords in history, the new password can't be any one of them. Must be between 1 and 5, inclusive."
    },
    "maxPasswordAge": {
      "type": "string",
      "example": "",
      "description": "The password expired time, unit: day, that means user need to change password every \"X\" days. Must be between 90 and 1825, inclusive."
    },
    "notAcceptableStrings": {
      "type": "string",
      "example": "",
      "description": "The password can not be any one in this string list."
    }
  }
}