Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -912,10 +912,14 @@ usersRes.data.forEach((user) => {
// Search all users, optionally according to tenant and/or role filter
// Results can be paginated using the limit and page parameters
// Additional filters: verifiedEmail, verifiedPhone, statuses, roles, tenantIds, etc.
// Results can also be filtered by time using fromCreatedTime, toCreatedTime,
// fromModifiedTime, and toModifiedTime (epoch in milliseconds)
const usersRes = await descopeClient.management.user.search({
tenantIds: ['tenant-ID'],
verifiedEmail: true, // optional: filter by verified email status
verifiedPhone: false, // optional: filter by verified phone status
fromCreatedTime: 1700000000000, // optional: only users created after this time
toModifiedTime: 1800000000000, // optional: only users modified on or before this time
});
console.log('Total users:', usersRes.data.total);
usersRes.data.users.forEach((user) => {
Expand Down
14 changes: 12 additions & 2 deletions lib/management/user.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ type SearchRequest = {
loginIds?: string[];
userIds?: string[];
fromCreatedTime?: number; // Search users created after this time (epoch in milliseconds)
toCreatedTime?: number; // Search users created before this time (epoch in milliseconds)
toCreatedTime?: number; // Search users created on or before this time (epoch in milliseconds)
fromModifiedTime?: number; // Search users modified after this time (epoch in milliseconds)
toModifiedTime?: number; // Search users modified before this time (epoch in milliseconds)
toModifiedTime?: number; // Search users modified on or before this time (epoch in milliseconds)
tenantRoleIds?: Record<string, RolesList>; // Search users based on tenants and role IDs
tenantRoleNames?: Record<string, RolesList>; // Search users based on tenants and role names
verifiedEmail?: boolean; // Filter by verified email status
Expand Down Expand Up @@ -674,6 +674,16 @@ const withUser = (httpClient: HttpClient) => {
}),
(data) => ({ users: data.users, total: data.total }),
),
/**
* Search all users. Results can be filtered according to tenants, roles,
* and other attributes on the given SearchRequest, and paginated using
* the limit and page fields.
* @param searchReq.fromCreatedTime only include users created after this time (epoch in milliseconds)
* @param searchReq.toCreatedTime only include users created on or before this time (epoch in milliseconds)
* @param searchReq.fromModifiedTime only include users modified after this time (epoch in milliseconds)
* @param searchReq.toModifiedTime only include users modified on or before this time (epoch in milliseconds)
* @returns The users found by the query, along with the total number of matches
*/
search: (searchReq: SearchRequest): Promise<SdkResponse<UserSearchResponse>> =>
transformResponse<UserSearchResponse, UserSearchResponse>(
httpClient.post(apiPaths.user.search, {
Expand Down
Loading