Steamworks Documentation
IPublishedFileService Interface
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/
NameTypeRequiredDescription
keystringSteamworks Web API user authentication key.
publishedfileiduint64Item to delete
appiduint32App 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/
NameTypeRequiredDescription
keystringSteamworks Web API user authentication key.
query_typeuint32IPublishedFileService#EPublishedFileQueryType
pageuint32Current page. Currently there is an upper limit of 1000.
cursorstringCursor 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.
numperpageuint32(Optional) The number of results, per page to return.
creator_appiduint32App that created the files
appiduint32App that consumes the files
requiredtagsstringTags to match on. See match_all_tags parameter below
excludedtagsstring(Optional) Tags that must NOT be present on a published file to satisfy the query.
match_all_tagsboolIf true, then items must have all the tags specified, otherwise they must have at least one of the tags.
required_flagsstringRequired flags that must be set on any returned items
omitted_flagsstringFlags that must not be set on any returned items
search_textstringText to match in the item's title or description
filetypeuint32IPublishedFileService#EPublishedFileInfoMatchingFileType
child_publishedfileiduint64Find all items that reference the given item.
daysuint32If query_type is k_PublishedFileQueryType_RankedByTrend, then this is the number of days to get votes for [1,7].
include_recent_votes_onlyboolIf query_type is k_PublishedFileQueryType_RankedByTrend, then limit result set just to items that have votes within the day range given
cache_max_age_secondsuint32Allow stale data to be returned for the specified number of seconds.
languageint32Language to search in and also what gets returned. Defaults to English.
required_kv_tags{message}Required key-value tags to match on.
totalonlybool(Optional) If true, only return the total number of files that satisfy this query.
ids_onlybool(Optional) If true, only return the published file ids of files that satisfy this query.
return_vote_databoolReturn vote data
return_tagsboolReturn tags in the file details
return_kv_tagsboolReturn key-value tags in the file details
return_previewsboolReturn preview image and video details in the file details
return_childrenboolReturn child item ids in the file details
return_short_descriptionboolPopulate the short_description field instead of file_description
return_for_sale_databoolReturn pricing information, if applicable
return_metadataboolPopulate the metadata
return_playtime_statsuint32Return playtime stats for the specified number of days before today.

Performs a search query for published files
NOTE: While you can query by the "filetype" parameters (IPublishedFileService#EPublishedFileInfoMatchingFileType), the results will contain a "file_type" value. That value will correspond to ISteamRemoteStorage#EWorkshopFileType

SetDeveloperMetadata

POST https://partner.steam-api.com/IPublishedFileService/SetDeveloperMetadata/v1/
NameTypeRequiredDescription
keystringSteamworks Web API publisher authentication key.
publishedfileiduint64
appiduint32
metadatastring

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/
NameTypeRequiredDescription
keystringSteamworks Web API publisher authentication key.
steamiduint64SteamID of the user
appiduint32
expiration_timeuint32Unix timestamp when the ban expires, 0 to remove
reasonstringReason 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/
NameTypeRequiredDescription
keystringSteamworks Web API publisher authentication key.
publishedfileiduint64
appiduint32
bannedbool
reasonstringReason 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/
NameTypeRequiredDescription
keystringSteamworks Web API publisher authentication key.
publishedfileiduint64
appiduint32
incompatiblebool

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/
NameTypeRequiredDescription
keystringSteamworks Web API publisher authentication key.
publishedfileiduint64
appiduint32
add_tagsstringTags to add
remove_tagsstringTags 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.

NameValue
k_PublishedFileQueryType_RankedByVote0
k_PublishedFileQueryType_RankedByPublicationDate1
k_PublishedFileQueryType_AcceptedForGameRankedByAcceptanceDate2
k_PublishedFileQueryType_RankedByTrend3
k_PublishedFileQueryType_FavoritedByFriendsRankedByPublicationDate4
k_PublishedFileQueryType_CreatedByFriendsRankedByPublicationDate5
k_PublishedFileQueryType_RankedByNumTimesReported6
k_PublishedFileQueryType_CreatedByFollowedUsersRankedByPublicationDate7
k_PublishedFileQueryType_NotYetRated8
k_PublishedFileQueryType_RankedByTotalUniqueSubscriptions9
k_PublishedFileQueryType_RankedByTotalVotesAsc10
k_PublishedFileQueryType_RankedByVotesUp11
k_PublishedFileQueryType_RankedByTextSearch12
k_PublishedFileQueryType_RankedByPlaytimeTrend13
k_PublishedFileQueryType_RankedByTotalPlaytime14
k_PublishedFileQueryType_RankedByAveragePlaytimeTrend15
k_PublishedFileQueryType_RankedByLifetimeAveragePlaytime16
k_PublishedFileQueryType_RankedByPlaytimeSessionsTrend17
k_PublishedFileQueryType_RankedByLifetimePlaytimeSessions18
k_PublishedFileQueryType_RankedByInappropriateContentRating19
k_PublishedFileQueryType_RankedByBanContentCheck20
k_PublishedFileQueryType_RankedByLastUpdatedDate21

EPublishedFileInfoMatchingFileType

The way that a shared file can be queried by QueryFile.

NameValueDescription
k_PFI_MatchingFileType_Items0Items.
k_PFI_MatchingFileType_Collections1A collection of Workshop items.
k_PFI_MatchingFileType_Art2Artwork.
k_PFI_MatchingFileType_Videos3Videos.
k_PFI_MatchingFileType_Screenshots4Screenshots.
k_PFI_MatchingFileType_CollectionEligible5Items that can be put inside a collection.
k_PFI_MatchingFileType_Games6Unused.
k_PFI_MatchingFileType_Software7Unused
k_PFI_MatchingFileType_Concepts8Unused
k_PFI_MatchingFileType_GreenlightItems9Unused
k_PFI_MatchingFileType_AllGuides10Guides.
k_PFI_MatchingFileType_WebGuides11Steam web guide.
k_PFI_MatchingFileType_IntegratedGuides12Application integrated guide.
k_PFI_MatchingFileType_UsableInGame13
k_PFI_MatchingFileType_Merch14Workshop merchandise meant to be voted on for the purpose of being sold
k_PFI_MatchingFileType_ControllerBindings15Steam Controller bindings.
k_PFI_MatchingFileType_SteamworksAccessInvites16Used internally.
k_PFI_MatchingFileType_Items_Mtx17Workshop items that can be sold in-game.
k_PFI_MatchingFileType_Items_ReadyToUse18Workshop items that can be used right away by the user.
k_PFI_MatchingFileType_WorkshopShowcase19
k_PFI_MatchingFileType_GameManagedItems20Managed completely by the game, not the user, and not shown on the web.