Player API Documentation

Create Player

URL: /api/player/create

Method: POST

Body:

        {
            "name": ""s"",
            "wallet_id": "string"
        }
            

Responses:

On Success

        {
            "status": "success",
            "data": {
                "id": "string",
                "name": "string",
                "wallet_id": "string",
                "createdAt": "string",
                "updatedAt": "string"
            },
            "message": "Player created successfully"
        }
                

If Player Already Exists

        {
            "message": "Player with this wallet_id already exists"
        }
                

On Error

        {
            "error": "Error message"
        }
                

Increment Point

URL: /api/player/point/increment

Method: POST

Body:

        {
            "wallet_id": "string",
            "point": "number"
        }
            

Responses:

On Success

        {
            "status": "success",
            "data": {
                "id": "string",
                "wallet_id": "string",
                "total_points": "number",
                "createdAt": "string",
                "updatedAt": "string"
            },
            "message": "Point added successfully"
        }
                

If Player Wallet Not Found

        {
            "message": "Player not found"
        }
                

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                

Decrement Point

URL: /api/player/point/decrement

Method: POST

Body:

        {
            "wallet_id": "string",
            "point": "number"
        }
            

Responses:

On Success

        {
            "status": "success",
            "data": {
                "id": "string",
                "wallet_id": "string",
                "total_points": "number",
                "createdAt": "string",
                "updatedAt": "string"
            },
            "message": "Point decremented successfully"
        }
                

If Player Wallet Not Found

        {
            "message": "Player not found"
        }
                

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                

Increment Kill

URL: /api/player/kill/increment

Method: POST

Body:

        {
            "wallet_id": "string",
            "kill": "number"
        }
            

Responses:

On Success

        {
            "status": "success",
            "data": {
                "id": "string",
                "wallet_id": "string",
                "total_kills": "number",
                "createdAt": "string",
                "updatedAt": "string"
            },
            "message": "Kills incremented successfully"
        }
                

If Player Wallet Not Found

        {
            "message": "Player not found"
        }
                

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                

Increment Death

URL: /api/player/dead/increment

Method: POST

Body:

        {
            "wallet_id": "string",
            "death": "number"
        }
            

Responses:

On Success

        {
            "status": "success",
            "data": {
                "id": "string",
                "wallet_id": "string",
                "total_deaths": "number",
                "createdAt": "string",
                "updatedAt": "string"
            },
            "message": "Death incremented successfully"
        }
                

If Player Wallet Not Found

        {
            "message": "Player not found"
        }
                

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                

Increment Respawn

URL: /api/player/respawn/increment

Method: POST

Body:

        {
            "wallet_id": "string",
            "respawn": "number"
        }
            

Responses:

On Success

        {
            "status": "success",
            "data": {
                "id": "string",
                "wallet_id": "string",
                "total_respawns": "number",
                "createdAt": "string",
                "updatedAt": "string"
            },
            "message": "Respawn incremented successfully"
        }
                

If Player Wallet Not Found

        {
            "message": "Player not found"
        }
                

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                

Get Points by Wallet ID

URL: /api/player/points/:wallet_id

Method: GET

Responses:

On Success

        {
            "status": "success",
            "data": {
                "total_points": "number"
            },
            "message": "Point fetched successfully"
        }
                

If Player Wallet Not Found

        {
            "message": "Player not found"
        }
                

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                

Get Top Points by Limit

URL: /api/player/points/top/:limit

Method: GET

Responses:

On Success

        {
            "status": "success",
            "data": [
                {
                    "wallet_id": "string",
                    "total_points": "number"
                }
            ],
            "message": "Top players fetched successfully"
        }
                

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                

Get Kills by Wallet ID

URL: /api/player/kills/:wallet_id

Method: GET

Responses:

On Success

        {
            "status": "success",
            "data": {
                "total_kills": "number"
            },
            "message": "Kills fetched successfully"
        }
                

