Skip to content

List the catalogue

GET
/v1/catalog
curl --request GET \
--url https://api.pekangame.space/api/reseller/v1/catalog \
--header 'Authorization: Bearer <token>'

Every orderable product for the calling reseller, grouped by game. Each package’s price_sen is your own price for that package, in sen. Order against packages[].code ({game code}-{denomination}). checkout_input is the game’s input contract: player_id_format (numeric = digits only, text = letters, digits and # . _ -), and field (null = send no server_id; server_id = digits only; zone_id = one of options).

Your priced catalogue.

Media typeapplication/json
object
games
required
Array<object>
object
code
required
string | null
name
required
string
checkout_input
required
object
field
required
string | null
options
required
Array<string> | null
player_id_format
required
string
Allowed values: text numeric
packages
required
Array<object>
object
code
required
string
name
required
string
price_sen
required
integer
Example
{
"games": [
{
"code": "MLMY",
"name": "Mobile Legends (Malaysia)",
"checkout_input": {
"field": "server_id",
"options": null,
"player_id_format": "numeric"
},
"packages": [
{
"code": "MLMY-14",
"name": "14 Diamonds",
"price_sen": 1200
},
{
"code": "MLMY-86",
"name": "86 Diamonds",
"price_sen": 6300
}
]
}
]
}

MISSING_API_KEY or INVALID_API_KEY.

Media typeapplication/json
object
error
required
string
message
required
string
Example
{
"error": "MISSING_API_KEY",
"message": "An API key is required. Send it as a bearer token."
}

RESELLER_INACTIVE or IP_NOT_ALLOWED.

Media typeapplication/json
object
error
required
string
message
required
string
Example
{
"error": "RESELLER_INACTIVE",
"message": "This reseller account is deactivated."
}

NO_TIER_ASSIGNED — this account has no pricing configured yet.

Media typeapplication/json
object
error
required
string
message
required
string
Example
{
"error": "NO_TIER_ASSIGNED",
"message": "This reseller account has no pricing configured yet. Contact PekanGame to set it up."
}

RATE_LIMITED — retry after the Retry-After header.

Media typeapplication/json
object
error
required
string
message
required
string
Example
{
"error": "RATE_LIMITED",
"message": "Too many requests. Retry after the period given in the Retry-After header."
}