Widgets

Widgets are a way for users to showcase their gaming interests on their profile. They can display information about the user's favorite games, games they are currently playing, games they want to play, and more. Widgets can also be created by applications to display specific game details.

Game Widget Object

A tile on a user's profile showcasing their gaming interests.

FieldTypeDescription
datagame widget data objectThe data of the widget
idsnowflakeThe ID of the widget
updated_atISO8601 timestampWhen the widget was last updated
Game Widget Data Structure
FieldTypeDescription
typestringThe type of the game widget
games?array[game widget game object]The widget's games (not applicable for application widgets)
application_id?snowflakeThe application ID (only applicable for application widgets)
Game Widget Type
ValueDescription
favorite_games 1Favourite game (max 1)
played_gamesGames I Like (max 20)
current_games 1Games in rotation (max 5)
want_to_play_gamesWant to play (max 20)
applicationSpecific game details

1 Rendered as a detailed game widget in the user profile.

Game Widget Game Structure
FieldTypeDescription
game_idsnowflakeThe application ID of the game
comment??stringOptional comment to be displayed below the game in detailed game widgets
tags?array[string]Tags to be displayed below the game in detailed game widgets
Game Widget Tag
ValueDescription
noob 1Noob
learning_the_ropes 1Learning The Ropes
casual 1Casual
getting_good 1Getting Good
intermediate 1Intermediate
expert 1Expert
better_than_you 1Better Than You
obsessedObsessed
love_itLove It
kind_of_love_itKind of Love it
kind_of_hate_itKind of Hate it
rage_quittingRage Quitting
like_itLike It
frustratedFrustrated
too_easyToo Easy
looking_for_groupLooking For Group
open_to_playOpen To Play
looking_for_tipsLooking For Tips
open_to_teachOpen To Teach
looking_to_discussLooking To Discuss

1 Only one of these tags can be present in a game widget at a time.

Example Game Widget
{
"id": "1455894303866880153",
"updated_at": "2025-12-31T12:04:11.252336+00:00",
"data": {
"type": "favorite_games",
"games": [
{
"game_id": "505134938354352128",
"comment": "Best game ever!",
"tags": ["expert", "open_to_teach"]
}
]
}
}

User Application Identity Object

The user's external identity for a connected application.

User Application Identity Structure
FieldTypeDescription
application_idsnowflakeThe ID of the application
provider_issued_user_idstringThe ID of the user on the external identity provider
profile?partial user application profile objectThe primary user application profile of the user
profiles?array[partial user application profile object]The user application profile
Partial User Application Profile Structure
FieldTypeDescription
username?stringThe external username of the user
metadata?stringCustom metadata
data?user application profile data objectThe user application data
data_trusted?booleanWhether the data is trusted (set by application bot)
connection_visiblebooleanUnknown
User Application Profile Data Structure
FieldTypeDescription
primary?user application profile primary data objectThe primary user application data
dynamic?array[user application profile dynamic data object]The dynamic user application data
User Application Profile Primary Data Structure
FieldTypeDescription
season?stringThe game season
rank_name?stringThe current rank the user has in-game
highest_rank?stringThe highest rank the user ever had in-game
featured_played_character?stringThe name of the featured played character
featured_played_character_image?unfurled media item objectThe image of the featured played character
playtime_hours?floatDuration (in hours) that the user has played the game for
total_wins?integerNumber of total wins
current_period_wins?integerNumber of wins in the current period
total_games?integerNumber of total matches
current_period_games?integerNumber of matches in the current period
total_kills?integerNumber of total kills
current_period_kills?integerNumber of kills in the current period
total_assists?integerNumber of total assists
current_period_assists?integerNumber of assists in the current period
total_deaths?integerNumber of total deaths
current_period_deaths?integerNumber of deaths in the current period
server_name? 1stringThe name of the game server
user_id? 1stringThe ID of the in-game account
union_level? 1stringThe union level
total_resonators? 1integerNumber of total resonators
total_achievements? 1integerNumber of total achievements
total_echoes? 1integerNumber of total echoes
login_days? 1integerNumber of login days
data_bank_level? 1stringThe data bank level

1 Only applicable for the "Wuthering Waves" application.

