This endpoint lets you search for users. You can apply pagination using the query parameters and apply filters using the request body.
Query Parameters | Expected Type | Default |
mode | "basic" | "detailed" | "basic" |
limit | number | 10 |
page | number | 1 |
{
folder?: string[];
group?: string[];
labels?: string[];
favorite?: boolean;
type?: "teammate" | "regular";
username?: string;
active?: boolean;
}
{
users: (Basic | Detailed)[];
pagination: {
totalItems: number;
totalPages: number;
currentPage: number;
limit: number;
next: string | null;
previous: string | null;
}
}
The response will include only the users who satisfy all of the filters provided in the request body.
The type of the users depends on the value of mode provided in the query parameters. If the value of mode is "basic", the user object in the response will be in this type:
// "basic" user object:
{
userId: string;
createdAt: number; // seconds
username: string;
fullname?: string; // might not exist in user
email?: string; // might not exist in user
}
If the value of mode is "detailed", you will receive all of the properties from "basic" and also the following properties:
// "detailed" user object:
Basic & {
organizationId: string;
folder: string;
tags: Record
labels: string[];
group: string;
favorite: boolean;
active: boolean;
roles: "MANAGER" | "EDITOR" | "OPERATOR" | "USER" | "JOKER" | "QUESTIONBANKSUPERVISOR" | "QUESTIONBANKSUBMITTER"[];
}