Admins, PMs and crew leads can mint a portal link for any person on the roster. The row id IS the capability token, generated from a CSPRNG, so resolving it is one indexed lookup and revoking it is one update. Minting twice returns the same link.
Also called: magic link for crew · crew portal link · copy field link · revoke crew access
- 1POST /api/crew-portal/link with a memberUserId; requireRole gates it to admin, PM or crew lead.
- 2The person is checked against the caller's org through the shared roster (not org_members), so a framer with no login can still be issued a link.
- 3An existing un-revoked link is returned rather than a second one being created.
- 4The response includes hasCrew, so the Team page can warn that the link will open empty if the person is on no crew.
- 5DELETE sets revoked_at and revoked_by rather than deleting the row, so a dead link can still explain itself.
Handing a second link to someone who already had one meant nobody could actually revoke their access — cutting off one link left the other working. Asking for a person's field link now returns the one they already hold rather than minting another, so every person has exactly one and turning it off is a single click. The people who need a link most are the framers and labourers with no account at all, so links are issued against the roster of everyone who works there rather than only those who can sign in. Copying a link for someone not yet on a crew warns first, because a link that opens to you are not on a job yet looks broken to the man who receives it.
- Access that cannot be revoked because duplicates exist.
- Field labour locked out of tooling because they have no account.
- Handing out a link that opens to an empty screen with no explanation.
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →