Amazon Cognito #X Amz Target=AWSCognitoIdentityProviderService.CreateUserPool API

The #X Amz Target=AWSCognitoIdentityProviderService.CreateUserPool API from Amazon Cognito — 1 operation(s) for #x amz target=awscognitoidentityproviderservice.createuserpool.

OpenAPI Specification

aws-cognito-x-amz-target-awscognitoidentityproviderservice-createuserpool-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 2014-06-30
  x-release: v4
  title: 'Amazon Cognito Identity #X Amz Target=AWSCognitoIdentityProviderService.AddCustomAttributes #X Amz Target=AWSCognitoIdentityProviderService.AddCustomAttributes #X Amz Target=AWSCognitoIdentityProviderService.CreateUserPool API'
  description: <fullname>Amazon Cognito Federated Identities</fullname> <p>Amazon Cognito Federated Identities is a web service that delivers scoped temporary credentials to mobile devices and other untrusted environments. It uniquely identifies a device and supplies the user with a consistent identity over the lifetime of an application.</p> <p>Using Amazon Cognito Federated Identities, you can enable authentication with one or more third-party identity providers (Facebook, Google, or Login with Amazon) or an Amazon Cognito user pool, and you can also choose to support unauthenticated access from your app. Cognito delivers a unique identifier for each user and acts as an OpenID token provider trusted by AWS Security Token Service (STS) to access temporary, limited-privilege AWS credentials.</p> <p>For a description of the authentication flow from the Amazon Cognito Developer Guide see <a href="https://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html">Authentication Flow</a>.</p> <p>For more information see <a href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html">Amazon Cognito Federated Identities</a>.</p>
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png
    backgroundColor: '#FFFFFF'
  termsOfService: https://aws.amazon.com/service-terms/
  contact:
    name: Mike Ralphson
    email: mike.ralphson@gmail.com
    url: https://github.com/mermade/aws2openapi
    x-twitter: PermittedSoc
  license:
    name: Apache 2.0 License
    url: http://www.apache.org/licenses/
  x-providerName: amazonaws.com
  x-serviceName: cognito-identity
  x-origin:
  - contentType: application/json
    url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/cognito-identity-2014-06-30.normal.json
    converter:
      url: https://github.com/mermade/aws2openapi
      version: 1.0.0
    x-apisguru-driver: external
  x-apiClientRegistration:
    url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct
  x-apisguru-categories:
  - cloud
  x-preferred: true
