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

Fill specific cart with itemsClient-side

Request

Fills the specific cart with items. If the cart already has an item with the same SKU, the existing item position will be replaced by the passed value.

Security
AuthForCart
Path
project_idintegerrequired

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

Example: 44056
cart_idstringrequired

Cart ID.

Example: custom_id
Bodyapplication/json
itemsArray of objectsrequired

List of items.

Example: [{"sku":"com.xsolla.booster_mega_1","quantity":123}]
items[].​skustringrequired
Default "booster_mega_1"
items[].​quantitynumberrequired
Default 123
curl -i -X PUT \
  https://store.xsolla.com/api/v2/project/44056/cart/custom_id/fill \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "items": [
      {
        "sku": "com.xsolla.booster_mega_1",
        "quantity": 123
      }
    ]
  }'

Responses

The cart with items was successfully returned.

Bodyapplication/json
cart_idstring

Cart ID.

Example: "cart_id"
priceobject or null

Cart price.

Example: {"amount":"6150.0000000000000000","amount_without_discount":"6150.0000000000000000","currency":"USD"}
is_freeboolean(value-cart_is_free)

If true, a cart is free.

Default false
Example: false
itemsArray of objects
promotionsArray of objects(Catalog_cart_promotions)

Applied promotions for the entire cart. The array is returned in the following cases:

  • A promotion affects the total cart amount, such as a promo code with the Discount on purchase setting.

  • A promotion adds bonus items to the cart.

If no order-level promotions are applied, an empty array is returned.

warningsArray of objects
Response
application/json
{ "cart_id": "cart_id", "is_free": false, "items": [ {} ], "warnings": [ {} ], "price": { "amount": "6150.0000000000000000", "amount_without_discount": "6150.0000000000000000", "currency": "USD" }, "promotions": [ {} ] }

Update cart item by cart IDClient-side

Request

Updates an existing cart item or creates the one in the cart.

Security
AuthForCart
Path
project_idintegerrequired

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

Example: 44056
cart_idstringrequired

Cart ID.

Example: custom_id
item_skustringrequired

Item SKU.

Example: booster_mega_1
Bodyapplication/json
quantitynumber

Item quantity.

Default 123
curl -i -X PUT \
  https://store.xsolla.com/api/v2/project/44056/cart/custom_id/item/booster_mega_1 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "quantity": 123
  }'

Responses

The cart was successfully updated.

Response
No content

Delete cart item by cart IDClient-side

Request

Removes an item from the cart.

Security
AuthForCart
Path
project_idintegerrequired

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

Example: 44056
cart_idstringrequired

Cart ID.

Example: custom_id
item_skustringrequired

Item SKU.

Example: booster_mega_1
curl -i -X DELETE \
  https://store.xsolla.com/api/v2/project/44056/cart/custom_id/item/booster_mega_1 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

The item from the cart was successfully deleted.

Response
No content
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations

Catalog

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

Operations
Operations
Operations