Architectural requests

Remove files

Detaches files from a draft architectural request and deletes them. Requires the hoa_architectural_requests:write permission.

DELETE
https://services.magicdoor.com/hoa/company-portal/associations/architectural-requests/{boardRequestId}/files

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

boardRequestIdstringrequired

The architectural request to act on.

example: 1830472847398404096

Body

application/json

fileIdsstring[]required

The fileId values, as they appear in the request's files array. At least one is required, and every one of them must currently be on the request.

Response

200 · The request, without the removed files.

idstring

The architectural request. A 64-bit id sent as a decimal string.

companyIdstring

The company the request belongs to.

portfolioIdstring

The portfolio the request was filed under. Absent when it was created without one.

propertyIdstring

The property the requested work is on.

propertyNamestring

Never returned by this endpoint — only the list and the single-request read resolve property names.

unitIdstring

The unit the requested work is on. Absent when the request covers the whole property.

unitNamestring

Never returned by this endpoint — only the list and the single-request read resolve unit names.

submittedByOwnerIdstring

The owner the request was filed on behalf of.

submittedByOwnerNamestring

Never returned by this endpoint — only the single-request read resolves owner names.

titlestring

Short summary of the work being requested.

descriptionstring

Full description of the work being requested.

statusenum<string>

Where the request has reached in the review workflow.

draftboardVotingreadyForPmReviewapproveddeniedcancelled
dueAtstring · date-time

Deadline for the board to finish voting, in the company's timezone. Defaults to 30 days after creation, and is absent once it has been cleared.

isOverdueboolean

true once the deadline passed while the request was still in boardVoting and a background sweep moved it to readyForPmReview. It is never set back to false.

voteSessionIdstring

The board vote opened for this request. Absent until the request has been submitted for voting.

boardRequestProgressobject

Never returned by this endpoint — only the single-request read computes voting tallies.

pmDecisionenum<string>

The manager's final decision. Absent until the request is approved or denied.

approveddenied
pmDecidedAtstring · date-time

When that decision was recorded, in the company's timezone. Absent until it is made.

pmNotestring

The note the manager left with the decision. Absent when none was sent.

filesobject[]

Files attached to the request. Empty when there are none.

createdstring · date-time

When the request was created, in the company's timezone.

updatedstring · date-time

When the request last changed, in the company's timezone.

400 · `fileIds` is empty or holds a value that is not a number, the request is not in `draft`, or the calling company is not in HOA business mode.

401 · The bearer token is missing, expired, or not valid.

403 · The token is valid but the caller does not hold the `hoa_architectural_requests:write` permission.

404 · No request with that id belongs to the calling company, or one of the `fileIds` is not attached to it.

The files are deleted, not just detached

Removing a file takes it off the request and deletes it from storage. There is no way to put it back — upload it again if you need it.

Drafts only, and every id must match

Files can only be removed while the request is in draft; any other state returns 400 Bad Request with the detail Files can only be removed from draft board requests. If any id in fileIds is not on the request, nothing is removed and you get 404 Not Found naming the first one that did not match.

HOA companies only

Every architectural request and board member endpoint first checks that the calling company is set up as an HOA. A company in any other business mode gets 400 Bad Request with the detail Company is not in HOA business mode.