Skip to content

Overview

  • Version: 2.0.0
  • Servers: https://store.xsolla.com/api
  • Contact Us by Email
  • Contact URL: https://xsolla.com/
  • Required TLS version: 1.2

The Catalog API allows you to configure a catalog of in-game items on the Xsolla side and display the catalog to users in your store.

The API allows you to manage the following catalog entities:

  • Virtual items — in-game items such as weapons, skins, boosters.
  • Virtual currency — virtual money used to purchase virtual goods.
  • Virtual currency packages — predefined bundles of virtual currency.
  • Bundles — combined packages of virtual items, currency, or game keys sold as a single SKU.
  • Game keys — keys for games and DLCs distributed via platforms like Steam or other DRM providers.
  • Groups — logical groupings for organizing and sorting items within the catalog.

API calls

The API is divided into the following groups:

  • Admin — calls for creating, updating, deleting, and configuring catalog items and groups. Authenticated via basic access authentication with your merchant or project credentials. Not intended for storefront use.
  • Catalog — calls for retrieving items and building custom storefronts for end users. Designed to handle high-load scenarios. Support optional user JWT authorization to return personalized data such as user-specific limits and active promotions.
Download OpenAPI description
Languages
Servers
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/api/catalog/
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations

Refresh all purchase limits for specified userServer-sideAdmin

Request

Refreshes all purchase limits across all items for a specified user so they can purchase these items again.

User limit API allows you to sell an item in a limited quantity. To configure the purchase limits, go to the Admin section of the desired item type module:

Security
basicAuth
Path
project_idintegerrequired

Project ID. You can find this parameter in your Publisher Account next to the name of the project.

Example: 44056
Bodyapplication/json
userobject(User-limit_user)required
user.​user_external_idstring(User-limit_user-external-id)non-empty^\S+$required

User external ID.

curl -i -X DELETE \
  -u <username>:<password> \
  https://store.xsolla.com/api/v2/project/44056/admin/user/limit/item/all \
  -H 'Content-Type: application/json' \
  -d '{
    "user": {
      "user_external_id": "d342dad2-9d59-11e9-a384-42010aa8003f"
    }
  }'

Responses

The limit was successfully refreshed.

Response
No content

Refresh purchase limitServer-sideAdmin

Request

Refreshes the purchase limit for an item so a user can buy it again. If the user parameter is null, this call refreshes this limit for all users.

User limit API allows you to sell an item in a limited quantity. To configure the purchase limits, go to the Admin section of the desired item type module:

Security
basicAuth
Path
project_idintegerrequired

Project ID. You can find this parameter in your Publisher Account next to the name of the project.

Example: 44056
item_skustringrequired

Item SKU.

Example: booster_mega_1
Bodyapplication/json
userobject or null(User-limit_user_flexible)required
user.​user_external_idstring(User-limit_user-external-id)non-empty^\S+$

User external ID.

curl -i -X DELETE \
  -u <username>:<password> \
  https://store.xsolla.com/api/v2/project/44056/admin/user/limit/item/sku/booster_mega_1/all \
  -H 'Content-Type: application/json' \
  -d '{
    "user": {
      "user_external_id": "d342dad2-9d59-11e9-a384-42010aa8003f"
    }
  }'

Responses

The limit was successfully refreshed.

Response
No content

Get number of items available to specified userServer-sideAdmin

Request

Gets the remaining number of items available to the specified user within the limit applied.

User limit API allows you to sell an item in a limited quantity. To configure the purchase limits, go to the Admin section of the desired item type module:

Security
basicAuth
Path
project_idintegerrequired

Project ID. You can find this parameter in your Publisher Account next to the name of the project.

Example: 44056
item_skustringrequired

Item SKU.

Example: booster_mega_1
Query
user_external_idstringrequired

User external ID

Example: user_external_id=d342dad2-9d59-11e9-a384-42010aa8003f
curl -i -X GET \
  -u <username>:<password> \
  'https://store.xsolla.com/api/v2/project/44056/admin/user/limit/item/sku/booster_mega_1?user_external_id=d342dad2-9d59-11e9-a384-42010aa8003f'

Responses

Purchase limits for a user were successfully received.

Bodyapplication/json
per_userobject
Response
application/json
{ "per_user": { "total": 10, "available": 9 } }
Operations
Operations
Operations
Operations

Catalog

This API allows getting any kind of sellable items or specific item.

Operations
Operations
Operations