Skip to main content

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"
  }'
PropertyValue
AuthRequired
Required scopeCaller must be a team admin
Plan limit10 members per team max
IdempotentNo (sends a new email each time)

Body

FieldTypeRequiredNotes
emailstringyesThe invitee’s email.
roleadmin | scorer | viewernoDefaults to scorer.
functionScopestrategy | design | development | intelligence | operations | gtmnoNarrows 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

StatusCodeWhen
400email is requiredBody missing email.
400Invalid function scopeBad functionScope.
401AUTH_REQUIREDNo session.
403Only team admins can invite membersCaller is not admin.
409Team is at the 10-member limitRoster full.
409That email is already on the teamDuplicate invite.
500INTERNAL_ERRORWrite or email send failed.
Side effects: audit log team_member_invited, PQL event team_invite_sent, transactional email via Resend.