Sample code for 30+ languages & platforms
Classic ASP

Amazon Cognito - Describe User Pool

See more Amazon Cognito Examples

Returns the configuration information and metadata of the specified user pool.

Chilkat Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0

' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

set rest = Server.CreateObject("Chilkat.Rest")

set authAws = Server.CreateObject("Chilkat.AuthAws")
authAws.AccessKey = "AWS_ACCESS_KEY"
authAws.SecretKey = "AWS_SECRET_KEY"
' Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
authAws.Region = "us-west-2"
authAws.ServiceName = "cognito-idp"
' SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
success = rest.SetAuthAws(authAws)

' URL: https://cognito-idp.us-west-2.amazonaws.com/
bTls = 1
port = 443
bAutoReconnect = 1
' Use the same region as specified above.
success = rest.Connect("cognito-idp.us-west-2.amazonaws.com",port,bTls,bAutoReconnect)
If (success <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode( "ConnectFailReason: " & rest.ConnectFailReason) & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( rest.LastErrorText) & "</pre>"
    Response.End
End If

' Note: The above code does not need to be repeatedly called for each REST request.
' The rest object can be setup once, and then many requests can be sent.  Chilkat will automatically
' reconnect within a FullRequest* method as needed.  It is only the very first connection that is explicitly
' made via the Connect method.

set json = Server.CreateObject("Chilkat.JsonObject")
success = json.UpdateString("UserPoolId","us-west-2_yt6WzO3SA")

success = rest.AddHeader("Content-Type","application/x-amz-json-1.0")
success = rest.AddHeader("X-Amz-Target","AWSCognitoIdentityProviderService.DescribeUserPool")
success = rest.AddHeader("Accept-Encoding","identity")

set sbRequestBody = Server.CreateObject("Chilkat.StringBuilder")
success = json.EmitSb(sbRequestBody)
set sbResponseBody = Server.CreateObject("Chilkat.StringBuilder")
success = rest.FullRequestSb("POST","/",sbRequestBody,sbResponseBody)
If (success <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode( rest.LastErrorText) & "</pre>"
    Response.End
End If

respStatusCode = rest.ResponseStatusCode
Response.Write "<pre>" & Server.HTMLEncode( "response status code = " & respStatusCode) & "</pre>"
If (respStatusCode <> 200) Then
    Response.Write "<pre>" & Server.HTMLEncode( "Response Status Code = " & respStatusCode) & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( "Response Header:") & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( rest.ResponseHeader) & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( "Response Body:") & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( sbResponseBody.GetAsString()) & "</pre>"
    Response.End
End If

set jsonResponse = Server.CreateObject("Chilkat.JsonObject")
success = jsonResponse.LoadSb(sbResponseBody)

jsonResponse.EmitCompact = 0
Response.Write "<pre>" & Server.HTMLEncode( jsonResponse.Emit()) & "</pre>"

' Sample JSON response:
' (Sample code for parsing the JSON response is shown below)

' Use this online tool to generate parsing code from sample JSON: 
' Generate Parsing Code from JSON

' {
'   "UserPool": {
'     "AccountRecoverySetting": {
'       "RecoveryMechanisms": [
'         {
'           "Name": "verified_phone_number",
'           "Priority": 1
'         },
'         {
'           "Name": "verified_email",
'           "Priority": 2
'         }
'       ]
'     },
'     "AdminCreateUserConfig": {
'       "AllowAdminCreateUserOnly": false,
'       "InviteMessageTemplate": {
'         "EmailMessage": "Your username is {username} and temporary password is {####}. ",
'         "EmailSubject": "Your temporary password",
'         "SMSMessage": "Your username is {username} and temporary password is {####}. "
'       },
'       "UnusedAccountValidityDays": 7
'     },
'     "Arn": "arn:aws:cognito-idp:us-west-2:954491834127:userpool/us-west-2_yt6WzO3SA",
'     "AutoVerifiedAttributes": [
'       "email",
'       "phone_number"
'     ],
'     "CreationDate": 1.636388909817E9,
'     "EmailConfiguration": {
'       "EmailSendingAccount": "DEVELOPER",
'       "From": "admin@chilkatsoft.com",
'       "ReplyToEmailAddress": "admin@chilkatsoft.com",
'       "SourceArn": "arn:aws:ses:us-west-2:954491834127:identity/admin@chilkatsoft.com"
'     },
'     "EmailVerificationMessage": "Your verification code is {####}. ",
'     "EmailVerificationSubject": "Your verification code",
'     "EstimatedNumberOfUsers": 0,
'     "Id": "us-west-2_yt6WzO3SA",
'     "LambdaConfig": {},
'     "LastModifiedDate": 1.636388910377E9,
'     "MfaConfiguration": "ON",
'     "Name": "chilkat",
'     "Policies": {
'       "PasswordPolicy": {
'         "MinimumLength": 8,
'         "RequireLowercase": true,
'         "RequireNumbers": true,
'         "RequireSymbols": true,
'         "RequireUppercase": true,
'         "TemporaryPasswordValidityDays": 7
'       }
'     },
'     "SchemaAttributes": [
'       {
'         "AttributeDataType": "String",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": false,
'         "Name": "sub",
'         "Required": true,
'         "StringAttributeConstraints": {
'           "MaxLength": "2048",
'           "MinLength": "1"
'         }
'       },
'       {
'         "AttributeDataType": "String",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "name",
'         "Required": false,
'         "StringAttributeConstraints": {
'           "MaxLength": "2048",
'           "MinLength": "0"
'         }
'       },
'       {
'         "AttributeDataType": "String",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "given_name",
'         "Required": false,
'         "StringAttributeConstraints": {
'           "MaxLength": "2048",
'           "MinLength": "0"
'         }
'       },
'       {
'         "AttributeDataType": "String",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "family_name",
'         "Required": false,
'         "StringAttributeConstraints": {
'           "MaxLength": "2048",
'           "MinLength": "0"
'         }
'       },
'       {
'         "AttributeDataType": "String",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "middle_name",
'         "Required": false,
'         "StringAttributeConstraints": {
'           "MaxLength": "2048",
'           "MinLength": "0"
'         }
'       },
'       {
'         "AttributeDataType": "String",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "nickname",
'         "Required": false,
'         "StringAttributeConstraints": {
'           "MaxLength": "2048",
'           "MinLength": "0"
'         }
'       },
'       {
'         "AttributeDataType": "String",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "preferred_username",
'         "Required": false,
'         "StringAttributeConstraints": {
'           "MaxLength": "2048",
'           "MinLength": "0"
'         }
'       },
'       {
'         "AttributeDataType": "String",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "profile",
'         "Required": false,
'         "StringAttributeConstraints": {
'           "MaxLength": "2048",
'           "MinLength": "0"
'         }
'       },
'       {
'         "AttributeDataType": "String",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "picture",
'         "Required": false,
'         "StringAttributeConstraints": {
'           "MaxLength": "2048",
'           "MinLength": "0"
'         }
'       },
'       {
'         "AttributeDataType": "String",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "website",
'         "Required": false,
'         "StringAttributeConstraints": {
'           "MaxLength": "2048",
'           "MinLength": "0"
'         }
'       },
'       {
'         "AttributeDataType": "String",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "email",
'         "Required": true,
'         "StringAttributeConstraints": {
'           "MaxLength": "2048",
'           "MinLength": "0"
'         }
'       },
'       {
'         "AttributeDataType": "Boolean",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "email_verified",
'         "Required": false
'       },
'       {
'         "AttributeDataType": "String",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "gender",
'         "Required": false,
'         "StringAttributeConstraints": {
'           "MaxLength": "2048",
'           "MinLength": "0"
'         }
'       },
'       {
'         "AttributeDataType": "String",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "birthdate",
'         "Required": false,
'         "StringAttributeConstraints": {
'           "MaxLength": "10",
'           "MinLength": "10"
'         }
'       },
'       {
'         "AttributeDataType": "String",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "zoneinfo",
'         "Required": false,
'         "StringAttributeConstraints": {
'           "MaxLength": "2048",
'           "MinLength": "0"
'         }
'       },
'       {
'         "AttributeDataType": "String",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "locale",
'         "Required": false,
'         "StringAttributeConstraints": {
'           "MaxLength": "2048",
'           "MinLength": "0"
'         }
'       },
'       {
'         "AttributeDataType": "String",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "phone_number",
'         "Required": false,
'         "StringAttributeConstraints": {
'           "MaxLength": "2048",
'           "MinLength": "0"
'         }
'       },
'       {
'         "AttributeDataType": "Boolean",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "phone_number_verified",
'         "Required": false
'       },
'       {
'         "AttributeDataType": "String",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "address",
'         "Required": false,
'         "StringAttributeConstraints": {
'           "MaxLength": "2048",
'           "MinLength": "0"
'         }
'       },
'       {
'         "AttributeDataType": "Number",
'         "DeveloperOnlyAttribute": false,
'         "Mutable": true,
'         "Name": "updated_at",
'         "NumberAttributeConstraints": {
'           "MinValue": "0"
'         },
'         "Required": false
'       }
'     ],
'     "SmsAuthenticationMessage": "Your verification code is {####}. ",
'     "SmsConfiguration": {
'       "ExternalId": "94b17737-216b-4cf7-a29e-17e990e91300",
'       "SnsCallerArn": "arn:aws:iam::954491834127:role/service-role/chilkat-SMS-Role"
'     },
'     "SmsVerificationMessage": "Your verification code is {####}. ",
'     "UserPoolTags": {
'       "sampleUserPoolTag": "test"
'     },
'     "UsernameConfiguration": {
'       "CaseSensitive": false
'     },
'     "VerificationMessageTemplate": {
'       "DefaultEmailOption": "CONFIRM_WITH_CODE",
'       "EmailMessage": "Your verification code is {####}. ",
'       "EmailSubject": "Your verification code",
'       "SmsMessage": "Your verification code is {####}. "
'     }
'   }
' }

UserPoolAdminCreateUserConfigAllowAdminCreateUserOnly = jsonResponse.BoolOf("UserPool.AdminCreateUserConfig.AllowAdminCreateUserOnly")
UserPoolAdminCreateUserConfigInviteMessageTemplateEmailMessage = jsonResponse.StringOf("UserPool.AdminCreateUserConfig.InviteMessageTemplate.EmailMessage")
UserPoolAdminCreateUserConfigInviteMessageTemplateEmailSubject = jsonResponse.StringOf("UserPool.AdminCreateUserConfig.InviteMessageTemplate.EmailSubject")
UserPoolAdminCreateUserConfigInviteMessageTemplateSMSMessage = jsonResponse.StringOf("UserPool.AdminCreateUserConfig.InviteMessageTemplate.SMSMessage")
UserPoolAdminCreateUserConfigUnusedAccountValidityDays = jsonResponse.IntOf("UserPool.AdminCreateUserConfig.UnusedAccountValidityDays")
UserPoolArn = jsonResponse.StringOf("UserPool.Arn")
UserPoolCreationDate = jsonResponse.StringOf("UserPool.CreationDate")
UserPoolEmailConfigurationEmailSendingAccount = jsonResponse.StringOf("UserPool.EmailConfiguration.EmailSendingAccount")
UserPoolEmailConfigurationFrom = jsonResponse.StringOf("UserPool.EmailConfiguration.From")
UserPoolEmailConfigurationReplyToEmailAddress = jsonResponse.StringOf("UserPool.EmailConfiguration.ReplyToEmailAddress")
UserPoolEmailConfigurationSourceArn = jsonResponse.StringOf("UserPool.EmailConfiguration.SourceArn")
UserPoolEmailVerificationMessage = jsonResponse.StringOf("UserPool.EmailVerificationMessage")
UserPoolEmailVerificationSubject = jsonResponse.StringOf("UserPool.EmailVerificationSubject")
UserPoolEstimatedNumberOfUsers = jsonResponse.IntOf("UserPool.EstimatedNumberOfUsers")
UserPoolId = jsonResponse.StringOf("UserPool.Id")
UserPoolLastModifiedDate = jsonResponse.StringOf("UserPool.LastModifiedDate")
UserPoolMfaConfiguration = jsonResponse.StringOf("UserPool.MfaConfiguration")
UserPoolName = jsonResponse.StringOf("UserPool.Name")
UserPoolPoliciesPasswordPolicyMinimumLength = jsonResponse.IntOf("UserPool.Policies.PasswordPolicy.MinimumLength")
UserPoolPoliciesPasswordPolicyRequireLowercase = jsonResponse.BoolOf("UserPool.Policies.PasswordPolicy.RequireLowercase")
UserPoolPoliciesPasswordPolicyRequireNumbers = jsonResponse.BoolOf("UserPool.Policies.PasswordPolicy.RequireNumbers")
UserPoolPoliciesPasswordPolicyRequireSymbols = jsonResponse.BoolOf("UserPool.Policies.PasswordPolicy.RequireSymbols")
UserPoolPoliciesPasswordPolicyRequireUppercase = jsonResponse.BoolOf("UserPool.Policies.PasswordPolicy.RequireUppercase")
UserPoolPoliciesPasswordPolicyTemporaryPasswordValidityDays = jsonResponse.IntOf("UserPool.Policies.PasswordPolicy.TemporaryPasswordValidityDays")
UserPoolSmsAuthenticationMessage = jsonResponse.StringOf("UserPool.SmsAuthenticationMessage")
UserPoolSmsConfigurationExternalId = jsonResponse.StringOf("UserPool.SmsConfiguration.ExternalId")
UserPoolSmsConfigurationSnsCallerArn = jsonResponse.StringOf("UserPool.SmsConfiguration.SnsCallerArn")
UserPoolSmsVerificationMessage = jsonResponse.StringOf("UserPool.SmsVerificationMessage")
UserPoolUserPoolTagsSampleUserPoolTag = jsonResponse.StringOf("UserPool.UserPoolTags.sampleUserPoolTag")
UserPoolUsernameConfigurationCaseSensitive = jsonResponse.BoolOf("UserPool.UsernameConfiguration.CaseSensitive")
UserPoolVerificationMessageTemplateDefaultEmailOption = jsonResponse.StringOf("UserPool.VerificationMessageTemplate.DefaultEmailOption")
UserPoolVerificationMessageTemplateEmailMessage = jsonResponse.StringOf("UserPool.VerificationMessageTemplate.EmailMessage")
UserPoolVerificationMessageTemplateEmailSubject = jsonResponse.StringOf("UserPool.VerificationMessageTemplate.EmailSubject")
UserPoolVerificationMessageTemplateSmsMessage = jsonResponse.StringOf("UserPool.VerificationMessageTemplate.SmsMessage")

i = 0
count_i = jsonResponse.SizeOfArray("UserPool.AccountRecoverySetting.RecoveryMechanisms")
Do While i < count_i
    jsonResponse.I = i
    Name = jsonResponse.StringOf("UserPool.AccountRecoverySetting.RecoveryMechanisms[i].Name")
    Priority = jsonResponse.IntOf("UserPool.AccountRecoverySetting.RecoveryMechanisms[i].Priority")
    i = i + 1
Loop

i = 0
count_i = jsonResponse.SizeOfArray("UserPool.AutoVerifiedAttributes")
Do While i < count_i
    jsonResponse.I = i
    strVal = jsonResponse.StringOf("UserPool.AutoVerifiedAttributes[i]")
    i = i + 1
Loop

i = 0
count_i = jsonResponse.SizeOfArray("UserPool.SchemaAttributes")
Do While i < count_i
    jsonResponse.I = i
    AttributeDataType = jsonResponse.StringOf("UserPool.SchemaAttributes[i].AttributeDataType")
    DeveloperOnlyAttribute = jsonResponse.BoolOf("UserPool.SchemaAttributes[i].DeveloperOnlyAttribute")
    Mutable = jsonResponse.BoolOf("UserPool.SchemaAttributes[i].Mutable")
    Name = jsonResponse.StringOf("UserPool.SchemaAttributes[i].Name")
    Required = jsonResponse.BoolOf("UserPool.SchemaAttributes[i].Required")
    StringAttributeConstraintsMaxLength = jsonResponse.StringOf("UserPool.SchemaAttributes[i].StringAttributeConstraints.MaxLength")
    StringAttributeConstraintsMinLength = jsonResponse.StringOf("UserPool.SchemaAttributes[i].StringAttributeConstraints.MinLength")
    NumberAttributeConstraintsMinValue = jsonResponse.StringOf("UserPool.SchemaAttributes[i].NumberAttributeConstraints.MinValue")
    i = i + 1
Loop

%>
</body>
</html>