Architectural requests

Get an architectural request

Fetches one architectural request with the submitter's name and, once voting has opened, the live board tallies and per-member votes. Requires the hoa_architectural_requests:read permission.

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

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

Response

200 · The architectural request.

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

Display name of that property. Absent when the property record could not be read.

unitIdstring

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

unitNamestring

Name of that unit. Absent when there is no unit, or the unit record could not be read.

submittedByOwnerIdstring

The owner the request was filed on behalf of.

submittedByOwnerNamestring

That owner's first and last name. Absent when the owner record could not be read.

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

Live board voting tallies. Absent until the request has been submitted for voting.

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 · 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:read` permission.

404 · No request with that id belongs to the calling company.

boardRequestProgress appears once the request has been submitted and a board vote exists. voters lists every board member who was eligible when voting opened, including the ones who have not voted — those entries carry no choice and no castAt.

The tallies keep their last values after the vote closes, so an approved request still shows how the board voted.

StatusWhat it means
draftCreated but not yet sent to the board. Files can be added and removed only here.
boardVotingA board vote is open. Board members are voting yes or no.
readyForPmReviewWaiting for a manager's decision. A request lands here when the board finishes voting, when the deadline passes, or when a manager forces it.
approvedA manager approved it. Final.
deniedA manager denied it. Final.
cancelledCancelled before any decision was made. Final.
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.