Runbooks

Add a property manager override to a runbook

Points a runbook at a different property manager for one portfolio or one property. Overrides stack; a runbook can carry as many as you add. Requires the maintenance_runbooks:write permission.

POST
https://services.magicdoor.com/maintenance/company-portal/run-books/{runBookId}/overwrite/property-managers

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

runBookIdstringrequired

The runbook to act on. A Snowflake id, sent as a decimal string.

example: 1827400938471029248

Body

application/json

Send exactly one of portfolioId or propertyId. Sending both, or neither, is rejected.

propertyManagerIdstringrequired

The property manager to use instead of the runbook's default. They must belong to the company.

portfolioIdstring

Apply the override to everything in this portfolio.

propertyIdstring

Apply the override to this property only.

Response

200 · The runbook, with the new override in `propertyManagerOverwrites`. Its `overwriteId` is what you pass to remove it later.

publicRunBookbooleanrequired

true when MagicDoor supplies this runbook to every company. A shared runbook can be switched on and configured for your company, but its title, description and script cannot be edited or deleted.

idstringrequired

The runbook.

titlestringrequired

The runbook's name. MagicDoor writes one from the script when you do not supply it.

descriptionstringrequired

What the runbook is for. MagicDoor writes one from the script when you do not supply it.

createdstring · date-timerequired

When the runbook was created, in the company's timezone and without an offset.

updatedstring · date-time

When the runbook was last changed, in the company's timezone and without an offset.

defaultVendorIdstring

The vendor this runbook sends work to when nothing more specific applies. Absent when none is set.

defaultPropertyManagerIdstring

The property manager this runbook hands requests to when nothing more specific applies. Absent when none is set.

enabledbooleanrequired

Whether the runbook is allowed to pick up this company's maintenance requests. A runbook your company has never configured reads as enabled.

usageCountintegerrequired

How many times this runbook has been used for this company.

lastUsedstring · date-time

When it was last used, in the company's timezone and without an offset. Absent when it has never run.

vendorIdstringdeprecated

A copy of defaultVendorId. Read defaultVendorId instead.

scriptstringrequired

The instructions MagicDoor follows when the runbook handles a request, in plain English.

lastUseMaintenanceRequestIdstring

The last maintenance request this runbook handled for the company. Absent when it has never run.

vendorOverwritesobject[]required

Per-portfolio or per-property vendor overrides. An empty array when there are none.

propertyManagerOverwritesobject[]required

Per-portfolio or per-property property manager overrides. An empty array when there are none.

actionExitCountsobjectrequired

How many times the runbook has finished each way, as a map. The keys are askQuestion, closeRequest, createWorkOrder, handOverToHuman and reselectRunBook; only the ways it has actually finished appear. An empty object when it has never run.

lastUseMaintenanceRequestobject

The last maintenance request this runbook handled, in the short row shape used by the maintenance request list. Absent when it has never run, or when that request no longer exists.

400 · Both `portfolioId` and `propertyId` were sent, or neither was.

401 · The request carried no valid access token.

403 · The token is not a property manager token, or it lacks the `maintenance_runbooks:write` permission.

404 · No such runbook, it belongs to another company, or `propertyManagerId` names someone who does not exist for this company.