Owner, admin ou o admin **desta** empresa (só com a empresa ativa); funcionário comum, admin de outra empresa e admin de empresa encerrada levam 403. `isAdmin: true` só owner ou admin podem mandar (403 para os demais).
**Owner e admin da comunidade vinculam direto:** quem já é membro só ganha o vínculo (`status: linked`, `joinedViaCompany: false`, sem e-mail); quem não é entra na comunidade com papel `member` (sempre: `role` no corpo é ignorado), recebe o e-mail de convite de `POST /api/profiles/invite` e entra na equipe (`status: invited`, `joinedViaCompany: true`).
**O admin da empresa só convida:** a resposta é sempre a mesma (`status: invited`, `pending: true`, `invitationId`, mensagem "Convite enviado."), seja a pessoa membro da comunidade, de outra empresa ou de fora. Ninguém entra na equipe sem aceitar: a pessoa recebe um e-mail e vê o convite em "Minha empresa" (`GET /api/resident-companies/invitations/mine`), onde aceita ou recusa. Quem ainda não era da comunidade também recebe o convite da comunidade, como antes. Convidar de novo quem já tem convite pendente devolve o mesmo `invitationId`, sem novo e-mail.
Erros claros, nunca sucesso silencioso: comunidade fechada para novos membros (F-86) 403; e-mail que pediu para não participar (F-85) 409; pessoa já nesta equipe 409; pessoa já em outra empresa 409 só para owner e admin (para o admin da empresa, o 409 aparece só para a própria pessoa, no aceite); empresa encerrada 409.
Limite do admin da empresa: até 30 convites por hora (429 com `Retry-After` acima disso); owner e admin não têm esse limite.