Store

Discord store resources have a long and convoluted history.

The store was originally built to support game developers selling games and in-game items on Discord, as well as GameSDK features. While this was deprecated soon after, the store infrastructure remained in place, fully functional. It was then used internally to power the Discord Nitro subscription service, as well as other ventures such as the now-defunct paid sticker packs.

Now, it has been repurposed to support guild and application monetization features, such as guild products and application subscriptions. As Discord has returned to gaming with the release of the Social SDK, it is now again being used to support sales of in-game items.

While the store infrastructure is still in use, most of the new features being built with it offer newer APIs to manage and interact with them. Certain new features may require using these new APIs to function properly, and may not be fully compatible with the older store APIs, even though they are using SKUs and store listings under the hood.

SKU Object

A purchasable item or group of items in Discord.

SKU Structure

SKU objects can either be localized or unlocalized. Localized SKUs only serialize strings and pricing for the user's location, while unlocalized SKUs serialize all strings and pricing for all locales. All objects serialized in the SKU inherit this behavior.

FieldTypeDescription
idsnowflakeThe ID of the SKU
typeintegerThe type of SKU
application_idsnowflakeThe ID of the application the SKU belongs to
application?partial applicationThe application the SKU belongs to
product_line?integerThe product line the SKU belongs to
product_id?snowflakeThe ID of the storefront product the SKU is for
flagsintegerThe SKU flags
namelocalized stringThe name of the SKU
summary?localized stringThe summary of the SKU
description?localized stringThe description of the SKU
legal_notice?localized stringThe legal notice for the SKU
slugstringThe URL slug of the SKU
thumbnail_asset_id?snowflakeThe ID of the store asset for the SKU's thumbnail
dependent_sku_id??snowflakeThe ID of the prerequisite required to buy this SKU
bundled_skus?array[SKU object]The SKUs that are included when purchasing this SKU
bundled_sku_ids?array[snowflake]The IDs of the SKUs that are included when purchasing this SKU
access_typeintegerThe access level of the SKU
manifest_labels??array[snowflake]The IDs of the manifest labels associated with the SKU
featuresarray[integer]The features of the SKU
locales?array[string]The locales the SKU is available in (default en-US)
genres?array[integer]The genres of the SKU
available_regions?array[string]The ISO 3166-1 alpha-2 country codes where the SKU is available
content_rating? 1content rating objectThe content rating of the SKU
content_rating_agency? 1integerThe agency that assigned the content rating
content_ratings? 2map[integer, content rating object]The content ratings of the SKU per agency
system_requirements?map[integer, system requirements object]The system requirements for each operating system the SKU supports
price? 1SKU price objectThe price of the SKU
price_tier? 2integerThe base price of the SKU
price? 2map[string, integer]Localized pricing overrides per lower-cased ISO 4217 currency code
sale_price_tier? 2integerThe sale price of the SKU
sale_price? 2map[string, integer]Localized sale pricing overrides per lower-cased ISO 4217 currency code
created_at 3ISO8601 datetimeWhen the SKU was created
updated_at 3ISO8601 datetimeWhen the SKU was last updated
release_date?ISO8601 dateWhen the SKU will be released
preorder_approximate_release_date?stringWhen the developer has indicated the SKU will be released for preorders
preorder_released_at?ISO8601 datetimeWhen the SKU was released for preorders
external_purchase_url?stringAn external URL to purchase the SKU
external_sku_strategies? (deprecated)map[integer, external SKU strategy object]Sale strategies per payment gateway supported
eligible_payment_gateways?array[integer]The payment gateways the SKU can be purchased with
premiumbooleanWhether the SKU is a premium user perk
show_age_gatebooleanWhether to show an age gate when purchasing the SKU
restricted? 1booleanWhether the SKU is restricted in the user's region
exclusive?booleanWhether the SKU is exclusively available on Discord
deleted?booleanWhether the SKU has been soft-deleted
tenant_metadata?tenant metadata objectTenant metadata for the SKU
powerup_metadata?guild powerup metadata objectGuild powerup metadata for the SKU
orbs_reward?integerThe amount of Orbs the SKU grants

1 Only included for localized SKUs.

2 Only included for unlocalized SKUs.

3 Values have only been tracked since 2025-08-05T20:53:39.133830+00:00. Earlier SKUs will have this field set to this timestamp. See the snowflake format documentation for a more accurate creation timestamp.

