# Edara API v3: Settings

Read the [guide](../guide.md) first: authentication, paging, errors, rate limits and the shared `PagedResult`, `BatchResult` and `*Reference` shapes.

- `GET /v3/settings`: Lists settings.

## Endpoints

### `GET /v3/settings`: Lists settings.

Operation `GetSettings` · permission `read:system-setting`

**Query string**: `GetSettingsQuery`

| field | type | default | validation | description |
|---|---|---|---|---|
| `offset` | `int?` | 0 | >= 0 | Number of items to skip before returning results. Defaults to 0. |
| `limit` | `int?` | 100 | 1..1000 (out of range → 400) | Maximum number of items to return. Defaults to 100, maximum 1000. |
| `module` | `string` |  | Must(value => string.IsNullOrWhiteSpace(value) \|\| !string.IsNullOrWhiteSpace(value.Trim())) | Optional module filter. |
| `key` | `string` |  | Must(value => string.IsNullOrWhiteSpace(value) \|\| !string.IsNullOrWhiteSpace(value.Trim())) | Optional key filter. |
| `updateDate` | `DateTime?` |  |  | Optional updated-after filter. |

**Responses**: OK `PagedResult<SettingResponse>`: Paged list of settings.

**Notes**

- `module` and `key` are exact matches. Both are trimmed, and a value that is only whitespace is ignored.
- `updateDate` returns settings created or updated strictly after that date and time.
- Results are ordered by `id`. `totalCount` is the number of settings that match the filters.
- There is no fixed list of settings. Which `module` and `key` pairs exist differs between organizations, so do not assume a setting is present.
- Binary setting content is not returned in the response.
- When you send both `module` and `key` and the organization has no stored value, you get the built-in default as a single item with `id` null and `totalCount` 1.
- If there is no built-in default either, you get `404`. A request with both `module` and `key` never returns `200` with an empty list.

## Types

### `SettingResponse`

Response describing a system setting.

| field | type | description |
|---|---|---|
| `id` | `int?` | The setting identifier. |
| `module` | `string` | The module name. |
| `key` | `string` | The setting key. |
| `value` | `string` | The current setting value. |
| `exceptionUsers` | `List<string>` | Exception user emails associated with this setting, when applicable. |
