Update a vendor
Replaces a vendor's details. Every value is written from the body, so anything you leave out is cleared — read the vendor first and send the whole record back with your changes. A deactivated vendor cannot be edited. Requires the vendors:write permission.
Authorization
AuthorizationstringrequiredPath parameters
vendorIdstringrequiredThe vendor to act on. A Snowflake id, sent as a decimal string.
Body
application/json
This is a replace, not a merge. type, disableChat and isCompanyVendor are not part of it and keep their current values.
namestringrequiredThe vendor's business name. Between 1 and 200 characters.
languagestringrequiredThe ISO 639-1 language code to write to the vendor in, for example en.
memostringA free-text note about the vendor. Send it out entirely rather than sending an empty string.
websitestringThe vendor's website. Send it out entirely rather than sending an empty string.
categoryIdstringThe vendor category to file them under. The category must exist.
contactobjectHow to reach the vendor.
addressobjectThe vendor's postal address. Note this sits beside contact, not inside it, on the way in — the response nests it under contact.
insurancePolicyobjectThe vendor's liability insurance.
iconsstring[]Labels to pin to the vendor. They are stored lower-case.
defaultMemostringText to pre-fill onto bills raised for this vendor.
paymentSettingsobjectHow the vendor is paid.
irs1099FormobjectTax details for issuing a 1099. Note the wire name here is irs1099Form, matching the response.
Response
200 · The updated vendor.
idstringrequiredThe vendor.
companyIdstringrequiredThe company that owns the vendor record.
typeenum<string>requiredWhat kind of party this is. hoa is a homeowners association, propertyManager is a management company, other is an ordinary trade vendor.
namestringrequiredThe vendor's business name.
languagestringrequiredThe ISO 639-1 language code MagicDoor writes to the vendor in, for example en.
memostringA free-text note about the vendor. Absent when there is none.
activebooleanrequiredWhether the vendor can be assigned work and sign in. false after they have been deactivated.
websitestringThe vendor's website. Absent when none was recorded.
categoryIdstringThe vendor category the vendor is filed under. Absent when uncategorised.
contactobjectrequiredHow to reach the vendor. The object is always present; the values inside it may be absent.
insurancePolicyobjectThe vendor's liability insurance. Absent when none was recorded.
irs1099FormobjectTax details used when the vendor is issued a 1099. Absent when none were recorded.
chatIdstringThe chat MagicDoor uses to talk to this vendor. Absent until one is opened.
disableChatbooleanrequiredWhether chat with this vendor is switched off.
iconsstring[]requiredLower-case labels pinned to the vendor, used to flag them in lists. An empty array when there are none.
isCompanyVendorbooleanrequiredtrue when this record stands for the management company itself rather than an outside vendor. Such a record cannot be deleted or deactivated.
defaultMemostringText pre-filled onto bills raised for this vendor. Absent when none was set.
paymentSettingsobjectrequiredHow the vendor is paid.
lastSeenstring · date-timeWhen the vendor last used their portal, in the company's timezone and without an offset. Absent when they never have.
lastPortalInvitestring · date-timeWhen a portal invite was last sent, in the company's timezone and without an offset. Absent when none has been sent.
portalStatusenum<string>requiredWorked out from the two timestamps above: active once the vendor has signed in, invited once an invite has gone out, notInvited before that.
createdstring · date-timerequiredWhen the vendor record was created, in the company's timezone and without an offset.
updatedstring · date-timerequiredWhen it was last changed, in the company's timezone and without an offset.
passwordstringOnly ever present on the response to creating a vendor — the sign-in password for their portal account. It is not stored in readable form and no other endpoint returns it.