Skip to main content

Get Users

GET/users

Caller​

Requires read:users and an active, verified key owner with access to the requested users.

KeySupported users
Company-scopedHirer company and project users
Agency-scopedAgency Admin and Agency Staff users

Summary​

Returns a paginated list of public user profiles visible to the key owner within the API key scope. Both active and inactive users are included unless filtered by status.

Company and agency user lists require the corresponding entity access. Project admins can retrieve only users sharing their assigned projects. Project finance, approver, requestor and agency staff callers can retrieve only their own profile. A key's scope does not grant its owner additional platform permissions.

The companies, projects and agencies arrays contain only membership IDs visible to the caller within the selected key scope. Passwords, authentication tokens, MFA secrets, preferences and other private account settings are excluded.

URL Parameters​

  • None

Query Parameters​

NameTypeRequiredDescription
companystringNoFilter by company ObjectId(s); one ID or comma-separated IDs. Company-scoped keys only
projectstringNoFilter by project ObjectId(s); one ID or comma-separated IDs. Projects must be within accessible scoped companies. Company-scoped keys only
agencystringNoFilter by agency ObjectId(s); one ID or comma-separated IDs. Agency-scoped keys only
rolestringNoFilter by base role: companyAdmin, companyFinance, companyBot, projectAdmin, projectFinance, projectApprover, projectRequestor, ldAdmin, or ldUser
statusenum(active, inactive)NoFilter by user status; includes both when omitted
pageintegerNoPage number (default 1)
limitintegerNoRecords per page (default 50, max 200)
querystringNoCase-insensitive search against user name, email or job title
sortByenum(createdAt, updatedAt, name, email)NoSort field (default name)
sortOrderenum(asc, desc)NoSort direction (default asc)
fieldsstringNoComma-separated list of public response fields to return

Omitting membership filters returns users across the entities available to both the key and its owner. Combining company and project filters requires users to match both. Role filters narrow visibility; they do not grant access to other user types.

Request Example​

curl -X GET 'https://api.requidex.com/api/open/v1/users' \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Accept: application/json'

Active project requestors in a company​

curl -X GET 'https://api.requidex.com/api/open/v1/users?company=507f1f77bcf86cd799439011&role=projectRequestor&status=active' \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Accept: application/json'

Agency users with selected fields​

curl -X GET 'https://api.requidex.com/api/open/v1/users?agency=507f1f77bcf86cd799439017&fields=id,reference,name,email,role,agencies' \
-H 'Authorization: Bearer <AGENCY_API_KEY>' \
-H 'Accept: application/json'

Response Fields​

FieldTypeDescription
idstringUser ObjectId
referencestringUser reference
namestringFull name
firstNamestringFirst name
lastNamestringLast name
emailstringEmail address
phonestringPhone number, when set
countryCodestringTelephone dialling code, when set
jobTitlestringJob title, when set
rolestringBase role
activebooleanWhether the account is active
verifiedbooleanWhether the account is verified
companiesarray[string]Visible company membership ObjectIds within the key scope
projectsarray[string]Visible project membership ObjectIds within the key scope
agenciesarray[string]Visible agency membership ObjectIds within the key scope
createdAtstringCreation timestamp
updatedAtstringLast update timestamp

Response Example (200)​

{
"success": true,
"data": [
{
"id": "507f1f77bcf86cd799439018",
"reference": "userref123",
"name": "Alex Taylor",
"firstName": "Alex",
"lastName": "Taylor",
"email": "alex@example.com",
"jobTitle": "Buyer",
"role": "projectRequestor",
"active": true,
"verified": true,
"companies": ["507f1f77bcf86cd799439011"],
"projects": ["507f1f77bcf86cd799439016"],
"agencies": [],
"createdAt": "2026-01-10T12:00:00.000Z",
"updatedAt": "2026-02-20T14:03:12.111Z"
}
],
"meta": { "page": 1, "limit": 50, "total": 1 }
}

Pagination totals count only users matching the caller's visibility and the requested filters. An accessible query with no matching users returns an empty data array.

MCP Tool​

The MCP server exposes this operation as open_api_list_users with the inputs company, project, agency, role, status, page, limit, query, sortBy, sortOrder, and fields.

Errors​

HTTP StatusDescription
400Invalid filters or parameters, or membership filter incompatible with the key scope
401Missing, invalid, revoked, or expired API key
403Missing read:users, inactive or unverified owner, or insufficient user visibility permissions
404Requested company, project or agency not found within accessible key scope
405Method not allowed on Open API routes
429Rate limit exceeded
500Failed to fetch users