User Application Profile Dynamic Field Type
Dynamic String Data Structure
FieldTypeDescription
namestringThe name of the dynamic data
valuestringThe value of the dynamic data
typeintegerThe type of the dynamic data
Dynamic Number Data Structure
FieldTypeDescription
namestringThe name of the dynamic data
valueintegerThe value of the dynamic data
typeintegerThe type of the dynamic data
Dynamic Image Data Structure
FieldTypeDescription
namestringThe name of the dynamic data
valueunfurled media item objectThe value of the dynamic data
typeintegerThe type of the dynamic data
Example User Application Profile Primary Data
{
"season": "Season 5.0",
"rank_name": "No Season Data",
"highest_rank": "No Season Data",
"featured_played_character": "HulkBanner",
"featured_played_character_image": {
"id": "1443231705250136105",
"url": "https://x20na.gsf.easebar.com/nzgxowi1zdq3ztfmn2rhn2fiyjm2ndiznj.png",
"proxy_url": "https://images-ext-1.discordapp.net/external/kzlmI6xU3yzi4a-ipRusyF7IYGbHDgtjquG9jpGVDl0/https/x20na.gsf.easebar.com/nzgxowi1zdq3ztfmn2rhn2fiyjm2ndiznj.png",
"width": 300,
"height": 450,
"placeholder": "l+iFEwAryG8lphhnbmAS+RVnUHeRRlk=",
"placeholder_version": 1,
"content_type": "image/png",
"loading_state": 2,
"flags": 0
},
"playtime_hours": 2.29,
"total_wins": 12,
"current_period_wins": 0,
"total_games": 17,
"current_period_games": 0,
"total_kills": 245,
"current_period_kills": 0,
"total_assists": 27,
"current_period_assists": 0,
"total_deaths": 85,
"current_period_deaths": 0
}

Widget Config Object

A config for a widget that is displayed on the user's profile.

Widget Config Structure
FieldTypeDescription
application_idsnowflakeThe ID of the application the widget config is for
config_idsnowflakeThe ID of the widget config
display_namestringThe display name of the widget config
surfacesmap[string, surface object]The surfaces the widget config is displayed on
statusstringThe status of the widget config
resolved_assets?array[application asset object]The resolved assets for the widget config
published_at?ISO8601 timestampWhen the widget config was published
updated_atISO8601 timestampWhen the widget config was last updated
Widget Surface Structure
FieldTypeDescription
layoutstringThe layout used for this surface
componentsmap[string, widget component object]The components of the surface
Widget Surface Component Structure
FieldTypeDescription
fieldsmap[string, widget component field object]The fields of the component
Widget Surface Component Field Structure
FieldTypeDescription
value_typestringThe type of the value
presentation_typestringThe presentation type of the value
valuestringThe actual value or reference key to the data
fallback?widget component field objectThe fallback value if the value is unavailable
Widget Surface Value Type
ValueDescription
dataThe value is taken from the user profile identity data
custom_stringThe value is a custom string
application_assetThe value is taken from the resolved application assets
application_localized_stringUnknown
Widget Layout Definition Structure
FieldTypeDescription
surfacestringThe surface the layout applies to
componentsmap[string, widget layout component object]The components of the layout
keystringThe layout definition key
display_namestringThe display name of the layout definition
Widget Layout Component Structure
FieldTypeDescription
display_namestringThe display name of the component
requiredbooleanWhether the component is required
fieldsmap[string, widget layout field object]The fields within the component
Widget Layout Field Structure
FieldTypeDescription
display_namestringThe display name of the field
requiredbooleanWhether the field is required
allowed_presentation_typesarray[string]Allowed presentation types for the field
Widget Config Status
ValueDescription
publishedThe widget config is published
draftThe widget config is a draft
Presentation Type
ValueDescription
imageThe value is an image
numberThe value is a number
textThe value is a string of text
durationThe value is a duration
Surface Type
ValueDescription
widget_topThe content displayed at the top of the widget
widget_bottomThe content displayed at the bottom of the widget
add_widget_previewThe content displayed when adding a widget
mini_profileThe content displayed in the mini profile
activity_accessoryThe content displayed as an accessory to the user's activity
Layout Definition Key
ValueDescription
activity_accessory_statThe layout definition for the activity accessory surface
add_widget_preview_containedThe layout definition for the add widget preview surface with the avatar being contained in a box
add_widget_preview_heroThe layout definition for the add widget preview surface with the avatar being the main focus
mini_profile_contained_statThe layout definition for the mini profile surface with the avatar being contained in a box
mini_profile_hero_statThe layout definition for the mini profile surface with the avatar being the main focus
widget_bottom_collectionThe layout definition for the widget bottom surface when the widget is part of a collection
widget_bottom_progressThe layout definition for the widget bottom surface when the widget is showcasing progress towards a goal
widget_bottom_statsThe layout definition for the widget bottom surface when the widget is showcasing stats
widget_top_containedThe layout definition for the widget top surface with the avatar being contained in a box
widget_top_heroThe layout definition for the widget top surface with the avatar being the main focus