SKU Type
ValueNameDescription
1DURABLE_PRIMARYPrimary durable item
2DURABLEDurable item
3CONSUMABLEConsumable item
4BUNDLEBundle of items
5SUBSCRIPTIONSubscription item
6SUBSCRIPTION_GROUPGroup of subscription items
SKU Product Line
ValueNameDescription
1PREMIUMPremium (Nitro) subscription
2PREMIUM_GUILDPremium guild (boosting) subscription
3ACTIVITY_IAPEmbedded activity in-app purchase
4GUILD_ROLEGuild role subscription or ticketed event
5GUILD_PRODUCTGuild product
6APPLICATIONApplication item
7COLLECTIBLESDiscord collectible
9QUEST_IN_GAME_REWARDIn-game quest reward
10QUEST_REWARD_CODEQuest reward code
11FRACTIONAL_PREMIUMFractional premium subscription
12VIRTUAL_CURRENCYVirtual currency (Orbs)
13GUILD_POWERUPGuild powerup
14SOCIAL_LAYER_GAME_ITEMSocial SDK game item
SKU Flags
ValueNameDescription
1 << 0PREMIUM_PURCHASESKU is available for free to premium users
1 << 1HAS_FREE_PREMIUM_CONTENTSKU has free content for premium users
1 << 2AVAILABLESKU is available for purchase
1 << 3PREMIUM_AND_DISTRIBUTIONSKU is available for free to premium users and purchasable normally
1 << 4STICKERSKU is a paid sticker pack
1 << 5GUILD_ROLESKU is a guild role subscription or ticketed event
1 << 6AVAILABLE_FOR_SUBSCRIPTION_GIFTINGSKU is a giftable Discord premium subscription
1 << 7APPLICATION_GUILD_SUBSCRIPTIONSKU is an application subscription for guilds
1 << 8APPLICATION_USER_SUBSCRIPTIONSKU is an application subscription for users
1 << 9CREATOR_MONETIZATIONSKU is a guild creator monetization product
1 << 10GUILD_PRODUCTSKU is a guild product
1 << 11AVAILABLE_FOR_APPLICATION_GIFTINGSKU is a giftable application product
SKU Access Type
ValueNameDescription
1FULLSKU is fully accessible
2EARLY_ACCESSSKU is in early access
3VIP_ACCESSSKU has limited availability
SKU Feature
ValueNameDescription
1SINGLE_PLAYERSingle player game
2ONLINE_MULTIPLAYEROnline multiplayer game
3LOCAL_MULTIPLAYERLocal multiplayer game
4PVPPlayer versus player game
5LOCAL_COOPLocal cooperative multiplayer
6CROSS_PLATFORMCross-platform play supported
7RICH_PRESENCERich presence integration
8DISCORD_GAME_INVITESDiscord game invites supported
9SPECTATOR_MODESpectator mode supported
10CONTROLLER_SUPPORTController support
11CLOUD_SAVESCloud saves supported
12ONLINE_COOPOnline cooperative multiplayer
13SECURE_NETWORKINGSecure networking supported
SKU Genre
ValueNameDescription
1ACTIONAction
2ACTION_RPGAction RPG
3BRAWLERBrawler
4HACK_AND_SLASHHack and Slash
5PLATFORMERPlatformer
6STEALTHStealth
7SURVIVALSurvival
8ADVENTUREAdventure
9ACTION_ADVENTUREAction Adventure
10METROIDVANIAMetroidvania
11OPEN_WORLDOpen World
12PSYCHOLOGICAL_HORRORPsychological Horror
13SANDBOXSandbox
14SURVIVAL_HORRORSurvival Horror
15VISUAL_NOVELVisual Novel
16DRIVING_RACINGDriving / Racing
17VEHICULAR_COMBATVehicular Combat
18MASSIVELY_MULTIPLAYERMassively Multiplayer
19MMORPGMMORPG
20ROLE_PLAYINGRole-Playing
21DUNGEON_CRAWLERDungeon Crawler
22ROGUELIKERoguelike
23SHOOTERShooter
24LIGHT_GUNLight Gun
25SHOOT_EM_UPShoot 'Em Up
26FPSFirst-Person Shooter
27DUAL_JOYSTICK_SHOOTERDual-Joystick Shooter
28SIMULATIONSimulation
29FLIGHT_SIMULATORFlight Simulator
30TRAIN_SIMULATORTrain Simulator
31LIFE_SIMULATORLife Simulator
32FISHINGFishing
33SPORTSSports
34BASEBALLBaseball
35BASKETBALLBasketball
36BILLIARDSBilliards
37BOWLINGBowling
38BOXINGBoxing
39FOOTBALLFootball
40GOLFGolf
41HOCKEYHockey
42SKATEBOARDING_SKATINGSkateboarding / Skating
43SNOWBOARDING_SKIINGSnowboarding / Skiing
44SOCCERSoccer
45TRACK_FIELDTrack & Field
46SURFING_WAKEBOARDINGSurfing / Wakeboarding
47WRESTLINGWrestling
48STRATEGYStrategy
49FOUR_X4X (explore, expand, exploit, exterminate)
50ARTILLERYArtillery
51RTSReal-Time Strategy
52TOWER_DEFENSETower Defense
53TURN_BASED_STRATEGYTurn-Based Strategy
54WARGAMEWargame
55MOBAMultiplayer Online Battle Arena
56FIGHTINGFighting
57PUZZLEPuzzle
58CARD_GAMECard Game
59EDUCATIONEducation
60FITNESSFitness
61GAMBLINGGambling
62MUSIC_RHYTHMMusic / Rhythm
63PARTY_MINI_GAMEParty / Mini Game
64PINBALLPinball
65TRIVIA_BOARD_GAMETrivia / Board Game
66TACTICALTactical
67INDIEIndie
68ARCADEArcade
69POINT_AND_CLICKPoint-and-Click
Content Rating Structure
FieldTypeDescription
ratingintegerThe content rating
descriptorsarray[integer]The content descriptors
Content Rating Agency
ValueNameDescriptionContent RatingContent Descriptor
1ESRBEntertainment Software Rating BoardESRB Content RatingESRB Content Descriptor
2PEGIPan European Game InformationPEGI Content RatingPEGI Content Descriptor
ESRB Content Rating
ValueNameDescription
1EVERYONESuitable for all ages
2EVERYONE_TEN_PLUSSuitable for ages 10 and up
3TEENSuitable for ages 13 and up
4MATURESuitable for ages 17 and up
5ADULTS_ONLYSuitable for ages 18 and up
6RATING_PENDINGRating is pending
PEGI Content Rating
ValueNameDescription
1THREESuitable for all ages
2SEVENSuitable for ages 7 and up
3TWELVESuitable for ages 12 and up
4SIXTEENSuitable for ages 16 and up
5EIGHTEENSuitable for ages 18 and up
ESRB Content Descriptor
ValueNameDescription
1ALCOHOL_REFERENCEReferences to alcohol
2ANIMATED_BLOODAnimated blood
3BLOODBlood
4BLOOD_AND_GOREBlood and gore
5CARTOON_VIOLENCECartoon violence
6COMIC_MISCHIEFComic mischief
7CRUDE_HUMORCrude humor
8DRUG_REFERENCEReferences to drugs
9FANTASY_VIOLENCEFantasy violence
10INTENSE_VIOLENCEIntense violence
11LANGUAGEUse of strong language
12LYRICSLyrics
13MATURE_HUMORMature humor
14NUDITYNudity
15PARTIAL_NUDITYPartial nudity
16REAL_GAMBLINGReal gambling
17SEXUAL_CONTENTSexual content
18SEXUAL_THEMESSexual themes
19SEXUAL_VIOLENCESexual violence
20SIMULATED_GAMBLINGSimulated gambling
21STRONG_LANGUAGEStrong language
22STRONG_LYRICSStrong lyrics
23STRONG_SEXUAL_CONTENTStrong sexual content
24SUGGESTIVE_THEMESSuggestive themes
25TOBACCO_REFERENCEReferences to tobacco
26USE_OF_ALCOHOLUse of alcohol
27USE_OF_DRUGSUse of drugs
28USE_OF_TOBACCOUse of tobacco
29VIOLENCEViolence
30VIOLENT_REFERENCESViolent references
31IN_GAME_PURCHASESIn-game purchases
32USERS_INTERACTUser interaction
33SHARES_LOCATIONLocation sharing
34UNRESTRICTED_INTERNETUnrestricted internet access
35MILD_BLOODMild blood
36MILD_CARTOON_VIOLENCEMild cartoon violence
37MILD_FANTASY_VIOLENCEMild fantasy violence
38MILD_LANGUAGEMild language
39MILD_LYRICSMild lyrics
40MILD_SEXUAL_THEMESMild sexual themes
41MILD_SUGGESTIVE_THEMESMild suggestive themes
42MILD_VIOLENCEMild violence
43ANIMATED_VIOLENCEAnimated violence
PEGI Content Descriptor
ValueNameDescription
1VIOLENCEDepictions of violence
2BAD_LANGUAGEUse of bad language
3FEARScenes that may frighten
4GAMBLINGDepictions of gambling
5SEXDepictions of sexual content
6DRUGSDepictions of drugs
7DISCRIMINATIONDepictions of discrimination
System Requirements Structure
FieldTypeDescription
minimum?system requirement objectThe minimum system requirements
recommended?system requirement objectThe recommended system requirements
System Requirement Structure
FieldTypeDescription
ram?integerThe amount of RAM in megabytes
disk?integerThe amount of disk space in megabytes
operating_system_version?localized stringThe required operating system version
cpu?localized stringThe required CPU
gpu?localized stringThe required GPU
sound_card?localized stringThe required sound card
directx?localized stringThe required DirectX version
network?localized stringThe required network connectivity status
notes?localized stringAdditional notes
Operating System
ValueNameDescription
1WINDOWSWindows OS
2MACOSmacOS
3LINUXLinux
SKU Price Structure
FieldTypeDescription
currencystringThe lower-cased ISO 4217 currency code
currency_exponentintegerThe exponent to convert the amount to the displayed currency unit
amountintegerThe price amount in the smallest currency unit
sale_amount?integerThe sale price amount in the smallest currency unit
sale_percentage?integerThe percentage discount of the sale price
premium?map[integer, premium price object]The price for premium users per premium type
Premium Price Structure
FieldTypeDescription
amountintegerThe price amount in the smallest currency unit
percentageintegerThe percentage discount for premium users
External SKU Strategy Structure
FieldTypeDescription
typeintegerThe type of external SKU strategy
metadata?map[string, string]Additional metadata for the external SKU strategy
External SKU Strategy Type
ValueNameDescription
1CONSTANTRegular pricing
2APPLE_STICKERApple sticker pack pricing
Tenant Metadata Structure
FieldTypeDescription
guild_monetization?guild monetization metadata objectGuild monetization data
social_layer?social layer metadata objectSocial layer game item data
Guild Monetization Metadata Structure
FieldTypeDescription
powerup?guild powerup metadata objectGuild powerup metadata
game_server?game server powerup metadata objectGame server powerup metadata
Guild Powerup Metadata Structure
FieldTypeDescription
boost_priceintegerThe number of boosts the powerup costs
purchase_limitintegerThe maximum number of entitlements a guild can have for the powerup
guild_featuresguild premium features objectThe features granted by the powerup
category_typestringThe type of guild powerup
static_image_urlstringURL of the static banner image for the powerup
animated_image_urlstringURL of the animated banner image for the powerup
store_removal_date? 1?ISO8601 datetimeWhen the powerup will be removed from the store

