Get a board member by owner
Looks up an owner's current board seat. Use it to answer "is this owner on the board right now?". Requires the hoa_board_members:read permission.
Authorization
AuthorizationstringrequiredPath parameters
ownerIdstringrequiredThe owner to look up.
Response
200 · The owner's active board seat.
idstringThe board seat. A 64-bit id sent as a decimal string.
companyIdstringThe company the seat belongs to.
ownerIdstringThe owner who holds the seat.
activebooleantrue while the owner is serving. An inactive row is the record of a past seat.
rolestringFree text describing the seat, for example President. Absent when none was given.
seatStartedAtstring · date-timeWhen the seat began, in the company's timezone. Set to the moment of appointment.
seatEndedAtstring · date-timeWhen the seat ended, in the company's timezone. Absent while the member is still serving.
createdstring · date-timeWhen the row was created, in the company's timezone.
updatedstring · date-timeWhen the row 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_board_members:read` permission.
404 · The owner holds no active board seat at this company — including when they held one and it ended.
This only ever returns a seat where active is true. A member who has been deactivated gives 404 Not Found, even though the row still exists and still shows up in the list. Treat the 404 as "not on the board", not as "no such owner" — the owner id itself is never checked.
Because the lookup is by owner rather than by seat, the problem response carries entityKey — a string of the form CompanyId=…,OwnerId=… — instead of the usual entityId.
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.