Yandex Cloud
Search
Contact UsTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2025 Direct Cursus Technology L.L.C.
Yandex Identity Hub
  • Access management
  • Pricing policy
  • Terraform reference
    • Authentication
      • Overview
        • Overview
          • Overview
          • Get
          • List
          • Create
          • Update
          • Delete
          • GetDomain
          • ListDomains
          • AddDomain
          • ValidateDomain
          • DeleteDomain
          • ListOperations
          • ListAccessBindings
          • SetAccessBindings
          • UpdateAccessBindings
  • Audit Trails events
  • Release notes
  • Yandex Identity Hub Sync Agent release notes

In this article:

  • gRPC request
  • CreateUserpoolRequest
  • UserSettings
  • PasswordQualityPolicy
  • RequiredClasses
  • MinLengthByClassSettings
  • Fixed
  • Smart
  • PasswordLifetimePolicy
  • BruteforceProtectionPolicy
  • operation.Operation
  • CreateUserpoolMetadata
  • Userpool
  • UserSettings
  • PasswordQualityPolicy
  • RequiredClasses
  • MinLengthByClassSettings
  • Fixed
  • Smart
  • PasswordLifetimePolicy
  • BruteforceProtectionPolicy
  1. API reference
  2. gRPC
  3. Identity Provider API
  4. Userpool
  5. Create

Identity Provider API, gRPC: UserpoolService.Create

Written by
Yandex Cloud
Updated at December 15, 2025
  • gRPC request
  • CreateUserpoolRequest
  • UserSettings
  • PasswordQualityPolicy
  • RequiredClasses
  • MinLengthByClassSettings
  • Fixed
  • Smart
  • PasswordLifetimePolicy
  • BruteforceProtectionPolicy
  • operation.Operation
  • CreateUserpoolMetadata
  • Userpool
  • UserSettings
  • PasswordQualityPolicy
  • RequiredClasses
  • MinLengthByClassSettings
  • Fixed
  • Smart
  • PasswordLifetimePolicy
  • BruteforceProtectionPolicy

Creates a userpool in the specified organization.

gRPC requestgRPC request

rpc Create (CreateUserpoolRequest) returns (operation.Operation)

CreateUserpoolRequestCreateUserpoolRequest

{
  "organization_id": "string",
  "name": "string",
  "description": "string",
  "labels": "map<string, string>",
  "default_subdomain": "string",
  "user_settings": {
    "allow_edit_self_password": "bool",
    "allow_edit_self_info": "bool",
    "allow_edit_self_contacts": "bool",
    "allow_edit_self_login": "bool"
  },
  "password_quality_policy": {
    "allow_similar": "bool",
    "max_length": "int64",
    "min_length": "int64",
    "match_length": "int64",
    "required_classes": {
      "lowers": "bool",
      "uppers": "bool",
      "digits": "bool",
      "specials": "bool"
    },
    "min_length_by_class_settings": {
      "one": "int64",
      "two": "int64",
      "three": "int64"
    },
    // Includes only one of the fields `fixed`, `smart`
    "fixed": {
      "lowers_required": "bool",
      "uppers_required": "bool",
      "digits_required": "bool",
      "specials_required": "bool",
      "min_length": "int64"
    },
    "smart": {
      "one_class": "int64",
      "two_classes": "int64",
      "three_classes": "int64",
      "four_classes": "int64"
    }
    // end of the list of possible fields
  },
  "password_lifetime_policy": {
    "min_days_count": "int64",
    "max_days_count": "int64"
  },
  "bruteforce_protection_policy": {
    "window": "google.protobuf.Duration",
    "block": "google.protobuf.Duration",
    "attempts": "int64"
  }
}

Request to create a userpool.

Field

Description

organization_id

string

Required field. ID of the organization to create a userpool in.

The maximum string length in characters is 50.

name

string

Required field. Name of the userpool.
The name must be unique within the organization.

Value must match the regular expression [a-z]([-a-z0-9]{0,61}[a-z0-9])?.

description

string

Description of the userpool.

The maximum string length in characters is 256.

labels

object (map<string, string>)

Resource labels as key:value pairs.