Endpoints

Modify Profile Widgets

PUT/users/@me/widgets

Replaces the user's profile widgets, and returns a list of game widget which has been put on the user's profile.

JSON Params
FieldTypeDescription
widgetsarray[partial game widget object]The user's game widgets (max 1 of each game widget type) 1

1 The id field is optional and updated_at is ignored.

Get Profile Widgets Suggested Games

GET/users/@me/widgets/suggested-games

Returns suggested applications for the current user's profile game widgets.

Response Body
FieldTypeDescription
suggested_gamesarray[snowflake]The suggested game application IDs
suggested_wishlist_gamesarray[snowflake]The suggested wishlist game application IDs

Get Bulk Application Identities

POST/application-identities

Returns a list of partial application identity objects connected to the authorized application.

JSON Params
FieldTypeDescription
user_ids 1array[snowflake]The IDs of the users to retrieve identities for (1-100)

1 Invalid IDs are ignored.

Partial Application Identity Structure
FieldTypeDescription
user_idsnowflakeThe ID of the user
external_user_idstringThe ID of the user on the external identity provider

Get User Application Profile

GET/applications/{application.id}/users/{user.id}/identities/{external_user_id}/profile

Returns an user application profile object for the given application, user, and external user IDs.

Modify User Application Profile

PATCH/applications/{application.id}/users/{user.id}/identities/{external_user_id}/profile

Modifies the user's application profile. Returns an user application profile object on success.

JSON Params
FieldTypeDescription
username?stringThe username (max 1024)
metadata?objectCustom metadata for the user application profile (max 25 keys, 1024 characters per key and value)
data?user application profile data objectThe user application profile data to set

Get User Application Identities

GET/users/{user.id}/application-identities

Returns the user's external identities for connected applications.

Query String Params
FieldTypeDescription
with_profiles?booleanWhether to include application profile information (default false)
Response Body
FieldTypeDescription
identitiesarray[user application identity object]The identities for the user

Modify User Application Profile Config

PATCH/users/@me/application-identities/{application.id}/{external_user_id}/config

Modifies the user's application profile config. Returns a 204 empty response on success.

JSON Params
FieldTypeDescription
connection_visible?stringWhether the connection is visible
GET/widget-configs/featured

Returns featured widget configs.

Response Body
FieldTypeDescription
application_idsarray[snowflake]The application IDs of the featured widget configs
configsmap[snowflake, array[widget config object]]The featured widget configs mapped by application ID

Get Developer Application Widget Configs

GET/widget-configs/developer

Returns widget configs of the apps the user has access to.

Response Body
FieldTypeDescription
configsmap[snowflake, array[widget config object]]The featured widget configs mapped by application ID

Get Layout Definitions

GET/widget-configs/layout-definitions

Returns a map of widget layout definitions for widget configs.

Response Body
FieldTypeDescription
configsmap[snowflake, array[widget config object]]The featured widget configs mapped by application ID

Get Application Widget Configs

GET/applications/{application.id}/widget-configs

Returns a list of widget configs for the specified application.

Create Application Widget Config

POST/applications/{application.id}/widget-configs

Creates a new widget config for the specified application. Returns the created widget config on success.

JSON Params
FieldTypeDescription
display_namestringThe display name of the widget config (max 100 characters)
surfacesmap[string, widget surface object]The surfaces mapped by surface type

Deletes the widget config. Returns a 204 empty response on success.

Modifies the widget config. Returns the updated widget config on success.

JSON Params
FieldTypeDescription
display_name?stringThe display name of the widget config (max 100 characters)
surfacesmap[string, widget surface]The surfaces mapped by surface type

Publish Application Widget Config

POST/applications/{application.id}/widget-configs/{widget_config.id}/publish

Publishes the widget config. Returns the widget config on success.

Unpublish Application Widget Config

POST/applications/{application.id}/widget-configs/{widget_config.id}/unpublish

Unpublishes the widget config. Returns the widget config on success.