Getting Started

#Introduction

The INDGM API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs

API Protocols

Our APIs follow the general principles of REST

  1. 1. We use standard GET, POST requests to communicate and HTTP response codes to show status and errors.
  2. 2. You can expect all responses to be returned as JSON.
  3. 3. The API request should have a Content-Type of application/json.
  4. 4. All endpoints require authentication with your API Keys.

#Authentication

Retrieving your API Keys

Your API keys are very vital to making requests successfully to our servers. To get your keys follow the instruction

  1. 1. Log into your INDGM dashboard.
  2. 2. Click Api Key from sidebar.
  3. 3. Select the API Keys open in the Api Key section of the menu to view and copy your keys.

Authorizing API calls

All API calls on INDGM are authenticated. API requests made without authorization will fail with the status : failed.

To authorize API calls from your server, pass your YOUR_PUBLIC_KEY and YOUR_SECRET_KEY as a header of api request. This means passing an Authorization header with a value of PublicKey: YOUR_PUBLIC_KEY and SecretKey: YOUR_SECRET_KEY

Generated Bearer Token

#Get Token

To generate the bearer token follow the example code and be careful with the parameters.

Base Urlhttps://www.indgm.com/api/

HTTP Method: POST

API URL: https://www.indgm.com/api/generate/authorization-token

API Key: Get YOUR_PUBLIC_KEY and YOUR_SECRET_KEY from the account page API Key

Response format: JSON


Header Params

PublicKey* string

Find the PublicKey from user dashboard

SecretKey* string

Find the SecretKey from user dashboard

Referer* string

Your Whitelisted Domain (Must match Dashboard)

