Avnology ID
SDKsGo SDKAdmin API

User Management

CRUD operations for user management with the Go SDK Admin API.

User Management

Admin user management methods. Requires an API key or OAuth token with admin scopes.

ListUsers()

result, err := client.Admin.ListUsers(ctx, &avnologyid.ListUsersParams{
    PageSize:       50,
    Filter:         `email.endsWith("@acme.com")`,
    OrderBy:        "created_at desc",
    OrganizationID: "org_abc123",
})
if err != nil {
    log.Fatal(err)
}

for _, user := range result.Users {
    fmt.Printf("%s: %s (%s)\n", user.ID, user.Email, user.Status)
}

fmt.Println("Total:", result.TotalSize)

Pagination

var allUsers []avnologyid.User
var pageToken string

for {
    result, err := client.Admin.ListUsers(ctx, &avnologyid.ListUsersParams{
        PageSize:  100,
        PageToken: pageToken,
    })
    if err != nil {
        log.Fatal(err)
    }

    allUsers = append(allUsers, result.Users...)

    if result.NextPageToken == "" {
        break
    }
    pageToken = result.NextPageToken
}

GetUser()

user, err := client.Admin.GetUser(ctx, &avnologyid.GetUserParams{
    UserID: "usr_abc123",
})
if err != nil {
    var notFound *errors.NotFoundError
    if errors.As(err, &notFound) {
        fmt.Println("User not found")
        return
    }
    log.Fatal(err)
}

fmt.Println(user.Email, user.Name.First, user.Name.Last)
fmt.Println("MFA:", user.MfaEnabled, user.MfaMethods)

CreateUser()

user, err := client.Admin.CreateUser(ctx, &avnologyid.CreateUserParams{
    Email:    "[email protected]",
    Password: "TempPassword123!",
    Traits: &avnologyid.UserTraits{
        Name: &avnologyid.UserName{First: "New", Last: "User"},
    },
    OrganizationID: "org_abc123",
    Verified:       true,
})
if err != nil {
    log.Fatal(err)
}

fmt.Println("Created:", user.ID)

UpdateUser()

updated, err := client.Admin.UpdateUser(ctx, &avnologyid.UpdateUserParams{
    UserID: "usr_abc123",
    Traits: &avnologyid.UserTraits{
        Name: &avnologyid.UserName{First: "Jane", Last: "Smith"},
    },
    Status: "disabled",
})

DeleteUser()

err := client.Admin.DeleteUser(ctx, &avnologyid.DeleteUserParams{
    UserID: "usr_abc123",
})

See also

On this page