Account Management¶
Methods used to manage the user’s account.
User¶
-
GET
/userData.json
¶ Information about the logged in user.
GET /userData.json HTTP/1.1 Host: embed.gog.com
Example response:
{ "country": "AT", "currencies": [ { "code": "EUR", "symbol": "€" }, { "code": "USD", "symbol": "$" } ], "selectedCurrency": { "code": "EUR", "symbol": "€" }, "preferredLanguage": { "code": "en", "name": "English" }, "ratingBrand": "PEGI", "isLoggedIn": true, "checksum": { "cart": null, "games": "c1fc44f3808bd755560e1b00d34451a1", "wishlist": "fcfd279ac1042f8baf8e659729ab1b89", "reviews_votes": null, "games_rating": null }, "updates": { "messages": 0, "pendingFriendRequests": 0, "unreadChatMessages": 0, "products": 0, "forum": 0, "total": 0 }, "userId": "48628349971017", "username": "Yepoleb", "email": "mail@example.com", "personalizedProductPrices": [], "personalizedSeriesPrices": [] }
-
GET
/user/set-redirect-url
¶ Sets URL to redirect to after login. You shouldn’t need this with a native client which is always logged in.
Query Parameters: - url – Redirect URL, the only accepted value seems to be
checkout
Example request:
GET /user/set-redirect-url?url=checkout HTTP/1.1 Host: embed.gog.com
Example response:
No content
- url – Redirect URL, the only accepted value seems to be
-
GET
/user/reviewTipsStatus.json
¶ Checks if the user has read the tips that pop up before you can write your first review.
Example request:
GET /user/reviewTipsStatus.json HTTP/1.1 Host: embed.gog.com
Example response:
{ "userId": "48628349971017", "readTips": false }
-
GET
/users/info/
(int: user_id)¶ Returns the public information about a user.
Query Parameters: - expand (str) – Additional sections to request. Possible values: friendStatus, wishlistStatus, blockedStatus
Response JSON Object: - friendStatus.status (int) –
- ANONYMOUS_USER = 0: No special relationship with this user.
- INVITED_USER = 1: You have sent this user a friend request.
- INVITED_BY_USER = 2: You have received a friend request from this user.
- FRIEND = 3: You are friends with this user.
- friendStatus.dateCreated (int) – Timestamp of when a friend request
was sent or
null
. - friendStatus.dateAccepted (int) – Timestamp of when a friend request
was accepted or
null
. - wishlistStatus.sharing (int) –
- WISHLIST_PRIVATE = 0
- WISHLIST_PUBLIC = 1
- WISHLIST_FOR_FRIENDS = 2
Example request:
GET /users/info/48628349971017?expand=friendStatus,wishlistStatus,blockedStatus HTTP/1.1 Host: embed.gog.com
Example response:
{ "id": "48628349971017", "username": "Yepoleb", "userSince": 1449237763, "avatars": { "small": "https://images.gog.com/3f9e109ac09308f7d52c607c8571e63d5fb482acca499a83e767dfff7f00d57d_avs.jpg", "small2x": "https://images.gog.com/3f9e109ac09308f7d52c607c8571e63d5fb482acca499a83e767dfff7f00d57d_avs2.jpg", "medium": "https://images.gog.com/3f9e109ac09308f7d52c607c8571e63d5fb482acca499a83e767dfff7f00d57d_avm.jpg", "medium2x": "https://images.gog.com/3f9e109ac09308f7d52c607c8571e63d5fb482acca499a83e767dfff7f00d57d_avm2.jpg", "large": "https://images.gog.com/3f9e109ac09308f7d52c607c8571e63d5fb482acca499a83e767dfff7f00d57d_avl.jpg", "large2x": "https://images.gog.com/3f9e109ac09308f7d52c607c8571e63d5fb482acca499a83e767dfff7f00d57d_avl2.jpg" }, "friendStatus": { "id": "48628349971017", "status": 0, "dateCreated": null, "dateAccepted": null }, "wishlistStatus": { "sharing": 2, "url": "https://embed.gog.com/u/Yepoleb/wishlist" }, "blockedStatus": { "blocked": false }, "chatStatus": { "url": "https://embed.gog.com/u/Yepoleb/chat", "isChatRestricted": false } }
Games & Movies¶
-
GET
/user/data/games
¶ List of games and movies the account owns. Use
GET /account/getFilteredProducts
for more than just the IDs.Example request:
GET /user/data/games HTTP/1.1 Host: embed.gog.com
Example response:
{ "owned": [ 1207658691, 1207658713, 1207658805, 1207658924, 1207658930, 1207658945, 1207658957, 1929434313, 1949616134, 1432207890, 1444035366, 1444036272, 1443696086 ] }
-
GET
/account/gameDetails/
(int: game_id).json
¶ Returns detailed information about a game. Seems to work with movies as well, but they have their own method.
Example request:
GET /account/gameDetails/1207658691.json HTTP/1.1 Host: embed.gog.com
Example response:
{ "title": "Unreal Tournament 2004 Editor's Choice Edition", "backgroundImage": "//images-4.gog.com/ebed1d5546a4fa382d7d36db8aee7f298eac7db3a8dc2f4389120b5b7b3155a9", "cdKey": "", "textInformation": "", "downloads": [ [ "English", { "windows": [ { "manualUrl": "/downlink/unreal_tournament_2004_ece/en1installer3", "downloaderUrl": "gogdownloader://unreal_tournament_2004_ece/installer_win_en", "name": "Unreal Tournament 2004 Editor's Choice Edition (Part 1 of 3)", "version": null, "date": "", "size": "1 MB" }, { "manualUrl": "/downlink/unreal_tournament_2004_ece/en1installer4", "downloaderUrl": "gogdownloader://unreal_tournament_2004_ece/installer_win_en", "name": "Unreal Tournament 2004 Editor's Choice Edition (Part 2 of 3)", "version": null, "date": "", "size": "1.5 GB" }, { "manualUrl": "/downlink/unreal_tournament_2004_ece/en1installer5", "downloaderUrl": "gogdownloader://unreal_tournament_2004_ece/installer_win_en", "name": "Unreal Tournament 2004 Editor's Choice Edition (Part 3 of 3)", "version": null, "date": "", "size": "507 MB" } ] } ] ], "extras": [ { "manualUrl": "/downlink/file/unreal_tournament_2004_ece/6093", "downloaderUrl": "gogdownloader://unreal_tournament_2004_ece/6093", "name": "manual (33 pages)", "type": "manuals", "info": 1, "size": "2 MB" }, { "manualUrl": "/downlink/file/unreal_tournament_2004_ece/6073", "downloaderUrl": "gogdownloader://unreal_tournament_2004_ece/6073", "name": "HD wallpapers", "type": "wallpapers", "info": 12, "size": "115 MB" }, { "manualUrl": "/downlink/file/unreal_tournament_2004_ece/6083", "downloaderUrl": "gogdownloader://unreal_tournament_2004_ece/6083", "name": "avatars", "type": "avatars", "info": 8, "size": "1 MB" } ], "dlcs": [], "tags": [], "isPreOrder": false, "releaseTimestamp": 1227585600, "messages": [], "changelog": null, "forumLink": "https://embed.gog.com/forum/unreal_series", "isBaseProductMissing": false, "missingBaseProduct": null }
-
GET
/account/movieDetails/
(int: movie_id).json
¶ Returns detailed information about a movie.
Example request:
GET /account/movieDetails/1207665463.json HTTP/1.1 Host: embed.gog.com
Example response:
{ "title": "Art of Playing, The", "backgroundImage": "//images-1.gog.com/a3e48e4e370e2e7e9cdf648b712ff0506b994b404b64993e3fab4934294a4890", "cdKey": "", "textInformation": "", "downloads": [ { "manualUrl": "/downlink/the_art_of_playing/en1video1", "downloaderUrl": "gogdownloader://the_art_of_playing/video_en1video1", "playerUrl": "http://www.gog.com/video/the_art_of_playing/en1video1", "name": "The Art of Playing (1080p)", "size": "1.1 GB" }, { "manualUrl": "/downlink/the_art_of_playing/en1video2", "downloaderUrl": "gogdownloader://the_art_of_playing/video_en1video2", "playerUrl": "http://www.gog.com/video/the_art_of_playing/en1video2", "name": "The Art of Playing (720p)", "size": "382 MB" }, { "manualUrl": "/downlink/the_art_of_playing/en1video3", "downloaderUrl": "gogdownloader://the_art_of_playing/video_en1video3", "playerUrl": "http://www.gog.com/video/the_art_of_playing/en1video3", "name": "The Art of Playing (576p)", "size": "163 MB" } ], "extras": [ { "manualUrl": "/downlink/file/the_art_of_playing/34143", "downloaderUrl": "gogdownloader://the_art_of_playing/34143", "name": "wallpaper", "type": "wallpapers", "info": 1, "size": "1 MB" }, { "manualUrl": "/downlink/file/the_art_of_playing/34213", "downloaderUrl": "gogdownloader://the_art_of_playing/34213", "name": "trailer", "type": "video", "info": 1, "size": "92 MB" }, { "manualUrl": "/downlink/file/the_art_of_playing/34553", "downloaderUrl": "gogdownloader://the_art_of_playing/34553", "name": "subtitles (English)", "type": "game add-ons", "info": 1, "size": "1 MB" }, { "manualUrl": "/downlink/file/the_art_of_playing/37973", "downloaderUrl": "gogdownloader://the_art_of_playing/37973", "name": "subtitle pack", "type": "game add-ons", "info": 1, "size": "1 MB" } ], "dlcs": [], "tags": [], "isPreOrder": false, "releaseTimestamp": 693612000, "messages": [], "changelog": null, "forumLink": "https://www.gog.com/forum/movies", "isBaseProductMissing": false, "missingBaseProduct": null }
-
GET
/user/games_rating.json
¶ Returns the products the account has rated. Rating numbers are stars * 10
Example request:
GET /user/games_rating.json HTTP/1.1 Host: embed.gog.com
Example response:
{ "games_rating": { "1207658957": 40, "1207659032": 50 }, "checksum": "175d07086bff9322646f1dad2749483e" }
-
GET
/user/review_votes.json
¶ Returns review IDs the user has voted on.
Example request:
GET /user/review_votes.json HTTP/1.1 Host: embed.gog.com
Example response:
{ "reviews": [ 123456, 1112223 ], "checksum": "76c03aa67251e46db3271adf4641b815" }
-
POST
/account/hideProduct/
(int: product_id)¶ Hides a product from your library.
Example request:
POST /user/hideProduct/1430740458 HTTP/1.1 Host: embed.gog.com
Example response:
{}
-
POST
/account/revealProduct/
(int: product_id)¶ Unhides a product from your library.
Example request:
POST /user/revealProduct/1430740458 HTTP/1.1 Host: embed.gog.com
Example response:
{}
Wishlist¶
-
GET
/user/wishlist.json
¶ Returns the wishlist of the account.
Example request:
GET /user/wishlist.json HTTP/1.1 Host: embed.gog.com
Example response:
{ "wishlist": { "1207658750": true, "1207658928": true, "1207658986": true, "1207659002": true, "1207659023": true, "1437553673": true, "1440407371": true, "1452863689": true, "1893001152": true, "1948823323": true }, "checksum": "e7c70b9b758318ed2f08b4450272296c" }
-
GET
/user/wishlist/add/
(int: product_id)¶ Adds a product to the wishlist and returns the new list.
Example request:
GET /user/wishlist/add/1207658750 HTTP/1.1 Host: embed.gog.com
Example response:
Same as
GET /user/wishlist.json
-
GET
/user/wishlist/remove/
(int: product_id)¶ Removes a product from the wishlist and returns the new list.
Example request:
GET /user/wishlist/remove/1207658750 HTTP/1.1 Host: embed.gog.com
Example response:
Same as
GET /user/wishlist.json
Tags¶
Adds a tag to a product.
Query Parameters: - product_id (int) – Product ID to add the tag to
- tag_id (int) – ID of the tag to attach
Example request:
POST /account/tags/attach?product_id=1430740458&tag_id=301045732 HTTP/1.1 Host: embed.gog.com
Example response:
{ "success": true }
Removes a tag to a product.
Query Parameters: - product_id (int) – Product ID to remote the tag from
- tag_id (int) – ID of the tag to detach
Example request:
POST /account/tags/detach?product_id=1430740458&tag_id=301045732 HTTP/1.1 Host: embed.gog.com
Example response:
{ "success": true }
Creates a new tag.
Query Parameters: - name (str) – Name of the new tag
Example request:
POST /account/tags/add?name=MYTAG HTTP/1.1 Host: embed.gog.com
Example response:
{ "id": "301045732" }
Deletes a tag.
Query Parameters: - tag_id (int) – ID of the tag to delete
Example request:
POST /account/tags/delete?tag_id=301045732 HTTP/1.1 Host: embed.gog.com
Example response:
{ "status": "deleted" }
Updates the tag list. Data isn’t actually posted but included as a query parameter (wat!?).
Query Parameters: - tags (json) – URL-encoded json data of the tags
Example request:
POST /account/tags/update?tags=%5B%7B%22id%22:%22301045732%22... HTTP/1.1 Host: embed.gog.com
Example request data:
This is the urldecoded content of the query parameter.
[{ "id": "372082953", "name": "MYTAG" }, { "id": "243982903", "name": "COMPLETED", "productCount": "12" }, { "id": "243982893", "name": "NEXT TO PLAY", "productCount": "4" }, { "id": "243982883", "name": "BACKLOG", "productCount": "0" }, { "id": "243982873", "name": "FAVORITE", "productCount": "0" }]
Example response:
{ "status": "updated" }
Settings¶
-
GET
/account/save_birthday/
(str: date)¶ Sets the birthday.
Parameters: - date – Date in ISO 8601 format
Example request:
GET /account/save_birthday/2000-12-31 HTTP/1.1 Host: embed.gog.com
Example response:
{}
-
GET
/account/save_country/
(str: country)¶ Sets the country.
Parameters: - country – Country as ISO 3166 code
Example request:
GET /account/save_country/AT HTTP/1.1 Host: embed.gog.com
Example response:
{}
Enable notifications for releases and announcements.
Parameters: - subscribed – 0 (unsubscribe), 1 (subscribe)
Example request:
GET /account/save_newsletter_subscription/1 HTTP/1.1 Host: embed.gog.com
Example response:
{}
-
GET
/account/save_promo_subscription/
(bool: subscribed)¶ Enable notifications for promos and deals.
Parameters: - subscribed – 0 (unsubscribe), 1 (subscribe)
Example request:
GET /account/save_promo_subscription/1 HTTP/1.1 Host: embed.gog.com
Example response:
{}
-
GET
/account/save_wishlist_notification/
(bool: subscribed)¶ Enable notifications for whishlist items on sale.
Parameters: - subscribed – 0 (unsubscribe), 1 (subscribe)
Example request:
GET /account/save_wishlist_notification/1 HTTP/1.1 Host: embed.gog.com
Example response:
{}
-
GET
/account/save_sharing_wishlist/
(int: privacy)¶ Sets if the wishlist is public.
Parameters: - privacy – Can be 0 (nobody), 1 (everyone) or 2 (friends only)
Example request:
GET /account/save_sharing_wishlist/1 HTTP/1.1 Host: embed.gog.com
Example response:
{}
-
GET
/account/save_chat_privacy/
(int: privacy)¶ Sets the chat privacy setting.
Parameters: - privacy – Can be 0 (nobody), 1 (anyone) or 2 (friends only)
Example request:
GET /account/save_chat_privacy/1 HTTP/1.1 Host: embed.gog.com
Example response:
{}
-
GET
/account/save_search_privacy/
(bool: privacy)¶ Changes if the user can be found by name or email.
Parameters: - privacy –
- 0 (search disabled)
- 1 (search enabled)
Example request:
GET /account/save_search_privacy/1 HTTP/1.1 Host: embed.gog.com
Example response:
{}
- privacy –
-
POST
/account/logout_all_sessions
¶ Example request:
GET /account/logout_all_sessions HTTP/1.1 Host: embed.gog.com
Example response:
{}
-
GET
/user/changeCurrency/
(str: currency)¶ Changes the default currency.
Parameters: - currency (str) – ISO 4217 currency code, currently available: USD, EUR,
GBP, AUD, RUB, PLN, CAD, CHF, NOK, SEK and DKK. Please only use the
ones listed in
GET /userData.json
.
Example request:
GET /user/changeCurrency/EUR HTTP/1.1 Host: embed.gog.com
Example response:
{}
- currency (str) – ISO 4217 currency code, currently available: USD, EUR,
GBP, AUD, RUB, PLN, CAD, CHF, NOK, SEK and DKK. Please only use the
ones listed in
-
GET
/user/changeLanguage/
(str: language)¶ Changes the used locale.
Parameters: - language (str) – Language to use, possible values: de-DE, en-US, fr-FR, pt-BR, ru-RU, zh-Hans
Example request:
GET /user/changeLanguage/de HTTP/1.1 Host: embed.gog.com
Example response:
{}
-
POST
/account/save_shelf_background/
(str: background_name)¶ Sets the library shelf style.
Parameters: - background_name (str) – One of wood, mate_black, glass, chrome, white, piano_black.
Example request:
GET /account/save_shelf_background/glass HTTP/1.1 Host: embed.gog.com
Example response:
{}
-
POST
/account/avatar
¶ Upload a profile avatar. This request uses the login.gog.com domain instead of the regular gog.com.
Example request:
POST /account/avatar HTTP/1.1 Host: login.gog.com Content-Disposition: form-data; name="files[]"; filename="avatar.png" Content-Type: image/png
Example response:
{ "avatars": { "small": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avs.jpg", "small_2x": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avs2.jpg", "medium": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avm.jpg", "medium_2x": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avm2.jpg", "large": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avl.jpg", "large_2x": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avl2.jpg" } }
Friends¶
-
POST
/friends/search
¶ Search for GOG users.
Example request:
POST /friends/search HTTP/1.1 Host: embed.gog.com { "query": "Yepoleb" }
Example response:
{ "id": "48628349971017", "galaxyUserId": "48628349957132247", "username": "Yepoleb", "userSince": 1449237763, "avatars": { "small": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avs.jpg", "small2x": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avs2.jpg", "medium": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avm.jpg", "medium2x": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avm2.jpg", "large": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avl.jpg", "large2x": "https:\/\/images.gog.com\/d7d8e3ed8ad2d9fd3557c83c4237a913b14e621c84e21fab594a9d961cd98fe4_avl2.jpg" } }
-
GET
/friends/invite/
(int: user_id)¶ Send a friend invite to a user. Warning: Response is not an object and may break certain JSON decoders.
Example request:
POST /friends/invite/17081829469374 HTTP/1.1 Host: embed.gog.com
Example response:
"ok"
-
GET
/friends/remove/
(int: user_id)¶ Removes a friend from your friends list. Warning: Response is not an object and may break certain JSON decoders.
Example request:
POST /friends/remove/17081829469374 HTTP/1.1 Host: embed.gog.com
Example response:
"ok"
-
GET
/friends/invites/
(int: user_id)/accept
¶ Accepts a friend invite. Warning: Response is not an object and may break certain JSON decoders.
Example request:
POST /friends/invites/17081829469374/accept HTTP/1.1 Host: embed.gog.com
Example response:
"ok"
-
GET
/friends/invites/
(int: user_id)/decline
¶ Declines a friend invite. Warning: Response is not an object and may break certain JSON decoders.
Example request:
POST /friends/invites/17081829469374/decline HTTP/1.1 Host: embed.gog.com
Example response:
"ok"
-
GET
/users/
(int: user_id)/block
¶ Block communication from a user. Warning: Response is not an object and may break certain JSON decoders.
Example request:
POST /friends/17081829469374/block HTTP/1.1 Host: embed.gog.com
Example response:
"ok"
-
GET
/users/
(int: user_id)/unblock
¶ Unblock communication from a user. Warning: Response is not an object and may break certain JSON decoders.
Example request:
POST /friends/17081829469374/unblock HTTP/1.1 Host: embed.gog.com
Example response:
"ok"