1 Only included on store listing objects.

Game Server Powerup Metadata Structure
FieldTypeDescription
boost_priceintegerThe number of boosts the powerup costs
purchase_limitintegerThe maximum number of entitlements a guild can have for the powerup
guild_featuresguild premium features objectThe features granted by the powerup
category_typestringThe type of guild powerup
available_providersarray[string]The available providers (currently only SHOCKBYTE)
memoryintegerThe amount of RAM in megabytes that the game server provides
cpuintegerThe amount of CPU cores that the game server provides
storageintegerThe amount of storage in gigabytes that the game server provides
max_slotsintegerMaximum amount of players that can connect to the game server
memory_stringstringHuman-readable amount of RAM that the game server provides
player_stringstringHuman-readable maximum amount of players that can connect to the game server
Guild Powerup Category Type
ValueDescription
levelGuild premium tier
perkAdditional guild perk
game_serverGame server attached to the guild
Example Game Server Powerup Metadata Structure
{
"boost_price": 5,
"purchase_limit": 1,
"guild_features": {
"features": ["GAME_SERVERS"],
"additional_emoji_slots": 0,
"additional_sticker_slots": 0,
"additional_sound_slots": 0
},
"category_type": "game_server",
"available_providers": ["SHOCKBYTE"],
"memory": 8192,
"cpu": 2,
"storage": 100,
"max_slots": 40,
"memory_string": "8GB",
"player_string": "40+"
}
Social Layer Metadata Structure
FieldTypeDescription
carousel_itemsarray[store carousel item object]The carousel items for the listing
labelstringThe label for the listing
expires_at?ISO8601 datetimeWhen the listing expires
card_image_asset_id?snowflakeThe store asset ID for the card image
card_background_image_asset_id?snowflakeThe store asset ID for the card background image
price_tier?integerThe base price of the SKU
Example SKU
{
"id": "1333912750274904064",
"type": 3,
"product_line": 11,
"dependent_sku_id": null,
"application_id": "521842831262875670",
"manifest_labels": null,
"access_type": 1,
"name": "3-Day Nitro Credit",
"features": [],
"release_date": null,
"premium": false,
"slug": "3-day-nitro-credit",
"flags": 4,
"show_age_gate": false,
"price": {
"amount": 1400,
"currency": "discord_orb",
"currency_exponent": 0,
"premium": {
"2": {
"amount": 1400,
"percentage": 0
}
}
},
"tenant_metadata": {},
"created_at": "2025-08-05T20:53:39.133830+00:00",
"updated_at": "2025-08-05T20:53:39.135755+00:00"
}

