Source: https://datafa.st/docs/api/account/team/invite
Markdown source: https://datafa.st/docs/api/account/team/invite.md
Description: Invite a team member by email.

# Invite team member

`POST https://datafa.st/api/v1/admin/websites/{websiteId}/team`

Invite a team member by email.

## Request

### Authentication

- `dft_` account token with `team:write + owner role`.


### Path parameters

| Parameter | Type | Description |
| --- | --- | --- |
| `websiteId` | string | Website ObjectId used by account tokens to choose which website to query or manage. Website ObjectId. The caller token must have access to this website. |

### Body parameters

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `email` | string | Yes | Email address to invite. Lowercased and trimmed before storage. |
| `role` | `viewer` or `member` | No | Role for the invited user. Defaults to `viewer`. Only website owners can invite. |

## Response

Returns a JSON object with `status` and endpoint-specific fields.

### Response fields

| Field | Type | Description |
| --- | --- | --- |
| `data[].message` | string | Human-readable confirmation or status message for the operation. |
| `data[].invitationId` | string | Invitation ObjectId. |
| `data[].email` | string | Invited email address. |
| `data[].role` | string | Role assigned by the invite. |

### Errors

Common errors include `400` for invalid input, `401` for missing or invalid tokens, `403` for missing permissions or website access, `404` for missing resources, and `500` for server errors.

## Code examples

### Example request

```bash
curl -X POST "https://datafa.st/api/v1/admin/websites/{websiteId}/team" \
  -H "Authorization: Bearer dft_xxx" \
  -H "Content-Type: application/json" \
  -d '{"email":"member@example.com","role":"viewer"}'
```

### Success response

```json
{
  "status": "success",
  "data": [{
    "message": "Invitation created. Send the invite link to the user.",
    "invitationId": "665f0b3c4d2e1a0012345678",
    "email": "member@example.com",
    "role": "viewer"
  }]
}
```