var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://www.indgm.com/api/generate/authorization-token',
  'headers': {
    'PublicKey': 'YOUR_PUBLIC_KEY',
    'SecretKey': 'YOUR_SECRET_KEY',
    'Referer': 'https://your-domain.com'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
import requests

url = "https://www.indgm.com/api/generate/authorization-token"

payload={}
headers = {
  'PublicKey': 'YOUR_PUBLIC_KEY',
  'SecretKey': 'YOUR_SECRET_KEY',
  'Referer': 'https://your-domain.com'
}

response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
<?php

$client = new Client();
$headers = [
  'PublicKey' => 'YOUR_PUBLIC_KEY',
  'SecretKey' => 'YOUR_SECRET_KEY',
  'Referer' => 'https://your-domain.com'
];
$request = new Request('POST', 'https://www.indgm.com/api/generate/authorization-token', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
curl --location --request POST 'https://www.indgm.com/api/generate/authorization-token' \
--header 'PublicKey: YOUR_PUBLIC_KEY' \
--header 'SecretKey: YOUR_SECRET_KEY' \
--header 'Referer: https://your-domain.com'
require "uri"
require "net/http"

url = URI("https://www.indgm.com/api/generate/authorization-token")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["PublicKey"] = "YOUR_PUBLIC_KEY"
request["SecretKey"] = "YOUR_SECRET_KEY"
request["Referer"] = "https://your-domain.com"

response = http.request(request)
puts response.read_body
{
    "status": "success",
    "message": "Token generated successfully",
    "bearer_token": "2|pz4WUIZZ9ugWvI1xiu6V7cs05mTrtD2ErRzLs8fFfc4d55c8"
}
{
    "status": "failed",
    "errors": "Something went wrong"
}

Category

#Get Category

To get all the category list follow the example code and be careful with the parameters.

Base Urlhttps://www.indgm.com/api/

HTTP Method: GET

API URL: https://www.indgm.com/api/get-category

API Key: Pass your bearer token to the authorization header GET Bearer

Response format: JSON


Response Body

id: category id

name: category name

icon: category icon

type: which type of category, 2 type available top_up,card

active_children: how many active product in category

curl --location --request GET 'BASE_URL/get-category' \
--header 'PublicKey: YOUR_PUBLIC_KEY' \
--header 'SecretKey: YOUR_SECRET_KEY'
<?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/get-category', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
var request = http.Request('GET', Uri.parse('BASE_URL/get-category'));

http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}
curl --location -g --request GET 'BASE_URL/get-category'
require "uri"
require "net/http"

url = URI("BASE_URL/get-category")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"

response = http.request(request)
puts response.read_body
{
    "status": "success",
    "message": {
        "categories": [
            {
                "id": 1,
                "name": "Mobile Game Cards",
                "icon": "fa-light fa-game-console-handheld",
                "type": "card",
                "active_children": 2
            },
            {
                "id": 2,
                "name": "Game Cards",
                "icon": "fa-light fa-diamond",
                "type": "card",
                "active_children": 2
            }
        ]
    }
}
{
    "status": "failed",
    "errors": "Something went wrong"
}

Top Up API

# Get Product Catalog

Fetch the complete catalog of available games and top-ups.

GET https://www.indgm.com/api/top-up/list
AUTH Bearer Token required
Core Response Fields
id
Unique Game/Top-up ID
name
Game Name (e.g., Mobile Legends)
order_information
The required dynamic fields you must send when placing an order.
services
Array of available denominations (e.g., 50 Diamonds) and their specific prices.
UID Validation Note

If a product entry inside the catalog contains an order_information block, it explicitly supports live verification via the /validate-account endpoint.

curl --location 'https://www.indgm.com/api/top-up/list' \
--header 'Authorization: Bearer YOUR_TOKEN'
<?php
$client = new Client();
$request = new Request('GET', 'https://www.indgm.com/api/top-up/list', [
  'Authorization' => 'Bearer YOUR_TOKEN'
]);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://www.indgm.com/api/top-up/list',
  'headers': { 'Authorization': 'Bearer YOUR_TOKEN' }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
import requests
url = "https://www.indgm.com/api/top-up/list"
headers = { 'Authorization': 'Bearer YOUR_TOKEN' }
response = requests.request("GET", url, headers=headers)
print(response.text)
{
    "status": "success",
    "message": {
        "items": [
            {
                "id": 10,
                "name": "PUBG Mobile UC (Global)",
                "status": 1,
                "order_information": [
                    { "field_name": "User_Id", "field_type": "text" },
                    { "field_name": "Zone_Id", "field_type": "text" }
                ],
                "services": [
                    {
                        "id": 29,
                        "name": "60 UC",
                        "price": 0.98,
                        "status": 1
                    }
                ]
            }
        ]
    }
}

# Validate Player Account ID

Verify if a Player ID or Server ID exists and fetch the player's game nickname before placing an order.

POST https://www.indgm.com/api/top-up/validate-account
Required Parameters
serviceId
* int
The specific package denomination ID.
[Dynamic Keys]
* string
Pass the dynamic parameters required by the game (e.g., Userid, Zoneid).
curl --location 'https://www.indgm.com/api/top-up/validate-account' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
    "serviceId": 29,
    "User_Id": "12345678",
    "Zone_Id": "1234"
}'
<?php
$body = json_encode([
    'serviceId' => 29,
    'User_Id' => '12345678',
    'Zone_Id' => '1234'
]);
$request = new Request('POST', 'https://www.indgm.com/api/top-up/validate-account', [
  'Authorization' => 'Bearer YOUR_TOKEN',
  'Content-Type' => 'application/json'
], $body);
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://www.indgm.com/api/top-up/validate-account',
  'headers': {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({"serviceId": 29, "User_Id": "12345678", "Zone_Id": "1234"})
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
{
  "status": "success",
  "message": "Player_Nickname"
}
{
  "status": "failed",
  "errors": "User ID does not exist."
}

# Place an Order

Submit a top-up request. Your wallet balance will be deducted immediately.

POST https://www.indgm.com/api/top-up/make-order
Required Payload Parameters
topUpId
* int
The main Game ID
serviceId
* int
The specific denomination ID (e.g., 60 UC)
[Dynamic Fields]
* string
You must pass the exact keys found in the `order_information` array from the Product list (e.g., `User_Id`, `Zone_Id`).
curl --location 'https://www.indgm.com/api/top-up/make-order' \
--header 'Authorization: Bearer YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
    "topUpId": 10,
    "serviceId": 29,
    "User_Id": "12345678",
    "Zone_Id": "1234"
}'
<?php
$body = json_encode([
    'topUpId' => 10,
    'serviceId' => 29,
    'User_Id' => '12345678',
    'Zone_Id' => '1234'
]);
$request = new Request('POST', 'https://www.indgm.com/api/top-up/make-order', [
  'Authorization' => 'Bearer YOUR_TOKEN',
  'Content-Type' => 'application/json'
], $body);
import requests
import json