Store Listing Object

A listing for a marketable item on Discord. Tied to a single SKU.

Store Listing Structure

Store listing objects can either be localized or unlocalized. Localized listings only serialize strings and pricing for the user's location, while unlocalized listings serialize all strings and pricing for all locales. All objects serialized in the listing inherit this behavior.

FieldTypeDescription
idsnowflakeThe ID of the listing
skuSKU objectThe SKU associated with the listing
child_skus?array[SKU object]The child SKUs associated with the category listing
alternative_skus?array[SKU object]Alternative SKUs for the listing
summarylocalized stringA summary of the listing
description?localized stringA description of the listing
tagline??localized stringA tagline for the listing
flavor_text??stringFlavor text for the listing
benefits??array[store listing benefit object]The benefits of the listing
published? 1booleanWhether the listing is published
carousel_items??array[store carousel item object]The carousel items for the listing
staff_notes?store note objectNotes from staff about the listing
guild??partial guild objectThe public guild associated with the listing
assets?array[store asset object]The store assets for the listing
thumbnail?store asset objectThe thumbnail for the listing
preview_video?store asset objectThe preview video for the listing
header_background?store asset objectThe header background for the listing
header_logo_dark_theme?store asset objectThe dark theme header logo for the listing
header_logo_light_theme?store asset objectThe light theme header logo for the listing
box_art?store asset objectThe box art for the listing
hero_background?store asset objectThe hero background for the listing
hero_video?store asset objectThe hero video for the listing
entitlement_branch_id??snowflakeThe application branch ID granted by the listing
published_at?ISO8601 datetimeWhen the listing was published
unpublished_at?ISO8601 datetimeWhen the listing was unpublished
powerup_metadata? 2partial guild powerup metadata objectThe guild powerup metadata for the listing

1 Not included in contexts that are impossible for an unpublished listing to be in.

2 Only includes the category_type, static_image_url, animated_image_url, and store_removal_date fields.

Store Listing Benefit Structure
FieldTypeDescription
idsnowflakeThe ID of the benefit
namestringThe name of the benefit
descriptionstringThe description of the benefit
iconstore listing icon objectThe icon for the benefit
Store Listing Icon Structure
FieldTypeDescription
typeintegerThe type of icon
store_asset_id 1snowflakeThe store asset ID for the icon
emoji 2stringThe unicode emoji for the icon

1 Only included if type is STORE_ASSET.

2 Only included if type is EMOJI.

Store Listing Icon Type
ValueNameDescription
1STORE_ASSETIcon is a store asset
2EMOJIIcon is a unicode emoji
FieldTypeDescription
youtube_video_id? 1?stringThe YouTube video ID for the item
asset_id? 1snowflakeThe store asset ID for the item
thumbnail_asset_id?snowflakeThe store asset ID for the thumbnail
background_asset_id??snowflakeThe store asset ID for the background
label?stringThe label for the item
label_icon_asset_id?snowflakeThe store asset ID for the label icon

1 One of youtube_video_id or asset_id must be provided.

Store Note Structure
FieldTypeDescription
user?partial user objectThe user who made the note
contentstringThe note content
Example Store Listing
{
"id": "983874530717990912",
"summary": { "default": "Support Discord and get sweet chat perks." },
"sku": {
"id": "978380684370378762",
"type": 5,
"product_line": 1,
"dependent_sku_id": null,
"application_id": "521842831262875670",
"manifest_labels": null,
"access_type": 1,
"name": { "default": "Nitro Basic" },
"features": [],
"release_date": null,
"premium": false,
"slug": "nitro-basic",
"flags": 68,
"tenant_metadata": {},
"created_at": "2025-08-05T20:53:39.133830+00:00",
"updated_at": "2025-08-05T20:53:39.135755+00:00"
},
"description": { "default": "Support Discord and get sweet chat perks." },
"published": true,
"thumbnail": { "id": "1039257000355307530", "size": 333286, "mime_type": "image/png", "width": 834, "height": 471 },
"benefits": []
}

Subscription Plan Object

A recurring payment to maintain entitlement to an SKU.

Subscription Plan Structure
FieldTypeDescription
idsnowflakeThe ID of the subscription plan
namestringThe name of the subscription plan
sku_idsnowflakeThe ID of the SKU the plan belongs to
intervalintegerThe interval of the plan
interval_countintegerThe number of intervals per billing cycle
tax_inclusivebooleanWhether the plan's prices are tax inclusive
price 1 (deprecated)integerThe price amount in the smallest currency unit
currency 1 (deprecated)stringThe lower-cased ISO 4217 currency code of the plan's price
prices 1map[integer, subscription prices object]The prices for the plan per purchase type
price 2map[string, integer]The price for the plan per lower-cased ISO 4217 currency code

1 Only included when fetched from the Get Published Subscription Plans or Get Bulk Published Subscription Plans endpoints.

1 Only included when fetched from the Get Subscription Plans endpoint.

Partial Subscription Plan Structure
FieldTypeDescription
idsnowflakeThe ID of the subscription plan
namestringThe name of the subscription plan
sku_idsnowflakeThe ID of the SKU the plan belongs to
intervalintegerThe interval of the plan
interval_countintegerThe number of intervals per billing cycle
tax_inclusivebooleanWhether the plan's prices are tax inclusive
Subscription Prices Structure
FieldTypeDescription
country_pricescountry prices objectThe prices for the plan for the given country
payment_source_pricesmap[snowflake, array[unit price object]]The prices for the plan per user payment source ID
Country Prices Structure
FieldTypeDescription
country_codestringThe ISO 3166-1 alpha-2 country code
pricesarray[unit price object]The prices for the plan in the given country
Subscription Interval
ValueNameDescription
1MONTHMonthly subscription
2YEARYearly subscription
3DAYDaily subscription
Subscription Plan Purchase Type
ValueNameDescription
0DEFAULTDefault pricing
1GIFTGift purchase pricing
2SALESale pricing
3PREMIUM_TIER_1Nitro Classic subscriber pricing
4PREMIUM_TIER_2Nitro subscriber pricing
5MOBILEMobile purchase pricing
6PREMIUM_TIER_0Nitro Basic subscriber pricing
7MOBILE_PREMIUM_TIER_2Mobile Nitro subscriber pricing
Example Subscription Plan
{
"id": "944265636643602432",
"name": "None 6 Month",
"interval": 1,
"interval_count": 6,
"tax_inclusive": true,
"sku_id": "628379670982688768",
"currency": "usd",
"price": 0,
"price_tier": null,
"prices": {
"0": {
"country_prices": {
"country_code": "CA",
"prices": [{ "currency": "usd", "amount": 0, "exponent": 2 }]
},
"payment_source_prices": {}
}
}
}

