# uip or settings

> Syntax and options for `uip or settings`, which reads and writes tenant-level Orchestrator settings by dotted key.

`uip or settings` reads and writes tenant-level Orchestrator settings. Settings are key-value pairs organized by dotted prefix (`Abp.Timing.*`, `Alerts.Email.*`, `Auth.*`, `Scalability.*`, `Triggers.*`, etc.). Use `settings list` to discover keys, `settings get`/`update` to read or change a single value, `settings execution` for the structured execution-settings configuration (display names and allowed values), and `settings timezones` to list valid timezone IDs.

## Synopsis

```
uip or settings <verb> [options]
```

## Verbs

| Verb | Purpose |
|---|---|
| `list` | List tenant settings. |
| `get` | Read one setting by key. |
| `update` | Write one setting by key. |
| `execution` | Get the execution-settings configuration (Global or Robot scope). |
| `timezones` | List available timezone IDs. |

All verbs honor the [global options](./global-options.md) (`--output`, `--output-filter`, `--log-level`, `--log-file`). Exit codes follow the [standard contract](./exit-codes.md).

## Common setting keys

The categories below are non-exhaustive — use `settings list` to discover everything.

- **General**: `Abp.Timing.TimeZone` (timezone ID — run `settings timezones` to list valid IDs), `Abp.Localization.DefaultLanguageName` (for example, `en`, `fr`, `de`).
- **Email alerts**: `Alerts.Email.Enabled`, `Abp.Net.Mail.Smtp.Host`, `.Port`, `.UserName`, `.Password`, `.EnableSsl`, `.UseDefaultCredentials`, `Abp.Net.Mail.DefaultFromAddress`.
- **Robot security**: `Auth.Robot.EnforceAuthenticationToken`, `Auth.UnattendedRobot.ForceClientCredentials`, `AttendedRobot.RunDisconnectedHours` (integer; `0` disables).
- **Deployment**: `DeploymentUrl`, `NuGet.Packages.ApiKey`, `Deployment.Libraries.Url`, `NuGet.Activities.ApiKey`, `Deployment.Processes.AuthenticationType` (`Secure`/`apiKey`).
- **Scalability**: `Scalability.SignalR.Enabled`, `Scalability.SignalR.Transport` (bitmask: `1` WebSockets, `2` SSE, `4` LongPolling, `7` all), `Scalability.Heartbeat.PeriodSeconds` (default `30`), `Scalability.Heartbeat.FailureThreshold` (default `4`).
- **Triggers**: `Triggers.DisableWhenFailedCount` (default `10`), `Triggers.DisableWhenFailingSinceDays` (default `1`), `Triggers.JobsCountStrategy` (`PERPROCESS`/`PERTRIGGER`), `QueueTrigger.ActivationFrequencyInMinutes` (default `30`), `ConnectedTriggers.AutoDisableJobFailuresThreshold` (default `5`).
- **Queue**: `inProgressMaxNumberOfMinutes` (default `1440` = 24 h).
- **Jobs**: `Jobs.TerminatingJobsTimeout` (default `1440` minutes = 24 h).

## uip or settings list

List tenant settings. Optionally filter by scope.

### Options

| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| `-t` | `--tenant` | name | session default | Override the tenant. |
| — | `--scope` | enum | — | `Application`, `Tenant`, `User`, `All`. |
| `-l` | `--limit` | number | `100` | Page size. |
| — | `--offset` | number | `0` | Skip count. |

### Examples

```bash
uip or settings list
uip or settings list --scope Tenant --limit 200
uip or settings list --output-filter 'Data[].name'
```

### Data shape (--output json)

```json
{
  "Code": "SettingsList",
  "Data": [
    { "name": "Abp.Timing.TimeZone", "value": "UTC", "id": "Abp.Timing.TimeZone" },
    { "name": "Alerts.Email.Enabled", "value": "true", "id": "Alerts.Email.Enabled" }
  ]
}
```

## uip or settings get

Read one setting by key.

### Arguments

| Name | Required | Purpose |
|---|---|---|
| `<key>` | yes | Setting key (for example, `Abp.Timing.TimeZone`). |

### Options

| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| `-t` | `--tenant` | name | session default | Override the tenant. |

### Examples

```bash
uip or settings get Abp.Timing.TimeZone
uip or settings get Alerts.Email.Enabled --output-filter 'Data.Value'
```

### Data shape (--output json)

```json
{
  "Code": "SettingsGet",
  "Data": {
    "Key": "Abp.Timing.TimeZone",
    "Value": "UTC"
  }
}
```

## uip or settings update

Write one setting by key.

### Arguments

| Name | Required | Purpose |
|---|---|---|
| `<key>` | yes | Setting key. |
| `<value>` | yes | New value (string; server-side validation applies). |

### Options

| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| `-t` | `--tenant` | name | session default | Override the tenant. |

### Examples

```bash
uip or settings update Abp.Timing.TimeZone Europe/Bucharest
uip or settings update Alerts.Email.Enabled true
```

### Data shape (--output json)

```json
{
  "Code": "SettingsUpdated",
  "Data": {
    "Key": "Abp.Timing.TimeZone",
    "Value": "Europe/Bucharest",
    "Status": "Updated successfully"
  }
}
```

## uip or settings execution

Get the structured execution-settings configuration for Global (`0`) or Robot (`1`) scope. Each entry includes a display name, value type (`Boolean`, `MultipleChoice`, etc.), default value, and — for choice types — the list of allowed values.

### Options

| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| `-t` | `--tenant` | name | session default | Override the tenant. |
| — | `--scope` | `0` or `1` | `0` | Settings scope: Global (`0`) or Robot (`1`). |

### Examples

```bash
# Global execution settings
uip or settings execution

# Robot-scoped execution settings
uip or settings execution --scope 1

# Just the keys and their allowed values
uip or settings execution \
    --output-filter 'Data._configuration[].{k:key, vals:possibleValues}'
```

### Data shape (--output json)

```json
{
  "Code": "ExecutionSettings",
  "Data": {
    "scope": "Global",
    "_configuration": [
      {
        "key": "TracingLevel",
        "displayName": "Logging Level",
        "valueType": "MultipleChoice",
        "defaultValue": "Information",
        "possibleValues": [
          "Verbose", "Trace", "Information", "Warning", "Error", "Critical", "Off"
        ]
      },
      {
        "key": "LoginToConsole",
        "displayName": "Login To Console",
        "valueType": "Boolean",
        "defaultValue": "true",
        "possibleValues": []
      }
    ]
  }
}
```

## uip or settings timezones

List the timezone IDs recognized by Orchestrator. These are the valid values for `Abp.Timing.TimeZone` and for `--time-zone` in `uip or calendars`.

### Options

| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| `-t` | `--tenant` | name | session default | Override the tenant. |

### Examples

```bash
uip or settings timezones
uip or settings timezones --output-filter 'Data[].value'
```

### Data shape (--output json)

```json
{
  "Code": "TimezoneList",
  "Data": [
    { "name": "(UTC) Coordinated Universal Time", "value": "UTC" },
    { "name": "(UTC+02:00) Bucharest", "value": "GTB Standard Time" }
  ]
}
```

## Related commands

- [`uip or calendars`](./uip-orchestrator-calendars.md) — `--time-zone` values come from `settings timezones`.
- [`uip or audit-logs`](./uip-orchestrator-audit-logs.md) — filter with `--component Settings` to see setting changes.

## See also

- [Global options](./global-options.md) — `--output`, `--output-filter`, `--log-level`, `--log-file`.
- [Exit codes](./exit-codes.md) — standard exit-code contract.
