API referenceMembers

Invite a member

Account-level, hand-made API keys only: workspace-, project- and budget-scoped keys and connector tokens get 403.

A key is never a member; it acts as the account (owner authority). Same as POST /members/invites: creates an email invite (7 days; one open invite per email; role cannot be owner). Nobody becomes a member until the invitee accepts. Typecut sends no email; hand over accept_url.

POST
/members

Authorization

bearerAuth
AuthorizationBearer <token>

Typecut API key. Generate one in app.typecut.ai → Settings → API keys. Send as Authorization: Bearer tc_live_….

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/members" \  -H "Content-Type: application/json" \  -d '{    "email": "teammate@example.com",    "role": "maintainer"  }'
{
  "data": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "email": "string",
    "role": "maintainer",
    "invitedBy": "9803bd85-1570-4d91-99f5-3a4d18ccfff0",
    "createdAt": "string",
    "expiresAt": "string",
    "expired": true,
    "token": "string",
    "accept_url": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}