# タスクのタグの置き換え

`PUT /api/task/{taskId}/tags`

URL: https://repsona.com/ja/api/put-task-taskid-tags

タグ名でタスクのタグを置き換えます。スペースに無い名前は、指定した色で新しく作られます。

## パラメーター

| name | in | type | required | description |
| --- | --- | --- | --- | --- |
| `taskId` | path | integer | 必須 | タスクの ID です。 |

## リクエストボディ

| name | in | type | required | description |
| --- | --- | --- | --- | --- |
| `names` | body | string[] | 必須 | タスクに付けるタグの名前です (50 個まで)。現在のタグはすべて置き換えられ、空の配列にするとすべて外れます。まだ存在しないタグは新しく作られます。 |
| `color` | body | string \| null |  | 新しく作られるタグの色です (例: `#8CC230`)。既存のタグの色は変わりません。省略すると標準の色になります。 |

## リクエスト

```sh
curl -X PUT "https://<space>.repsona.com/api/task/{taskId}/tags" \
  -H "Authorization: Bearer $REPSONA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "names": [
      "Design",
      "Launch"
    ],
    "color": "#8CC230"
  }'
```

## レスポンス

- 200: Updated tags
- 400: Too many tags
- 401: Authentication is required
- 403: Not a project member
- 404: Task not found

## レスポンスの例

```json
{
  "tags": [
    {
      "id": 90,
      "name": "Design",
      "color": "#2196F3"
    },
    {
      "id": 91,
      "name": "Launch",
      "color": "#8CC230"
    }
  ]
}
```