If Player Wallet Not Found

        {
            "message": "Player not found"
        }
                

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                

Get Deaths by Wallet ID

URL: /api/player/deaths/:wallet_id

Method: GET

Responses:

On Success

        {
            "status": "success",
            "data": {
                "total_deaths": "number"
            },
            "message": "Deaths fetched successfully"
        }
                

If Player Wallet Not Found

        {
            "message": "Player not found"
        }
                

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                

Get Respawns by Wallet ID

URL: /api/player/respawn/:wallet_id

Method: GET

Responses:

On Success

        {
            "status": "success",
            "data": {
                "total_respawns": "number"
            },
            "message": "Respawns fetched successfully"
        }
                

If Player Wallet Not Found

        {
            "message": "Player not found"
        }
                

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                

Get Referral Link By Wallet ID

URL: /api/player/referral-link/:wallet_id

Method: GET

Responses:

On Success

        {
            "status": "success",
            "data": {
                "referralLink": "string"
                "referralCode": "string"
            },
            "message": "Referral link fetched successfully"
        }
                

If Player Wallet Not Found

        {
            "message": "Player not found"
        }
                

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                

Validate and Award Referral Points

URL: /api/player/referral/validate

Method: POST

Body:

        {
            "new_user_wallet_id": "string",
            "referral_code": "string"
        }
            

Responses:

On Success

        {
            "status": "success",
            "message": "Referral successful"
        }
                

If New Player Wallet Not Found

        {
            "message": "Player with this wallet_id does not exist"
        }
                

Referral Code Not Provided

        {
            "message": "Referral code is required"
        }
                

If Player With Referral Code Not Found

        {
            "message": "Invalid referral code"
        }
                

If Player Is Owner Of Referral Code

        {
            "message": "You cannot refer yourself"
        }
                

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                

Get Username Availability

URL: /api/player/check-username/:wallet_id/:username

Method: GET

Responses:

On Success

        {
            "status": "success",
            "data": {
                "available": true,
                "isOwnUsername": false
            },
            "message": "This username is available"
        }
                

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                

Get Username By Wallet

URL: /api/player/username/:wallet_id

Method: GET

Responses:

On Success

        {
            "status": "success",
            "data": {
                "username": "string"
            },
            "message": "Username retrieved successfully"
        }
                

On Error

        {
            "status": "error",
            "message": "string"
        }
                

Check If Player Exists By Wallet

URL: /api/player/exists/:wallet_id

Method: GET

Responses:

On Success

        {
            "status": "success",
            "data": {
                "exists": boolean
            },
            "message": "Player with this wallet exists"
        }
                

On Error

        {
            "status": "error",
            "message": "string"
        }
                

Get Battle Points By Wallet ID

URL: /api/player/battle/points/:wallet_id

Method: GET

Responses:

On Success

        {
            "status": "success",
            "data": {
                "playerBattlePoints": number
            },
            "message": "Battle Points fetched successfully"
        }
                

On Error

        {
            "status": "error",
            "message": "string"
        }
                

Get All Player Points

URL: /api/player/points/all

Method: GET

Responses:

On Success

        {
            "status": "success",
            "data":  {
                    player: string,
                    wallet: string,
                    points: number,
                    clan: string
            }[],
            "message": "Points fetched successfully"
        }
                

On Error

        {
            "status": "error",
            "message": "string"
        }
                

Get All Player Points For Last/Ongoing Event Battle

URL: /api/player/event/battle/points/all

Method: GET

Responses:

On Success

        {
            "status": "success",
            "data": {
                    player: string,
                    wallet: string,
                    points: number,
                    clan: string
            }[],
            "message": "Battle Points fetched successfully"
        }
                

On Error

        {
            "status": "error",
            "message": "string"
        }
                

Get ChristmasGift by Wallet ID

URL: /api/player/christmas/:wallet_id

Method: GET

Responses:

On Success

        {
            "status": "success",
            "data": {
                "christmasGift": "number"
            },
        }
                