Store Asset Object

An image or video associated with a store resource.

Store Asset Structure
FieldTypeDescription
idsnowflakeThe ID of the asset
sizeintegerThe size of the asset in bytes
mime_typestringThe asset's media type
filename 1stringThe filename of the asset
widthintegerThe width of the asset in pixels
heightintegerThe height of the asset in pixels

1 Only included when fetched from the Get Application Store Assets or Create Application Store Asset endpoints.

Example Store Asset
{
"id": "1059634086995574874",
"size": 4161529,
"mime_type": "image/gif",
"filename": "kitties.gif",
"width": 464,
"height": 512
}

EULA Object

An End User License Agreement represents a legal agreement between the application owner and the end user.

EULA Structure
FieldTypeDescription
idsnowflakeThe ID of the EULA
namestringThe name of the EULA
contentstringThe content of the EULA

Storefront Object

A collection of store listings in a unified showcase.

Storefront Structure
FieldTypeDescription
application_idsnowflakeThe ID of the application
application?partial application objectThe application
titlestringThe title of the storefront
logo_asset_id?snowflakeThe ID of the logo store asset
light_theme_logo_asset_id?snowflakeThe ID of the logo store asset for light theme
pagesarray[storefront page object]The pages of the storefront
store_listingsarray[store listing object]The store listings
assetsarray[store asset object]The store assets
Storefront Page Structure
FieldTypeDescription
title?stringThe title of the page (max 256 characters)
leaderboard?storefront leaderboard objectThe leaderboard on the page
sku_idsarray[snowflake]The IDs of the SKUs on the page (max 100)
sections?array[storefront page section object]The sections on the page (max 5)
Storefront Leaderboard Structure
FieldTypeDescription
title?stringThe title of the leaderboard (max 256 characters)
description?stringThe description of the leaderboard (max 512 characters)
background_image_asset_id?snowflakeThe ID of the background image store asset
Storefront Page Section Structure
FieldTypeDescription
title?stringThe title of the page section (max 256 characters)
sku_idsarray[snowflake]The IDs of the SKUs on the page section (max 100)

Endpoints

Get Application SKUs

GET/applications/{application.id}/skus

Returns a list of SKU objects for the given application. User must be the owner of the application or member of the owning team.

Query String Params
FieldTypeDescription
country_code?stringThe ISO 3166-1 alpha-2 country code
localize?booleanWhether to localize the SKUs for the user's location (default true)
with_bundled_skus?booleanWhether to include bundled SKUs within SKU objects in the response (default false)

Create SKU

POST/store/skus

Creates a new SKU. Returns the created SKU object on success. Requires an application with access to the store or monetization. User must be the owner of the application or member of the owning team.

JSON Params
FieldTypeDescription
typeintegerThe type of SKU
application_idsnowflakeThe ID of the application the SKU belongs to
namelocalized stringThe name of the SKU (1-256 characters)
flags?integerThe SKU flags (only AVAILABLE can be set)
legal_notice?localized stringThe legal notice for the SKU (max 1024 characters)
dependent_sku_id?snowflakeThe ID of the prerequisite required to buy this SKU
bundled_skus?array[snowflake]The IDs of the SKUs that are included when purchasing this SKU
access_type?integerThe access level of the SKU
manifest_labels?array[snowflake]The IDs of the manifest labels associated with the SKU
features?array[integer]The features of the SKU
locales?array[string]The locales the SKU is available in
genres?array[integer]The genres of the SKU
content_ratings?map[integer, content rating object]The content ratings of the SKU per agency
system_requirements?map[integer, system requirements object]The system requirements for each operating system the SKU supports
price_tier?integerThe base price of the SKU
price?map[string, integer]Localized pricing overrides per lower-cased ISO 4217 currency code
sale_price_tier?integerThe sale price of the SKU
sale_price?map[string, integer]Localized sale pricing overrides per lower-cased ISO 4217 currency code
release_date?ISO8601 dateWhen the SKU will be released

Get SKU

GET/store/skus/{sku.id}

Returns a SKU object for the given SKU ID. User must own the SKU's application or be a member of the owning team.

Query String Params
FieldTypeDescription
country_code?stringThe ISO 3166-1 alpha-2 country code
localize?booleanWhether to localize the SKUs for the user's location (default true)

Modify SKU

PATCH/store/skus/{sku.id}

Modifies an existing SKU. Returns the modified SKU object on success. User must own the SKU's application or be a developer of the owning team.

JSON Params
FieldTypeDescription
name?localized stringThe name of the SKU (1-256 characters)
flags?integerThe SKU flags (only AVAILABLE can be set)
legal_notice?localized stringThe legal notice for the SKU (max 1024 characters)
dependent_sku_id?snowflakeThe ID of the prerequisite required to buy this SKU
bundled_skus?array[snowflake]The IDs of the SKUs that are included when purchasing this SKU
access_type?integerThe access level of the SKU
manifest_labels?array[snowflake]The IDs of the manifest labels associated with the SKU
features?array[integer]The features of the SKU
locales?array[string]The locales the SKU is available in
genres?array[integer]The genres of the SKU
content_ratings?map[integer, content rating object]The content ratings of the SKU per agency
system_requirements?map[integer, system requirements object]The system requirements for each operating system the SKU supports
price_tier?integerThe base price of the SKU
price?map[string, integer]Localized pricing overrides per lower-cased ISO 4217 currency code
sale_price_tier?integerThe sale price of the SKU
sale_price?map[string, integer]Localized sale pricing overrides per lower-cased ISO 4217 currency code
release_date?ISO8601 dateWhen the SKU will be released

