Skip to main content

SearchUserProfiles

Searches user profiles using first name, last name, or user resource name filtering. Performs substring matching on user profile first and last names, or exact matching on user resource names within the authenticated group context.

Method Options​

Authorisation specification of the SearchUserProfiles method.

TypeMETHOD_TYPE_READ
Access LevelMETHOD_ACCESS_LEVEL_AUTHORISED
Roles
  • ROLE_IAM_ADMIN
  • ROLE_IAM_VIEWER
  • ROLE_IAM_USER_PROFILE_ADMIN
  • ROLE_IAM_USER_PROFILE_VIEWER

Parameters​

Request and response parameter message overview:

Input: SearchUserProfilesRequest Message​

FieldTypeRequiredDescription
FirstName

string

False

Optional substring to match against user profile first names. The search is case-insensitive.

LastName

string

False

Optional substring to match against user profile last names. The search is case-insensitive.

Users

string[]

False

Optional list of user resource names to filter by. Format: users/{ULIDv2}. When provided, only profiles associated with the specified users are returned.

Returns: SearchUserProfilesResponse Message​

FieldTypeDescription
UserProfiles

meshtrade.iam.user_profile.v1.UserProfile[]

Code Examples​

Select supported SDK in the language of your choice for a full example of how to invoke the this method:

package main

import (
"context"
"log"

user_profilev1 "github.com/meshtrade/api/go/iam/user_profile/v1"
)

func main() {
ctx := context.Background()

// Default configuration is used and credentials come from MESH_API_CREDENTIALS
// environment variable or default discovery methods. Zero config required
// unless you want custom configuration.
service, err := user_profilev1.NewUserProfileService()
if err != nil {
log.Fatalf("Failed to create service: %v", err)
}
defer service.Close()

// Search user profiles by last name
request := &user_profilev1.SearchUserProfilesRequest{
LastName: "Smith",
}

// Call the SearchUserProfiles method
response, err := service.SearchUserProfiles(ctx, request)
if err != nil {
log.Fatalf("SearchUserProfiles failed: %v", err)
}

for _, profile := range response.UserProfiles {
log.Printf("Found: %s %s (%s)", profile.FirstName, profile.LastName, profile.Name)
}
}

Advanced Configuration​

For advanced client configuration options (custom endpoints, TLS settings, timeouts), see the SDK Configuration Guide.

Other Methods​