url = "https://www.indgm.com/api/top-up/make-order"
payload = json.dumps({
  "topUpId": 10,
  "serviceId": 29,
  "User_Id": "12345678",
  "Zone_Id": "1234"
})
headers = {
  'Authorization': 'Bearer YOUR_TOKEN',
  'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
{
    "status": "success",
    "message": "Order placed successfully",
    "utr": "INDGM-9847"
}

Card

#Get Cards

To get all the Card list follow the example code and be careful with the parameters.

Base Urlhttps://www.indgm.com/api/

HTTP Method: GET

API URL: https://www.indgm.com/api/get-card

API Key: Pass your bearer token to the authorization header GET Bearer

Response format: JSON


Response Body

id: Card id

category_id: Card Category id

name: Card Name

slug: Card Slug

status: Card Status. It Should be 1 For All Active Card

product_image: The Card Image Url Path

preview_image: The Card Preview Image Url Path

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/get-card',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN',
    'Cookie': '...'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/get-card"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN',
  'Cookie': '...'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN',
  'Cookie' => '...'
];
$request = new Request('GET', 'BASE_URL/get-card', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/get-card' \
--header 'Authorization: YOUR_BEARER_TOKEN' \
--header 'Cookie: ...'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/get-card")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"
request["Cookie"] = "...."

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "cards": [
            {
                "id": 1,
                "category_id": 1,
                "name": "Honor of Kings (Global)",
                "slug": "honor-of-kings-global",
                "status": 1,
                "product_image": "http://192.168.0.123/indgm/gamers/assets/upload/card/M8H2HEgm9F5idIYoMoU2j6ZvRrJsA6.webp",
                "preview_image": "http://192.168.0.123/indgm/gamers/assets/upload/card/mQnj7yQsc0ZrRn2XaGwPuOWXYiTVwz.webp"
            },
            {
                "id": 3,
                "category_id": 1,
                "name": "Mobile Legends Diamonds Pin",
                "slug": "mobile-legends-diamonds-pin",
                "status": 1,
                "product_image": "http://192.168.0.123/indgm/gamers/assets/upload/card/7OcZfBfKnbcFotrUwDCExlIsNGS0kV.webp",
                "preview_image": "http://192.168.0.123/indgm/gamers/assets/upload/card/oe0U1xKwbjjN4i1V7hjOjpfC2JSS1z.webp"
            },
            .....
        ]
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#Get Card By Category

To get all the Card list by category id follow the example code and be careful with the parameters.

Base Urlhttps://www.indgm.com/api/

HTTP Method: GET

API URL: https://www.indgm.com/api/get-card?category_id={category_id}

API Key: Pass your bearer token to the authorization header GET Bearer

Response format: JSON


Response Body

id: Card id

category_id: Card Category id

name: Card Name

slug: Card Slug

status: Card Status. It Should be 1 For All Active Card

product_image: The Card Image Url Path

preview_image: The Card Preview Image Url Path

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/get-card?category_id=5',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/get-card?category_id=5"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/get-card?category_id=5', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/get-card?category_id=5' \
--header 'Authorization: YOUR_BEARER_TOKEN'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/get-card?category_id=5")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "cards": [
            {
                "id": 10,
                "category_id": 5,
                "name": "Netflix Gift Card (MY)",
                "slug": "netflix-gift-card-my",
                "status": 1,
                "product_image": "http://192.168.0.123/indgm/gamers/assets/upload/card/vNK9c1bqfRqceCLfsR707XNr3IYhMS.webp",
                "preview_image": "http://192.168.0.123/indgm/gamers/assets/upload/card/Cpg8NhG9JWAoWCW63PB8zuo8rdHrKf.webp"
            },
            ....
        ]
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#Card Details

To get Card all information follow the example code and be careful with the parameters.

Base Urlhttps://www.indgm.com/api/

HTTP Method: GET

API URL: https://www.indgm.com/api/card/details?card_id={card_id}

API Key: Pass your bearer token to the authorization header GET Bearer

Response format: JSON


Response Body

id: Card up id

category_id: Card Category id

name: Card Name

slug: Card Slug

region: suppoerted region or country

note: any note for the Card

status: Card Status. It Should be 1 For All Active Card

instant_delivery: 1=> if Top Up send instantly to buyer

description: Card Description

guide: Card Guide

total_review: How many review give by the buyer

avg_rating: The average review rating by the buyer

sell_count: Total Sell time

trending: Trending item for 1, 0 is normal

preview_image: Card Preview Image

product_image: Card Image

services: Card Services