servers:
- url: http://cognito-identity.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The Amazon Cognito Identity multi-region endpoint
- url: https://cognito-identity.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The Amazon Cognito Identity multi-region endpoint
- url: http://cognito-identity.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The Amazon Cognito Identity endpoint for China (Beijing) and China (Ningxia)
- url: https://cognito-identity.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The Amazon Cognito Identity endpoint for China (Beijing) and China (Ningxia)
security:
- hmac: []
tags:
- name: '#X Amz Target=AWSCognitoIdentityProviderService.CreateUserPool'
paths:
  /#X-Amz-Target=AWSCognitoIdentityProviderService.CreateUserPool:
    parameters:
    - $ref: '#/components/parameters/X-Amz-Content-Sha256'
    - $ref: '#/components/parameters/X-Amz-Date'
    - $ref: '#/components/parameters/X-Amz-Algorithm'
    - $ref: '#/components/parameters/X-Amz-Credential'
    - $ref: '#/components/parameters/X-Amz-Security-Token'
    - $ref: '#/components/parameters/X-Amz-Signature'
    - $ref: '#/components/parameters/X-Amz-SignedHeaders'
    post:
      operationId: CreateUserPool
      description: <p>Creates a new Amazon Cognito user pool and sets the password policy for the pool.</p> <note> <p>This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an origination phone number before you can send SMS messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with <a href="https://console.aws.amazon.com/pinpoint/home/">Amazon Pinpoint</a>. Amazon Cognito uses the registered number automatically. Otherwise, Amazon Cognito users who must receive SMS messages might not be able to sign up, activate their accounts, or sign in.</p> <p>If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service might place your account in the SMS sandbox. In <i> <a href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox mode</a> </i>, you can send messages only to verified phone numbers. After you test your app while in the sandbox environment, you can move out of the sandbox and into production. For more information, see <a href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html"> SMS message settings for Amazon Cognito user pools</a> in the <i>Amazon Cognito Developer Guide</i>.</p> </note>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUserPoolResponse'
              examples:
                CreateUserPool200Example:
                  summary: Default CreateUserPool 200 response
                  x-microcks-default: true
                  value:
                    UserPool: example-value
        '480':
          description: InvalidParameterException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidParameterException'
              examples:
                CreateUserPool480Example:
                  summary: Default CreateUserPool 480 response
                  x-microcks-default: true
                  value: example
        '481':
          description: TooManyRequestsException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsException'
              examples:
                CreateUserPool481Example:
                  summary: Default CreateUserPool 481 response
                  x-microcks-default: true
                  value: example
        '482':
          description: LimitExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LimitExceededException'
              examples:
                CreateUserPool482Example:
                  summary: Default CreateUserPool 482 response
                  x-microcks-default: true
                  value: example
        '483':
          description: InvalidSmsRoleAccessPolicyException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidSmsRoleAccessPolicyException'
              examples:
                CreateUserPool483Example:
                  summary: Default CreateUserPool 483 response
                  x-microcks-default: true
                  value: example
        '484':
          description: InvalidSmsRoleTrustRelationshipException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidSmsRoleTrustRelationshipException'
              examples:
                CreateUserPool484Example:
                  summary: Default CreateUserPool 484 response
                  x-microcks-default: true
                  value: example
        '485':
          description: InvalidEmailRoleAccessPolicyException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidEmailRoleAccessPolicyException'
              examples:
                CreateUserPool485Example:
                  summary: Default CreateUserPool 485 response
                  x-microcks-default: true
                  value: example
        '486':
          description: NotAuthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotAuthorizedException'
              examples:
                CreateUserPool486Example:
                  summary: Default CreateUserPool 486 response
                  x-microcks-default: true
                  value: example
        '487':
          description: UserPoolTaggingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPoolTaggingException'
              examples:
                CreateUserPool487Example:
                  summary: Default CreateUserPool 487 response
                  x-microcks-default: true
                  value: example
        '488':
          description: InternalErrorException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalErrorException'
              examples:
                CreateUserPool488Example:
                  summary: Default CreateUserPool 488 response
                  x-microcks-default: true
                  value: example
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserPoolRequest'
            examples:
              CreateUserPoolRequestExample:
                summary: Default CreateUserPool request
                x-microcks-default: true
                value:
                  PoolName: my-user-pool
                  Policies: example-value
                  DeletionProtection: example-value
                  LambdaConfig: example-value
                  AutoVerifiedAttributes: example-value
                  AliasAttributes: example-value
                  UsernameAttributes: my-user-pool
                  SmsVerificationMessage: example-value
                  EmailVerificationMessage: user@example.com
                  EmailVerificationSubject: user@example.com
                  VerificationMessageTemplate: example-value
                  SmsAuthenticationMessage: example-value
                  MfaConfiguration: example-value
                  UserAttributeUpdateSettings: example-value
                  DeviceConfiguration: example-value
                  EmailConfiguration: user@example.com
                  SmsConfiguration: example-value
                  UserPoolTags: example-value
                  AdminCreateUserConfig: example-value
                  Schema: example-value
                  UserPoolAddOns: example-value
                  UsernameConfiguration: my-user-pool
                  AccountRecoverySetting: example-value
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSCognitoIdentityProviderService.CreateUserPool
      summary: Amazon Cognito Create User Pool
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - '#X Amz Target=AWSCognitoIdentityProviderService.CreateUserPool'
components:
  schemas:
    NumberAttributeConstraintsType:
      type: object
      properties:
        MinValue:
          allOf:
          - $ref: '#/components/schemas/StringType'
          - description: The minimum value of an attribute that is of the number data type.
        MaxValue:
          allOf:
          - $ref: '#/components/schemas/StringType'
          - description: The maximum value of an attribute that is of the number data type.
      description: The minimum and maximum values of an attribute that is of the number data type.
    UserPoolAddOnsType:
      type: object
      required:
      - AdvancedSecurityMode
      properties:
        AdvancedSecurityMode:
          allOf:
          - $ref: '#/components/schemas/AdvancedSecurityModeType'
          - description: The advanced security mode.
      description: The user pool add-ons type.
    UserPoolNameType:
      type: string
      pattern: '[\w\s+=,.@-]+'
      minLength: 1
      maxLength: 128
    DateType:
      type: string
      format: date-time
    EmailAddressType:
      type: string
      pattern: '[\p{L}\p{M}\p{S}\p{N}\p{P}]+@[\p{L}\p{M}\p{S}\p{N}\p{P}]+'
    InternalErrorException: {}
    AttributesRequireVerificationBeforeUpdateType:
      type: array
      items:
        $ref: '#/components/schemas/VerifiedAttributeType'
    StringType:
      type: string
    SESConfigurationSet:
      type: string
      pattern: ^[a-zA-Z0-9_-]+$
      minLength: 1
      maxLength: 64
    IntegerType:
      type: integer
    TemporaryPasswordValidityDaysType:
      type: integer
      minimum: 0
      maximum: 365
    SchemaAttributeType:
      type: object
      properties:
        Name:
          allOf:
          - $ref: '#/components/schemas/CustomAttributeNameType'
          - description: A schema attribute of the name type.
        AttributeDataType:
          allOf:
          - $ref: '#/components/schemas/AttributeDataType'
          - description: The attribute data type.
        DeveloperOnlyAttribute:
          allOf:
          - $ref: '#/components/schemas/BooleanType'
          - description: <note> <p>You should use <a href="https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes">WriteAttributes</a> in the user pool client to control how attributes can be mutated for new use cases instead of using <code>DeveloperOnlyAttribute</code>.</p> </note> <p>Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, <code>DeveloperOnlyAttribute</code> can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes.</p>
        Mutable:
          allOf:
          - $ref: '#/components/schemas/BooleanType'
          - description: <p>Specifies whether the value of the attribute can be changed.</p> <p>For any user pool attribute that is mapped to an IdP attribute, you must set this parameter to <code>true</code>. Amazon Cognito updates mapped attributes when users sign in to your application through an IdP. If an attribute is immutable, Amazon Cognito throws an error when it attempts to update the attribute. For more information, see <a href="https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html">Specifying Identity Provider Attribute Mappings for Your User Pool</a>.</p>
        Required:
          allOf:
          - $ref: '#/components/schemas/BooleanType'
          - description: Specifies whether a user pool attribute is required. If the attribute is required and the user doesn't provide a value, registration or sign-in will fail.
        NumberAttributeConstraints:
          allOf:
          - $ref: '#/components/schemas/NumberAttributeConstraintsType'
          - description: Specifies the constraints for an attribute of the number type.
        StringAttributeConstraints:
          allOf:
          - $ref: '#/components/schemas/StringAttributeConstraintsType'
          - description: Specifies the constraints for an attribute of the string type.
      description: Contains information about the schema attribute.
    PasswordPolicyMinLengthType:
      type: integer
      minimum: 6
      maximum: 99
    UserPoolTagsType:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/TagValueType'
    UserPoolIdType:
      type: string
      pattern: '[\w-]+_[0-9a-zA-Z]+'
      minLength: 1
      maxLength: 55
    UsernameAttributesListType:
      type: array
      items:
        $ref: '#/components/schemas/UsernameAttributeType'
    UserPoolTaggingException: {}
    AdvancedSecurityModeType:
      type: string
      enum:
      - false
      - AUDIT
      - ENFORCED
    UsernameConfigurationType:
      type: object
      required:
      - CaseSensitive
      properties:
        CaseSensitive:
          allOf:
          - $ref: '#/components/schemas/WrappedBooleanType'
          - description: <p>Specifies whether user name case sensitivity will be applied for all users in the user pool through Amazon Cognito APIs.</p> <p>Valid values include:</p> <dl> <dt>True</dt> <dd> <p>Enables case sensitivity for all username input. When this option is set to <code>True</code>, users must sign in using the exact capitalization of their given username, such as “UserName”. This is the default value.</p> </dd> <dt>False</dt> <dd> <p>Enables case insensitivity for all username input. For example, when this option is set to <code>False</code>, users can sign in using either "username" or "Username". This option also enables both <code>preferred_username</code> and <code>email</code> alias to be case insensitive, in addition to the <code>username</code> attribute.</p> </dd> </dl>
      description: 'The username configuration type. '
    UsernameAttributeType:
      type: string
      enum:
      - phone_number
      - email
    InvalidEmailRoleAccessPolicyException: {}
    VerificationMessageTemplateType:
      type: object
      properties:
        SmsMessage:
          allOf:
          - $ref: '#/components/schemas/SmsVerificationMessageType'
          - description: The template for SMS messages that Amazon Cognito sends to your users.
        EmailMessage:
          allOf:
          - $ref: '#/components/schemas/EmailVerificationMessageType'
          - description: The template for email messages that Amazon Cognito sends to your users. You can set an <code>EmailMessage</code> template only if the value of <a href="https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount"> EmailSendingAccount</a> is <code>DEVELOPER</code>. When your <a href="https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount">EmailSendingAccount</a> is <code>DEVELOPER</code>, your user pool sends email messages with your own Amazon SES configuration.
        EmailSubject:
          allOf:
          - $ref: '#/components/schemas/EmailVerificationSubjectType'
          - description: The subject line for the email message template. You can set an <code>EmailSubject</code> template only if the value of <a href="https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount"> EmailSendingAccount</a> is <code>DEVELOPER</code>. When your <a href="https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount">EmailSendingAccount</a> is <code>DEVELOPER</code>, your user pool sends email messages with your own Amazon SES configuration.
        EmailMessageByLink:
          allOf:
          - $ref: '#/components/schemas/EmailVerificationMessageByLinkType'
          - description: The email message template for sending a confirmation link to the user. You can set an <code>EmailMessageByLink</code> template only if the value of <a href="https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount"> EmailSendingAccount</a> is <code>DEVELOPER</code>. When your <a href="https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount">EmailSendingAccount</a> is <code>DEVELOPER</code>, your user pool sends email messages with your own Amazon SES configuration.
        EmailSubjectByLink:
          allOf:
          - $ref: '#/components/schemas/EmailVerificationSubjectByLinkType'
          - description: The subject line for the email message template for sending a confirmation link to the user. You can set an <code>EmailSubjectByLink</code> template only if the value of <a href="https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount"> EmailSendingAccount</a> is <code>DEVELOPER</code>. When your <a href="https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount">EmailSendingAccount</a> is <code>DEVELOPER</code>, your user pool sends email messages with your own Amazon SES configuration.
        DefaultEmailOption:
          allOf:
          - $ref: '#/components/schemas/DefaultEmailOptionType'
          - description: The default email option.
      description: The template for verification messages.
    EmailVerificationMessageByLinkType:
      type: string
      pattern: '[\p{L}\p{M}\p{S}\p{N}\p{P}\s*]*\{##[\p{L}\p{M}\p{S}\p{N}\p{P}\s*]*##\}[\p{L}\p{M}\p{S}\p{N}\p{P}\s*]*'
      minLength: 6
      maxLength: 20000
    InvalidSmsRoleAccessPolicyException: {}
    CreateUserPoolRequest:
      type: object
      required:
      - PoolName
      title: CreateUserPoolRequest
      properties:
        PoolName:
          allOf:
          - $ref: '#/components/schemas/UserPoolNameType'
          - description: A string used to name the user pool.
        Policies:
          allOf:
          - $ref: '#/components/schemas/UserPoolPolicyType'
          - description: The policies associated with the new user pool.
        DeletionProtection:
          allOf:
          - $ref: '#/components/schemas/DeletionProtectionType'
          - description: <p>When active, <code>DeletionProtection</code> prevents accidental deletion of your user pool. Before you can delete a user pool that you have protected against deletion, you must deactivate this feature.</p> <p>When you try to delete a protected user pool in a <code>DeleteUserPool</code> API request, Amazon Cognito returns an <code>InvalidParameterException</code> error. To delete a protected user pool, send a new <code>DeleteUserPool</code> request after you deactivate deletion protection in an <code>UpdateUserPool</code> API request.</p>
        LambdaConfig:
          allOf:
          - $ref: '#/components/schemas/LambdaConfigType'
          - description: <p>The Lambda trigger configuration information for the new user pool.</p> <note> <p>In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an extra call to add permission for these event sources to invoke your Lambda function.</p> <p/> <p>For more information on using the Lambda API to add permission, see<a href="https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html"> AddPermission </a>. </p> <p>For adding permission using the CLI, see<a href="https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html"> add-permission </a>.</p> </note>
        AutoVerifiedAttributes:
          allOf:
          - $ref: '#/components/schemas/VerifiedAttributesListType'
          - description: 'The attributes to be auto-verified. Possible values: <b>email</b>, <b>phone_number</b>.'
        AliasAttributes:
          allOf:
          - $ref: '#/components/schemas/AliasAttributesListType'
          - description: 'Attributes supported as an alias for this user pool. Possible values: <b>phone_number</b>, <b>email</b>, or <b>preferred_username</b>.'
        UsernameAttributes:
          allOf:
          - $ref: '#/components/schemas/UsernameAttributesListType'
          - description: Specifies whether a user can use an email address or phone number as a username when they sign up.
        SmsVerificationMessage:
          allOf:
          - $ref: '#/components/schemas/SmsVerificationMessageType'
          - description: This parameter is no longer used. See <a href="https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html">VerificationMessageTemplateType</a>.
        EmailVerificationMessage:
          allOf:
          - $ref: '#/components/schemas/EmailVerificationMessageType'
          - description: This parameter is no longer used. See <a href="https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html">VerificationMessageTemplateType</a>.
        EmailVerificationSubject:
          allOf:
          - $ref: '#/components/schemas/EmailVerificationSubjectType'
          - description: This parameter is no longer used. See <a href="https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html">VerificationMessageTemplateType</a>.
        VerificationMessageTemplate:
          allOf:
          - $ref: '#/components/schemas/VerificationMessageTemplateType'
          - description: The template for the verification message that the user sees when the app requests permission to access the user's information.
        SmsAuthenticationMessage:
          allOf:
          - $ref: '#/components/schemas/SmsVerificationMessageType'
          - description: A string representing the SMS authentication message.
        MfaConfiguration:
          allOf:
          - $ref: '#/components/schemas/UserPoolMfaType'
          - description: Specifies MFA configuration details.
        UserAttributeUpdateSettings:
          allOf:
          - $ref: '#/components/schemas/UserAttributeUpdateSettingsType'
          - description: The settings for updates to user attributes. These settings include the property <code>AttributesRequireVerificationBeforeUpdate</code>, a user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For more information, see <a href="https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html#user-pool-settings-verifications-verify-attribute-updates"> Verifying updates to email addresses and phone numbers</a>.
        DeviceConfiguration:
          allOf:
          - $ref: '#/components/schemas/DeviceConfigurationType'
          - description: <p>The device-remembering configuration for a user pool. A null value indicates that you have deactivated device remembering in your user pool.</p> <note> <p>When you provide a value for any <code>DeviceConfiguration</code> field, you activate the Amazon Cognito device-remembering feature.</p> </note>
        EmailConfiguration:
          allOf:
          - $ref: '#/components/schemas/EmailConfigurationType'
          - description: The email configuration of your user pool. The email configuration type sets your preferred sending method, Amazon Web Services Region, and sender for messages from your user pool.
        SmsConfiguration:
          allOf:
          - $ref: '#/components/schemas/SmsConfigurationType'
          - description: The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from your Amazon Web Services account through Amazon Simple Notification Service. To send SMS messages with Amazon SNS in the Amazon Web Services Region that you want, the Amazon Cognito user pool uses an Identity and Access Management (IAM) role in your Amazon Web Services account.
        UserPoolTags:
          allOf:
          - $ref: '#/components/schemas/UserPoolTagsType'
          - description: The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria.
        AdminCreateUserConfig:
          allOf:
          - $ref: '#/components/schemas/AdminCreateUserConfigType'
          - description: The configuration for <code>AdminCreateUser</code> requests.
        Schema:
          allOf:
          - $ref: '#/components/schemas/SchemaAttributesListType'
          - description: An array of schema attributes for the new user pool. These attributes can be standard or custom attributes.
        UserPoolAddOns:
          allOf:
          - $ref: '#/components/schemas/UserPoolAddOnsType'
          - description: Enables advanced security risk detection. Set the key <code>AdvancedSecurityMode</code> to the value "AUDIT".
        UsernameConfiguration:
          allOf:
          - $ref: '#/components/schemas/UsernameConfigurationType'
          - description: Case sensitivity on the username input for the selected sign-in option. For example, when case sensitivity is set to <code>False</code>, users can sign in using either "username" or "Username". This configuration is immutable once it has been set. For more information, see <a href="https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html">UsernameConfigurationType</a>.
        AccountRecoverySetting:
          allOf:
          - $ref: '#/components/schemas/AccountRecoverySettingType'
          - description: The available verified method a user can use to recover their password when they call <code>ForgotPassword</code>. You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email.
      description: Represents the request to create a user pool.
    SmsConfigurationType:
      type: object
      required:
      - SnsCallerArn
      properties:
        SnsCallerArn:
          allOf:
          - $ref: '#/components/schemas/ArnType'
          - description: 'The Amazon Resource Name (ARN) of the Amazon SNS caller. This is the ARN of the IAM role in your Amazon Web Services account that Amazon Cognito will use to send SMS messages. SMS messages are subject to a <a href="https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html">spending limit</a>. '
        ExternalId:
          allOf:
          - $ref: '#/components/schemas/StringType'
          - description: <p>The external ID provides additional security for your IAM role. You can use an <code>ExternalId</code> with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an <code>ExternalId</code>, your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the <code>ExternalID</code>. If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the <code>ExternalId</code>.</p> <p>For more information about the <code>ExternalId</code> of a role, see <a href="https://docs.aws.amazon.com/IAM/latest/UserG

# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aws-cognito/refs/heads/main/openapi/aws-cognito-x-amz-target-awscognitoidentityproviderservice-createuserpool-api-openapi.yml