Get SKU Store Listings

GET/store/skus/{sku.id}/listings

Returns a list of store listing objects for the given SKU ID. User must own the SKU's application or be a member of the owning team.

Query String Params
FieldTypeDescription
country_code?stringThe ISO 3166-1 alpha-2 country code
localize?booleanWhether to localize the SKUs for the user's location (default true)

Create Store Listing

POST/store/listings

Creates a new store listing. Returns the created store listing object on success. User must own the SKU's application or be a member of the owning team.

JSON Params
FieldTypeDescription
application_idsnowflakeThe ID of the application the listing belongs to
sku_idsnowflakeThe ID of the SKU the listing is associated with
child_sku_ids?array[snowflake]The IDs of the child SKUs associated with the category listing (max 100)
summarylocalized stringA summary of the listing (1-1024 characters)
descriptionlocalized stringA description of the listing (1-8192 characters)
tagline?localized stringA tagline for the listing (max 1024 characters)
published?booleanWhether the listing is published (default false)
carousel_items? 1?array[store carousel item object]The carousel items for the listing
guild_id?snowflakeThe ID of the public guild associated with the listing
thumbnail_asset_id?snowflakeThe store asset ID for the thumbnail of the listing
preview_video_asset_id?snowflakeThe store asset ID for the preview video of the listing
header_background_asset_id?snowflakeThe store asset ID for the header background
header_logo_dark_theme_asset_id?snowflakeThe store asset ID for the dark theme header logo of the listing
header_logo_light_theme_asset_id?snowflakeThe store asset ID for the light theme header logo of the listing
box_art_asset_id?snowflake
hero_background_asset_id?snowflakeThe store asset ID for the hero background of the listing
hero_video_asset_id?snowflakeThe store asset ID for the hero video of the listing

1 Only youtube_video_id or asset_id can be set.

Get Store Listing

GET/store/listings/{listing.id}

Returns a store listing object for the given listing ID. User must own the listing's application or be a member of the owning team.

Query String Params
FieldTypeDescription
country_code?stringThe ISO 3166-1 alpha-2 country code
localize?booleanWhether to localize the SKUs for the user's location (default true)

Modify Store Listing

PATCH/store/listings/{listing.id}

Modifies an existing store listing. Returns the modified store listing object on success. User must own the listing's application or be a developer of the owning team.

JSON Params
FieldTypeDescription
child_sku_ids?array[snowflake]The IDs of the child SKUs associated with the category listing (max 100)
summary?localized stringA summary of the listing (1-1024 characters)
description?localized stringA description of the listing (1-8192 characters)
tagline?localized stringA tagline for the listing (max 1024 characters)
published?booleanWhether the listing is published (default false)
carousel_items? 1?array[store carousel item object]The carousel items for the listing
guild_id?snowflakeThe ID of the public guild associated with the listing
thumbnail_asset_id?snowflakeThe store asset ID for the thumbnail of the listing
preview_video_asset_id?snowflakeThe store asset ID for the preview video of the listing
header_background_asset_id?snowflakeThe store asset ID for the header background
header_logo_dark_theme_asset_id?snowflakeThe store asset ID for the dark theme header logo of the listing
header_logo_light_theme_asset_id?snowflakeThe store asset ID for the light theme header logo of the listing
box_art_asset_id?snowflake
hero_background_asset_id?snowflakeThe store asset ID for the hero background of the listing
hero_video_asset_id?snowflakeThe store asset ID for the hero video of the listing

1 Only youtube_video_id or asset_id can be set.

Delete Store Listing

DELETE/store/listings/{listing.id}

Deletes an existing store listing. Returns a 204 empty response on success. User must own the listing's application or be a member of the owning team.

Get Application Published Store Listings

GET/store/published-listings/skus

Returns a list of published store listing objects for the given application ID.

Query String Params
FieldTypeDescription
application_idsnowflakeThe application ID to get the listings for
guild_id?snowflakeThe guild ID to fetch hidden listings for
country_code?stringThe ISO 3166-1 alpha-2 country code
localize?booleanWhether to localize the SKUs for the user's location (default true)

Get Application Primary Store Listing

GET/store/published-listings/applications/{application.id}

Returns a store listing object for the primary SKU of the given application ID.

Query String Params
FieldTypeDescription
country_code?stringThe ISO 3166-1 alpha-2 country code
localize?booleanWhether to localize the SKUs for the user's location (default true)

Get Bulk Application Primary Store Listing

GET/store/published-listings/applications

Returns a list of store listing objects for the primary SKU of the given application IDs.

Query String Params
FieldTypeDescription
application_idsarray[snowflake]The application IDs to get the listings for (1-100)
country_code?stringThe ISO 3166-1 alpha-2 country code
localize?booleanWhether to localize the SKUs for the user's location (default true)

Get SKU Published Store Listing

GET/store/published-listings/skus/{sku.id}

Returns the store listing object for the given SKU ID.

Query String Params
FieldTypeDescription
country_code?stringThe ISO 3166-1 alpha-2 country code
localize?booleanWhether to localize the SKUs for the user's location (default true)

Get Subscription Plans

GET/store/skus/{sku.id}/plans

Returns a list of subscription plan objects for the given SKU ID. User must own the SKU's application or be a member of the owning team.

Get Published Subscription Plans

GET/store/published-listings/skus/{sku.id}/subscription-plans

Returns a list of published subscription plan objects for the given SKU ID.

Query String Params
FieldTypeDescription
include_unpublished? 1booleanWhether to include unpublished subscription plans (default false)
revenue_surface?integerThe revenue surface, used for analytics
country_code?stringThe ISO 3166-1 alpha-2 country code
payment_source_id?snowflakeThe ID of the payment source to get prices for

1 To access unpublished subscription plans, the user must own the SKU's application or be a member of the owning team.

Revenue Surface
ValueNameDescription
0DISCOVERYSubscription discovery
1CHECKOUTSubscription checkout

Get Bulk Published Subscription Plans

GET/store/published-listings/skus/subscription-plans