gateways: Active gateways for payment

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/card/details?card_id=1',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/card/details?card_id=1"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/card/details?card_id=1', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/card/details?card_id=1' \
--header 'Authorization: YOUR_BEARER_TOKEN'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/card/details?card_id=1")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "services": [
            {
                "id": 1,
                "card_id": 1,
                "name": "Gift Card 10 INR IN",
                "price": 0.27,
                "discount": 2,
                "discount_type": "percentage",
                "status": 1,
                "is_offered": 0,
                "offered_sell": 0,
                "max_sell": 0,
                "sort_by": 1,
                "old_data": null,
                "campaign_data": null,
                "created_at": "2024-08-17T05:19:12.000000Z",
                "updated_at": "2024-11-11T13:03:09.000000Z",
                "image_path": "https://bugfinder.net/assets/upload/card-service/kTMWS2KWNVWh9GFAwgqlYJrMqhLxbg.webp"
            },
            {
                "id": 2,
                "card_id": 1,
                "name": "Gift Card 25 INR IN",
                "price": 0.42,
                "discount": 2,
                "discount_type": "percentage",
                "status": 1,
                "is_offered": 0,
                "offered_sell": 0,
                "max_sell": 0,
                "sort_by": 2,
                "old_data": null,
                "campaign_data": null,
                "created_at": "2024-08-17T05:20:36.000000Z",
                "updated_at": "2024-11-11T13:03:09.000000Z",
                "image_path": "https://bugfinder.net/assets/upload/card-service/jIWZPRKnzJ91k5KcI9SwKlWPsb8LKu.webp"
            },
            ...
        ]
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#Get Card Services

To get all the Card Services list follow the example code and be careful with the parameters.

Base Urlhttps://www.indgm.com/api/

HTTP Method: GET

API URL: https://www.indgm.com/api/card/services

API Key: Pass your bearer token to the authorization header GET Bearer

Response format: JSON


Response Body

id: Service id

card_id: Card id

name: Service Name

price: The price of service

discount: The discount amount of service

discount_type: The discount amount type. 1.percentage 2.flat

is_offered: The service is in campaign or not. 1=> yes, 0=> not

offered_sell: The campaign sell of the service

max_sell: The campaign max sell limit of the service

old_data: The actual data before campaign

campaign_data: The campaign data of the service

created_at: Service Created date

updated_at: Service updated date

image_path: Service image path

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/card/services',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/card/services"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/card/services', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/card/services' \
--header 'Authorization: YOUR_BEARER_TOKEN'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/card/services")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "services": [
            {
                "id": 1,
                "card_id": 1,
                "name": "Honor of Kings 16 Tokens",
                "price": 2.9,
                "discount": 1,
                "discount_type": "percentage",
                "status": 1,
                "is_offered": 0,
                "offered_sell": 0,
                "max_sell": 0,
                "sort_by": 1,
                "old_data": null,
                "campaign_data": null,
                "created_at": "2025-03-03T09:27:53.000000Z",
                "updated_at": "2025-03-06T04:58:16.000000Z",
                "image_path": "http://192.168.0.123/indgm/gamers/assets/upload/card-service/ksi6iDr9d26D82ZRlr0C3CK9JNpalL.webp"
            },
            {
                "id": 2,
                "card_id": 1,
                "name": "Honor of Kings 80 Tokens",
                "price": 2.45,
                "discount": 1,
                "discount_type": "percentage",
                "status": 1,
                "is_offered": 1,
                "offered_sell": 0,
                "max_sell": 0,
                "sort_by": 1,
                "old_data": null,
                "campaign_data": {
                    "price": "2.45",
                    "discount": "15",
                    "discount_type": "percentage",
                    "max_sell": "1000"
                },
                "created_at": "2025-03-03T09:28:28.000000Z",
                "updated_at": "2025-03-06T04:58:16.000000Z",
                "image_path": "http://192.168.0.123/indgm/gamers/assets/upload/card-service/zEhj4vofwEQIWzzbpiMj5FeOkGzcpl.webp"
            },
            ....
        ]
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#Get Services By Card

To get Services of the Card list follow the example code and be careful with the parameters.

Base Urlhttps://www.indgm.com/api/

HTTP Method: GET

API URL: https://www.indgm.com/api/card/services?card_id={card_id}

API Key: Pass your bearer token to the authorization header GET Bearer

Response format: JSON


Response Body

id: Service id

card_id: Card id

name: Service Name

price: The price of service

discount: The discount amount of service

discount_type: The discount amount type. 1.percentage 2.flat

is_offered: The service is in campaign or not. 1=> yes, 0=> not

offered_sell: The campaign sell of the service

max_sell: The campaign max sell limit of the service

