[/list] [/list] [/list] [b]Example Response:[/b] [code=json] { "response": { "result": "OK", "params": { "count": 4, "orders": [ { "orderid": "1233", "transid": "1234567890123456788", "steamid": "76561197972751825", "status": "PartialRefund", "currency": "USD", "time": "2024-01-23T18:30:00Z", "country": "US", "usstate": "WA", "timecreated": "2024-01-23T18:15:00Z", "items": [ { "itemid": 100, "qty": 1, "amount": 99, "vat": 9, "itemstatus": "Refunded" }, { "itemid": 101, "qty": 1, "amount": 1299, "vat": 116, "itemstatus": "Succeeded" } ] }, { "orderid": "1234", "transid": "1234567890123456789", "steamid": "76561197972751825", "status": "Failed", "currency": "USD", "time": "2024-01-23T18:40:30Z", "country": "US", "usstate": "WA", "timecreated": "2024-01-23T18:39:00Z", "items": [ { "itemid": 100, "qty": 1, "amount": 99, "vat": 9, "itemstatus": "Failed" } ] }, { "orderid": "1235", "transid": "1234567890123456790", "steamid": "76561197972751825", "status": "Succeeded", "currency": "USD", "time": "2024-01-23T18:40:40Z", "country": "US", "usstate": "WA", "timecreated": "2024-01-23T18:39:30Z", "items": [ { "itemid": 101, "qty": 1, "amount": 1299, "vat": 116, "itemstatus": "Succeeded" } ] }, { "orderid": "1236", "transid": "1234567890123456791", "steamid": "76561197972751825", "status": "Chargedback", "currency": "USD", "time": "2024-01-23T19:55:00Z", "country": "US", "usstate": "WA", "timecreated": "2024-01-23T18:40:00Z", "items": [ { "itemid": 102, "qty": 1, "amount": 999, "vat": 89, "itemstatus": "Chargedback" } ] } ] } } } [/code] [section=GetUserAgreementInfo]GetUserAgreementInfo[/section] [code=http]GET https://partner.steam-api.com/ISteamMicroTxn/GetUserAgreementInfo/v2/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr] [td][b]key[/b][/td][td]string[/td] [td]✔[/td] [td]Steamworks Web API [url=https://partner.steamgames.com/doc/webapi_overview/auth#publisher-keys]publisher key[/url] with [b]Microtransaction[/b] permissions.…
[/list] [/list] [/list] [b]Example Response:[/b] [code=xml] <response> <result>OK</result> <params> <state>WA</state> <country>US</country> <currency>USD</currency> </params> </response> [/code] [section=InitTxn]InitTxn[/section] [code=http]POST https://partner.steam-api.com/ISteamMicroTxn/InitTxn/v3/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr] [td][b]key[/b][/td][td]string[/td] [td]✔[/td] [td]Steamworks Web API [url=https://partner.steamgames.com/doc/webapi_overview/auth#publisher-keys]publisher key[/url] with [b]Microtransaction[/b] permissions.…
[/b] Changes of less than 24 hours will not impact your featuring on the calendar. [subsection]Other Important Details[/subsection] [b]Games on a Player's Wishlist[/b] Any game already on a player's wishlist automatically appears on their calendar as a reminder that it's on the way, unless the player has chosen to hide wishlisted games. …
If I move my release date, will my game appear on the calendar again?[/b] A. If you delay your release date by more than 24 hours once your game is within two weeks of launch your game will be removed from the calendar and it won't appear in the calendar again until it releases. …
[docimg=2020-03-10_22-11-39.png]2020-03-10_22-11-39.png[/docimg] [docimg=2020-03-10_22-13-24.png]2020-03-10_22-13-24.png[/docimg] [docimg=2020-03-10_22-23-22.png]2020-03-10_22-23-22.png[/docimg] [*] On the properties window for you new game capture, set the mode to 'Capture Specific Window' and choose in the window your running demo. …
The goal is to get every featured title a chance to maximize their visibility for the entirety of the sale, and not just a 24-hour period (which is what the featuring used to be) and to make it easy for customers to find the great games and great deals. [section]Dates[/section] [seasonalsaledates][/seasonalsaledates] [section]Frequently Asked Questions[/section] [h4]Q: Can I participate in Steam-wide seasonal sale events if my product recently launched or had a price increase?…
Separately, you can specify your desired store display from five options-- with the freedom to adjust between those options as you see fit prior to release. [list] [*]The exact date. “Aug 24, 2023” [*]Month-and-year. “August 2023” [*]The quarter of the calendar year. “Q3 2023” [*]The year. "2023" [*]No date at all. …
[/b] A: For each game, we roll up all the player spending from the trailing 24 hours, and then add extra weight to spending in the last 3 hours. That extra weighting of the most recent spending helps Steam to more quickly reflect changes, like a popular new release or a game trending upward. …
[docimg=FreeToKeepExample]FreeToKeepExample[/docimg] [section]Timing[/section] Steam is a global platform, so all Free to Keep promotions are required to run for at least 24 hours to allow customers in all time zones an equal chance to acquire the game. Beyond that, we generally recommend keeping the free to keep period to under two weeks - any more than that, and you should consider whether your game is better suited as a Free to Play title. …
. [*]The visibility on the Steam homepage and applicable tag pages runs for 24 hours, while the discount will be active for between 7 and 14 days depending on the discount length you selected. It will start at 10am Pacific time on your selected date. [*]When you select an available date, it will prompt you to enter a discount percentage and select which packages you wish to include in the promotion. [*]We ask that you pick a discount % that is at least as good as the best discount you have run in the past, if not better. [*]If you are not ready to schedule your Daily Deal right now, the invite will be on your Daily Deal Dashboard. …
If your firewall only supports numeric addresses, add the following CIDR blocks to your outbound allow list: [code-inline]208.64.200.0/22 155.133.239.0/24 2602:801:f000::/64 2602:801:f00f::/64 2602:801:f00c::/64 [/code-inline] [/list] [b]NOTE:[/b] You should not connect to the Web API servers by IP; please use the DNS name. …
Note that the store page review is needed even if the demo doesn't have a separate store page. [*][b]May 24[/b] - All required items must be submitted for review by this date in order for your game to be prepared for Steam Next Fest ([i]if you haven’t completed them already for the Press Preview[/i]) [/list] [b]June 2027[/b] [list] [*][b]June 3[/b] - This is the deadline to opt OUT of trailer permissions if you have previously opted in, to ensure your trailer will NOT be included in official marketing materials. [*][b]June 3[/b] - Press preview starts at 10am PDT. …
. [*]Go to the “Options” tab and confirm the start and stop times of the event are correct. You can continue your stream for up to 24 hours past the end time of your event. [*]Save and publish your event. When you start streaming during the event, your stream will appear on your store page. …
[list] [*] [code-inline]1[/code-inline] - USD / United States Dollar [*] [code-inline]2[/code-inline] - GBP / United Kingdom Pound [*] [code-inline]3[/code-inline] - EUR / European Union Euro [*] [code-inline]4[/code-inline] - CHF / Swiss Francs [*] [code-inline]5[/code-inline] - RUB / Russian Rouble [*] [code-inline]6[/code-inline] - PLN / Polish Złoty [*] [code-inline]7[/code-inline] - BRL / Brazilian Reals [*] [code-inline]8[/code-inline] - JPY / Japanese Yen [*] [code-inline]9[/code-inline] - NOK / Norwegian Krone [*] [code-inline]10[/code-inline] - IDR / Indonesian Rupiah [*] [code-inline]11[/code-inline] - MYR / Malaysian Ringgit [*] [code-inline]12[/code-inline] - PHP / Philippine Peso [*] [code-inline]13[/code-inline] - SGD / Singapore Dollar [*] [code-inline]14[/code-inline] - THB / Thai Baht [*] [code-inline]15[/code-inline] - VND / Vietnamese Dong [*] [code-inline]16[/code-inline] - KRW / South Korean Won [*][strike][code-inline]17[/code-inline] - TRY / Turkish Lira[/strike] [*] [code-inline]18[/code-inline] - UAH / Ukrainian Hryvnia [*] [code-inline]19[/code-inline] - MXN / Mexican Peso [*] [code-inline]20[/code-inline] - CAD / Canadian Dollars [*] [code-inline]21[/code-inline] - AUD / Australian Dollars [*] [code-inline]22[/code-inline] - NZD / New Zealand Dollar [*] [code-inline]23[/code-inline] - CNY / Chinese Renminbi (yuan) [*] [code-inline]24[/code-inline] - INR / Indian Rupee [*] [code-inline]25[/code-inline] - CLP / Chilean Peso [*] [code-inline]26[/code-inline] - PEN / Peruvian Sol [*] [code-inline]27[/code-inline] - COP / Colombian Peso [*] [code-inline]28[/code-inline] - ZAR / South African Rand [*] [code-inline]29[/code-inline] - HKD / Hong Kong Dollar [*] [code-inline]30[/code-inline] - TWD / New Taiwan Dollar [*] [code-inline]31[/code-inline] - SAR / Saudi Riyal [*] [code-inline]32[/code-inline] - AED / United Arab Emirates Dirham [*] [strike][code-inline]33[/code-inline] - SEK / Swedish Krona[/strike] [*] [strike][code-inline]34[/code-inline] - ARS / Argentine Peso[/strike] [*] [code-inline]35[/code-inline] - ILS / Israeli New Shekel [*] [strike][code-inline]36[/code-inline] - BYN / Belarusian Ruble[/strike] [*] [code-inline]37[/code-inline] - KZT / Kazakhstani Tenge [*] [code-inline]38[/code-inline] - KWD / Kuwaiti Dinar [*] [code-inline]39[/code-inline] - QAR / Qatari Riyal [*] [code-inline]40[/code-inline] - CRC / Costa Rican Colón [*] [code-inline]41[/code-inline] - UYU / Uruguayan Peso [*] [strike][code-inline]42[/code-inline] - BGN / Bulgarian Lev[/strike] [*] [strike][code-inline]43[/code-inline] - HRK / Croatian Kuna[/strike] [*] [strike][code-inline]44[/code-inline] - CZK / Czech Koruna[/strike] [*] [strike][code-inline]45[/code-inline] - DKK / Danish Krone[/strike] [*] [strike][code-inline]46[/code-inline] - HUF / Hungarian Forint[/strike] [*] [strike][code-inline]47[/code-inline] - RON / Romanian Leu[/strike] [/list] …
Max size - 128 characters[/td][/tr] [/table] [b]Example response: [/b] [code] "response": { "results": [ { "partnerid": "10500", "date": "2025/05/01", "line_item_type": "Package", "packageid": 123, "bundleid":777 "package_sale_type": "Steam", "platform": "Windows", "country_code": "AU", "base_price": "3995", "sale_price": "1995", "currency": "AUD", "gross_units_sold": 10, "gross_units_returned": -2, "gross_sales_usd": "311.7201", "gross_returns_usd": "-25.5322", "net_tax_usd": "26.0431", "primary_appid": 999, "additional_revenue_share_tier": 0, "net_units_sold": 8, "net_sales_usd": "260.1448", "combined_discount_id": 8888, "total_discount_percentage": 50 }, { "partnerid": "10500", "date": "2025/05/01", "line_item_type": "Package", "packageid": 456, "package_sale_type": "Steam", "platform": "Windows", "country_code": "CA", "base_price": "5999", "sale_price": "5999", "currency": "CAD", "gross_units_sold": 100, "gross_units_returned": 0, "gross_sales_usd": "4309.0101", "gross_returns_usd": "0.0000", "net_tax_usd": "517.0812", "primary_appid": 1099, "additional_revenue_share_tier": 1, "viw_grant_partnerid": "5200", "net_units_sold": 100, "net_sales_usd": "3791.9288", }, { "partnerid": "10500", "date": "2025/05/01", "line_item_type": "MicroTxn", "appid": 1099, "game_item_id": 1, "country_code": "US", "currency": "USD", "gross_units_sold": 2, "gross_units_returned": 0, "gross_sales_usd": "9.9800", "gross_returns_usd": "0.0000", "net_tax_usd": "0.9980", "primary_appid": 1099, "additional_revenue_share_tier": 1, "net_units_sold": 2, "net_sales_usd": "8.9820", "avg_sale_price_usd": "4.9900" }, { "partnerid": "10500", "date": "2025/05/01", "line_item_type": "Package", "packageid": 123, "package_sale_type": "Retail", "platform": "Unknown", "country_code": "AE", "primary_appid": 999, "key_request_id": 7100, "gross_units_activated": 10 }, ], "key_request_info": [ { "key_request_id": 7100, "key_request_notes": "Keys for Key Markets", "game_code_id": 842, "game_code_description": "Retail Distribution - Middle East & North Africa", "territory_code_id": 0, "territory_code_description": "UNUSED" } ], "package_info": [ { "packageid": 123, "package_name": "Grate Expectations: Cheese Preparation Simulator - Deluxe Edition" }, { "packageid": 456, "package_name": "Grate Expectations 2: Curd Your Loins - Launch Edition" } ] "app_info": [ { "appid": 999, "app_name": "Grate Expectations: Cheese Preparation Simulator }, { "appid": 1099, "app_name": "Grate Expectations 2: Curd Your Loins" } ], "bundle_info": [ { "bundleid": 777, "bundle_name": "Grate Expectations Deluxe Bundle" }, ], "combined_discount_info": [ { "combined_discount_id": 8888, "combined_discount_name": "Bundle Discount", "total_discount_percentage": 50, "discount_ids": [11111] }, ], "game_item_info": [ { "appid": 1099, "game_item_id": 1, "game_item_description": "500 Grams of Whey", "game_item_category": "Essential Cheese Product" } ], "country_info": [ { "country_code": "AE", "country_name": "United Arab Emirates", "region": "Middle East & North Africa" }, { "country_code": "AU", "country_name": "Australia", "region": "Oceania" }, { "country_code": "CA", "country_name": "Canada", "region": "North America" }, { "country_code": "US", "country_name": "United States", "region": "North America" }, ], "max_id": "29481179373" [/code] [section=GetAppWishlistReporting]GetAppWishlistReporting[/section] [code=http]GET https://partner.steam-api.com/IPartnerFinancialsService/GetAppWishlistReporting/v001/[/code] [b]Request values[/b][table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr] [td][b]key[/b][/td][td]string[/td] [td]✔[/td] [td]Steamworks Web API [url=https://partner.steamgames.com/doc/webapi_overview/auth#publisher-keys]publisher key[/url] with [b]Financial[/b] permissions.…
[/list] [callout] [h3]Feedback[/h3] Please visit the Steamworks Developer Group [url=https://steamcommunity.com/groups/steamworks/discussions/24/]Events & Announcements Discussions[/url] to share any feedback, questions, or suggestions. [/callout] …
[subsection=GetLocalTimestamp]GetLocalTimestamp[/subsection] [code=cpp]SteamNetworkingMicroseconds GetLocalTimestamp();[/code] A general purpose high resolution local timer with the following properties: [list] [*] Monotonicity is guaranteed. [*] The initial value will be at least 24*3600*30*1e6, i.e. about 30 days worth of microseconds. In this way, the timestamp value of 0 will always be at least "30 days ago". …
[list][subsection]Daily Deal[/subsection] Daily Deals are featured on the Steam homepage for 24 hours, and rotate every day at 10am Pacific. There are two or more Daily Deal slots per day. The artwork used for the Daily Deal is our standard "Header Capsule" 460px x 215px, and is imported from the associated game or bundle automatically. …
[table] [tr][th]Name[/th][th]Price in USD[/th][/tr] [tr][td]VLV25[/td][td]$0.25 USD[/td][/tr] [tr][td]VLV50[/td][td]$0.49 USD[/td][/tr] [tr][td]VLV75[/td][td]$0.75 USD[/td][/tr] [tr][td]VLV100[/td][td]$0.99 USD[/td][/tr] [tr][td]VLV150[/td][td]$1.49 USD[/td][/tr] [tr][td]VLV200[/td][td]$1.99 USD[/td][/tr] [tr][td]VLV250[/td][td]$2.49 USD[/td][/tr] [tr][td]VLV300[/td][td]$2.99 USD[/td][/tr] [tr][td]VLV350[/td][td]$3.49 USD[/td][/tr] [tr][td]VLV400[/td][td]$3.99 USD[/td][/tr] [tr][td]VLV450[/td][td]$4.49 USD[/td][/tr] [tr][td]VLV500[/td][td]$4.99 USD[/td][/tr] [tr][td]VLV550[/td][td]$5.49 USD[/td][/tr] [tr][td]VLV600[/td][td]$5.99 USD[/td][/tr] [tr][td]VLV650[/td][td]$6.49 USD[/td][/tr] [tr][td]VLV700[/td][td]$6.99 USD[/td][/tr] [tr][td]VLV750[/td][td]$7.49 USD[/td][/tr] [tr][td]VLV800[/td][td]$7.99 USD[/td][/tr] [tr][td]VLV850[/td][td]$8.49 USD[/td][/tr] [tr][td]VLV900[/td][td]$8.99 USD[/td][/tr] [tr][td]VLV950[/td][td]$9.49 USD[/td][/tr] [tr][td]VLV1000[/td][td]$9.99 USD[/td][/tr] [tr][td]VLV1100[/td][td]$10.99 USD[/td][/tr] [tr][td]VLV1200[/td][td]$11.99 USD[/td][/tr] [tr][td]VLV1300[/td][td]$12.99 USD[/td][/tr] [tr][td]VLV1400[/td][td]$13.99 USD[/td][/tr] [tr][td]VLV1500[/td][td]$14.99 USD[/td][/tr] [tr][td]VLV1600[/td][td]$15.99 USD[/td][/tr] [tr][td]VLV1700[/td][td]$16.99 USD[/td][/tr] [tr][td]VLV1800[/td][td]$17.99 USD[/td][/tr] [tr][td]VLV1900[/td][td]$18.99 USD[/td][/tr] [tr][td]VLV2000[/td][td]$19.99 USD[/td][/tr] [tr][td]VLV2500[/td][td]$24.99 USD[/td][/tr] [tr][td]VLV3000[/td][td]$29.99 USD[/td][/tr] [tr][td]VLV3500[/td][td]$34.99 USD[/td][/tr] [tr][td]VLV4000[/td][td]$39.99 USD[/td][/tr] [tr][td]VLV4500[/td][td]$44.99 USD[/td][/tr] [tr][td]VLV5000[/td][td]$49.99 USD[/td][/tr] [tr][td]VLV6000[/td][td]$59.99 USD[/td][/tr] [tr][td]VLV7000[/td][td]$69.99 USD[/td][/tr] [tr][td]VLV8000[/td][td]$79.99 USD[/td][/tr] [tr][td]VLV9000[/td][td]$89.99 USD[/td][/tr] [tr][td]VLV10000[/td][td]$99.99 USD[/td][/tr] [/table] [section=Example]ItemDef Schema Example:[/section] [code=json] { "appid": 480, "items": [ { "itemdefid": 10, "type": "playtimegenerator", "bundle": "100x100;101x50;102x25;103x2;110x20;111x20;120x5;121x3", "name": "Drop Generator", "name_color": "7D6D00", "background_color": "3C352E", "icon_url": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png", "icon_url_large": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png", "tradable": false, "marketable": false }, { "itemdefid": 100, "type": "item", "name": "Hat decoration", "description": "Hat decoration description", "price": "1;USD99", "name_color": "7D6D00", "background_color": "3C352E", "icon_url": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png", "icon_url_large": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png", "tradable": true, "marketable": true }, { "itemdefid": 200, "type": "item", "price": "1;VLV100", "name_english": "Red Hat", "name_german": "Roter Hut", "description_english": "Red Hat", "description_german": "Roter Hut", "store_tags": "hat;featured", "icon_url": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png", "icon_url_large": "http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png", "tradable": true, "marketable": true } ] } [/code]…
Our rule of thumb: when your game is running at 1920x1080, your fonts should be a minimum of 24px in size. [*] Start your game in fullscreen by default when the user is running Steam Big Picture (the "SteamTenfoot" environment variable will be set) [*] For bonus points, at first launch detect the user's screen resolution and set your resolution to match it. …
. /// (We chose a random delay between 0 and this value) k_ESteamNetworkingConfig_FakePacketDup_TimeMax = 28, /// [connection int32] Timeout value (in ms) to use when first connecting k_ESteamNetworkingConfig_TimeoutInitial = 24, /// [connection int32] Timeout value (in ms) to use after connection is established k_ESteamNetworkingConfig_TimeoutConnected = 25, /// [connection int32] Upper limit of buffered pending bytes to be sent, /// if this is reached SendMessage will return k_EResultLimitExceeded /// Default is 512k (524288 bytes) k_ESteamNetworkingConfig_SendBufferSize = 9, /// [connection int32] Minimum/maximum send rate clamp, 0 is no limit. /// This value will control the min/max allowed sending rate that /// bandwidth estimation is allowed to reach. …
[table] [tr][th]Name[/th][th]Value[/th][th]Description[/th][/tr] [tr=k_ESNetSocketStateInvalid][td][b]k_ESNetSocketStateInvalid[/b][/td][td]0[/td][td][/td][/tr] [tr=k_ESNetSocketStateConnected][td][b]k_ESNetSocketStateConnected[/b][/td][td]1[/td][td]communication is valid[/td][/tr] [tr=k_ESNetSocketStateInitiated][td][b]k_ESNetSocketStateInitiated[/b][/td][td]10[/td][td]states while establishing a connection the connection state machine has started[/td][/tr] [tr=k_ESNetSocketStateLocalCandidatesFound][td][b]k_ESNetSocketStateLocalCandidatesFound[/b][/td][td]11[/td][td]p2p connections we've found our local IP info[/td][/tr] [tr=k_ESNetSocketStateReceivedRemoteCandidates][td][b]k_ESNetSocketStateReceivedRemoteCandidates[/b][/td][td]12[/td][td]we've received information from the remote machine, via the Steam back-end, about their IP info[/td][/tr] [tr=k_ESNetSocketStateChallengeHandshake][td][b]k_ESNetSocketStateChallengeHandshake[/b][/td][td]15[/td][td]direct connections we've received a challenge packet from the server[/td][/tr] [tr=k_ESNetSocketStateDisconnecting][td][b]k_ESNetSocketStateDisconnecting[/b][/td][td]21[/td][td]failure states the API shut it down, and we're in the process of telling the other end[/td][/tr] [tr=k_ESNetSocketStateLocalDisconnect][td][b]k_ESNetSocketStateLocalDisconnect[/b][/td][td]22[/td][td]the API shut it down, and we've completed shutdown[/td][/tr] [tr=k_ESNetSocketStateTimeoutDuringConnect][td][b]k_ESNetSocketStateTimeoutDuringConnect[/b][/td][td]23[/td][td]we timed out while trying to creating the connection[/td][/tr] [tr=k_ESNetSocketStateRemoteEndDisconnected][td][b]k_ESNetSocketStateRemoteEndDisconnected[/b][/td][td]24[/td][td]the remote end has disconnected from us[/td][/tr] [tr=k_ESNetSocketStateConnectionBroken][td][b]k_ESNetSocketStateConnectionBroken[/b][/td][td]25[/td][td]connection has been broken; either the other end has disappeared or our local network connection has broke[/td][/tr] [/table] [section=typedefs]Typedefs[/section] These are typedefs which are defined for use with ISteamNetworking. …