# 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  
    },  
    ...  
}  
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.idosgames.com/api/api-v1/reward.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
