Avnology ID
SDKsGo SDKAdmin API

Organization Management

Create and manage organizations, members, and invitations with the Go SDK.

Organization Management

CreateOrganization()

org, err := client.Admin.CreateOrganization(ctx, &avnologyid.CreateOrganizationParams{
    Name:             "Acme Corporation",
    Slug:             "acme",
    Domains:          []string{"acme.com"},
    RegistrationMode: "invite_only",
})
if err != nil {
    log.Fatal(err)
}

fmt.Println("Created org:", org.ID, org.Slug)

ListOrganizations()

result, err := client.Admin.ListOrganizations(ctx, &avnologyid.ListOrganizationsParams{
    PageSize: 25,
})
if err != nil {
    log.Fatal(err)
}

for _, org := range result.Organizations {
    fmt.Printf("%s: %s (%d members)\n", org.ID, org.Name, org.MemberCount)
}

AddMember()

member, err := client.Admin.AddOrganizationMember(ctx, &avnologyid.AddMemberParams{
    OrganizationID: "org_abc123",
    UserID:         "usr_jane",
    Role:           "admin",
})

ListMembers()

result, err := client.Admin.ListOrganizationMembers(ctx, &avnologyid.ListMembersParams{
    OrganizationID: "org_abc123",
    PageSize:       50,
})
if err != nil {
    log.Fatal(err)
}

for _, m := range result.Members {
    fmt.Printf("%s: %s (%s)\n", m.UserID, m.Email, m.Role)
}

RemoveMember()

err := client.Admin.RemoveOrganizationMember(ctx, &avnologyid.RemoveMemberParams{
    OrganizationID: "org_abc123",
    UserID:         "usr_jane",
})

CreateInvitation()

inv, err := client.Admin.CreateInvitation(ctx, &avnologyid.CreateInvitationParams{
    OrganizationID: "org_abc123",
    Email:          "[email protected]",
    Role:           "member",
    ExpiresIn:      72 * 3600,  // 3 days
})

See also

On this page