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>