Skip to main content

list-users

List ECGrid users matching the supplied filters, scoped to what the caller's APIKey can see. Use for discovery: browsing a network's user roster, finding all locked-out accounts on a network, searching by partial login / email substring, or auditing how many users share a mailbox. At least one of networkId, mailboxId, or name MUST be supplied (scope filter); lockedOut is a post-filter and is NOT a valid scope on its own — omit-all-three is rejected as VALIDATION_ERROR. Combine filters to narrow results (e.g. networkId=7 + lockedOut=true → locked-out users on network 7). Returns an array of user records (users) plus a count. This tool deliberately bypasses the response cache so the result always reflects current state — useful for support workflows that mutate users (unlock, suspend, terminate) and immediately re-list to confirm. When the caller already knows a specific user, prefer connectivity_user_get-user-by-id or connectivity_user_get-user-by-login (cached, faster, single record).

Tool Name

connectivity_user_list-users

Auth Level Required

Any (scoped to caller's APIKey)

Parameters

ParameterTypeRequiredDescription
request.networkIdinteger | nullConditionally requiredScope filter. Restrict results to one ECGrid network. Positive integer >= 1. At least one of networkId, mailboxId, or name MUST be supplied — lockedOut alone is not a valid scope.
request.mailboxIdinteger | nullConditionally requiredScope filter. Restrict results to one mailbox within the network. 0 = the network's root mailbox; -1 = all mailboxes (no mailbox filter). Only meaningful when networkId is also supplied. Counts toward the at-least-one-of requirement.
request.namestring | nullConditionally requiredScope filter. Case-insensitive substring filter applied to the user's login/email (example: acme matches alice@acme.com and bob@acme.example.org). Up to 40 characters. For an exact lookup by full login, prefer connectivity_user_get-user-by-login instead. Counts toward the at-least-one-of requirement.
request.lockedOutboolean | nullNoPost-filter. When true, return only users whose account is currently locked out. When false or omitted, return all users matching the other filters. Does NOT count as a scope filter — lockedOut alone without networkId / mailboxId / name is rejected as VALIDATION_ERROR.

Response

Returns a count and a users array, each entry matching the profile shape from get-user-by-id. Always reflects current state — cache is bypassed.

{
"count": 2,
"users": [
{
"userId": 42,
"loginName": "jane.smith@example.com",
"firstName": "Jane",
"lastName": "Smith",
"company": "Acme Corp",
"email": "jane.smith@example.com",
"phone": "555-867-5309",
"timeZoneOffset": -5,
"authLevel": "MailboxAdmin",
"lockoutStatus": false,
"networkId": 7,
"mailboxId": 142,
"lastLogin": "2026-07-05T14:22:10Z",
"openSessions": 1,
"timeOut": 3600,
"created": "2024-03-15T08:00:00Z",
"modified": "2026-06-01T09:30:00Z"
},
{
"userId": 57,
"loginName": "bob.jones@example.com",
"firstName": "Bob",
"lastName": "Jones",
"company": "Acme Corp",
"email": "bob.jones@example.com",
"phone": "555-123-4567",
"timeZoneOffset": -5,
"authLevel": "MailboxUser",
"lockoutStatus": true,
"networkId": 7,
"mailboxId": 142,
"lastLogin": "2026-06-20T08:15:00Z",
"openSessions": 0,
"timeOut": 3600,
"created": "2025-01-10T10:00:00Z",
"modified": "2026-07-01T11:45:00Z"
}
]
}

Response Fields

FieldTypeDescription
countintegerTotal number of users returned
usersarrayArray of user profile objects
users[].userIdintegerUnique numeric user ID
users[].loginNamestringLogin name / email address
users[].firstNamestringFirst name
users[].lastNamestringLast name
users[].companystringCompany or organization name
users[].emailstringContact email address
users[].authLevelstringAuthorization level (see AuthLevel enum)
users[].lockoutStatusbooleantrue if the account is currently locked out
users[].networkIdintegerECGrid network ID this user belongs to
users[].mailboxIdintegerMailbox ID within the network
users[].lastLoginstringISO 8601 timestamp of most recent login

Example Call

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "connectivity_user_list-users",
"arguments": {
"request": {
"networkId": 7,
"mailboxId": null,
"name": null,
"lockedOut": null
}
}
}
}

Locked-out users on a network

{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "connectivity_user_list-users",
"arguments": {
"request": {
"networkId": 7,
"mailboxId": null,
"name": null,
"lockedOut": true
}
}
}
}

Example Prompts

  • "List all users on network 7"
  • "Show locked-out users on network 7"
  • "Find users with "acme" in their login"

See Also