## Add New Players to List of Players in Campaign

This endpoint allows you to add a list of new players to a campaign.

Players cannot be added if any of the following conditions are met:

* the campaign is ended or disabled
* the campaign doesn't use PLAYER_LIST strategy.


**API Call Sample:**

```shell curl
curl -i -X PUT \
  -u '<username>:<password>' \
  https://asia.stage.rubyplay.io/api/v1/campaign/123/participant \
  -H 'Content-Type: application/json' \
  -d '{
    "playerIds": [
      "player3"
    ]
  }'
```

```json 401 application/json
{
  "code": "NOT_AUTHORIZED",
  "message": "Authentication failed",
  "timestamp": "2026-01-25T14:30:00Z",
  "path": "/api/v1/campaign/{campaignId}/participant"
}
```

```json 403 application/json
{
  "code": "INSUFFICIENT_SCOPE",
  "message": "Insufficient scope to access this resource. Required: campaign:put",
  "timestamp": "2026-01-25T14:30:00Z",
  "path": "/api/v1/campaign/{campaignId}/participant"
}
```

```json 500 application/json
{
  "code": "UNKNOWN_ERROR",
  "message": "Something went wrong",
  "timestamp": "2026-01-25T14:30:00Z",
  "path": "/api/v1/campaign/{campaignId}/participant"
}
```

```json 504 application/json
{
  "code": "TIMEOUT",
  "message": "The server did not respond within the expected time",
  "timestamp": "2026-01-25T14:30:00Z",
  "path": "/api/v1/campaign/{campaignId}/participant"
}
```

**Request Schema:**

```json
{
  "$ref": "#/components/schemas/UpdateParticipantListDto",
  "components": {
    "schemas": {
      "UpdateParticipantListDto": {
        "type": "object",
        "properties": {
          "playerIds": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "List of player IDs",
              "example": "player3",
              "maxLength": 255,
              "minLength": 0
            },
            "minItems": 1,
            "uniqueItems": true
          }
        },
        "required": [
          "playerIds"
        ]
      }
    }
  }
}
```