Association violations

Send a violation notice to the owners

Tells every active owner of the property about the violation by chat message, by email, or both, and stamps notificationSentAt on the violation.

POST
https://api.portal.magicdoor.com/company-app/associations/violations/{violationId}/notification/owner

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

violationIdstringrequired

The association violation to act on. A Snowflake id sent as a decimal string.

example: 1830472847398407007

Body

application/json

chatMessagestring

Message to post into the chat thread. Leave it out to send no chat message.

emailMessagestring

Body of the email to send. Leave it out to send no email.

subjectstring

Subject line for the email. Falls back to Association Violation when left out or blank.

chatAttachmentSessionIdsstring[]

Upload sessions whose files go on the chat message. When present it must hold at least one id.

emailAttachmentSessionIdsstring[]

Upload sessions whose files go on the email. When present it must hold at least one id.

Response

200 · The violation, with `notificationSentAt` updated.

idstring

The violation. A Snowflake id sent as a decimal string.

portfolioIdstring

The portfolio the violation was raised against.

propertyIdstring

The property the violation was raised against.

unitIdstring

The unit the violation was raised against. Absent when the violation is property-wide.

leaseIdstring

The lease the violation was raised against. Absent when no lease is involved.

statusenum<string>

Where the violation sits in its workflow.

receivedinProgressresolved
hoaVendorIdstring

The vendor record for the homeowners association that issued the violation.

referencestring

The association's own reference for the violation. Generated automatically when the caller did not supply one.

violationReceivedDatestring · date

The day the association's notice reached the property manager.

violationDatestring · date

The day the violation itself happened.

fixByDatestring · date

The deadline the association gave for putting it right. Absent when no deadline was given.

associationFinenumber

The fine the association charges, for example 250.00. Absent when no fine was recorded.

titlestring

Short title. Written by an AI summary of the description when the caller did not supply one.

descriptionstring

What the association says is wrong.

notificationSentAtstring · date-time

When a notice was last sent to the lease or the owners, in the company's timezone. Absent while no notice has been sent.

filesobject[]

Files attached to the violation, such as the association's own notice.

propertyFineBillobject

The vendor bill raised against the property for the association's fine. Absent until the fine is charged.

leaseFineBillobject

The lease charge raised when the fine was passed on to the tenant. Absent when the fine was not passed on.

portfolioobject

The portfolio the violation belongs to.

propertyobject

The property the violation was raised against.

unitobject

The unit the violation was raised against. Absent when the violation is property-wide.

leaseobject

The lease the violation was raised against. Absent when no lease is involved.

workOrdersobject[]

Work orders raised from this violation.

leaseBillsobject[]

Extra lease charges added against this violation, beyond the fine itself.

ownersobject[]

Owners of the property, as used when sending an owner notice.

workOrderVendorsobject[]

Vendors assigned to the work orders above.

401 · The access token is missing, expired, or not valid for this company.

404 · No association violation with that id exists in the caller's company.

Chat and email are independent

Sending a chat message and sending an email are two separate decisions. Supply chatMessage for the first, emailMessage for the second, or both. Supplying neither still stamps notificationSentAt.

Each active owner of the property gets their own chat message and their own email. An owner with no chat thread gets one created. A property with no active owners sends nothing and still succeeds.