No more than 64 per resource. The maximum string length in characters for each value is 63. Each value must match the regular expression [-_0-9a-z]*. The string length in characters for each key must be 1-63. Each key must match the regular expression [a-z][-_0-9a-z]*.

default_subdomain

string

Required field. Default subdomain for the userpool.

The maximum string length in characters is 63.

user_settings

UserSettings

User settings for the userpool.

password_quality_policy

PasswordQualityPolicy

Password quality policy for the userpool.

password_lifetime_policy

PasswordLifetimePolicy

Password lifetime policy for the userpool.

bruteforce_protection_policy

BruteforceProtectionPolicy

Bruteforce protection policy for the userpool.

UserSettingsUserSettings

Settings that control user capabilities within a userpool.

Field

Description

allow_edit_self_password

bool

Whether users can change their own passwords.

allow_edit_self_info

bool

Whether users can edit their own profile information.

allow_edit_self_contacts

bool

Whether users can edit their own contact information.

allow_edit_self_login

bool

Whether users can edit their own login information.

PasswordQualityPolicyPasswordQualityPolicy

Policy that defines password quality requirements.

Field

Description

allow_similar

bool

Whether passwords similar to previous ones are allowed.

max_length

int64

Maximum password length. Zero means no maximum length is enforced.

The minimum value is 0.

min_length

int64

Minimum password length.

The minimum value is 0.

match_length

int64

Minimum length of substrings to check for similarity to vulnerable sequences.

The minimum value is 0.

required_classes

RequiredClasses

Character classes required in passwords.

min_length_by_class_settings

MinLengthByClassSettings

Minimum length requirements based on character class diversity.
If not specified, these checks are disabled.

fixed

Fixed

Fixed complexity requirements. Exactly one of complexity requirements must be specified.

Includes only one of the fields fixed, smart.

Defines password complexity policy.

smart

Smart

Smart complexity requirements. Exactly one of complexity requirements must be specified.

Includes only one of the fields fixed, smart.

Defines password complexity policy.

RequiredClassesRequiredClasses

Character classes that can be required in passwords.

Field

Description

lowers

bool

Whether lowercase letters are required.

uppers

bool

Whether uppercase letters are required.

digits

bool

Whether digits are required.

specials

bool

Whether special characters are required.

MinLengthByClassSettingsMinLengthByClassSettings

Minimum password length requirements based on character class diversity.

Field

Description

one

int64

Minimum length for passwords with one character class.

The minimum value is 0.

two

int64

Minimum length for passwords with two character classes.

The minimum value is 0.

three

int64

Minimum length for passwords with three character classes.

The minimum value is 0.

FixedFixed

Fixed complexity policy enforces uniform password rules with required character classes and minimum length.

Field

Description

lowers_required

bool

Whether lowercase letters are required in the password.

uppers_required

bool

Whether uppercase letters are required in the password.

digits_required

bool

Whether digits are required in the password.

specials_required

bool

Whether special characters are required in the password.

min_length

int64

Minimum length required for all passwords.

The minimum value is 0.

SmartSmart

Smart complexity policy applies adaptive requirements based on character class diversity.
Zero value means passwords with this number of classes are forbidden.

Field

Description

one_class

int64

For passwords with one class of characters

The minimum value is 0.

two_classes

int64

For passwords with two classes of characters

The minimum value is 0.

three_classes

int64

For passwords with three classes of characters

The minimum value is 0.

four_classes

int64

For passwords with all four classes of characters

The minimum value is 0.

PasswordLifetimePolicyPasswordLifetimePolicy

Policy that defines password lifetime requirements.

Field

Description

min_days_count

int64

Minimum number of days before a password can be changed.

The minimum value is 0.

max_days_count

int64

Maximum number of days a password remains valid.
Zero means passwords never expire.

The minimum value is 0.

BruteforceProtectionPolicyBruteforceProtectionPolicy

Policy that defines protection against brute force attacks.
Zero or empty values disable bruteforce protection.

Field

Description

window

google.protobuf.Duration

Time window for counting failed authentication attempts.

block

google.protobuf.Duration

Duration of the block after too many failed attempts.

attempts

int64

Number of failed attempts allowed within the window before blocking.

Value must be greater than 0.

