DescribeUserPoolCommand

Given a user pool ID, returns configuration information. This operation is useful when you want to inspect an existing user pool and programmatically replicate the configuration to another user pool.

Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

Learn more

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { CognitoIdentityProviderClient, DescribeUserPoolCommand } from "@aws-sdk/client-cognito-identity-provider"; // ES Modules import
// const { CognitoIdentityProviderClient, DescribeUserPoolCommand } = require("@aws-sdk/client-cognito-identity-provider"); // CommonJS import
const client = new CognitoIdentityProviderClient(config);
const input = { // DescribeUserPoolRequest
  UserPoolId: "STRING_VALUE", // required
};
const command = new DescribeUserPoolCommand(input);
const response = await client.send(command);
// { // DescribeUserPoolResponse
//   UserPool: { // UserPoolType
//     Id: "STRING_VALUE",
//     Name: "STRING_VALUE",
//     Policies: { // UserPoolPolicyType
//       PasswordPolicy: { // PasswordPolicyType
//         MinimumLength: Number("int"),
//         RequireUppercase: true || false,
//         RequireLowercase: true || false,
//         RequireNumbers: true || false,
//         RequireSymbols: true || false,
//         PasswordHistorySize: Number("int"),
//         TemporaryPasswordValidityDays: Number("int"),
//       },
//       SignInPolicy: { // SignInPolicyType
//         AllowedFirstAuthFactors: [ // AllowedFirstAuthFactorsListType
//           "PASSWORD" || "EMAIL_OTP" || "SMS_OTP" || "WEB_AUTHN",
//         ],
//       },
//     },
//     DeletionProtection: "ACTIVE" || "INACTIVE",
//     LambdaConfig: { // LambdaConfigType
//       PreSignUp: "STRING_VALUE",
//       CustomMessage: "STRING_VALUE",
//       PostConfirmation: "STRING_VALUE",
//       PreAuthentication: "STRING_VALUE",
//       PostAuthentication: "STRING_VALUE",
//       DefineAuthChallenge: "STRING_VALUE",
//       CreateAuthChallenge: "STRING_VALUE",
//       VerifyAuthChallengeResponse: "STRING_VALUE",
//       PreTokenGeneration: "STRING_VALUE",
//       UserMigration: "STRING_VALUE",
//       PreTokenGenerationConfig: { // PreTokenGenerationVersionConfigType
//         LambdaVersion: "V1_0" || "V2_0" || "V3_0", // required
//         LambdaArn: "STRING_VALUE", // required
//       },
//       CustomSMSSender: { // CustomSMSLambdaVersionConfigType
//         LambdaVersion: "V1_0", // required
//         LambdaArn: "STRING_VALUE", // required
//       },
//       CustomEmailSender: { // CustomEmailLambdaVersionConfigType
//         LambdaVersion: "V1_0", // required
//         LambdaArn: "STRING_VALUE", // required
//       },
//       KMSKeyID: "STRING_VALUE",
//     },
//     Status: "Enabled" || "Disabled",
//     LastModifiedDate: new Date("TIMESTAMP"),
//     CreationDate: new Date("TIMESTAMP"),
//     SchemaAttributes: [ // SchemaAttributesListType
//       { // SchemaAttributeType
//         Name: "STRING_VALUE",
//         AttributeDataType: "String" || "Number" || "DateTime" || "Boolean",
//         DeveloperOnlyAttribute: true || false,
//         Mutable: true || false,
//         Required: true || false,
//         NumberAttributeConstraints: { // NumberAttributeConstraintsType
//           MinValue: "STRING_VALUE",
//           MaxValue: "STRING_VALUE",
//         },
//         StringAttributeConstraints: { // StringAttributeConstraintsType
//           MinLength: "STRING_VALUE",
//           MaxLength: "STRING_VALUE",
//         },
//       },
//     ],
//     AutoVerifiedAttributes: [ // VerifiedAttributesListType
//       "phone_number" || "email",
//     ],
//     AliasAttributes: [ // AliasAttributesListType
//       "phone_number" || "email" || "preferred_username",
//     ],
//     UsernameAttributes: [ // UsernameAttributesListType
//       "phone_number" || "email",
//     ],
//     SmsVerificationMessage: "STRING_VALUE",
//     EmailVerificationMessage: "STRING_VALUE",
//     EmailVerificationSubject: "STRING_VALUE",
//     VerificationMessageTemplate: { // VerificationMessageTemplateType
//       SmsMessage: "STRING_VALUE",
//       EmailMessage: "STRING_VALUE",
//       EmailSubject: "STRING_VALUE",
//       EmailMessageByLink: "STRING_VALUE",
//       EmailSubjectByLink: "STRING_VALUE",
//       DefaultEmailOption: "CONFIRM_WITH_LINK" || "CONFIRM_WITH_CODE",
//     },
//     SmsAuthenticationMessage: "STRING_VALUE",
//     UserAttributeUpdateSettings: { // UserAttributeUpdateSettingsType
//       AttributesRequireVerificationBeforeUpdate: [ // AttributesRequireVerificationBeforeUpdateType
//         "phone_number" || "email",
//       ],
//     },
//     MfaConfiguration: "OFF" || "ON" || "OPTIONAL",
//     DeviceConfiguration: { // DeviceConfigurationType
//       ChallengeRequiredOnNewDevice: true || false,
//       DeviceOnlyRememberedOnUserPrompt: true || false,
//     },
//     EstimatedNumberOfUsers: Number("int"),
//     EmailConfiguration: { // EmailConfigurationType
//       SourceArn: "STRING_VALUE",
//       ReplyToEmailAddress: "STRING_VALUE",
//       EmailSendingAccount: "COGNITO_DEFAULT" || "DEVELOPER",
//       From: "STRING_VALUE",
//       ConfigurationSet: "STRING_VALUE",
//     },
//     SmsConfiguration: { // SmsConfigurationType
//       SnsCallerArn: "STRING_VALUE", // required
//       ExternalId: "STRING_VALUE",
//       SnsRegion: "STRING_VALUE",
//     },
//     UserPoolTags: { // UserPoolTagsType
//       "<keys>": "STRING_VALUE",
//     },
//     SmsConfigurationFailure: "STRING_VALUE",
//     EmailConfigurationFailure: "STRING_VALUE",
//     Domain: "STRING_VALUE",
//     CustomDomain: "STRING_VALUE",
//     AdminCreateUserConfig: { // AdminCreateUserConfigType
//       AllowAdminCreateUserOnly: true || false,
//       UnusedAccountValidityDays: Number("int"),
//       InviteMessageTemplate: { // MessageTemplateType
//         SMSMessage: "STRING_VALUE",
//         EmailMessage: "STRING_VALUE",
//         EmailSubject: "STRING_VALUE",
//       },
//     },
//     UserPoolAddOns: { // UserPoolAddOnsType
//       AdvancedSecurityMode: "OFF" || "AUDIT" || "ENFORCED", // required
//       AdvancedSecurityAdditionalFlows: { // AdvancedSecurityAdditionalFlowsType
//         CustomAuthMode: "AUDIT" || "ENFORCED",
//       },
//     },
//     UsernameConfiguration: { // UsernameConfigurationType
//       CaseSensitive: true || false, // required
//     },
//     Arn: "STRING_VALUE",
//     AccountRecoverySetting: { // AccountRecoverySettingType
//       RecoveryMechanisms: [ // RecoveryMechanismsType
//         { // RecoveryOptionType
//           Priority: Number("int"), // required
//           Name: "verified_email" || "verified_phone_number" || "admin_only", // required
//         },
//       ],
//     },
//     UserPoolTier: "LITE" || "ESSENTIALS" || "PLUS",
//   },
// };

DescribeUserPoolCommand Input

See DescribeUserPoolCommandInput for more details

Parameter
Type
Description
UserPoolId
Required
string | undefined

The ID of the user pool you want to describe.

DescribeUserPoolCommand Output

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
UserPool
UserPoolType | undefined

The details of the requested user pool.

Throws

Name
Fault
Details
InternalErrorException
server

This exception is thrown when Amazon Cognito encounters an internal error.

InvalidParameterException
client

This exception is thrown when the Amazon Cognito service encounters an invalid parameter.

NotAuthorizedException
client

This exception is thrown when a user isn't authorized.

ResourceNotFoundException
client

This exception is thrown when the Amazon Cognito service can't find the requested resource.

TooManyRequestsException
client

This exception is thrown when the user has made too many requests for a given operation.

UserPoolTaggingException
client

This exception is thrown when a user pool tag can't be set or updated.

CognitoIdentityProviderServiceException
Base exception class for all service exceptions from CognitoIdentityProvider service.