openapi: 3.0.1 info: title: Gravitee.io - Access Management alerts Password Policy API version: 4.12.0-alpha.3 servers: - url: /management security: - gravitee-auth: [] tags: - name: Password Policy paths: /organizations/{organizationId}/environments/{environmentId}/domains/{domain}/password-policies: get: tags: - Password Policy summary: List registered password policies for a security domain description: 'User must have the DOMAIN_SETTINGS[READ] permission on the specified domain or DOMAIN_SETTINGS[READ] permission on the specified environment or DOMAIN_SETTINGS[READ] permission on the specified organization. ' operationId: listPasswordPolicies parameters: - name: organizationId in: path required: true schema: type: string - name: environmentId in: path required: true schema: type: string - name: domain in: path required: true schema: type: string responses: '200': description: List registered password policies for a security domain content: application/json: schema: type: array items: $ref: '#/components/schemas/PasswordPolicyEntity' '500': description: Internal server error post: tags: - Password Policy summary: Create a password policy description: User must have the DOMAIN_SETTINGS[UPDATE] permission on the specified domain or DOMAIN_SETTINGS[UPDATE] permission on the specified environment or DOMAIN_SETTINGS[UPDATE] permission on the specified organization operationId: createPasswordPolicy parameters: - name: organizationId in: path required: true schema: type: string - name: environmentId in: path required: true schema: type: string - name: domain in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/NewPasswordPolicy' required: true responses: '201': description: Password Policy successfully created content: application/json: schema: $ref: '#/components/schemas/PasswordPolicy' '500': description: Internal server error /organizations/{organizationId}/environments/{environmentId}/domains/{domain}/password-policies/activePolicy: get: tags: - Password Policy operationId: getEffectivePasswordPolicy parameters: - name: organizationId in: path required: true schema: type: string - name: environmentId in: path required: true schema: type: string - name: domain in: path required: true schema: type: string - name: identity in: query schema: type: string responses: default: description: default response content: application/json: {} /organizations/{organizationId}/environments/{environmentId}/domains/{domain}/password-policies/{policy}: get: tags: - Password Policy summary: Read a password policy description: User must have the DOMAIN_SETTINGS[READ] permission on the specified domain or DOMAIN_SETTINGS[READ] permission on the specified environment or DOMAIN_SETTINGS[READ] permission on the specified organization operationId: getPasswordPolicy parameters: - name: organizationId in: path required: true schema: type: string - name: environmentId in: path required: true schema: type: string - name: domain in: path required: true schema: type: string - name: policy in: path required: true schema: type: string responses: '200': description: Password Policy description content: application/json: schema: $ref: '#/components/schemas/PasswordPolicy' '500': description: Internal server error put: tags: - Password Policy summary: Update a password policy description: User must have the DOMAIN_SETTINGS[UPDATE] permission on the specified domain or DOMAIN_SETTINGS[UPDATE] permission on the specified environment or DOMAIN_SETTINGS[UPDATE] permission on the specified organization operationId: updatePasswordPolicy parameters: - name: organizationId in: path required: true schema: type: string - name: environmentId in: path required: true schema: type: string - name: domain in: path required: true schema: type: string - name: policy in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePasswordPolicy' required: true responses: '200': description: Password Policy successfully updated content: application/json: schema: $ref: '#/components/schemas/PasswordPolicy' '500': description: Internal server error delete: tags: - Password Policy summary: Delete a password policy description: User must have the DOMAIN_SETTINGS[UPDATE] permission on the specified domain or DOMAIN_SETTINGS[UPDATE] permission on the specified environment or DOMAIN_SETTINGS[UPDATE] permission on the specified organization operationId: deletePasswordPolicy parameters: - name: organizationId in: path required: true schema: type: string - name: environmentId in: path required: true schema: type: string - name: domain in: path required: true schema: type: string - name: policy in: path required: true schema: type: string responses: '204': description: Password Policy successfully deleted '500': description: Internal server error /organizations/{organizationId}/environments/{environmentId}/domains/{domain}/password-policies/{policy}/default: post: tags: - Password Policy summary: Set default policy description: User must have the DOMAIN_SETTINGS[UPDATE] permission on the specified domain or DOMAIN_SETTINGS[UPDATE] permission on the specified environment or DOMAIN_SETTINGS[UPDATE] permission on the specified organization operationId: setDefaultPolicy parameters: - name: organizationId in: path required: true schema: type: string - name: environmentId in: path required: true schema: type: string - name: domain in: path required: true schema: type: string - name: policy in: path required: true schema: type: string responses: '200': description: Default policy updated content: application/json: schema: $ref: '#/components/schemas/PasswordPolicy' '500': description: Internal server error /organizations/{organizationId}/environments/{environmentId}/domains/{domain}/password-policies/{policy}/evaluate: post: tags: - Password Policy operationId: evaluatePolicy parameters: - name: organizationId in: path required: true schema: type: string - name: environmentId in: path required: true schema: type: string - name: domain in: path required: true schema: type: string - name: policy in: path required: true schema: type: string responses: '200': description: Result of evaluating the password against the policy components: schemas: NewPasswordPolicy: required: - name type: object properties: excludePasswordsInDictionary: type: boolean excludeUserProfileInfoInPassword: type: boolean expiryDuration: type: integer format: int32 includeNumbers: type: boolean includeSpecialCharacters: type: boolean lettersInMixedCase: type: boolean maxConsecutiveLetters: type: integer format: int32 maxLength: minimum: 0 type: integer format: int32 minLength: minimum: 0 type: integer format: int32 name: minLength: 1 type: string oldPasswords: type: integer format: int32 passwordHistoryEnabled: type: boolean PasswordPolicyEntity: type: object properties: id: type: string idpsNames: type: array items: type: string isDefault: type: boolean name: type: string PasswordPolicy: type: object properties: createdAt: type: string format: date-time defaultPolicy: type: boolean excludePasswordsInDictionary: type: boolean excludeUserProfileInfoInPassword: type: boolean expiryDuration: type: integer format: int32 id: type: string includeNumbers: type: boolean includeSpecialCharacters: type: boolean lettersInMixedCase: type: boolean maxConsecutiveLetters: type: integer format: int32 maxLength: type: integer format: int32 minLength: type: integer format: int32 name: type: string oldPasswords: type: integer format: int32 passwordHistoryEnabled: type: boolean referenceId: type: string referenceType: type: string enum: - PLATFORM - DOMAIN - APPLICATION - ORGANIZATION - ENVIRONMENT - PROTECTED_RESOURCE regex: type: string updatedAt: type: string format: date-time UpdatePasswordPolicy: required: - name type: object properties: defaultPolicy: type: boolean excludePasswordsInDictionary: type: boolean excludeUserProfileInfoInPassword: type: boolean expiryDuration: type: integer format: int32 includeNumbers: type: boolean includeSpecialCharacters: type: boolean lettersInMixedCase: type: boolean maxConsecutiveLetters: type: integer format: int32 maxLength: minimum: 0 type: integer format: int32 minLength: minimum: 0 type: integer format: int32 name: minLength: 1 type: string oldPasswords: type: integer format: int32 passwordHistoryEnabled: type: boolean securitySchemes: gravitee-auth: type: http scheme: Bearer