> For the complete documentation index, see [llms.txt](https://docs.idosgames.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.idosgames.com/api/api-v1/reward.md).

# Reward

This endpoint is used to manage various reward-related actions such as claiming coins, updating equipped skins, and granting skin profit.

**URL**: <https://api.idosgames.com/api/\\[titleTemplateId]/\\[titleId]/Client/Reward/>

## ClaimCoinReward

**Purpose**: Allows a user to claim a coin reward.

**URL**:

```
https://api.idosgames.com/api/[titleTemplateId]/[titleId]/Client/Reward/ClaimCoinReward  
```

**Method**: POST

**Request Parameters (JSON body)**:

* `IntValue` (int): The value of the coins to claim.
* `Points` (int, optional): Points associated with the claim.

**Responses**:

* `200 OK`: Successful claim. Returns the updated user data.
* `400 Bad Request`: Incorrect request parameters. Returns an error message, e.g., "Invalid value".

**Example Usage**:

*Request*:

```javascript
fetch('https://api.idosgames.com/api/[titleTemplateId]/[titleId]/Client/Reward/ClaimCoinReward', {  
    method: 'POST',    
    headers: {    
        'Content-Type': 'application/json'    
    },    
    body: JSON.stringify({  
        IntValue: 100,    
        Points: 10    
    })    
})  
.then(response => response.json())    
.then(data => console.log(data))    
.catch(error => console.error('Error:', error));  
```

*Response*:

```json
{  
    "UserID": "updated-user-id",  
    "VirtualCurrency": {  
        "Coin": 1500  
    },  
    ...  
}  
```

## ClaimX3CoinReward

**Purpose**: Allows a user to claim a 3x coin reward.

**URL**:

```
https://api.idosgames.com/api/[titleTemplateId]/[titleId]/Client/Reward/ClaimX3CoinReward  
```

**Method**: POST

**Request Parameters (JSON body)**:

* `IntValue` (int): The value of the coins to claim.
* `Points` (int, optional): Points associated with the claim.

**Responses**:

* `200 OK`: Successful claim. Returns the updated user data.
* `400 Bad Request`: Incorrect request parameters. Returns an error message, e.g., "Invalid value".

**Example Usage**:

*Request*:

```javascript
fetch('https://api.idosgames.com/api/[titleTemplateId]/[titleId]/Client/Reward/ClaimX3CoinReward', {  
    method: 'POST',    
    headers: {    
        'Content-Type': 'application/json'    
    },    
    body: JSON.stringify({  
        IntValue: 100,    
        Points: 10    
    })    
})  
.then(response => response.json())    
.then(data => console.log(data))    
.catch(error => console.error('Error:', error));  
```

*Response*:

```json
{  
    "UserID": "updated-user-id",  
    "VirtualCurrency": {  
        "Coin": 4500  
    },  
    ...  
}  
```

## ClaimX5CoinReward

**Purpose**: Allows a user to claim a 5x coin reward.

**URL**:

```
https://api.idosgames.com/api/[titleTemplateId]/[titleId]/Client/Reward/ClaimX5CoinReward  
```

**Method**: POST

**Request Parameters (JSON body)**:

* `IntValue` (int): The value of the coins to claim.
* `Points` (int, optional): Points associated with the claim.

**Responses**:

* `200 OK`: Successful claim. Returns the updated user data.
* `400 Bad Request`: Incorrect request parameters. Returns an error message, e.g., "Invalid value".

**Example Usage**:

*Request*:

```javascript
fetch('https://api.idosgames.com/api/[titleTemplateId]/[titleId]/Client/Reward/ClaimX5CoinReward', {  
    method: 'POST',    
    headers: {    
        'Content-Type': 'application/json'    
    },    
    body: JSON.stringify({  
        IntValue: 100,    
        Points: 10    
    })    
})  
.then(response => response.json())    
.then(data => console.log(data))    
.catch(error => console.error('Error:', error));  
```

*Response*:

```json
{  
    "UserID": "updated-user-id",  
    "VirtualCurrency": {  
        "Coin": 7500  
    },  
    ...  
}  
```

## ClaimCoinWithSkinReward

**Purpose**: Allows a user to claim a coin reward along with skin profits.

**URL**:

```
https://api.idosgames.com/api/[titleTemplateId]/[titleId]/Client/Reward/ClaimCoinWithSkinReward  
```

**Method**: POST

**Request Parameters (JSON body)**:

* `IntValue` (int): The value of the coins to claim.
* `Points` (int, optional): Points associated with the claim.

**Responses**:

* `200 OK`: Successful claim. Returns the updated user data.
* `400 Bad Request`: Incorrect request parameters. Returns an error message, e.g., "Invalid value".

**Example Usage**:

*Request*:

```javascript
fetch('https://api.idosgames.com/api/[titleTemplateId]/[titleId]/Client/Reward/ClaimCoinWithSkinReward', {  
    method: 'POST',    
    headers: {    
        'Content-Type': 'application/json'    
    },    
    body: JSON.stringify({  
        IntValue: 100,    
        Points: 10    
    })    
})  
.then(response => response.json())    
.then(data => console.log(data))    
.catch(error => console.error('Error:', error));  
```

*Response*:

```json
{  
    "UserID": "updated-user-id",  
    "VirtualCurrency": {  
        "Coin": 1600,  
        "SkinProfit": 100  
    },  
    ...  
}  
```

## UpdateEquippedSkins

**Purpose**: Allows a user to update their equipped skins.

**URL**:

```
https://api.idosgames.com/api/[titleTemplateId]/[titleId]/Client/Reward/UpdateEquippedSkins  
```

**Method**: POST

**Request Parameters (JSON body)**:

* `ItemIDs` (JArray): List of item IDs to be equipped.

**Responses**:

* `200 OK`: Skins updated successfully. Returns a success message.
* `400 Bad Request`: Incorrect request parameters. Returns an error message, e.g., "args or arrayItemIds is null".

**Example Usage**:

*Request*:

```javascript
fetch('https://api.idosgames.com/api/[titleTemplateId]/[titleId]/Client/Reward/UpdateEquippedSkins', {  
    method: 'POST',    
    headers: {    
        'Content-Type': 'application/json'    
    },    
    body: JSON.stringify({  
        ItemIDs: ["skin1", "skin2"]  
    })    
})  
.then(response => response.json())    
.then(data => console.log(data))    
.catch(error => console.error('Error:', error));  
```

*Response*:

```json
{  
    "Message": "SUCCESS"  
}  
```

## GrantSkinProfitFromEquippedSkins

**Purpose**: Grants the user profit based on equipped skins.

**URL**:

```
https://api.idosgames.com/api/[titleTemplateId]/[titleId]/Client/Reward/GrantSkinProfitFromEquippedSkins  
```

**Method**: POST

**Request Parameters (JSON body)**:

* `Multiplier` (int): Multiplier for the profit to be granted.

**Responses**:

* `200 OK`: Profit granted successfully. Returns a success message.
* `400 Bad Request`: Incorrect request parameters. Returns an error message, e.g., "Invalid multiplier".

**Example Usage**:

*Request*:

```javascript
fetch('https://api.idosgames.com/api/[titleTemplateId]/[titleId]/Client/Reward/GrantSkinProfitFromEquippedSkins', {  
    method: 'POST',    
    headers: {    
        'Content-Type': 'application/json'    
    },    
    body: JSON.stringify({  
        Multiplier: 3  
    })    
})  
.then(response => response.json())    
.then(data => console.log(data))    
.catch(error => console.error('Error:', error));  
```

*Response*:

```json
{  
    "Message": "SUCCESS"  
}  
```

## ClaimCoinRewardWithReferral

**Purpose**: Allows a user to claim a coin reward with a referral bonus.

**URL**:

```
https://api.idosgames.com/api/[titleTemplateId]/[titleId]/Client/Reward/ClaimCoinRewardWithReferral  
```

**Method**: POST

**Request Parameters (JSON body)**:

* `IntValue` (int): The value of the coins to claim.
* `Points` (int, optional): Points associated with the claim.

**Responses**:

* `200 OK`: Successful claim. Returns the updated user data.
* `400 Bad Request`: Incorrect request parameters. Returns an error message, e.g., "Invalid value".

**Example Usage**:

*Request*:

```javascript
fetch('https://api.idosgames.com/api/[titleTemplateId]/[titleId]/Client/Reward/ClaimCoinRewardWithReferral', {  
    method: 'POST',    
    headers: {    
        'Content-Type': 'application/json'    
    },    
    body: JSON.stringify({  
        IntValue: 100,    
        Points: 10    
    })    
})  
.then(response => response.json())    
.then(data => console.log(data))    
.catch(error => console.error('Error:', error));  
```

*Response*:

```json
{  
    "UserID": "updated-user-id",  
    "VirtualCurrency": {  
        "Coin": 1600,  
        "ReferralBonus": 50  
    },  
    ...  
}  
```