old_data: The actual data before campaign

campaign_data: The campaign data of the service

created_at: Service Created date

updated_at: Service updated date

image_path: Service image path

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/card/services?card_id=1',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/card/services?card_id=1"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/card/services?card_id=1', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/card/services?card_id=1' \
--header 'Authorization: YOUR_BEARER_TOKEN'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/card/services?card_id=1")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "services": [
            {
                "id": 1,
                "card_id": 1,
                "name": "Honor of Kings 16 Tokens",
                "price": 2.9,
                "discount": 1,
                "discount_type": "percentage",
                "status": 1,
                "is_offered": 0,
                "offered_sell": 0,
                "max_sell": 0,
                "sort_by": 1,
                "old_data": null,
                "campaign_data": null,
                "created_at": "2025-03-03T09:27:53.000000Z",
                "updated_at": "2025-03-06T04:58:16.000000Z",
                "image_path": "http://192.168.0.123/indgm/gamers/assets/upload/card-service/ksi6iDr9d26D82ZRlr0C3CK9JNpalL.webp"
            },
            {
                "id": 2,
                "card_id": 1,
                "name": "Honor of Kings 80 Tokens",
                "price": 2.45,
                "discount": 1,
                "discount_type": "percentage",
                "status": 1,
                "is_offered": 1,
                "offered_sell": 0,
                "max_sell": 0,
                "sort_by": 1,
                "old_data": null,
                "campaign_data": {
                    "price": "2.45",
                    "discount": "15",
                    "discount_type": "percentage",
                    "max_sell": "1000"
                },
                "created_at": "2025-03-03T09:28:28.000000Z",
                "updated_at": "2025-03-06T04:58:16.000000Z",
                "image_path": "http://192.168.0.123/indgm/gamers/assets/upload/card-service/zEhj4vofwEQIWzzbpiMj5FeOkGzcpl.webp"
            },
            ....
        ]
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#Order Card

To order card follow the example code and be careful with the parameters.

Base Urlhttps://www.indgm.com/api/

HTTP Method: POST

API URL: https://www.indgm.com/api/card/make-order

API Key: Pass your bearer token to the authorization header GET Bearer

Response format: JSON


Body Params

service_ids* array

The id of Card Service, Must be in array


quantities* array

The Quantity of each Service, Must be in array. Each quantity index value represent the same index number of service_ids quantity


                                                                
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'BASE_URL/card/make-order',
  'headers': {
    'Content-Type': 'application/json',
    'Authorization': 'YOUR_BEARER_TOKEN'
  },
  body: JSON.stringify({
    "serviceIds": [
      1,
      2
    ],
    "quantity": [
      3,
      4
    ]
  })

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

                                                                
123456789101112131415 16 17181920212223242526

import requests
import json

url = "BASE_URL/card/make-order"

payload = json.dumps({
  "serviceIds": [
    1,
    2
  ],
  "quantity": [
    3,
    4
  ]
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)






123456789101112131415 1617181920212223242526

?php
$client = new Client();
$headers = [
  'Content-Type' => 'application/json',
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$body = '{
  "serviceIds": [
    1,
    2
  ],
  "quantity": [
    3,
    4
  ]
}';
$request = new Request('POST', 'BASE_URL/card/make-order', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/card/make-order' \
--header 'Content-Type: application/json' \
--header 'Authorization: YOUR_BEARER_TOKEN' \
--data '{
    "serviceIds": [1,2],
    "quantity": [3,4]
}'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "json"
require "net/http"

url = URI("BASE_URL/card/make-order")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "YOUR_BEARER_TOKEN"
request.body = JSON.dump({
  "serviceIds": [
    1,
    2
  ],
  "quantity": [
    3,
    4
  ]
})

response = http.request(request)
puts response.read_body



123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "utr": "OGRMDQJ71VF6Q"
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": [
        "The service ids field is required.",
    ]
}
                                                            
                                                            
1234567891011121314

#Get Card Reviews

To get Reviews of the Card list follow the example code and be careful with the parameters.

Base Urlhttps://www.indgm.com/api/

HTTP Method: GET

API URL: https://www.indgm.com/api/card/review?card_id={card_id}

API Key: Pass your bearer token to the authorization header GET Bearer

Response format: JSON


Response Body

id: Review id

user_id: Reviewed User ID

rating: Card rating. min value 1 max value 5

comment: Product rating comment

user: Who give the rating

status: Status 1 for published, 0 for holded

                                                                
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/card/review?card_id=9',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});





                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/card/review?card_id=9"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



