Settings

Set setting overrides

Writes the same value as an override on one or more portfolios, properties, units or leases, creating rows that did not exist and replacing those that did. The company-level value is untouched. Requires the settings:write permission.

POST
https://services.magicdoor.com/settings/company-portal/settings/{settingsType}

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

Body

application/json

settingsobjectrequired

The complete settings object for the chosen settingsType. Every property of that type must be supplied — this is a whole-object replacement, not a patch, and anything left out falls back to the type's built-in default. Snowflake ids inside the object are sent as decimal strings.

targetsobject[]required

The entities to write the override against. At least one is required.

Response

200 · The rows that were written, one per target.

…settings propertiesobject

Each array element carries the properties of the chosen settings type at its top level, alongside the three fields below.

levelenum<string>

The kind of entity this stored row is attached to.

companyportfoliopropertyunitlease
levelIdstring

The id of the entity this stored row is attached to. At company level this is the company's own id.

groupIdstring

Identifies rows written together by a single multi-target override call. Absent on rows written on their own.

400 · The body could not be read as the chosen settings type, `targets` is empty, a settings type with its own validator rejected the values, or a target portfolio, property or unit is inactive.

401 · The access token is missing, expired, or invalid.

403 · The caller does not hold the `settings:write` permission.

404 · No settings type is registered under the `settingsType` in the URL, or one of the targets does not exist.

422 · This settings type only exists at company level and does not accept overrides.

Every target is checked before anything is written: portfolios, properties and units must exist and be active, and leases must exist. Send more than one target and the resulting rows share a groupId, which lets you take them all away again with Remove an override group.

These settings types exist once per company and reject this call with a 422. Set them with Set a company setting instead.

  • chat
  • chataileaserentersinsurance
  • communications
  • company
  • contribution
  • distribution
  • email
  • emailnotification
  • outgoingpayments
  • rentalapplication
  • rentalapplicationbilling
  • rentalapplicationchartofaccount
  • rentalapplicationgeneral
  • rentalapplicationpayment
  • rentalapplicationpaymentaccount
  • rentalapplicationquestionnaire
  • rentalapplicationscreening
  • text