Provides additional methods for interacting with Steam Workshop items.
See
ISteamRemoteStorage for the primary interface, and also
ICloudService.
NOTE: This is a Service interface, methods in this interface should be called with the
input_json
parameter.
For more info on how to use the Steamworks Web API please see the
Web API Overview.
Delete
GET https://api.steampowered.com/IPublishedFileService/Delete/v1/
Name | Type | Required | Description |
key | string | ✔ | Steamworks Web API user authentication key. |
publishedfileid | uint64 | ✔ | Item to delete |
appid | uint32 | ✔ | App the item belongs to |
Deletes an item.
NOTE: This call requires a publisher API key to use this method. As such this API
MUST be called from a secure server, and can never be used directly by clients!
QueryFiles
GET https://api.steampowered.com/IPublishedFileService/QueryFiles/v1/
Name | Type | Required | Description |
key | string | ✔ | Steamworks Web API user authentication key. |
query_type | uint32 | ✔ | IPublishedFileService#EPublishedFileQueryType |
page | uint32 | ✔ | Current page. Currently there is an upper limit of 1000. |
cursor | string | ✔ | Cursor to paginate through the results (set to '*' for the first request). Prefer this over using the page parameter, as it will allow you to do deep pagination. When used, the page parameter will be ignored. Use the "next_cursor" value returned in the response to set up the next query to get the next set of results. |
numperpage | uint32 | | (Optional) The number of results, per page to return. |
creator_appid | uint32 | ✔ | App that created the files |
appid | uint32 | ✔ | App that consumes the files |
requiredtags | string | ✔ | Tags to match on. See match_all_tags parameter below |
excludedtags | string | ✔ | (Optional) Tags that must NOT be present on a published file to satisfy the query. |
match_all_tags | bool | | If true, then items must have all the tags specified, otherwise they must have at least one of the tags. |
required_flags | string | ✔ | Required flags that must be set on any returned items |
omitted_flags | string | ✔ | Flags that must not be set on any returned items |
search_text | string | ✔ | Text to match in the item's title or description |
filetype | uint32 | ✔ | IPublishedFileService#EPublishedFileInfoMatchingFileType |
child_publishedfileid | uint64 | ✔ | Find all items that reference the given item. |
days | uint32 | ✔ | If query_type is k_PublishedFileQueryType_RankedByTrend, then this is the number of days to get votes for [1,7]. |
include_recent_votes_only | bool | ✔ | If query_type is k_PublishedFileQueryType_RankedByTrend, then limit result set just to items that have votes within the day range given |
cache_max_age_seconds | uint32 | | Allow stale data to be returned for the specified number of seconds. |
language | int32 | | Language to search in and also what gets returned. Defaults to English. |
required_kv_tags | {message} | ✔ | Required key-value tags to match on. |
totalonly | bool | ✔ | (Optional) If true, only return the total number of files that satisfy this query. |
ids_only | bool | ✔ | (Optional) If true, only return the published file ids of files that satisfy this query. |
return_vote_data | bool | ✔ | Return vote data |
return_tags | bool | ✔ | Return tags in the file details |
return_kv_tags | bool | ✔ | Return key-value tags in the file details |
return_previews | bool | ✔ | Return preview image and video details in the file details |
return_children | bool | ✔ | Return child item ids in the file details |
return_short_description | bool | ✔ | Populate the short_description field instead of file_description |
return_for_sale_data | bool | ✔ | Return pricing information, if applicable |
return_metadata | bool | | Populate the metadata |
return_playtime_stats | uint32 | ✔ | Return playtime stats for the specified number of days before today. |
Performs a search query for published files
SetDeveloperMetadata
POST https://partner.steam-api.com/IPublishedFileService/SetDeveloperMetadata/v1/
Name | Type | Required | Description |
key | string | ✔ | Steamworks Web API publisher authentication key. |
publishedfileid | uint64 | ✔ | |
appid | uint32 | ✔ | |
metadata | string | ✔ | |
Sets the metadata for a developer on the published file
NOTE: This call requires a publisher API key to use this method. As such this API
MUST be called from a secure server, and can never be used directly by clients!
UpdateAppUGCBan
POST https://partner.steam-api.com/IPublishedFileService/UpdateAppUGCBan/v1/
Name | Type | Required | Description |
key | string | ✔ | Steamworks Web API publisher authentication key. |
steamid | uint64 | ✔ | SteamID of the user |
appid | uint32 | ✔ | |
expiration_time | uint32 | ✔ | Unix timestamp when the ban expires, 0 to remove |
reason | string | | Reason the user was banned. Will be displayed to the user. |
Adds/updates/removes a user's UGC ban in the app. Set expiration_time = 0 to remove the ban.
NOTE: This call requires a publisher API key to use this method. As such this API
MUST be called from a secure server, and can never be used directly by clients!
UpdateBanStatus
POST https://partner.steam-api.com/IPublishedFileService/UpdateBanStatus/v1/
Name | Type | Required | Description |
key | string | ✔ | Steamworks Web API publisher authentication key. |
publishedfileid | uint64 | ✔ | |
appid | uint32 | ✔ | |
banned | bool | ✔ | |
reason | string | ✔ | Reason why the item was banned. Only visible to admins. |
Updates the ban status on the published file
NOTE: This call requires a publisher API key to use this method. As such this API
MUST be called from a secure server, and can never be used directly by clients!
UpdateIncompatibleStatus
POST https://partner.steam-api.com/IPublishedFileService/UpdateIncompatibleStatus/v1/
Name | Type | Required | Description |
key | string | ✔ | Steamworks Web API publisher authentication key. |
publishedfileid | uint64 | ✔ | |
appid | uint32 | ✔ | |
incompatible | bool | ✔ | |
Updates the incompatible status on the published file. "Incompatible" items are hidden from community hubs and user profiles, but can still be accessed by a direct link.
NOTE: This call requires a publisher API key to use this method. As such this API
MUST be called from a secure server, and can never be used directly by clients!
UpdateTags
POST https://partner.steam-api.com/IPublishedFileService/UpdateTags/v1/
Name | Type | Required | Description |
key | string | ✔ | Steamworks Web API publisher authentication key. |
publishedfileid | uint64 | ✔ | |
appid | uint32 | ✔ | |
add_tags | string | | Tags to add |
remove_tags | string | | Tags to remove |
Updates tags on the published file. Existing tags will not be removed unless they are specified in the
remove_tags
parameter.
NOTE: This call requires a publisher API key to use this method. As such this API
MUST be called from a secure server, and can never be used directly by clients!
Enums
These are enums which are defined for use with ISteamRemoteStorage.
EPublishedFileQueryType
Ways you can query for UGC items.
Name | Value |
k_PublishedFileQueryType_RankedByVote | 0 |
k_PublishedFileQueryType_RankedByPublicationDate | 1 |
k_PublishedFileQueryType_AcceptedForGameRankedByAcceptanceDate | 2 |
k_PublishedFileQueryType_RankedByTrend | 3 |
k_PublishedFileQueryType_FavoritedByFriendsRankedByPublicationDate | 4 |
k_PublishedFileQueryType_CreatedByFriendsRankedByPublicationDate | 5 |
k_PublishedFileQueryType_RankedByNumTimesReported | 6 |
k_PublishedFileQueryType_CreatedByFollowedUsersRankedByPublicationDate | 7 |
k_PublishedFileQueryType_NotYetRated | 8 |
k_PublishedFileQueryType_RankedByTotalUniqueSubscriptions | 9 |
k_PublishedFileQueryType_RankedByTotalVotesAsc | 10 |
k_PublishedFileQueryType_RankedByVotesUp | 11 |
k_PublishedFileQueryType_RankedByTextSearch | 12 |
k_PublishedFileQueryType_RankedByPlaytimeTrend | 13 |
k_PublishedFileQueryType_RankedByTotalPlaytime | 14 |
k_PublishedFileQueryType_RankedByAveragePlaytimeTrend | 15 |
k_PublishedFileQueryType_RankedByLifetimeAveragePlaytime | 16 |
k_PublishedFileQueryType_RankedByPlaytimeSessionsTrend | 17 |
k_PublishedFileQueryType_RankedByLifetimePlaytimeSessions | 18 |
k_PublishedFileQueryType_RankedByInappropriateContentRating | 19 |
k_PublishedFileQueryType_RankedByBanContentCheck | 20 |
k_PublishedFileQueryType_RankedByLastUpdatedDate | 21 |
EPublishedFileInfoMatchingFileType
The way that a shared file can be queried by QueryFile.
Name | Value | Description |
k_PFI_MatchingFileType_Items | 0 | Items. |
k_PFI_MatchingFileType_Collections | 1 | A collection of Workshop items. |
k_PFI_MatchingFileType_Art | 2 | Artwork. |
k_PFI_MatchingFileType_Videos | 3 | Videos. |
k_PFI_MatchingFileType_Screenshots | 4 | Screenshots. |
k_PFI_MatchingFileType_CollectionEligible | 5 | Items that can be put inside a collection. |
k_PFI_MatchingFileType_Games | 6 | Unused. |
k_PFI_MatchingFileType_Software | 7 | Unused |
k_PFI_MatchingFileType_Concepts | 8 | Unused |
k_PFI_MatchingFileType_GreenlightItems | 9 | Unused |
k_PFI_MatchingFileType_AllGuides | 10 | Guides. |
k_PFI_MatchingFileType_WebGuides | 11 | Steam web guide. |
k_PFI_MatchingFileType_IntegratedGuides | 12 | Application integrated guide. |
k_PFI_MatchingFileType_UsableInGame | 13 | |
k_PFI_MatchingFileType_Merch | 14 | Workshop merchandise meant to be voted on for the purpose of being sold |
k_PFI_MatchingFileType_ControllerBindings | 15 | Steam Controller bindings. |
k_PFI_MatchingFileType_SteamworksAccessInvites | 16 | Used internally. |
k_PFI_MatchingFileType_Items_Mtx | 17 | Workshop items that can be sold in-game. |
k_PFI_MatchingFileType_Items_ReadyToUse | 18 | Workshop items that can be used right away by the user. |
k_PFI_MatchingFileType_WorkshopShowcase | 19 | |
k_PFI_MatchingFileType_GameManagedItems | 20 | Managed completely by the game, not the user, and not shown on the web. |