operation.Operationoperation.Operation

{
  "id": "string",
  "description": "string",
  "created_at": "google.protobuf.Timestamp",
  "created_by": "string",
  "modified_at": "google.protobuf.Timestamp",
  "done": "bool",
  "metadata": {
    "userpool_id": "string"
  },
  // Includes only one of the fields `error`, `response`
  "error": "google.rpc.Status",
  "response": {
    "id": "string",
    "organization_id": "string",
    "name": "string",
    "description": "string",
    "labels": "map<string, string>",
    "created_at": "google.protobuf.Timestamp",
    "updated_at": "google.protobuf.Timestamp",
    "domains": [
      "string"
    ],
    "status": "Status",
    "user_settings": {
      "allow_edit_self_password": "bool",
      "allow_edit_self_info": "bool",
      "allow_edit_self_contacts": "bool",
      "allow_edit_self_login": "bool"
    },
    "password_quality_policy": {
      "allow_similar": "bool",
      "max_length": "int64",
      "min_length": "int64",
      "match_length": "int64",
      "required_classes": {
        "lowers": "bool",
        "uppers": "bool",
        "digits": "bool",
        "specials": "bool"
      },
      "min_length_by_class_settings": {
        "one": "int64",
        "two": "int64",
        "three": "int64"
      },
      // Includes only one of the fields `fixed`, `smart`
      "fixed": {
        "lowers_required": "bool",
        "uppers_required": "bool",
        "digits_required": "bool",
        "specials_required": "bool",
        "min_length": "int64"
      },
      "smart": {
        "one_class": "int64",
        "two_classes": "int64",
        "three_classes": "int64",
        "four_classes": "int64"
      }
      // end of the list of possible fields
    },
    "password_lifetime_policy": {
      "min_days_count": "int64",
      "max_days_count": "int64"
    },
    "bruteforce_protection_policy": {
      "window": "google.protobuf.Duration",
      "block": "google.protobuf.Duration",
      "attempts": "int64"
    }
  }
  // end of the list of possible fields
}

An Operation resource. For more information, see Operation.

Field

Description

id

string

ID of the operation.

description

string

Description of the operation. 0-256 characters long.

created_at

google.protobuf.Timestamp

Creation timestamp.

created_by

string

ID of the user or service account who initiated the operation.

modified_at

google.protobuf.Timestamp

The time when the Operation resource was last modified.

done

bool

If the value is false, it means the operation is still in progress.
If true, the operation is completed, and either error or response is available.

metadata

CreateUserpoolMetadata

Service-specific metadata associated with the operation.
It typically contains the ID of the target resource that the operation is performed on.
Any method that returns a long-running operation should document the metadata type, if any.

error

google.rpc.Status

The error result of the operation in case of failure or cancellation.

Includes only one of the fields error, response.

The operation result.
If done == false and there was no failure detected, neither error nor response is set.
If done == false and there was a failure detected, error is set.
If done == true, exactly one of error or response is set.

response

Userpool

The normal response of the operation in case of success.
If the original method returns no data on success, such as Delete,
the response is google.protobuf.Empty.
If the original method is the standard Create/Update,
the response should be the target resource of the operation.
Any method that returns a long-running operation should document the response type, if any.

Includes only one of the fields error, response.

The operation result.
If done == false and there was no failure detected, neither error nor response is set.
If done == false and there was a failure detected, error is set.
If done == true, exactly one of error or response is set.

CreateUserpoolMetadataCreateUserpoolMetadata

Metadata for the UserpoolService.Create operation.

Field

Description

userpool_id

string

ID of the userpool that is being created.

UserpoolUserpool

A userpool is a container for users in the Identity Provider system.

Field

Description

id

string

Unique identifier of the userpool.

organization_id

string

ID of the organization this userpool belongs to.

name

string

Name of the userpool.

description

string

Description of the userpool.

labels

object (map<string, string>)

Resource labels as key:value pairs.

created_at

google.protobuf.Timestamp

Timestamp when the userpool was created.

updated_at

google.protobuf.Timestamp

Timestamp when the userpool was last updated.

domains[]

string

List of domains associated with this userpool.

status

enum Status

