Live Store Smooth recharge flow with instant status tracking. 3-up Layout Games and packs stay clean and easy to compare. Mobile Ready Drawer navigation, responsive docs, and MLBB tools travel better on phones.
Developer API

Clean public API docs for games, packs, and player validation

Share this page with API users who need active game lists, pack discovery, MLBB-friendly tooling, and supported name-check requests from one responsive layout.

Live Snapshot
Live API Status
3 Active Games
6 Active Packs
1 Name Check Ready
Authentication

Every request needs a private API key

Send the key using either of these headers:

Authorization: Bearer YOUR_API_KEY
X-API-Key: YOUR_API_KEY
Endpoint 1

List active games

GET resource=games include_packs=1 optional
https://xtragamess.com/api?resource=games

What you get

  • Active games only, already filtered for storefront use.
  • Optional pack embedding for one-call catalog bootstrapping.
  • Player ID labels, server requirements, and name-check availability.
curl -H "Authorization: Bearer YOUR_API_KEY" "https://xtragamess.com/api?resource=games&include_packs=1"
{
    "success": true,
    "resource": "games",
    "count": 1,
    "include_packs": false,
    "data": [
        {
            "id": 1,
            "name": "Free Fire",
            "slug": "free-fire",
            "description": "Popular battle royale top-ups.",
            "image_url": "https://example.com/free-fire.jpg",
            "accent_color": "#ef4444",
            "player_id_label": "Player ID / UID",
            "requires_server": false,
            "server_label": "Server / Zone",
            "server_options": [],
            "name_check_available": true,
            "sort_order": 1,
            "pack_count": 12,
            "starting_price": 10
        }
    ],
    "docs_url": "https://xtragamess.com/api_docs"
}
Endpoint 2

List active packs

GET resource=packs Filters: game_id or game_slug
https://xtragamess.com/api?resource=packs&game_slug=your-game-slug

Why this helps

  • Pull only the packs for one title when your external user has already chosen the game.
  • Get pricing, server requirements, and validation capability in the same response.
  • Use the same active catalog rules as the storefront.
curl -H "X-API-Key: YOUR_API_KEY" "https://xtragamess.com/api?resource=packs&game_slug=your-game-slug"
{
    "success": true,
    "resource": "packs",
    "count": 2,
    "filters": {
        "game_id": null,
        "game_slug": "free-fire"
    },
    "data": [
        {
            "id": 5,
            "game_id": 1,
            "game_name": "Free Fire",
            "game_slug": "free-fire",
            "title": "Weekly Membership",
            "slug": "weekly-membership",
            "description": "Popular recurring pack.",
            "image_url": "https://example.com/weekly.jpg",
            "coins": "Membership",
            "bonus": "Extra rewards",
            "price": 159,
            "currency": "INR",
            "player_id_label": "Player ID / UID",
            "requires_server": false,
            "server_label": "Server / Zone",
            "server_options": [],
            "name_check_available": true,
            "auto_recharge_enabled": false,
            "sort_order": 1
        }
    ],
    "docs_url": "https://xtragamess.com/api_docs"
}
Endpoint 3

Run a supported player name check

Send player_id plus one of game_id, game_slug, pack_id, or pack_slug with game_slug. Add server_name when the game requires a zone or server.

https://xtragamess.com/api?resource=name_check
curl -X POST "https://xtragamess.com/api?resource=name_check" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "game_slug": "free-fire",
    "pack_slug": "weekly-membership",
    "player_id": "123456789",
    "server_name": "ind"
  }'
{
    "success": true,
    "resource": "name_check",
    "message": "Player validated successfully.",
    "valid": true,
    "username": "Demo Player",
    "player_id": "123456789",
    "zone_id": "ind",
    "game": {
        "id": 1,
        "name": "Free Fire",
        "slug": "free-fire"
    },
    "pack": {
        "id": 5,
        "title": "Weekly Membership",
        "slug": "weekly-membership"
    },
    "raw": [],
    "docs_url": "https://xtragamess.com/api_docs"
}
Responses

Status codes to expect

200

Request succeeded and returned usable JSON data.

401

Missing or invalid API key header.

404

Unknown resource or missing game or pack.

405

The endpoint requires a different HTTP method.

422

Input validation failed or the player could not be validated.

503

API is disabled or maintenance mode is active.

Next Step

Want a quicker MLBB flow too?

Use the MLBB checker page to prepare UID and zone values visually, then copy the payload structure into this API if you are building a lightweight reseller form.