get:
  operationId: getPasswordPolicyById
  tags:
    - Password Policies
  summary: Get Password Policy by ID
  description: >-
    This API returns the password policy for the specified ID.
    A token with ORG_ADMIN authority is required to call this API.
  #  security:
  #   - oauth2: [ORG_ADMIN]
  parameters:
    - in: path
      name: id
      schema:
        type: string
      required: true
      description: The ID of password policy to retrieve.
      example: ff808081838d9e9d01838da6a03e0005
  responses:
    '200':
      description: Reference to the password policy.
      content:
        application/json:
          schema:
            $ref: '../schemas/PasswordPolicyV3Dto.yaml'
          example:
            {
              "description": "Default Password Policy",
              "id": "2c91808e7d976f3b017d9f5ceae440c8",
              "name": "Example PP",
              "dateCreated": 1639056206564,
              "lastUpdated": 1662385430753,
              "firstExpirationReminder": 90,
              "accountIdMinWordLength": 3,
              "accountNameMinWordLength": 3,
              "maxLength": 0,
              "maxRepeatedChars": 4,
              "minAlpha": 1,
              "minCharacterTypes": -1,
              "minLength": 8,
              "minLower": 0,
              "minNumeric": 1,
              "minSpecial": 0,
              "minUpper": 0,
              "passwordExpiration": 90,
              "defaultPolicy": true,
              "enablePasswdExpiration": false,
              "requireStrongAuthn": false,
              "requireStrongAuthOffNetwork": false,
              "requireStrongAuthUntrustedGeographies": false,
              "useAccountAttributes": false,
              "useDictionary": false,
              "useIdentityAttributes": false,
              "validateAgainstAccountId": true,
              "validateAgainstAccountName": true,
              "sourceIds": ["2c91808382ffee0b01830de154f14034","2c91808582ffee0c01830de36511405f" ]
            }
    '400':
      $ref: '../../v3/responses/400.yaml'
    '401':
      $ref: '../../v3/responses/401.yaml'
    '403':
      $ref: '../../v3/responses/403.yaml'
    '404':
      $ref: '../../v3/responses/404.yaml'
    '429':
      $ref: '../../v3/responses/429.yaml'
    '500':
      $ref: '../../v3/responses/500.yaml'
put:
  operationId: updatePasswordPolicy
  tags:
    - Password Policies
  summary: Update Password Policy by ID
  description: >-
    This API updates the specified password policy.
    A token with ORG_ADMIN authority is required to call this API.
  #  security:
  #   - oauth2: [ORG_ADMIN]
  parameters:
    - in: path
      name: id
      schema:
        type: string
      required: true
      description: The ID of password policy to update.
      example: ff808081838d9e9d01838da6a03e0007
  requestBody:
    required: true
    content:
      application/json:
        schema:
          $ref: '../schemas/PasswordPolicyV3Dto.yaml'
        example:
          {
            "description": "Password Policy after update.",
            "id": "2c91808e7d976f3b017d9f5ceae440c8",
            "name": "Improved Password Policy",
            "dateCreated": 1639056206564,
            "lastUpdated": 1662385430753,
            "firstExpirationReminder": 90,
            "accountIdMinWordLength": 3,
            "accountNameMinWordLength": 3,
            "maxLength": 0,
            "maxRepeatedChars": 4,
            "minAlpha": 1,
            "minCharacterTypes": -1,
            "minLength": 8,
            "minLower": 0,
            "minNumeric": 1,
            "minSpecial": 0,
            "minUpper": 0,
            "passwordExpiration": 90,
            "defaultPolicy": false,
            "enablePasswdExpiration": false,
            "requireStrongAuthn": false,
            "requireStrongAuthOffNetwork": false,
            "requireStrongAuthUntrustedGeographies": false,
            "useAccountAttributes": false,
            "useDictionary": false,
            "useIdentityAttributes": false,
            "validateAgainstAccountId": true,
            "validateAgainstAccountName": true,
            "sourceIds": ["2c91808382ffee0b01830de154f14034","2c91808582ffee0c01830de36511405f" ]
          }
  responses:
    '200':
      description: Reference to the password policy.
      content:
        application/json:
          schema:
            $ref: '../schemas/PasswordPolicyV3Dto.yaml'
          example:
            {
              "description": "Password Policy after update.",
              "id": "2c91808e7d976f3b017d9f5ceae440c8",
              "name": "Improved Password Policy",
              "dateCreated": 1639056206564,
              "lastUpdated": 1662385430753,
              "firstExpirationReminder": 90,
              "accountIdMinWordLength": 3,
              "accountNameMinWordLength": 3,
              "maxLength": 0,
              "maxRepeatedChars": 4,
              "minAlpha": 1,
              "minCharacterTypes": -1,
              "minLength": 8,
              "minLower": 0,
              "minNumeric": 1,
              "minSpecial": 0,
              "minUpper": 0,
              "passwordExpiration": 90,
              "defaultPolicy": false,
              "enablePasswdExpiration": false,
              "requireStrongAuthn": false,
              "requireStrongAuthOffNetwork": false,
              "requireStrongAuthUntrustedGeographies": false,
              "useAccountAttributes": false,
              "useDictionary": false,
              "useIdentityAttributes": false,
              "validateAgainstAccountId": true,
              "validateAgainstAccountName": true,
              "sourceIds": ["2c91808382ffee0b01830de154f14034","2c91808582ffee0c01830de36511405f" ]
            }
    '400':
      $ref: '../../v3/responses/400.yaml'
    '401':
      $ref: '../../v3/responses/401.yaml'
    '403':
      $ref: '../../v3/responses/403.yaml'
    '404':
      $ref: '../../v3/responses/404.yaml'
    '429':
      $ref: '../../v3/responses/429.yaml'
    '500':
      $ref: '../../v3/responses/500.yaml'
delete:
  operationId: deletePasswordPolicy
  tags:
    - Password Policies
  summary: Delete Password Policy by ID
  description: >-
    This API deletes the specified password policy.
    A token with ORG_ADMIN authority is required to call this API.
  #  security:
  #   - oauth2: [ORG_ADMIN]
  parameters:
    - in: path
      name: id
      schema:
        type: string
      required: true
      description: The ID of password policy to delete.
      example: ff808081838d9e9d01838da6a03e0002
  responses:
    '204':
      $ref: '../../v3/responses/204.yaml'
    '400':
      $ref: '../../v3/responses/400.yaml'
    '401':
      $ref: '../../v3/responses/401.yaml'
    '403':
      $ref: '../../v3/responses/403.yaml'
    '404':
      $ref: '../../v3/responses/404.yaml'
    '429':
      $ref: '../../v3/responses/429.yaml'
    '500':
      $ref: '../../v3/responses/500.yaml'