Current status of the userpool.

  • CREATING: The userpool is in the process of being created.
  • ACTIVE: The userpool is active and operational.
  • DELETING: The userpool is in the process of being deleted.

user_settings

UserSettings

User settings for this userpool.

password_quality_policy

PasswordQualityPolicy

Password quality policy for this userpool.

password_lifetime_policy

PasswordLifetimePolicy

Password lifetime policy for this userpool.

bruteforce_protection_policy

BruteforceProtectionPolicy

Bruteforce protection policy for this userpool.

UserSettingsUserSettings

Settings that control user capabilities within a userpool.

Field

Description

allow_edit_self_password

bool

Whether users can change their own passwords.

allow_edit_self_info

bool

Whether users can edit their own profile information.

allow_edit_self_contacts

bool

Whether users can edit their own contact information.

allow_edit_self_login

bool

Whether users can edit their own login information.

PasswordQualityPolicyPasswordQualityPolicy

Policy that defines password quality requirements.

Field

Description

allow_similar

bool

Whether passwords similar to previous ones are allowed.

max_length

int64

Maximum password length. Zero means no maximum length is enforced.

The minimum value is 0.

min_length

int64

Minimum password length.

The minimum value is 0.

match_length

int64

Minimum length of substrings to check for similarity to vulnerable sequences.

The minimum value is 0.

required_classes

RequiredClasses

Character classes required in passwords.

min_length_by_class_settings

MinLengthByClassSettings

Minimum length requirements based on character class diversity.
If not specified, these checks are disabled.

fixed

Fixed

Fixed complexity requirements. Exactly one of complexity requirements must be specified.

Includes only one of the fields fixed, smart.

Defines password complexity policy.

smart

Smart

Smart complexity requirements. Exactly one of complexity requirements must be specified.

Includes only one of the fields fixed, smart.

Defines password complexity policy.

RequiredClassesRequiredClasses

Character classes that can be required in passwords.

Field

Description

lowers

bool

Whether lowercase letters are required.

uppers

bool

Whether uppercase letters are required.

digits

bool

Whether digits are required.

specials

bool

Whether special characters are required.

MinLengthByClassSettingsMinLengthByClassSettings

Minimum password length requirements based on character class diversity.

Field

Description

one

int64

Minimum length for passwords with one character class.

The minimum value is 0.

two

int64

Minimum length for passwords with two character classes.

The minimum value is 0.

three

int64

Minimum length for passwords with three character classes.

The minimum value is 0.

FixedFixed

Fixed complexity policy enforces uniform password rules with required character classes and minimum length.

Field

Description

lowers_required

bool

Whether lowercase letters are required in the password.

uppers_required

bool

Whether uppercase letters are required in the password.

digits_required

bool

Whether digits are required in the password.

specials_required

bool

Whether special characters are required in the password.

min_length

int64

Minimum length required for all passwords.

The minimum value is 0.

SmartSmart

Smart complexity policy applies adaptive requirements based on character class diversity.
Zero value means passwords with this number of classes are forbidden.

Field

Description

one_class

int64

For passwords with one class of characters

The minimum value is 0.

two_classes

int64

For passwords with two classes of characters

The minimum value is 0.

three_classes

int64

For passwords with three classes of characters

The minimum value is 0.

four_classes

int64

For passwords with all four classes of characters

The minimum value is 0.

PasswordLifetimePolicyPasswordLifetimePolicy

Policy that defines password lifetime requirements.

Field

Description

min_days_count

int64

Minimum number of days before a password can be changed.

The minimum value is 0.

max_days_count

int64

Maximum number of days a password remains valid.
Zero means passwords never expire.

The minimum value is 0.

BruteforceProtectionPolicyBruteforceProtectionPolicy

Policy that defines protection against brute force attacks.
Zero or empty values disable bruteforce protection.

Field

Description

window

google.protobuf.Duration

Time window for counting failed authentication attempts.

block

google.protobuf.Duration

Duration of the block after too many failed attempts.

attempts

int64

Number of failed attempts allowed within the window before blocking.

Value must be greater than 0.

Was the article helpful?

Previous
List
Next
Update
© 2025 Direct Cursus Technology L.L.C.