Settings

Resolve a setting

Returns the value that actually applies to one entity, walking lease → unit → property → portfolio → company and stopping at the first override it finds. source tells you which level the value came from. Requires the settings:read permission.

GET
https://services.magicdoor.com/settings/company-portal/settings/{settingsType}/{level}/{levelId}

Authorization

Authorizationstringrequired
Bearer token — Send your API token in the Authorization header as Bearer <token>. Requests without a valid token are rejected with 401 Unauthorized.

Path parameters

settingsTypeenum<string>required

Which family of settings to act on. Matched case-insensitively against the registered settings types.

example: propertyachpaymentprocessingagentschatassociationviolationautopayincentiveschatchataichataileasechataileaserenewalchataileaserentersinsurancechataimaintenancerequestschataitranslationcommunicationscompanycontributiondepositpaymentdistributionemailemailnotificationlatefeesleasechartofaccountleaseinvoiceleaserenewalleaserentersinsurancemaintenancerequestmaintenancerequestrunbookmanagementfeeoutgoingpaymentspropertyrentalapplicationrentalapplicationbillingrentalapplicationchartofaccountrentalapplicationgeneralrentalapplicationpaymentrentalapplicationpaymentaccountrentalapplicationquestionnairerentalapplicationscreeningrentpaymentrentpaymentfailurefeerentpaymentnotificationrentpaymentprocessingfeessyndicationtenantautopayfailednotificationtenantpaymentremindertextworkorder
levelenum<string>required

The kind of entity the setting is attached to. Matched case-insensitively.

example: propertycompanyportfoliopropertyunitlease
levelIdstringrequired

The entity to resolve the setting for, of the kind named by level. A Snowflake id, sent as a whole number in the URL.

example: 1842918365109710848

Response

200 · The effective value for the entity.

…settings propertiesobject

The properties of the chosen settings type, spread across the top level of the response. The example below is the property settings type.

levelenum<string>

The kind of entity this stored row is attached to. Present only when the value came from a stored row; absent when the response is the built-in default.

companyportfoliopropertyunitlease
levelIdstring

The id of the entity this stored row is attached to. At company level this is the company's own id. Present only when the value came from a stored row; absent when the response is the built-in default.

groupIdstring

Identifies rows written together by a single multi-target override call. Absent on rows written on their own. Present only when the value came from a stored row; absent when the response is the built-in default.

sourceenum<string>

Which level the returned value came from. Sent as the JSON value null when nothing is stored and the response is the built-in default. Note that this field is capitalised (Company, Property), unlike level elsewhere in the API.

CompanyPortfolioPropertyUnitLease
sourceIdstring

The id of the entity the returned value is stored against, matching source. Sent as the JSON value null when the response is the built-in default.

isDefaultbooleanrequired

true when no setting is stored anywhere the endpoint looked and the response is MagicDoor's built-in default for this settings type.

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, or the portfolio, property, unit or lease named by `level` and `levelId` does not exist.

This is the read to use when you want to know what MagicDoor will do for a given lease, unit, property or portfolio. The ancestor chain is looked up first — asking for a lease pulls in its unit, property, portfolio and company — and the most specific stored override wins. When no level in the chain has a stored value, the built-in default is returned with isDefault set to true.