Units

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.

PUT
https://api.portal.magicdoor.com/company-app/units/{unitId}/magic-tags

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

unitIdstringrequired

Snowflake id of the unit, as a decimal string.

example: 1830472847398404098

Body

application/json

magicTagsobjectrequired

The 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.

idstring

Snowflake id of the unit.

namestring

The unit's name — typically its number or letter, for example "2B". For a single-unit property this is often "Home".

addressobject

An 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.

bedsnumber

Bedrooms. Whole or half numbers only. Absent when it was never set.

bathsnumber

Bathrooms. Whole or half numbers only. Absent when it was never set.

unitSizeSqftinteger

Floor area in square feet. Absent when it was never set.

marketRentnumber

The 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.

floorinteger

Which floor the unit is on, 1 to 200. Absent when it was never set.

propertyIdstring

The property this unit belongs to.

portfolioIdstring

The portfolio the unit's property belongs to. Kept in step with the property.

activeboolean

false once the unit has been deactivated.

imageIdstring

The file behind the unit's main photo. Absent when no photo has been set.

iconsstring[]

Icon keys pinned to the unit. Free-form strings.

magicTagsobject

Free-form labels on the unit, as a map of string keys to string values. Absent when none are set.

imageobject

The unit's main photo, resolved from imageId. Absent when no photo has been set.

propertyobject

The 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.

postedBalancenumber

Computed: what the unit's leases owe, counting only charges that have already been posted.

singleLineAddressstring

Computed 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.

recentRentalApplicationsinteger

Computed: how many distinct rental applications that have not been retracted named this unit in the recent window.

latestRentalApplicationIdstring

The 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.

What magic tags are

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.

This replaces the whole map

Send the complete set every time. A key you leave out is removed, and sending "magicTags": null clears them all.