123456789101112131415 1617181920212223242526

?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/card/review?card_id=9', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/card/review?card_id=9' \
--header 'Authorization: YOUR_BEARER_TOKEN'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/card/review?card_id=9")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"

response = http.request(request)
puts response.read_body


123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": {
        "reviews": [
            {
                "id": 5,
                "user_id": 1,
                "rating": 3,
                "comment": "Amazing product! Everything works flawlessly, and the convenience is unmatched. 70% satisfied!",
                "status": 1,
                "created_at": "2025-03-05T10:37:57.000000Z",
                "updated_at": "2025-03-05T10:37:57.000000Z",
                "user": {
                    "id": 1,
                    "firstname": "Demo",
                    "lastname": "User",
                    "image": "profileImage/fyT3Q7VjKDjvfYcuIXY4CqE2ob7DDP.webp",
                    "image_driver": "local",
                    "imgPath": "http://192.168.0.123/indgm/gamers/assets/upload/profileImage/fyT3Q7VjKDjvfYcuIXY4CqE2ob7DDP.webp",
                    "LastSeenActivity": true,
                    "fullname": "Demo User"
                }
            },
            {
                "id": 10,
                "user_id": 29,
                "rating": 3,
                "comment": "Amazing product! Everything works flawlessly, and the convenience is unmatched. 70% satisfied!",
                "status": 1,
                "created_at": "2025-03-06T05:09:46.000000Z",
                "updated_at": "2025-03-06T05:09:46.000000Z",
                "user": {
                    "id": 29,
                    "firstname": "Angela",
                    "lastname": "Doyle",
                    "image": null,
                    "image_driver": null,
                    "imgPath": "http://192.168.0.123/indgm/gamers/assets/admin/img/default.png",
                    "LastSeenActivity": false,
                    "fullname": "Angela Doyle"
                }
            },
            ....
        ],
        "pagination": {
            "total": 8,
            "per_page": 15,
            "current_page": 1,
            "last_page": 1,
            "next_page_url": null,
            "prev_page_url": null
        }
    }
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": "Something went wrong"
}
                                                            
                                                            
1234567891011121314

#Add Card Reviews

To give a rating of card follow the example code and be careful with the parameters.

Base Urlhttps://www.indgm.com/api/

HTTP Method: POST

API URL: https://www.indgm.com/api/card/review

API Key: Pass your bearer token to the authorization header GET Bearer

Response format: JSON


Body Params

card_id* integer

The id of Card, Must be in integer positive value


rating* number

Must be in positive number between 1 to 5


comment* text

What was your experience


                                                                
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'BASE_URL/card/review',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  },
  formData: {
    'card_id': '9',
    'rating': '5',
    'comment': 'This is review'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});






                                                                
123456789101112131415 16 17181920212223242526

import requests

url = "BASE_URL/card/review"

payload = {'card_id': '9',
'rating': '5',
'comment': 'This is review'}
files=[

]
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)




123456789101112131415 1617181920212223242526

?php
$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$options = [
  'multipart' => [
    [
      'name' => 'card_id',
      'contents' => '9'
    ],
    [
      'name' => 'rating',
      'contents' => '5'
    ],
    [
      'name' => 'comment',
      'contents' => 'This is review'
    ]
]];
$request = new Request('POST', 'BASE_URL/card/review', $headers);
$res = $client->sendAsync($request, $options)->wait();
echo $res->getBody();


                                                                
123456789101112131415 1617181920212223242526

curl --location 'BASE_URL/card/review' \
--header 'Authorization: YOUR_BEARER_TOKEN' \
--form 'card_id="9"' \
--form 'rating="5"' \
--form 'comment="This is review"'
                                                                
123456789101112131415 1617181920212223242526

require "uri"
require "net/http"

url = URI("BASE_URL/card/review")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Post.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"
form_data = [['card_id', '9'],['rating', '5'],['comment', 'This is review']]
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body



123456789101112131415 1617181920212223242526

{
    "status": "success",
    "message": "Review Added Successfully"
}
                                                        
123456789101112131415 1617181920212223242526
                                                                
{
    "status": "failed",
    "errors": [
        "The top up id field is required.",
        "The rating field is required.",
        "The comment field is required."
    ]
}
                                                            
                                                            
1234567891011121314

Order List

#Top Up Order List

To get all the top up order list follow the example code and be careful with the parameters.

Base Urlhttps://www.indgm.com/api/

