list-roles
dci list-roles
Returns a list of roles.
CLI default view
dci list-roles presents a curated table by default:
- Columns:
name,type, anddescription. --output jsonand explicit-C/--fieldsselections return the raw fields documented below.
Output
OK - List of roles 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 |
|---|---|---|
roles | array of object | |
roles[].id | string | The unique ID of the role. |
roles[].name | string | The name of the role. |
roles[].type | string | The type of the role (preset or custom). |
roles[].customer | string | The customer ID if this is a custom role. |
roles[].permissions | array of string | List of permission IDs assigned to the role. |
Raw JSON schema
{
"type": "object",
"properties": {
"roles": {
"type": "array",
"items": {
"type": "object",
"description": "Definition and permissions assigned to a role.",
"properties": {
"id": {
"type": "string",
"description": "The unique ID of the role."
},
"name": {
"type": "string",
"description": "The name of the role."
},
"type": {
"type": "string",
"description": "The type of the role (preset or custom)."
},
"customer": {
"type": "string",
"description": "The customer ID if this is a custom role."
},
"permissions": {
"type": "array",
"description": "List of permission IDs assigned to the role.",
"items": {
"type": "string"
}
}
}
}
}
}
}
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: listroles