If you have any contributions (new urls, previously unknown parameters, etc.), feel free to submit an issue or pull request and I will be sure to credit you. Feel like helping? Don't forget to check the CONTRIBUTE.md guide
The main goal of this project is to document endpoints in the RotMG appspot API. All links (at least the ones we can find / have access to), old or new, are posted here.
- https://realmofthemadgodhrd.appspot.com
- https://realmofthemadgod.appspot.com (used before kabam account migration)
- http://rot.mg (redirect to https://www.realmofthemadgod.com/)
- http://play.realmofthemadgod.com (used by kabam till 2016 for unknown purpose)
- http://remaster.realmofthemadgod.com
- http://unity.realmofthemadgod.com
- https://rotmghrdtesting.appspot.com (old kabam test server used for account migration testing)
- https://rotmgtesting.appspot.com (the current rotmg testing server)
- https://realmtesting2.appspot.com ("hidden" testing server for private testers)
- https://test.realmofthemadgod.com
- https://test2.realmofthemadgod.com
- https://test3.realmofthemadgod.com
- https://rotmgtesting3.appspot.com
- https://testing.realmofthemadgod.com
Directories marked with an asterisk (*) are internal server urls and will always return <Failure/>
Endpoints without any listed arguments could still take certain parameters, but they might not be listed here yet due to incompletedness.
Please note that DECA can add or remove links at any time.
Known URL parameters (Sorted by key:value, or example value)
game_net:rotmggame_net_user_id: emptyignore:23424random number from 1000 to 999999 (used for cache busting)gameClientVersion:X31.2.3(current game version)languageType:enguid:[email protected](email)password:password123
/
logowtext.pngrealmlogo.pngversion.txt=> time (unix time)servers.txtcrossdomain.xmldraw.htmldraw/htmlTMLoader{version}.swfTextureMaker{version}.swfAGCloader{version}.swfclientAssembleeGameClient{version}.swfplayerProductInstall.swfUGDTermsofUse.htmlkongregate.htmlxd.htmlPrivacyPolicy.htmlkabam.htmlapp.yamlindex.yamldispatch.yamlcron.yamldos.yamlqueue.yamllegacy
app/
globalNewsgetLanguageStrings=> languageType (en)init=> platform (standalonewindows64 or standalonewindows), key (seems to be hardcoded - 9KnJFxtTvLu2frXv for windows), guid, passwordpublicStaticData=> dataType (powerUpSettings)
package/
getPackages=> guid, password, version (seems to accept any float like 1.0)
mysterybox/
getBoxes=> guid, password, version (seems to accept any float like 1.0)
credits/
getoffers=> guid, passwordpwpurchase=> iframeUrl (json with these params: token, production)add=> tok, exp, guid, provider, jwt, price, paymentiddoneerrorkabamadd=> naid, signedRequest, createdat (removed)token=> guid, password
picture/ => Seems to redirect to google login now
list=> myGUID, guid, dataType, tags, offset, numget=> id, timesavedelete=> id, guid, password
images/
DecaLogoWhite.pngkabamLogo192x97.png
css/
rotmg.common.css
js/
rotmg.UrlLib.jsrotmg.Paymentwall.jsjquery-1.8.0.min.jsrotmg.Xsolla.jsAC_OETags.jsrotmg.Paymentwall.jsrotmg.SalesForce.jsrotmg.Client.js
admin/ => Takes you to google sign in
data/
- => prints a message saying you are forbidden to access this page
log/
logFteStep=> game_net_user_id, game_net, play_platform, guid, password, fteStepCompleted (used for tracking tutorial progress, removed)logGameModePlayed=> seasonID, gameMode (Legacy or Challenger), guid, password
server/ => all of these urls are internal
listaddremove
account/
register=> newPassword, entrytag, newGUID, name(not needed), isAgeVerified, guid, signedUpKabamEmail (0 or 1)verify=> guid, password (used by Muledump)verifyage=> guid, password, ignore, isAgeVerified, gameClientVersionacceptTOS=> guid, passwordchangeEmail=> guid, password, newGuidplayFortuneGame=> choice, status, currency (2 for fortune tokens or 0 for gold)rp=> a, bloginsetName=> guid, password, namevalidateEmail(removed, changed to isEmailVerified)supportVerify=> guid, password, secret*addStar*addIgnorepurchaseCharSlot=> guid, password*purchaseVaultChestpurchaseSkin=> guid, password, skinTypepurchaseMysteryBox=> guid, password, boxId, quantity, price, currencypurchasePackage=> guid, password, boxId, quantity, price, currencygetOwnedPetSkins=> guid, passwordgetBeginnerPackageTimeLeft=> guid, password (removed)sendVerifyEmail=> guid, passwordforgotPassword=> guidchangePassword=> newPassword, guid, passwordgetCredits=> guid, passwordban=> Returns internal errorv=> a, b(Getting the captcha); a, action, g-recaptcha-response(Submitting the captcha)*claimLoginRewardsaveSecurityQuestions=> guid, password, answers (encoded in base64 and split by a pipe operator [|])forgotpasswordPage=> links to a page where you enter your emailisEmailVerified=> guid, passwordsignupDecaEmail=> notifyMe (1 or 0), guid, password, emailspammer=> Returns internal errorservers=> guid, passwordlist=> guid, password, type(1:ignored or 0:locked)
supportCampaign/
claim=> guid, passwordunlock=> guid, passworddonate=> guid, password, amountstatus=> guid, passwordcreategetinfogetUnitySupporters=> guid, password, page
fame/
list=> timespan (week, month, all), &charId, &accountIdchallengerSeasonList=> guid, passwordchallengerLeaderboard=> accountId, charId, timespan (same as fame/list)challengerAccountLeaderboard=> accountId, charId, timespan (same as fame/list)
dailyLogin/
fetchCalendar=> guid, password
season/
getSeasons=> guid, password, gameClientVersion
dailyquest/
resetDailyQuests=> guid, password (returns Server error)resetDailyQuestsAdmin=> guid, password (requires admin account)
char/
list=> guid, password, [challenger (false/true)][muleDump (true/false)]fame=> accountId, charId*purchase*get*reskin*create*updatepurchaseClassUnlock=> guid, password, game_net_user_id, game_net, play_platform, do_login, classTypedelete=> guid, password, charId, reason (seems to be always 1)
inGameNews/
getNews
unityNews/
getNews
friends/
requestFriend=> guid, targetName, passwordgetList=> guid, passwordgetRequests=> guid, passwordacceptRequest=> guid, targetName, passwordrejectRequest=> guid, targetName passwordremoveFriend=> guid, targetName, passwordblockRequest=> guid, targetName, password
pet/
*feed*fuse*createPet*yardupgrade
news/ => Takes you to google sign in
arena/
getRecords=> type (weekly, personal, alltime), guid, passwordgetPersonalBest=> guid, password
guild/
*changeRank*removeMember*creategetBoard=> guid, passwordsetBoard=> guid, password, boardlistMembers=> guid, password, num, offset*purchase
kabam/
getcredentials=> userId, signedRequest, entrytaglink=> kabamemail, kabampassword, email, passwordverify=> kabamemail, kabampassword
migrate/
doMigration=> guid, passwordprogress=> guiduserAccountReset=> guid, password (returns Failure, testing environment only)
steamworks/
finalizePurchase=> appid, orderid, authorized (1 or 0)getcredentials=> userIdpurchaseOffer=> steamid, dataregister=> newGUID, newPassword, entrytag (disabled)link(disabled)getoffers
kongregate/
getcredentials=> userId, gameAuthTokenregister=> userId, username, gameAuthToken, newGUID, newPassword, entrytaglink(disabled)internalRegister=> userId, username, gameAuthToken, guidgetofferscallback- May be related: https://docs.kongregate.com/docs/server-side-http#section-callback-format
clientError/
add=> text, guid
ugc/ (User Generated Content)
save=> guid, password, name, description, width, height, mapjm, tags, totalObjects, totalTiles, thumbnail, overwrite (on or off) (seems to always return Invalid permissions)*get
sfx/
- => too many mp3 files to list (you can find these in pserver sources)
- See: https://realmofthemadgod.fandom.com/wiki/Sounds
music/
sorc.mp3=> main theme for RotMG
build/
survey/
add=> Returns 500 error*delete
events/
exalt/
platforms/
kabam=> Error 405. Method GET not allowed.
cronJob/ => Takes you to google sign in
eventlog/ => Access is forbidden
hotkeyz/ => Access is forbidden
topz/ => Access is forbidden
rpcz/ => Access is forbidden
Payment url: http://www.realmofthemadgod.com/?user_id=email&status=done&invoice_id=111111111