HTTP Method: GET

API URL: https://www.indgm.com/api/get-topup/orders

API Key: Pass your bearer token to the authorization header GET Bearer

Response format: JSON


Response Body

utr: Unique order id

price: Order total amount

currency: Amount paid currency

status: The status of the order. 0=>initiate, 1=>completed,2=>refund,3=>stock_short

informations: Top Up order information

review_user_info: User review

order_details: array of object. every service details of order

curl --location 'BASE_URL/topUp/order' \
--header 'Authorization: YOUR_BEARER_TOKEN'
<?php
$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/topUp/order', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/topUp/order',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
import requests

url = "BASE_URL/topUp/order"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "net/http"

url = URI("BaseURL/topUp/order")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"

response = http.request(request)
puts response.read_body
{
    "status": "success",
    "message": {
        "current_page": 1,
        "data": [
            {
                "utr": "O8NYH38WAQW8B",
                "price": 54,
                "currency": "USD",
                "symbol": "$",
                "status": "Wait Sending",
                "dateTime": "2025-03-05T11:59:52.000000Z",
                "order_details": [
                    {
                        "utr": "O8NYH38WAQW8B",
                        "rating": 5,
                        "image": "http://192.168.0.123/indgm/gamers/assets/upload/top-up-service/yRvTZ7P5wwOeDGE2YdCQJMk9SytjiD.webp",
                        "discount": 54,
                        "quantity": 1,
                        "name": "Arena Breakout: Infinite Top Up",
                        "service": "500 +10 Bonds",
                        "base_price": 108,
                        "currency": "USD",
                        "symbol": "$",
                        "slug": "arena-breakout-infinite-top-up"
                    }
                ],
                "review_user_info": [
                    {
                        "review": {
                            "comment": "Amazing product! Everything works flawlessly, and the convenience is unmatched. 100% satisfied!",
                            "rating": 5,
                            "status": "active"
                        }
                    }
                ],
                "informations": {
                    "Server ID": "server-5878",
                    "Server Name": "America"
                }
            }
        ],
        "first_page_url": "http://192.168.0.123/indgm/gamers/api/topUp/order?page=1",
        "from": 1,
        "last_page": 1,
        "last_page_url": "http://192.168.0.123/indgm/gamers/api/topUp/order?page=1",
        "links": [],
        "next_page_url": null,
        "path": "http://192.168.0.123/indgm/gamers/api/topUp/order",
        "per_page": 10,
        "prev_page_url": null,
        "to": 7,
        "total": 7
    }
}
{
    "status": "failed",
    "errors": "Something went wrong"
}

#Card Order List

To get all the card order list follow the example code and be careful with the parameters.

Base Urlhttps://www.indgm.com/api/

HTTP Method: GET

API URL: https://www.indgm.com/api/get-card/orders

API Key: Pass your bearer token to the authorization header GET Bearer

Response format: JSON


Response Body

utr: Unique order id

price: Order total amount

currency: Amount paid currency

status: The status of the order. 0=>initiate, 1=>completed,2=>refund,3=>stock_short

informations: Top Up order information

review_user_info: User review

order_details: array of object. every service details of order

curl --location 'BASE_URL/card/order' \
--header 'Authorization: YOUR_BEARER_TOKEN'
<?php
$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/card/order', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/card/order',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  },
  formData: {}
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
import requests

url = "BASE_URL/card/order"

payload = {}
files={}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload, files=files)
print(response.text)
require "uri"
require "net/http"

url = URI("BASE_URL/card/order")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"
form_data = []
request.set_form form_data, 'multipart/form-data'
response = http.request(request)
puts response.read_body
{
    "status": "success",
    "message": {
        "current_page": 1,
        "data": [
            {
                "utr": "ONS8GNE4BJ884",
                "price": 34.48,
                "currency": "USD",
                "symbol": "$",
                "status": "Complete",
                "dateTime": "2025-03-05T12:02:42.000000Z",
                "order_details": [
                    {
                        "utr": "ONS8GNE4BJ884",
                        "id": 6,
                        "rating": 0,
                        "image": "http://192.168.0.123/indgm/gamers/assets/upload/card-service/6xEzC2ACZMVChJHteBLNUAF6R63vHJ.webp",
                        "card": "Flexepin (CA)",
                        "slug": "flexepin-ca",
                        "service": "Flexepin 20 CAD",
                        "base_price": 12.62,
                        "currency": "USD",
                        "symbol": "$",
                        "discount": 0.38,
                        "quantity": 1,
                        "card_codes": [
                            "FP8796545425"
                        ],
                        "stock_short": "You have 0 more code in wait sending list"
                    }
                ],
                "review_user_info": [],
                "informations": []
            }
        ],
        "first_page_url": "http://192.168.0.123/indgm/gamers/api/card/order?page=1",
        "from": 1,
        "last_page": 1,
        "last_page_url": "http://192.168.0.123/indgm/gamers/api/card/order?page=1",
        "links": [],
        "next_page_url": null,
        "path": "http://192.168.0.123/indgm/gamers/api/card/order",
        "per_page": 10,
        "prev_page_url": null,
        "to": 10,
        "total": 10
    }
}
{
    "status": "failed",
    "errors": "Something went wrong"
}

