list-users
dci list-users [flags]
Returns a list of users in the organization, including both active users and invited users.
When the email query parameter is provided, returns only the user matching that email address.
If no user is found for the given email, an empty list is returned.
CLI default view
dci list-users presents a curated table by default:
- Columns:
email,role(roleIdresolved to the role name),status,last login (UTC)(fromlastLogin), andmfa enrolled(frommfaEnrolled; blank when unknown). - In interactive tables,
last login (UTC)renders in your local timezone and is titledlast login (local); machine formats, agent mode, and--utckeep UTC — see Timestamps and timezones. --output jsonand explicit-C/--fieldsselections return the raw fields documented below.
Flags
--email: (string format:email)
Output
OK - List of users returned.
By default dci renders the result as a table. Use --output json to get the full structure described below — see Output formats.
| Field | Type | Description |
|---|---|---|
users | array of object | |
users[].id | string | The unique ID of the user. |
users[].email | string | The email address of the user. |
users[].displayName | string | The user's display name. |
users[].firstName | string | The user's first name. |
users[].lastName | string | The user's last name. |
users[].jobTitle | string | The user's job function. One of: "Data Engineer / Data Analysts", "Executive Team", "Finance / Accounting", "Founder", "Legal / Purchasing", "Management", "Sales / Marketing", "Software / Ops Engineer". |
users[].phone | string | The user's country code (e.g., +44). |
users[].phoneExtension | string | The user's phone extension. |
users[].language | string | The user's preferred language. One of: "en", "ja". |
users[].roleId | string | The ID of the user's role. |
users[].organizationId | string | The ID of the user's organization. |
users[].status | string | The status of the user (active or invited). One of: "active", "invited". |
rowCount | integer (int64) | The number of returned records. |
Raw JSON schema
{
"type": "object",
"description": "Response body for the list users endpoint.",
"properties": {
"users": {
"type": "array",
"items": {
"type": "object",
"description": "Summary information of a user.",
"properties": {
"id": {
"type": "string",
"description": "The unique ID of the user."
},
"email": {
"type": "string",
"description": "The email address of the user."
},
"displayName": {
"type": "string",
"description": "The user's display name."
},
"firstName": {
"type": "string",
"description": "The user's first name."
},
"lastName": {
"type": "string",
"description": "The user's last name."
},
"jobTitle": {
"type": "string",
"description": "The user's job function.",
"enum": [
"Data Engineer / Data Analysts",
"Executive Team",
"Finance / Accounting",
"Founder",
"Legal / Purchasing",
"Management",
"Sales / Marketing",
"Software / Ops Engineer"
]
},
"phone": {
"type": "string",
"description": "The user's country code (e.g., +44).",
"pattern": "^\\+[0-9]+$"
},
"phoneExtension": {
"type": "string",
"description": "The user's phone extension."
},
"language": {
"type": "string",
"description": "The user's preferred language.",
"enum": [
"en",
"ja"
]
},
"roleId": {
"type": "string",
"description": "The ID of the user's role."
},
"organizationId": {
"type": "string",
"description": "The ID of the user's organization."
},
"status": {
"type": "string",
"description": "The status of the user (active or invited).",
"enum": [
"active",
"invited"
]
}
}
}
},
"rowCount": {
"type": "integer",
"description": "The number of returned records.",
"format": "int64",
"example": 5
}
}
}
Errors
On failure, dci prints a single error message — with a hint when one is available — and exits with a typed code your scripts can branch on. See Errors and exit codes for the full contract.
| HTTP status | Exit code | Error code | Meaning |
|---|---|---|---|
| 400 | 30 | VALIDATION_ERROR | The arguments or request body were rejected. Review the command's flags and payload. |
| 401 | 10 | AUTHENTICATION_FAILED | Not signed in, or the API token is invalid. Run dci login or check DCI_API_KEY. |
| 403 | 11 | PERMISSION_DENIED | The DoiT user or the active customer context does not have access. |
| 500 | 40 | API_SERVER_ERROR | The API failed to process the request. Retryable; contact DoiT support if it persists. |
Aliases: listusers