Time limit for displaying items in store

How it works

You can set the display period for an item in the store to:

Time limit configuration is available for the following scenarios:
  • sale of in-game items — virtual items, virtual currency packages, and bundles
  • sale of games and DLC via game keys
For virtual items, virtual currency packages, and bundles, configuration is available via the Publisher Account and API calls. For virtual currency and game keys, configuration is available only via API calls.
Note

Item display time limits are not taken into account within a bundle.

Example
  1. You create a Booster virtual item and set its display period from October 29th to November 15th.
  2. You create a Legendary Start Pack bundle that includes the Booster. The bundle does not have a time limit, so it is always visible in the store.
  3. On October 20th, a user opens your in-game store. You use the following methods:You do not pass the show_inactive_time_limited_items parameter in these methods.
  4. You retrieve the item catalog:
    • The Booster is not included in the response of the Get virtual items list, because its display period is from October 29th to November 15th. If you pass the parameter show_inactive_time_limited_items:1 in the Get virtual items list, the Booster is included in the response, and the periods array indicates the period when it is available for purchase.
    • The Booster is included in the response of the Get list of bundles as part of the Legendary Start Pack bundle, and the user can obtain it regardless of the value of the show_inactive_time_limited_items parameter.

Configure and update limits

Configure and update in Publisher Account

Note
  • The configuration process below is shown using virtual items as an example.
  • Before configuring virtual items, it is recommended to create groups. Groups allow you to build a multi-level catalog and manage how items are displayed in your store.
To create an item with a limited number of uses:
  1. Open your project in Publisher Account and go to the Items catalog > All items > Virtual items section.
  2. Click Add and select Virtual items.
  1. Specify the following parameters:
    • image
    • SKU
    • one or several groups the item should belong to
    • name
    • description
    • prices
Note
You can’t create an item without specifying the price in real or virtual currency. You can’t create an item with a zero price value. If necessary, configure regional prices.
  1. To limit the number of times a user can buy an item, set the Limit the number of times one user can buy this item toggle to On and specify the limit.
  2. To set how often limits are refreshed:
    1. In the drop-down list, select the period:
      • Daily
      • Weekly
      • Monthly
      • Custom interval. The interval is calculated starting from the start date of the item’s display period in the store.
      • No regular refresh
    1. Set the update schedule by specifying the parameters corresponding to the period.
  1. To set a display period for the item in the catalog, select Limited time, specify the time zone, start date, and end date. To make the item available indefinitely, select No end date.
  2. Click Create item.

Set up and update via API calls

To set a time limit for displaying items in the store, use the following API calls:

Pass following parameters to the item creation or item update API call:
  • periods[0].date_from with the date and time of the beginning of item display period in YYYY-MM-DDThh:mm:ss±TMZ format, where TMZ is the time zone indicator in hh:mm GMT format.
  • periods[0].date_until with the date and time of the end of the item display period in YYYY-MM-DDThh:mm:ss±TMZ format, where TMZ is the time zone indicator in hh:mm GMT format. To not indicate the end of an item’s display period, pass null.

You can set up multiple periods for displaying an item in the store. To do this, pass an array of objects with the start and end dates of all periods in the API calls.

Example:

Copy
Full screen
Small screen
 1"periods": [
 2      {
 3        "date_from": "2022-06-10T14:00:00+03:00",
 4        "date_until": "2022-06-30T14:00:00+03:00"
 5      },
 6       {
 7        "date_from": "2022-07-10T14:00:00+03:00",
 8        "date_until": "2022-07-30T14:00:00+03:00"
 9      },
10       {
11        "date_from": "2022-08-10T14:00:00+03:00",
12        "date_until": "2022-08-30T14:00:00+03:00"
13      }
14]

The catalog retrieval API calls return the items that are displayed in the store at the time of the request. To obtain information about items whose display period has not yet started or has already expired, pass the show_inactive_time_limited_items parameter with a value of 1 when requesting the catalog.

Display limits in the catalog of items

The display of time-limited items in the catalog depends on how it is implemented — either through the site builder or via API.

Display via site builder

If you use a site builder, time limits are displayed automatically. 30 days before the end of an item’s sale period, a timer automatically appears on the item card and shows the remaining time:

  • If more than a week remains until the end of the sale, the timer shows days and hours.
  • If more than one day remains until the end of the sale, the timer shows hours and minutes.
  • If less than one day remains until the end of the sale, the timer shows minutes and seconds.
Note
To attract attention to promotional items, we recommend using the Featured offer card style.

Get limit information via API

If the catalog is implemented using API, item’s sale period information is returned in the items.periods array in the following catalog-related API calls:

The data about the dates when an item is available for sale can be used to display limits in the catalog — for example, to show the period during which a user can purchase the item.
Was this article helpful?
Thank you!
Is there anything we can improve? Message
We’re sorry to hear that
Please explain why this article wasn’t helpful to you. Message
Thank you for your feedback!
We’ll review your message and use it to help us improve your experience.
Last updated: February 13, 2026

Found a typo or other text error? Select the text and press Ctrl+Enter.

Report a problem
We always review our content. Your feedback helps us improve it.
Provide an email so we can follow up
Thank you for your feedback!
We couldn't send your feedback
Try again later or contact us at doc_feedback@xsolla.com.