Campaign

#Get Campaign

To get campaign list follow the example code and be careful with the parameters.

Base Urlhttps://www.indgm.com/api/

HTTP Method: GET

API URL: https://www.indgm.com/api/get-campaign

API Key: Pass your bearer token to the authorization header GET Bearer

Response format: JSON


Response Body

id: campaign id

name: campaign name

start_date: when campaign start

end_date: when campaign end

topups: the list of top up services for campaign

cards: the list of card services for campaign

curl --location 'BASE_URL/get-campaign' \
--header 'Authorization: YOUR_BEARER_TOKEN'
<?php

$client = new Client();
$headers = [
  'Authorization' => 'YOUR_BEARER_TOKEN'
];
$request = new Request('GET', 'BASE_URL/get-campaign', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
var request = require('request');
var options = {
  'method': 'GET',
  'url': 'BASE_URL/get-campaign',
  'headers': {
    'Authorization': 'YOUR_BEARER_TOKEN'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
import requests

url = "BASE_URL/get-campaign"

payload = {}
headers = {
  'Authorization': 'YOUR_BEARER_TOKEN'
}

response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
require "uri"
require "net/http"

url = URI("BASE_URL/get-campaign")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "YOUR_BEARER_TOKEN"

response = http.request(request)
puts response.read_body
{
    "status": "success",
    "message": {
        "campaign": {
            "id": 1,
            "name": "Flash Deal",
            "start_date": "2025-03-06",
            "end_date": "2025-03-31",
            "status": 1,
            "created_at": "2025-03-06T04:58:14.000000Z",
            "updated_at": "2025-03-06T04:58:14.000000Z",
            "topups": [
                {
                    "id": 1,
                    "top_up_id": 2,
                    "name": "MICO Live 88 Coins",
                    "price": 2.8,
                    "discount": 5,
                    "discount_type": "percentage",
                    "status": 1,
                    "offered_sell": 0,
                    "max_sell": 0,
                    "old_data": null,
                    "campaign_data": {
                        "price": "2.8",
                        "discount": "8",
                        "discount_type": "percentage",
                        "max_sell": "1000"
                    },
                    "created_at": "2025-03-04T09:57:49.000000Z",
                    "updated_at": "2025-03-06T04:58:15.000000Z",
                    "image_path": "http://192.168.0.123/indgm/public/assets/upload/top-up-service/EOPdhKAMgfaPhI1VxN30StKN3xytZI.webp"
                }
            ],
            "cards": [
                {
                    "id": 2,
                    "card_id": 1,
                    "name": "Honor of Kings 80 Tokens",
                    "price": 2.45,
                    "discount": 1,
                    "discount_type": "percentage",
                    "status": 1,
                    "offered_sell": 0,
                    "max_sell": 0,
                    "old_data": null,
                    "campaign_data": {
                        "price": "2.45",
                        "discount": "15",
                        "discount_type": "percentage",
                        "max_sell": "1000"
                    },
                    "created_at": "2025-03-03T09:28:28.000000Z",
                    "updated_at": "2025-03-06T04:58:16.000000Z",
                    "image_path": "http://192.168.0.123/indgm/public/assets/upload/top-up-service/EOPdhKAMgfaPhI1VxN30StKN3xytZI.webp"
                }
            ]
        }
    }
}
{
    "status": "failed",
    "errors": "Something went wrong"
}
Drag to move ✋
Support
Special Offer

HOK X Dan Da Dan

Honor of Kings x DAN DA DAN Collab Has Arrived!

Refer and Earn
Referral Rewards
Earn upto 2200 loyalty point per referral • 100 loyalty point = 1 INDGM Coin
Earn 500 Pts
First Review Bonus
Rate your recent purchases to claim