Replace a unit's magic tags
Rewrites just the unit's magic tags, leaving its name, size and everything else alone. This is the narrow alternative to the full update endpoint.
Authorization
AuthorizationstringrequiredPath parameters
unitIdstringrequiredSnowflake id of the unit, as a decimal string.
Body
application/json
magicTagsobjectrequiredThe complete set of tags, as a map of string keys to string values. Send null to clear them.
Response
200 · The unit with its new tags, hydrated. Unlike the property equivalent, this endpoint returns the full hydrated unit.
idstringSnowflake id of the unit.
namestringThe unit's name — typically its number or letter, for example "2B". For a single-unit property this is often "Home".
addressobjectAn address that overrides the property's, for a unit with its own street address. Absent when the unit uses the property address, which is the usual case.
bedsnumberBedrooms. Whole or half numbers only. Absent when it was never set.
bathsnumberBathrooms. Whole or half numbers only. Absent when it was never set.
unitSizeSqftintegerFloor area in square feet. Absent when it was never set.
marketRentnumberThe rent this unit is expected to fetch, as a decimal amount such as 1850.00. This is an asking figure on the unit, not the rent on any lease. Absent when it was never set.
floorintegerWhich floor the unit is on, 1 to 200. Absent when it was never set.
propertyIdstringThe property this unit belongs to.
portfolioIdstringThe portfolio the unit's property belongs to. Kept in step with the property.
activebooleanfalse once the unit has been deactivated.
imageIdstringThe file behind the unit's main photo. Absent when no photo has been set.
iconsstring[]Icon keys pinned to the unit. Free-form strings.
magicTagsobjectFree-form labels on the unit, as a map of string keys to string values. Absent when none are set.
imageobjectThe unit's main photo, resolved from imageId. Absent when no photo has been set.
propertyobjectThe property this unit belongs to, expanded.
activeLeasesLease[]The leases currently running on this unit, in the same shape the leases endpoints return. Usually zero or one; more than one appears when leases overlap. Empty for a vacant unit.
postedBalancenumberComputed: what the unit's leases owe, counting only charges that have already been posted.
singleLineAddressstringComputed one-line address for the unit: the unit's own address if it has one, otherwise the property's address with the unit name appended. The unit name is left off for a single-unit property. Absent when neither the unit nor the property has an address.
recentRentalApplicationsintegerComputed: how many distinct rental applications that have not been retracted named this unit in the recent window.
latestRentalApplicationIdstringThe most recent rental application, not retracted, that named this unit. Absent when nobody has applied.
400 · The body is missing `magicTags`. The response carries an `errors` member mapping each rejected field name to its message.
401 · The access token is missing, expired, or not for this company.
404 · No unit with that id, or it belongs to another company.
422 · The unit has been deactivated, so its tags cannot be changed.
A magic tag is a free-form key and value a company pins to a record to slice its data its own way. MagicDoor stores whatever you send and does not validate the keys or values.
Send the complete set every time. A key you leave out is removed, and sending "magicTags": null clears them all.