# メンバーの招待

`POST /api/member/invite`

URL: https://repsona.com/ja/api/post-member-invite

新しいメンバーを招待し、パスワード設定用のリンクをメールで送ります。再度招待するとリンクが更新されます。メールアドレスなしでログインしないメンバーを作ることもでき、その場合はメールを送りません。

## リクエストボディ

| name | in | type | required | description |
| --- | --- | --- | --- | --- |
| `email` | body | string |  | 招待メールの送り先のメールアドレスです。`role` が `no-login` のとき以外は必須です。 |
| `role` | body | admin \| member \| no-login | 必須 | 新しいメンバーの役割です。`admin` はスペースを管理でき、`member` は一般のメンバー、`no-login` はログインしないメンバー (課金対象外で、メールも送りません) です。 |
| `name` | body | string |  | ユーザー名 (@name) です。英数字と `.` `_` `-` の 3〜15 文字で指定します。省略するとメールアドレスから作ります。 |
| `fullName` | body | string |  | 表示名です。255 文字までで、省略するとメールアドレスの @ より前の部分になります。 |
| `projectIds` | body | integer[] |  | メンバーを追加するプロジェクトの ID です (100 件まで)。 |

## リクエスト

```sh
curl -X POST "https://<space>.repsona.com/api/member/invite" \
  -H "Authorization: Bearer $REPSONA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "noah.rivera@example.com",
    "role": "member",
    "name": "noah",
    "fullName": "Noah Rivera",
    "projectIds": [
      297
    ]
  }'
```

## レスポンス

- 200: Invited
- 400: Email already exists
- 401: Authentication is required
- 403: Admin only

## レスポンスの例

```json
{
  "userId": 1129
}
```
