P_wholesaleAuctionProducts
Returns a paginated list of products that have at least one active wholesale auction with available stock. Supports filtering by product name, EAN, and product type.
This feature is available only to accounts with the Wholesale Buyer role. Contact Eneba support if you receive a
403 or an access-denied error.Supported arguments
The following arguments are supported by P_wholesaleAuctionProducts query:
| Field | Type | Description |
|---|---|---|
first | Int | Returns up to the first n elements from the list |
after | String | Returns the elements that come after the specified cursor |
search | String | Search phrase matched against product name. Accepts at most 10 whitespace-separated terms; longer queries are rejected. |
ean | String | Exact EAN filter |
productType | P_ProductType | Filter by product type |
Return type
The query returns theP_API_ProductConnection type.
Pagination
This query uses cursor-based pagination following the Relay Connection spec.
- Use
firstto set the page size. Minimum is1, default is20, maximum is100. - On the first request, omit
after(or passnull). - The response includes a
pageInfoobject:hasNextPage—trueif more results exist beyond the current page.endCursor— an opaque string representing the position of the last item on the current page.
- To fetch the next page, pass the previous response's
pageInfo.endCursoras theafterargument. - Repeat until
pageInfo.hasNextPageisfalse. totalCountreflects the total number of matching products across all pages.
Behavior
- A product is only returned if it has at least one wholesale auction that is enabled, not expired, and has stock available.
- Results are sorted by product creation date, newest first.
searchperforms a full-text search on the English product name. Each whitespace-separated word must appear in the name (AND logic). Accepts at most 10 terms — queries exceeding this limit are rejected with an error. Omit or passnullto return all eligible products.eanperforms an exact match on the product's EAN-13 barcode. Omit or passnullto return products regardless of EAN.productTypefilters to a single product category. See Product type options for valid values. Omit or passnullto return all product types.
Product type options
The productType argument accepts the following P_ProductType values:
| Value | Description |
|---|---|
GAME | Full game titles. |
GIFTCARD | Gift cards. |
GAME_POINTS | In-game currency or points. |
DLC | Downloadable content / expansions. |
SOFTWARE | Non-game software. |
SUBSCRIPTION | Subscription services. |
TOP_UP | Generic top-up codes. |
DIRECT_TOP_UP | Direct top-up codes (account-linked). |
MOBILE_RECHARGE | Mobile phone recharge codes. |
EMONEY_PREPAID | E-money / prepaid payment codes. |
Response fields
P_API_Product (each node)
| Field | Type | Description |
|---|---|---|
id | P_Uuid! | Stable UUID for the product. |
name | String! | Full product display name. |
slug | String! | URL-friendly product slug. |
productType | P_ProductType | Product category (e.g. GAME, GIFTCARD). See Product type options for valid values. |
releasedAt | P_DateTime | Product release date (ISO 8601), or null if unknown. |
ean | String | EAN-13 barcode, or null if not set. |
os | P_OSEnumSet | Set of supported operating systems, or null if not applicable. |
regions | [String!] | List of geographic regions where the product is valid (e.g. GLOBAL, EUROPE). |
regionWhitelist | [String!] | Regions explicitly allowed for activation. Empty means no restriction. |
regionBlacklist | [String!] | Regions explicitly blocked from activation. |
countries | [String] | Countries associated with this product. |
countriesWhitelist | [String] | If non-empty, the product may only be purchased from these countries (IP-based). |
countriesHardBlacklist | [String!]! | Countries from which this product is inaccessible (IP-based). |
noActivationCountries | [String!] | Countries where the key cannot be activated. |
P_PageInfo
| Field | Type | Description |
|---|---|---|
hasNextPage | Boolean! | Whether more pages exist when paginating forward. |
hasPreviousPage | Boolean! | Whether more pages exist when paginating backward. |
startCursor | String | Cursor for the first item on the current page. |
endCursor | String | Cursor to pass as after to fetch the next page. |
Example usage
Query
query getWholesaleAuctionProducts(
$first: Int
$after: String
$search: String
$ean: String
$productType: P_ProductType
) {
P_wholesaleAuctionProducts(
first: $first
after: $after
search: $search
ean: $ean
productType: $productType
) {
totalCount
edges {
cursor
node {
id
name
slug
productType
releasedAt
ean
os
regions
regionWhitelist
regionBlacklist
countries
countriesWhitelist
countriesHardBlacklist
noActivationCountries
}
}
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
}
}First page
Variables
{ "first": 20 }Response
{
"data": {
"P_wholesaleAuctionProducts": {
"totalCount": 85,
"edges": [
{
"cursor": "YXJyYXljb25uZWN0aW9uLjA=",
"node": {
"id": "e5f6a7b8-5678-11ee-be56-0242ac120002",
"name": "Call of Duty: Modern Warfare III Steam Key GLOBAL",
"slug": "call-of-duty-modern-warfare-iii-steam-key-global",
"productType": "GAME",
"releasedAt": "2023-11-10T00:00:00+00:00",
"ean": null,
"os": null,
"regions": ["GLOBAL"],
"regionWhitelist": [],
"regionBlacklist": [],
"countries": null,
"countriesWhitelist": null,
"countriesHardBlacklist": [],
"noActivationCountries": null
}
}
],
"pageInfo": {
"hasNextPage": true,
"hasPreviousPage": false,
"startCursor": "YXJyYXljb25uZWN0aW9uLjA=",
"endCursor": "YXJyYXljb25uZWN0aW9uLjA="
}
}
}
}Search by product name
Variables
{ "first": 20, "search": "Minecraft" }Next page
Pass the endCursor from the previous response as after.
Variables
{ "first": 20, "after": "YXJyYXljb25uZWN0aW9uLjA=" }Filter by EAN
Variables
{ "first": 20, "ean": "5030931123284" }Filter by product type
Variables
{ "first": 20, "productType": "GAME" }Combine filters
search, ean, and productType can be combined. All specified filters are applied together (AND logic).
Variables
{ "first": 20, "search": "Minecraft", "productType": "GAME" }