Returns a list of published subscription plan objects for the given SKU IDs.

Query String Params
FieldTypeDescription
sku_idsarray[snowflake]The SKU IDs to get the subscription plans for (1-16)
include_unpublished? 1booleanWhether to include unpublished subscription plans (default false)
revenue_surface?integerThe revenue surface, used for analytics
country_code?stringThe ISO 3166-1 alpha-2 country code
payment_source_id?snowflakeThe ID of the payment source to get prices for

1 To access unpublished subscription plans, the user must own the SKUs' application or be a member of the owning team.

Get SKU Purchase Preview

GET/store/skus/{sku.id}/purchase

Returns an invoice object representing a purchase preview for the given SKU ID.

Query String Params
FieldTypeDescription
payment_source_id?snowflakeThe ID of the payment source to pay with
currency?stringThe lower-cased ISO 4217 currency code to price in
sku_subscription_plan_id?snowflakeThe ID of the subscription plan to purchase (required for subscription SKUs)
gift?booleanWhether the purchase is a gift (default false)
test_mode?booleanWhether the purchase is in test mode (default false)
load_id?stringA client-generated UUID used to identify the current checkout session

Create SKU Purchase

POST/store/skus/{sku.id}/purchase

Creates a new purchase for the given SKU ID. Fires an Entitlement Create and Payment Update Gateway event.

JSON Params
FieldTypeDescription
payment_source_id?snowflakeThe ID of the payment source to pay with
payment_source_token??stringThe token used to authorize with the payment source
return_url? 1?stringTThe URL to redirect to after payment is complete (max 2048 characters)
country_code?stringThe ISO 3166-1 alpha-2 country code
currency?stringThe lower-cased ISO 4217 currency code
sku_subscription_plan_id?snowflakeThe ID of the subscription plan to purchase (required for subscription SKUs)
gift?booleanWhether the purchase is a gift (default false)
gift_info_options?gift info options objectAdditional metadata for gift purchases
test_mode?booleanWhether the purchase is in test mode (default false)
expected_amount? 2integerThe expected amount to be charged in the smallest currency unit
expected_currency? 2stringThe expected currency for the purchase in lower-cased ISO 4217 format
purchase_token 2stringThe purchase token of the payment client (max 1024 characters)
gateway_checkout_context??gateway checkout context objectThe context for the gateway checkout, if applicable
load_idstringA client-generated UUID used to identify the current checkout session, used for purchase deduplication

1 If required, this URL is typically set to the Create Billing Popup Bridge Redirect endpoint with a response_type of return, which redirects the user back to the Discord client for handling.

2 If the actual currency or amount charged does not match these expected values, the purchase will fail.

3 See the section on payment clients for more information.

Gift Info Options Structure
FieldTypeDescription
gift_style??integerThe style of the gift code
recipient_id?snowflakeThe ID of the user to directly send the gift to
custom_message??stringA custom message to include with the gift (max 190 characters)
emoji_id??snowflakeThe ID of a guild's custom emoji
emoji_name??stringThe unicode character of the emoji
sound_id??snowflakeThe ID of the default soundboard sound to play with the gift
reward_sku_ids?array[snowflake]The IDs of the promotional SKUs the gifter chooses to redeem as a reward for purchasing a gift (max 1)
Response Body
FieldTypeDescription
entitlementsarray[entitlement object]The entitlements granted by the purchase
library_applications?array[library application object]The library applications granted by the purchase
applied_user_discounts?array[user discount offer object]The user discount offers applied to the purchase
gift_code?stringThe gift code created by the purchase

Get Application Store Assets

GET/store/applications/{application.id}/assets

Returns a list of store asset objects for the given application ID. User must be the owner of the application or member of the owning team.

Create Application Store Asset

POST/store/applications/{application.id}/assets

Uploads a new store asset for the given application ID. Returns the created store asset object on success. User must be the owner of the application or developer of the owning team.

Form Params
FieldTypeDescription
filesfile contentsContents of the store asset

Delete Application Store Asset

DELETE/store/applications/{application.id}/assets/{asset.id}

Deletes the store asset with the given ID. Returns a 204 empty response on success. User must be the owner of the application or member of the owning team.

Get Store Price Tiers

GET/store/price-tiers

Returns a list of integers representing the available store price tiers.

Query String Params
FieldTypeDescription
price_tier_type?integerThe type of price tiers to retrieve
Price Tier Type
ValueNameDescription
1GUILD_ROLE_SUBSCRIPTIONSPrice tiers to use with guild role subscriptions
2GUILD_PRODUCTSPrice tiers to use with guild products

Get Store Price Tier

GET/store/price-tiers/{price_tier}

Returns a map of lower-cased ISO 4217 currency codes to integer prices representing localized pricing for the given price tier.

Get EULA

GET/store/eulas/{eula.id}

Returns a EULA object for the given ID.

Get Application Store Layout

GET/applications/{application.id}/store-layout

Returns the store layout of the given application ID.

Response Body
FieldTypeDescription
subscriptionsarray[store listing object]The listings the users can subscribe to
otpsarray[store listing object]The listings the users can purchase
subscription_plansarray[subscription plan object]The subscription plans

Modify Application Storefront Publish States

POST/applications/{application.id}/storefront/publish

Modifies the SKU publishing states for the given application and SKU IDs.

JSON Params
FieldTypeDescription
publish_stateintegerThe publish state for the SKUs
sku_idsarray[snowflake]The IDs of the SKUs to modify publish state for (1-255)
Storefront Publish State
ValueNameDescription
1UNPUBLISHEDThe SKUs are unpublished
2PUBLISHED_HIDDENThe SKUs are published but hidden in the UI
3PUBLISHED_STOREFRONTThe SKUs are published and shown in the UI
Response Body
FieldTypeDescription
store_layout_sku_ids?array[snowflake]The store layout SKU IDs
store_listings?array[store listing object]The store listings

Get Consumable SKU Pricing

GET/store/consumable/pricing/{sku.id}

Returns the pricing information for a consumable SKU. These are currently as follows:

  • HD Streaming (1285377810587979827)
  • Confetti (1316162456959057920)
Response Body
FieldTypeDescription
priceSKU price objectThe pricing information for the SKU