If Player Wallet Not Found

        {
            "message": "Player not found"
        }
                

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                

Increment Christmas Gift

URL: /api/player/christmas/increment

Method: POST

Body:

        {
            "wallet_id": "string",
            "count": "number"
        }
            

Responses:

On Success

        {
            "status": "success",
            "data": {
                id: string;
                name: string;
                wallet_id: string;
                christmasGift: number;
                createdAt: Date;
                updatedAt: Date;
            },
            "message": "gift added successfully"
        }
                

If Player Wallet Not Found

        {
            "message": "Player not found"
        }
                

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                

Update Player Username

URL: /api/player/username/update

Method: PUT

Body:

        {
            "wallet_id": "string",
            "new_username": "string"
        }
                    

Responses:

On Success

        {
            "status": "success",
            "data": {
                "id": "string",
                "name": "string",
                "wallet_id": "string",
                "createdAt": "string",
                "updatedAt": "string"
            },
            "message": "Username updated successfully"
        }
                        

If Username Already Taken

        {
            "message": "Username is already taken"
        }
                        

If Player Not Found

        {
            "message": "Player not found"
        }
                        

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                        

Update Player Bio

URL: /api/player/bio/update

Method: PUT

Body:

        {
            "wallet_id": "string",
            "bio": "string (max 300 characters)"
        }
                    

Responses:

On Success

        {
            "status": "success",
            "data": {
                "id": "string",
                "name": "string",
                "wallet_id": "string",
                "bio": "string",
                "createdAt": "string",
                "updatedAt": "string"
            },
            "message": "Bio updated successfully"
        }
                        

If Bio Exceeds Character Limit

        {
            "message": "Bio must not exceed 300 characters"
        }
                        

If Player Not Found

        {
            "message": "Player not found"
        }
                        

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                        

Get Coins by Wallet ID

URL: /api/player/coins/:wallet_id

Method: GET

Responses:

On Success

        {
            "status": "success",
            "data": {
                "coins": "number"
            }
        }
                        

On Error

        {
            "error": "Error message"
        }
                        

Get Coins Leaderboard

URL: /api/player/coins/leaderboard

Method: GET

Responses:

On Success

        {
            "status": "success",
            "data": [
                {
                    "player": "string",
                    "coins": "number",
                    "wallet": "string"
                }
            ]
        }
                        

On Error

        {
            "error": "Error message"
        }
                        

Add Coins

URL: /api/player/coins/add

Method: POST

Body:

        {
            "wallet_id": "string",
            "coins": "number"
        }
                    

Responses:

On Success

        {
            "status": "success",
            "data": {
                "id": "string",
                "name": "string",
                "wallet_id": "string",
                "coins": "number",
                "createdAt": "string",
                "updatedAt": "string"
            },
            "message": "Coins added successfully"
        }
                        

If Player Not Found

        {
            "message": "Player not found"
        }
                        

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                        

Add XP Points

URL: /api/player/xp/add

Method: POST

Body:

        {
            "wallet_id": "string",
            "xp": "number"
        }
                    

Responses:

On Success

        {
            "status": "success",
            "data": {
                "xp": "number",
                "level": "number",
                "xpForNextLevel": "number"
            },
            "message": "XP added successfully"
        }
                        

If Player Not Found

        {
            "message": "Player not found"
        }
                        

On Error

        {
            "status": "error",
            "message": "Error message"
        }
                        

Get Player by Wallet ID

URL: /api/player/:wallet_id

Method: GET

Responses:

On Success

        {
            "status": "success",
            "data": {
                "id": "string",
                "name": "string",
                "wallet_id": "string",
                "createdAt": "string",
                "updatedAt": "string"
            },
            "message": "Player fetched successfully"
        }
                        

If Player Not Found

        {
            "message": "Player not found"
        }
                        

On Error

        {
            "status": "error",
            "message": "Error message"
        }