Documentation Index
Fetch the complete documentation index at: https://docs.dacard.ai/llms.txt
Use this file to discover all available pages before exploring further.
Invite a new member to a team. The invite is created with status: pending and a transactional email is sent. Recipients accept via POST /api/teams/[id]/accept.
curl -X POST https://app.dacard.ai/api/teams/tm_2x1B3y/invite \
-H "Authorization: Bearer $DACARD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "designer@acme.com",
"role": "scorer",
"functionScope": "design"
}'
| 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
{
"member": {
"id": "tmm_...",
"teamId": "tm_2x1B3y",
"email": "designer@acme.com",
"role": "scorer",
"functionScope": "design",
"status": "pending"
}
}
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. |
Side effects: audit log team_member_invited, PQL event team_invite_sent, transactional email via Resend.