# Update virtual currency Updates a virtual currency. Endpoint: PUT /v2/project/{project_id}/admin/items/virtual_currency/sku/{virtual_currency_sku} Version: 2.0.0 Security: basicAuth ## Path parameters: - `project_id` (integer, required) Project ID. You can find this parameter in your Publisher Account next to the name of the project. Example: 44056 - `virtual_currency_sku` (string, required) Virtual currency SKU. Example: "crystal" ## Request fields (application/json): - `sku` (string, required) Unique item ID. The SKU may contain only lowercase and uppercase Latin alphanumeric characters, periods, dashes, and underscores. Example: "booster_mega_1" - `name` (object,null, required) Object with localizations for item’s name. Accepts value in one of two formats: two-letter lowercase language codes (e.g., en) or five-character language codes (e.g., en-US). While both formats are accepted as input, responses return two-letter lowercase language codes. When both options for the same language are provided (e.g., en and en-US), the last provided value is stored. You can find the full list of supported languages in the [documentation](/doc/shop-builder/references/supported-languages/). - `description` (object,null) Object with localizations for item’s description. Accepts value in one of two formats: two-letter lowercase language codes (e.g., en) or five-character locale codes (e.g., en-US). While both formats are accepted as input, responses return two-letter lowercase language codes. When both options for the same language are provided (e.g., en and en-US), the last provided value is stored. You can find the full list of supported languages in the [documentation](/doc/shop-builder/references/supported-languages/). - `long_description` (object,null) Object with localizations for long description of item. Accepts value in one of two formats: two-letter lowercase language codes (e.g., en) or five-character locale codes (e.g., en-US). While both formats are accepted as input, responses return two-letter lowercase language codes. When both variants for the same language are provided (e.g., en and en-US), the last provided value is stored. You can find the full list of supported languages in the [documentation](/doc/shop-builder/references/supported-languages/). - `image_url` (string) - `media_list` (array) Item's additional assets such as screenshots, gameplay video and so on. Example: [{"type":"image","url":"https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"}] - `media_list.type` (string) Type of media: image/video. Enum: "image", "video" - `media_list.url` (string) Resource file. Example: "https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg" - `groups` (array) Groups the item belongs to. Example: [{"external_id":"horror","name":{"en":"Horror"}}] - `groups.external_id` (string) Example: "horror" - `groups.name` (object) Name of item. Should contain key/value pairs where key is a locale with "^[a-z]{2}" format, value is string. Example: {"en":"Horror","de":"Horror"} - `attributes` (array) List of attributes. Attention. You can't specify more than 20 attributes for the item. Any attempts to exceed the limit result in an error. - `attributes.external_id` (string, required) Unique attribute ID. The external_id may contain only lowercase and uppercase Latin alphanumeric characters, dashes, and underscores. Example: "attribute_1" - `attributes.name` (object) Object with localizations for attribute's name. Keys are specified in ISO 3166-1. Example: {"en":"Genre","de":"Genre"} - `attributes.values` (array, required) Attention. You can't create more than 6 values for each attribute. Any attempts to exceed the limit result in an error. Example: [{"external_id":"strategy","value":{"en":"Strategy","de":"Strategie"}},{"external_id":"action","value":{"en":"Action","de":"Aktion"}}] - `attributes.values.external_id` (string, required) Unique value ID for an attribute. The external_id may only contain lowercase Latin alphanumeric characters, dashes, and underscores. Example: "attribute_value" - `attributes.values.value` (object, required) Object with localizations of the value's name. Keys are specified in ISO 3166-1. Example: {"en":"Strategy","de":"Strategie"} - `prices` (array) Example: [{"currency":"USD","amount":10.5,"is_default":true,"is_enabled":true,"country_iso":"US"}] - `prices.currency` (string, required) Item price currency. Three-letter code per [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). Check the documentation for detailed information about [currencies supported by Xsolla](https://developers.xsolla.com/doc/pay-station/references/supported-currencies/). Example: "USD" - `prices.amount` (number, required) Amount. Example: 10.5 - `prices.is_default` (boolean) Example: true - `prices.is_enabled` (boolean) Example: true - `prices.country_iso` (string,null) Country where this price is available. Two-letter code per [ISO 3166-1 alpha 2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Example: "US" - `vc_prices` (array) Example: [{"sku":"com.xsolla.gold_1","amount":10,"is_default":true,"is_enabled":true}] - `vc_prices.amount` (integer, required) Example: 10 - `vc_prices.is_enabled` (boolean, required) The price is enabled. Example: true - `is_deleted` (boolean) - `is_show_in_store` (boolean) - `is_free` (boolean) If true, the item is free. - `is_hard` (boolean) - `order` (integer) Defines arrangement order. Example: 1 - `pre_order` (object) - `pre_order.release_date` (string,null, required) - `pre_order.description` (string,null) - `regions` (array) - `regions.id` (integer) Example: 1 - `limits` (object) Item limits. - `limits.per_user` (any) Item limitation for a separate user. - `limits.per_item` (integer,null) Global item limitation. Example: 10 - `limits.recurrent_schedule` (object,null) Limit refresh period. - `limits.recurrent_schedule.per_user` (any) Reset of the purchase limit performed at the specified time interval in hours. - `periods` (array,null) Item sales period. - `periods.date_from` (string) Date when the specified item will be available for sale. Example: "2020-08-11T10:00:00+03:00" - `periods.date_until` (string,null) Date when the specified item will become unavailable for sale. Can be null. Example: "2020-08-11T20:00:00+03:00" - `custom_attributes` (object) A JSON object containing item attributes and values. Attributes allow you to add more info to items like the player's required level to use the item. Attributes enrich your game's internal logic and are accessible through dedicated GET methods and webhooks. ## Response 401 fields (application/json): - `statusCode` (integer) Example: 401 - `errorCode` (integer) Example: 1020 - `errorMessage` (string) Example: "[0401-1020]: Error in Authentication method occurred" ## Response 422 fields (application/json): - `statusCode` (integer) Example: 422 - `errorCode` (integer) Example: 1102 - `errorMessage` (string) Example: "[0401-1102]: Unprocessable Entity. The property `property_name` is required" - `transactionId` (string) Example: "x-x-x-x-transactionId-mock-x-x-x" - `errorMessageExtended` (array) ## Response 204 fields