Sample code for 30+ languages & platforms
Go

Amazon Cognito - Admin Create User

See more Amazon Cognito Examples

Creates a new user in the specified user pool.

Chilkat Go Downloads

Go
    success := false

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

    rest := chilkat.NewRest()

    authAws := chilkat.NewAuthAws()
    authAws.SetAccessKey("AWS_ACCESS_KEY")
    authAws.SetSecretKey("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.SetRegion("us-west-2")
    authAws.SetServiceName("cognito-idp")
    // SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
    rest.SetAuthAws(authAws)

    // URL: https://cognito-idp.us-west-2.amazonaws.com/
    bTls := true
    port := 443
    bAutoReconnect := true
    // Use the same region as specified above.
    success = rest.Connect("cognito-idp.us-west-2.amazonaws.com",port,bTls,bAutoReconnect)
    if success != true {
        fmt.Println("ConnectFailReason: ", rest.ConnectFailReason())
        fmt.Println(rest.LastErrorText())
        rest.DisposeRest()
        authAws.DisposeAuthAws()
        return
    }

    // Use this online tool to generate code from sample JSON:
    // Generate Code to Create JSON

    // The following JSON is sent in the request body.

    // {
    //     "DesiredDeliveryMediums" : [ "SMS", "EMAIL" ],	
    //     "UserAttributes": [
    //          {
    //            "Name": "phone_number",
    //            "Value": "+16302581871"
    //          },
    //          {
    //            "Name": "email",
    //            "Value": "admin@chilkatsoft.com"
    //          }
    //        ],
    //      "UserPoolId": "us-west-2_yt6WzO3SA",
    //      "Username": "Matt"
    // }
    // 

    json := chilkat.NewJsonObject()
    json.UpdateString("DesiredDeliveryMediums[0]","SMS")
    json.UpdateString("DesiredDeliveryMediums[1]","EMAIL")
    json.UpdateString("UserAttributes[0].Name","phone_number")
    json.UpdateString("UserAttributes[0].Value","+16302581871")
    json.UpdateString("UserAttributes[1].Name","email")
    json.UpdateString("UserAttributes[1].Value","admin@chilkatsoft.com")
    json.UpdateString("UserPoolId","us-west-2_yt6WzO3SA")
    json.UpdateString("Username","Matt")

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

    sbRequestBody := chilkat.NewStringBuilder()
    json.EmitSb(sbRequestBody)
    sbResponseBody := chilkat.NewStringBuilder()
    success = rest.FullRequestSb("POST","/",sbRequestBody,sbResponseBody)
    if success != true {
        fmt.Println(rest.LastErrorText())
        rest.DisposeRest()
        authAws.DisposeAuthAws()
        json.DisposeJsonObject()
        sbRequestBody.DisposeStringBuilder()
        sbResponseBody.DisposeStringBuilder()
        return
    }

    respStatusCode := rest.ResponseStatusCode()
    fmt.Println("response status code = ", respStatusCode)
    if respStatusCode != 200 {
        fmt.Println("Response Status Code = ", respStatusCode)
        fmt.Println("Response Header:")
        fmt.Println(rest.ResponseHeader())
        fmt.Println("Response Body:")
        fmt.Println(*sbResponseBody.GetAsString())
        rest.DisposeRest()
        authAws.DisposeAuthAws()
        json.DisposeJsonObject()
        sbRequestBody.DisposeStringBuilder()
        sbResponseBody.DisposeStringBuilder()
        return
    }

    jsonResponse := chilkat.NewJsonObject()
    jsonResponse.LoadSb(sbResponseBody)

    jsonResponse.SetEmitCompact(false)
    fmt.Println(*jsonResponse.Emit())

    // 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

    // {
    //   "User": {
    //     "Attributes": [
    //       {
    //         "Name": "sub",
    //         "Value": "dcd3db0c-32cf-4a33-a6b2-173653f7c0e7"
    //       },
    //       {
    //         "Name": "phone_number",
    //         "Value": "+16302581871"
    //       },
    //       {
    //         "Name": "email",
    //         "Value": "admin@chilkatsoft.com"
    //       }
    //     ],
    //     "Enabled": true,
    //     "UserCreateDate": 1.636407153801E9,
    //     "UserLastModifiedDate": 1.636407153801E9,
    //     "UserStatus": "FORCE_CHANGE_PASSWORD",
    //     "Username": "matt"
    //   }
    // }

    var Name *string = new(string)
    var Value *string = new(string)

    UserEnabled := jsonResponse.BoolOf("User.Enabled")
    UserUserCreateDate := jsonResponse.StringOf("User.UserCreateDate")
    UserUserLastModifiedDate := jsonResponse.StringOf("User.UserLastModifiedDate")
    UserUserStatus := jsonResponse.StringOf("User.UserStatus")
    UserUsername := jsonResponse.StringOf("User.Username")
    i := 0
    count_i := jsonResponse.SizeOfArray("User.Attributes")
    for i < count_i {
        jsonResponse.SetI(i)
        Name = jsonResponse.StringOf("User.Attributes[i].Name")
        Value = jsonResponse.StringOf("User.Attributes[i].Value")
        i = i + 1
    }


    rest.DisposeRest()
    authAws.DisposeAuthAws()
    json.DisposeJsonObject()
    sbRequestBody.DisposeStringBuilder()
    sbResponseBody.DisposeStringBuilder()
    jsonResponse.DisposeJsonObject()