status: pending and a transactional email is sent. Recipients accept via POST /api/teams/[id]/accept.
| Property | Value |
|---|---|
| Auth | Required |
| Required scope | Caller must be a team admin |
| Plan limit | 10 members per team max |
| Idempotent | No (sends a new email each time) |
Body
| Field | Type | Required | Notes |
|---|---|---|---|
email | string | yes | The invitee’s email. |
role | admin | scorer | viewer | no | Defaults to scorer. |
functionScope | strategy | design | development | intelligence | operations | gtm | no | Narrows the dimensions this member sees and scores. |
Response
201 Created
Errors
| Status | Code | When |
|---|---|---|
| 400 | email is required | Body missing email. |
| 400 | Invalid function scope | Bad functionScope. |
| 401 | AUTH_REQUIRED | No session. |
| 403 | Only team admins can invite members | Caller is not admin. |
| 409 | Team is at the 10-member limit | Roster full. |
| 409 | That email is already on the team | Duplicate invite. |
| 500 | INTERNAL_ERROR | Write or email send failed. |
team_member_invited, PQL event team_invite_sent, transactional email via Resend.