> ## Documentation Index
> Fetch the complete documentation index at: https://ekso.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# DataUser

> Tenant user.

Tenant user. Users authenticate via OAuth device flow (the CLI / SDK path) or via the web app. The `DataUser` shape carries profile information; credential storage is separate (see `DataUserAuth`).

## Sample JSON

Copy, edit, paste. Server-set fields (`id`, `created`, `tenantId`, …) are omitted from the example — they're populated by the server on response.

```json theme={null}
{
  "email": "alex@acme.example.com",
  "name": "Alex Liddell",
  "active": true,
  "jobRoleId": "jobrole_01HJOBROLE_ENGINEER",
  "costCenterId": "costcenter_01HCOSTCENTER_PRODUCT",
  "userGroup": [
    "group_01HGROUP_EVERYONE",
    "group_01HGROUP_DEV"
  ],
  "timezone": "Europe/London",
  "currency": "GBP",
  "country": "GB"
}
```

## Fields

| Field           | Type               | Required     | Notes                                                                                            |
| --------------- | ------------------ | ------------ | ------------------------------------------------------------------------------------------------ |
| `entity`        | string • nullable  | Server-set   | Set by the server. Read-only on writes.                                                          |
| `name`          | string             | **Required** | Display name shown across the UI.                                                                |
| `initials`      | string             | **Required** |                                                                                                  |
| `email`         | string             | **Required** | User's email. Used as the matching key during migrations and as the recipient for notifications. |
| `locale`        | string             | Optional     |                                                                                                  |
| `timezone`      | string             | Optional     | IANA timezone (e.g. `Europe/London`). Drives time-display in notifications and reports.          |
| `darkMode`      | string             | Optional     |                                                                                                  |
| `costCenter`    | string             | Optional     |                                                                                                  |
| `jobRole`       | string             | Optional     |                                                                                                  |
| `workingHours`  | string             | Optional     |                                                                                                  |
| `notifications` | boolean            | Optional     |                                                                                                  |
| `superAdmin`    | boolean            | Optional     |                                                                                                  |
| `active`        | boolean            | Optional     | When false, the user can't sign in but their authoring history is preserved.                     |
| `locked`        | string • nullable  | Optional     |                                                                                                  |
| `tenantId`      | string             | Server-set   | Set by the server. Read-only on writes.                                                          |
| `id`            | string             | Server-set   | Set by the server. Read-only on writes.                                                          |
| `created`       | string (date-time) | Server-set   | Set by the server. Read-only on writes.                                                          |
| `createdBy`     | string             | Server-set   | Set by the server. Read-only on writes.                                                          |
| `updated`       | string (date-time) | Server-set   | Set by the server. Read-only on writes.                                                          |
| `updatedBy`     | string             | Server-set   | Set by the server. Read-only on writes.                                                          |
| `deleted`       | boolean            | Server-set   | Set by the server. Read-only on writes.                                                          |

## Used by

### Request body

* `POST /api/user`
* `PUT /api/user`

### Response body

* `GET /api/user/{id}`
* `GET /api/user`

### CLI

`ekso user` — see the [command branches](/cli/branches) page for available verbs. Body for create / update verbs typically passed via `--data @file.json` matching the [sample JSON](#sample-json) above.
