Set a property manager's menu access
Replaces the whole list of top-level menus this property manager sees. Anything you leave out is hidden. You cannot change your own.
Authorization
AuthorizationstringrequiredPath parameters
propertyManagerIdstringrequiredThe property manager. A Snowflake id, sent as a decimal string.
Body
application/json
The complete list of enabled menus. ["*"] opens every menu, [] hides every menu, and a list of keys opens exactly those. The wildcard cannot be mixed with other keys.
menuAccessstring[]requiredThe complete list of enabled menu keys. Valid keys are onboarding, home, properties, listing, leasing, users, accounting, reports, maintenance, associations, communications, ai and settings, or the single entry *.
Response
200 · The menu keys now in force — the same list you sent.
menuAccessstring[]The enabled top-level menu keys.
401 · The access token is missing, expired, or does not belong to a property manager.
404 · No property manager with that id exists for the calling company. A record that belongs to another company is reported the same way as one that does not exist. The id you asked for is in `entityId`; `detail` names only the kind of record.
422 · Either you tried to change your own menu access, or the list contains a key that is not valid. For an invalid key, `title` is `Invalid Permission Format` and `detail` names the offending key and lists the valid ones. Note that `type` carries an exception name here rather than a URL, because this response is assembled by the controller rather than by the usual problem-details machinery.
A property manager is limited in three independent ways, and it is easy to confuse them.
- Permissions are
resource:actionstrings such asproperty:read. They decide what the API lets this person do. See list permissions. - Property access decides which properties those permissions reach — all of them, or a named set of portfolios and properties. See get property access.
- Menu access decides which top-level menus MagicDoor's own web app draws for them. It hides screens; it does not stop an API call. See get menu access.
Read the current list first if you mean to add one menu. Sending ["reports"] leaves the property manager with reports and nothing else.
["*"] on its own is accepted. * alongside other keys is rejected, because * is not one of the valid individual keys.