# Get a setting with its overrides

Source: https://api-docs.magicdoor.com/api-reference/settings/get-setting-with-overrides

Returns the company-level value for one settings type together with every override stored beneath it, so a settings screen can render the whole picture in one call. Nothing is resolved — each override is reported as stored, against the entity it belongs to. Requires the `settings:read` permission.

`GET https://services.magicdoor.com/settings/company-portal/settings/{settingsType}/with-overrides`

**Authentication:** bearer token in the `Authorization` header, as `Bearer <token>`.

## Path parameters

- `settingsType` (enum<string>, required) — Which family of settings to act on. Matched case-insensitively against the registered settings types. One of: `achpaymentprocessing`, `agentschat`, `associationviolation`, `autopayincentives`, `chat`, `chatai`, `chatailease`, `chataileaserenewal`, `chataileaserentersinsurance`, `chataimaintenancerequests`, `chataitranslation`, `communications`, `company`, `contribution`, `depositpayment`, `distribution`, `email`, `emailnotification`, `latefees`, `leasechartofaccount`, `leaseinvoice`, `leaserenewal`, `leaserentersinsurance`, `maintenancerequest`, `maintenancerequestrunbook`, `managementfee`, `outgoingpayments`, `property`, `rentalapplication`, `rentalapplicationbilling`, `rentalapplicationchartofaccount`, `rentalapplicationgeneral`, `rentalapplicationpayment`, `rentalapplicationpaymentaccount`, `rentalapplicationquestionnaire`, `rentalapplicationscreening`, `rentpayment`, `rentpaymentfailurefee`, `rentpaymentnotification`, `rentpaymentprocessingfees`, `syndication`, `tenantautopayfailednotification`, `tenantpaymentreminder`, `text`, `workorder`. Example: `property`.

## Example request

```bash
curl --request GET \
  --url 'https://services.magicdoor.com/settings/company-portal/settings/property/with-overrides' \
  --header 'Authorization: Bearer <token>'
```

## Responses

### 200 — The company base value and its overrides.

- `settings` (object, required) — The company-level value, or the built-in default when no company-level row is stored. Its properties are those of the chosen settings type.
- `overrides` (object[], required) — Every stored row below company level, in no guaranteed order. Empty when the company has no overrides.
  - `settings` (object, required) — The overriding value, with the properties of the chosen settings type.
  - `level` (enum<string>, required) — The kind of entity this override is attached to. Never `company`. One of: `portfolio`, `property`, `unit`, `lease`.
  - `levelId` (string, required) — The id of the entity this override is attached to.
  - `groupId` (string) — Identifies overrides written together by a single multi-target call. Absent on overrides written on their own.

```json
{
  "settings": {
    "reserve": 350,
    "ownerApprovalLimit": 500,
    "vendorApprovalLimit": 250
  },
  "overrides": [
    {
      "settings": {
        "reserve": 500,
        "ownerApprovalLimit": 1000,
        "vendorApprovalLimit": 250
      },
      "level": "property",
      "levelId": "1842918365109710848",
      "groupId": "9f3c1a72-5f18-4b6d-9f0a-2c3d4e5f6a7b"
    },
    {
      "settings": {
        "reserve": 750,
        "ownerApprovalLimit": 1000,
        "vendorApprovalLimit": 250
      },
      "level": "unit",
      "levelId": "1844770193882251264"
    }
  ]
}
```

### 401 — The access token is missing, expired, or invalid.

### 403 — The caller does not hold the `settings:read` permission.

### 404 — No settings type is registered under the `settingsType` in the URL.

```json
{
  "type": "https://httpstatuses.com/404",
  "title": "Not Found",
  "status": 404,
  "detail": "Unknown settings type: propertysettings",
  "instance": "/company-portal/settings/propertysettings/company",
  "traceId": "0HN7GK9C2M4PQ"
}
```