Get HD Streaming Consumable

GET/users/@me/consumable/hd-streaming

Returns the active HD streaming potion entitlement for the user.

Response Body
FieldTypeDescription
entitlement?entitlement objectThe active HD streaming entitlement

Apply HD Streaming Consumable

POST/users/@me/consumable/hd-streaming

Applies an HD streaming potion to a voice channel. Returns a 204 empty response on success. Fires a Channel Update Gateway event.

JSON Params
FieldTypeDescription
channel_idsnowflakeThe ID of the voice channel to apply to

Get Confetti Consumable

GET/users/@me/consumable/confetti

Returns the active confetti potion entitlement for the user.

Response Body
FieldTypeDescription
entitlement?entitlement objectThe active confetti potion entitlement
num_potionsintegerNumber of unused potions left

Apply Confetti Consumable

POST/users/@me/consumable/confetti

Applies a confetti potion to a message. To use custom emoji, you must encode it in the format name:id with the emoji name and emoji ID. Returns a 204 empty response on success. Fires a Message Update Gateway event.

JSON Params
FieldTypeDescription
channel_idsnowflakeThe ID of the channel the message is in
message_idsnowflakeThe ID of the message to apply the confetti potion to
emoji_namestringUnicode emoji or custom emoji name and ID

Get Virtual Currency Balance

GET/users/@me/virtual-currency/balance

Returns the current user's Orbs balance.

Response Body
FieldTypeDescription
balanceintegerAmount of Orbs the user has

Redeem Virtual Currency

POST/virtual-currency/skus/{sku.id}/redeem

Purchases a SKU using virtual currency. Returns a list of entitlement objects granted to the current user. Fires Payment Update, Virtual Currency Balance Update, Entitlement Create, and Entitlement Update Gateway events.

JSON Params
FieldTypeDescription
checkout_session_idstringA client-generated UUID used to identify the current checkout session

Get Application Storefront for Premium Button

GET/applications/storefront/interactions/premium-button/{store_listing.id}

Returns information about store listing, relevant SKUs, and subscription plans.

Response Body
FieldTypeDescription
skus?array[SKU object]The relevant SKUs
store_listingsarray[store listing object]The store listings
subscription_plans?array[subscription plan object]The subscription plans

Get Guild Application Storefront

GET/partner-sdk/guilds/{guild.id}/application-storefront

Returns a storefront object for the application linked to the given guild ID.

Get Application SKU Recommendations

GET/partner-sdk/applications/{application.id}/skus/recommendations

Returns recommended giftable SKUs for the specified users.

Query String Parameters
FieldTypeDescription
user_idsarray[snowflake]The IDs of the users to return recommendations for (1-100)
max_recommendations?integerMax number of recommendations to return (1-25, default ?)
include_wishlists?booleanWhether to include SKUs on the users' wishlists
Response Body
FieldTypeDescription
skusarray[SKU object]The SKUs
skus_to_user_idsmap[snowflake, application SKU recommendation object]A mapping of SKU IDs to recommended users
applicationpartial application objectThe application
Application SKU Recommendation Structure
FieldTypeDescription
user_idsnowflakeThe ID of the user
reasonstringThe reason why the SKU was recommended to the user
Application SKU Recommendation Reason
ValueDescription
WISHLISTUser has the SKU wishlisted
RECOMMENDATIONSKU is recommended for the user

Get Social Layer SKUs

GET/partner-sdk/application/{application.id}/skus

Returns a list of SKU objects related to in-game items for the given application. Requires a partner application with access to the social layer SDK and monetization. User must be the owner of the application or member of the owning team.

Create Social Layer SKU

POST/partner-sdk/application/{application.id}/skus

Creates a new SKU for in-game item. Returns the created SKU object on success. Requires a partner application with access to the social layer SDK and monetization. User must be the owner of the application or member of the owning team.

JSON Params
FieldTypeDescription
namestringThe name of the SKU (max 256 characters)
price_tierintegerThe base price of the SKU

Get Application Storefront

GET/partner-sdk/applications/{application.id}/storefront

Returns a storefront object for the given application ID.

Modify Application Storefront

PUT/partner-sdk/applications/{application.id}/storefront

Modifies the application's storefront. Returns the modified storefront object on success. User must be the owner of the application or developer of the owning team.

JSON Params
FieldTypeDescription
titlestringThe title of the storefront (max 256 characters)
logo_asset_id?snowflakeThe ID of the logo store asset
light_theme_logo_asset_id?snowflakeThe ID of the logo store asset for light theme
pagesarray[storefront page object]The pages of the storefront (max 5)

Delete Application Storefront

DELETE/partner-sdk/applications/{application.id}/storefront

Deletes the application's storefront. Returns a 204 empty response on success. User must be the owner of the application or developer of the owning team.

Get Guild Application SKU Storefront

GET/partner-sdk/guilds/{guild.id}/application-storefront/skus/{sku.id}

Returns the storefront associated with the given SKU ID.

Response Body
FieldTypeDescription
store_listingstore listing objectThe store listing
assetsarray[store asset object]The store assets

Get Guild Application Storefront Announcement

GET/partner-sdk/guilds/{guild.id}/application-storefront/announcement

Returns the most recent announcement on the storefront for the application linked to the given guild ID.

Response Body
FieldTypeDescription
idsnowflakeThe ID of the announcement
application_idsnowflakeThe ID of the application
application_namestringThe name of the application
asset_idsnowflakeThe ID of the announcement store asset
background_image_asset_idsnowflakeThe ID of the background image store asset
Example Response
{
"id": "1461677124166483968",
"application_id": "1346069614634864772",
"application_name": "Marvel Rivals",
"asset_id": "1461676869303664640",
"background_image_asset_id": "1461676874102214730"
}

Check Social Layer SKU Purchase Eligibility

POST/partner-sdk/guilds/{guild.id}/application-storefront/skus/{sku.id}/eligibility

Creates a SOCIAL_LAYER_SKU_PURCHASE_ELIGIBILITY interaction used to check whether the user is eligible to purchase a social layer SKU.

Response Body
FieldTypeDescription
interaction_idsnowflakeThe ID of the created interaction