Property managers

Delete a profile photo

Removes the property manager's profile photo and deletes the underlying file. The property manager is untouched apart from losing the photo.

DELETE
https://api.portal.magicdoor.com/company-app/property-managers/{propertyManagerId}/image

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

propertyManagerIdstringrequired

The property manager. A Snowflake id, sent as a decimal string.

example: 1830472847398404098

Response

200 · The property manager, with no photo. See the warning below: this response is shaped differently from every other property manager response. `id` and `companyId` are left out of the example on purpose — they come back as 19-digit JSON numbers, which cannot be written in an example without losing digits, and that is exactly the problem this response has.

idinteger

The property manager. A JSON number here, not the decimal string used everywhere else.

companyIdinteger

The company they work for, again as a JSON number.

emailstring

Email address, which is also their sign-in name.

firstNamestring

Given name.

lastNamestring

Family name. Present as null rather than absent when there is none.

phonestring

Phone number. Present as null rather than absent when there is none.

activeboolean

false once the property manager has been deactivated.

createdstring · date-time

When the property manager was added. Carries a UTC offset, unlike the offset-free timestamps used elsewhere.

updatedstring · date-time

When the record was last changed, with a UTC offset.

firstSeenstring · date-time

When they first used the company portal, with a UTC offset.

lastSeenstring · date-time

When they last used the company portal, with a UTC offset.

imageIdinteger

The photo file. null after this call.

receiveNotificationsboolean

Whether MagicDoor sends them notifications.

menuAccessstring[]

Their stored menu keys. null when none has been stored, which means every menu.

userTypeenum<string>

Always propertyManager.

imageobject

The photo file record. null after this call.

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.

This response does not follow the usual conventions

Every other property manager endpoint returns the standard property manager object: ids as decimal strings, timestamps with no offset, empty values omitted. This one returns MagicDoor's internal record instead. In it:

  • id, companyId and imageId are JSON numbers, not strings. They are 19 digits long, which is more than a JSON number holds exactly, so a JavaScript client that parses this response with JSON.parse gets the wrong id — the last few digits are silently rounded. Read the ids from a different endpoint, or parse this response with a big-integer-aware JSON reader.
  • Timestamps carry a UTC offset such as 2026-08-17T21:04:11+00:00, and are in UTC rather than the company timezone.
  • Empty values come back as null rather than being left out.
  • It also exposes firstSeen, receiveNotifications, menuAccess and userType, which the standard object does not.

If you need the property manager after deleting the photo, read it back with get a property manager rather than relying on this body.

The link from the property manager to the photo is cleared, and the photo file itself is deleted from file storage. The property manager keeps everything else. Deleting when there is no photo returns the record unchanged.