Steven Smith revised this gist . Go to revision
1 file changed, 2 insertions
docs.md
| @@ -7,6 +7,8 @@ | |||
| 7 | 7 | ||
| 8 | 8 | In the below documentation, all requests return `{ "d": something }` (except the ones that don't), so everything outside of `something` will be omitted. | |
| 9 | 9 | ||
| 10 | + | API url: https://lis.os.eidos.com/ | |
| 11 | + | ||
| 10 | 12 | Necessary headers for each request (may vary, untested): | |
| 11 | 13 | ||
| 12 | 14 | * `Accept: application/json`, otherwise the API returns XML (obviously if you're fine with that you can omit this) | |
Steven Smith revised this gist . Go to revision
1 file changed, 1 insertion, 1 deletion
revlis.md
| @@ -38,7 +38,7 @@ First, you'll need a copy of Life Is Strange on Steam. Second, you'll need to ha | |||
| 38 | 38 | ||
| 39 | 39 | If only the stats server communications weren't encrypted, would have been a lot easier. | |
| 40 | 40 | ||
| 41 | - | I'm not sure how initial authentication works, the game sends an OS-AuthTicketData header with a string of characters, maybe each copy of the game has a unique auth ticket. It also requests user location data via an IP info lookup (/game/os\_GetServiceInfo) and sends your friends list in the form of a list of user IDs (/game/SetUserProfileFriends), presumably for the friend stats response (/game/GetFriendsProfileStats) but this currently returns nothing. The main thing I'm interested in is /game/CommunityFactsGetEpisode, which takes a query param of i16\_episode={episode number} and returns json: | |
| 41 | + | I'm not sure how initial authentication works, the game sends an OS-AuthTicketData header with a string of characters, ~~maybe each copy of the game has a unique auth ticket~~ confirmed to be static at least for PC Linux releases. It also requests user location data via an IP info lookup (/game/os\_GetServiceInfo) and sends your friends list in the form of a list of user IDs (/game/SetUserProfileFriends), presumably for the friend stats response (/game/GetFriendsProfileStats) but this currently returns nothing. The main thing I'm interested in is /game/CommunityFactsGetEpisode, which takes a query param of i16\_episode={episode number} and returns json: | |
| 42 | 42 | ||
| 43 | 43 | "d" : { | |
| 44 | 44 | "results" : [ | |
Steven Smith revised this gist . Go to revision
1 file changed, 1 insertion, 1 deletion
docs.md
| @@ -11,7 +11,7 @@ Necessary headers for each request (may vary, untested): | |||
| 11 | 11 | ||
| 12 | 12 | * `Accept: application/json`, otherwise the API returns XML (obviously if you're fine with that you can omit this) | |
| 13 | 13 | * `OS-AuthProvider: 6`, unsure of the purpose of this | |
| 14 | - | * `OS-AuthTicketData: [string]`, begins with CAEQ on my copy of the game, unsure if variable | |
| 14 | + | * `OS-AuthTicketData: [string]`, begins with CAEQ on my copy of the game, CONFIRMED static between copies of the game (at least PC linux) | |
| 15 | 15 | * `OS-AuthTicketSize: 44`, the length of the above string | |
| 16 | 16 | * `OS-UID: [string]`, steam user ID, or some other form of identification in standalone versions probably | |
| 17 | 17 | * `OS-Platform: steam`, the user's platform, needs more testing to get options | |
blha303 revised this gist . Go to revision
1 file changed, 32 deletions
docs.md
| @@ -104,37 +104,5 @@ Making me listen to Obstacles again >_< | |||
| 104 | 104 | * JSON data, https://gist.github.com/blha303/144499eeb67dface9a83371c17f9513b | |
| 105 | 105 | * Returns `0`, maybe means profile isn't updated when the given UID has already completed the given chapter | |
| 106 | 106 | ||
| 107 | - | ### Other public endpoints | |
| 108 | - | ||
| 109 | - | * `/game/CommunityFactsGetAll` | |
| 110 | - | * Returns all choice stats | |
| 111 | - | * Returns a similar output to CommunityFactsGetEpisode, but with all five episodes | |
| 112 | - | ||
| 113 | - | * `/game/GetSpecialFlag` | |
| 114 | - | * Query param: `i32_episode`, episode number | |
| 115 | - | * Returns `{ "__metadata" : {"uri" : "https://lis.os.eidos.com/game/offlinespecialfeatures(1)", "type" : "game.offlinespecialfeature"}, "i32_episode" : 1, "b_lipsync_active" : false }` | |
| 116 | - | ||
| 117 | - | * `/game/os_GetStatus` | |
| 118 | - | * Returns `{ "__metadata" : {"type" : "game.ClientInfo"}, "Host" : "lis.os.eidos.com", "ClientIP" : "<ip>", "UserAgent" : "OS/5.0.22/linux/official", "ServerTime" : 1470229891040, "ServletVersion" : "3.0.8" }` | |
| 119 | - | ||
| 120 | - | * `/game/os_GetChangeLog` | |
| 121 | - | * Returns the changelog for the LIS backend. I mean, wow. | |
| 122 | - | * Returns https://gist.github.com/blha303/0f53a12d65f8450c4aa522843df922aa | |
| 123 | - | ||
| 124 | - | * `/game/os_GetChangeLogHTML` | |
| 125 | - | * Returns the changelog in HTML | |
| 126 | - | * Returns https://ptpb.pw/MTw-.html | |
| 127 | - | ||
| 128 | - | * `/game/os_GetGeoLocation` | |
| 129 | - | * Returns `"os_GetGeoLocation" : { "__metadata" : {"type" : "game.GeoLocation"}, "s_countryCode" : "US", "s_cityName" : "Beverley Hills", "s_region" : "555", "s_zipCode" : "", "f_latitude" : "0.0f", "f_longitude" : "0.0f", "i32_metroCode" : 0, "i32_areaCode" : 0 }` | |
| 130 | - | ||
| 131 | - | * `/game/Steam_GetUserInfo` | |
| 132 | - | * Probably needs additional authentication. | |
| 133 | - | * `Returns { "__metadata" : {"uri" : "https://lis.os.eidos.com/game/ossteamresponses('76561197994805502')", "type" : "game.ossteamresponse"}, "s_uid" : "76561197994805502", "i32_errorCode" : 403, "s_errorDesc" : "Forbidden", "s_state" : "", "s_country" : "", "s_currency" : "", "s_status" : "" }` | |
| 134 | - | ||
| 135 | - | * `/game/GetUserProfileGameSpecific` | |
| 136 | - | * Returns a user's friends list and the info of their last UpdateUserProfileGameSpecific submission. Possible privacy hole | |
| 137 | - | * Returns https://gist.github.com/blha303/9d4d4429137541be5a8771ac616b4d85 | |
| 138 | - | ||
| 139 | 107 | Other endpoints: https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-zgenerateddocs-md | |
| 140 | 108 | ||
blha303 revised this gist . Go to revision
4 files changed, 34 insertions, 31 deletions
docs.md
| @@ -2,13 +2,10 @@ | |||
| 2 | 2 | ||
| 3 | 3 | * [Docs](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-docs-md) | |
| 4 | 4 | * [Setting up capture process](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-revlis-md) | |
| 5 | - | * [Investigating what headers were necessary](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-whats-needed-md) | |
| 5 | + | * [Automatically generated API documentation (inaccurate)](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-zgenerateddocs-md) | |
| 6 | + | * [Script to generate API documentation](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-zgeneratedocs-py) | |
| 6 | 7 | ||
| 7 | - | The server returns `X-Powered-By: Lara Croft` for each response, cool easter egg. | |
| 8 | - | ||
| 9 | - | ### On game start | |
| 10 | - | ||
| 11 | - | The game sends several requests in the opening videos. In the below documentation, all requests have `{ "d": something }`, so everything outside of `something` will be omitted. | |
| 8 | + | In the below documentation, all requests return `{ "d": something }` (except the ones that don't), so everything outside of `something` will be omitted. | |
| 12 | 9 | ||
| 13 | 10 | Necessary headers for each request (may vary, untested): | |
| 14 | 11 | ||
| @@ -20,6 +17,27 @@ Necessary headers for each request (may vary, untested): | |||
| 20 | 17 | * `OS-Platform: steam`, the user's platform, needs more testing to get options | |
| 21 | 18 | * `OS-System: linux`, ditto | |
| 22 | 19 | ||
| 20 | + | Optional headers: | |
| 21 | + | ||
| 22 | + | * `DataServiceVersion: 2.0` | |
| 23 | + | * `MaxDataServiceVersion: 2.0` | |
| 24 | + | * `OS-Age: 0` | |
| 25 | + | * `OS-Build: localBuild` | |
| 26 | + | * `OS-GTime: 84` | |
| 27 | + | * `OS-Locale: en,XX,XX,` | |
| 28 | + | * `OS-MAC: xx-xx-xx-xx-xx-xx` | |
| 29 | + | * `OS-OSVersion: 5.0.22.82369`, unsure what this is, it's not kernel version | |
| 30 | + | * `OS-PID: LiS-v1.0.0.397609` | |
| 31 | + | * `OS-Progress: 0.00000000000000000`, lol | |
| 32 | + | * `OS-SID: [uuid]` | |
| 33 | + | * `OS-STime: 5713` | |
| 34 | + | * `OS-XYZ: 135.95315551757812500,-130.51196289062500000,97.04180908203125000` | |
| 35 | + | * `OS-Zone: E0_Menu`, the game seems to send ingame location with every request | |
| 36 | + | ||
| 37 | + | ### On game start | |
| 38 | + | ||
| 39 | + | The game sends several requests in the opening videos. | |
| 40 | + | ||
| 23 | 41 | 1. `/game/os_Ping` | |
| 24 | 42 | * Likely confirming that the service is up | |
| 25 | 43 | * Returns `{"os_Ping": 6739}`, different number each time | |
| @@ -118,6 +136,5 @@ Making me listen to Obstacles again >_< | |||
| 118 | 136 | * Returns a user's friends list and the info of their last UpdateUserProfileGameSpecific submission. Possible privacy hole | |
| 119 | 137 | * Returns https://gist.github.com/blha303/9d4d4429137541be5a8771ac616b4d85 | |
| 120 | 138 | ||
| 121 | - | ### Unknown/restricted endpoints | |
| 122 | - | ||
| 139 | + | Other endpoints: https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-zgenerateddocs-md | |
| 123 | 140 | ||
revlis.md
| @@ -2,7 +2,8 @@ | |||
| 2 | 2 | ||
| 3 | 3 | * [Docs](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-docs-md) | |
| 4 | 4 | * [Setting up capture process](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-revlis-md) | |
| 5 | - | * [Investigating what headers were necessary](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-whats-needed-md) | |
| 5 | + | * [Automatically generated API documentation (inaccurate)](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-zgenerateddocs-md) | |
| 6 | + | * [Script to generate API documentation](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-zgeneratedocs-py) | |
| 6 | 7 | ||
| 7 | 8 | Hello! Today I thought I'd take on the task of reverse engineering the stats screen in Life Is Strange so I could easily request and display the data without needing to start the game. I'm documenting it here for future use, since nobody else seems to have tried this yet. | |
| 8 | 9 | ||
whats-needed.md (file deleted)
| @@ -1,22 +0,0 @@ | |||
| 1 | - | ## Contents | |
| 2 | - | ||
| 3 | - | * [Docs](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-docs-md) | |
| 4 | - | * [Setting up capture process](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-revlis-md) | |
| 5 | - | * [Investigating what headers were necessary](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-whats-needed-md) | |
| 6 | - | ||
| 7 | - | Logging tests for what headers are necessary. | |
| 8 | - | ||
| 9 | - | ``` | |
| 10 | - | $ curl https://lis.os.eidos.com/game/CommunityFactsGetEpisode?i16_episode=3 | |
| 11 | - | {"s_ErrorsCodes":"501","s_ErrorsMessages":"Invalid","s_ErrorsDetails":"Missing mandatory authentication headers: (OS-AuthProvider)."} | |
| 12 | - | $ curl -H "Accept: application/json" -H "OS-AuthProvider: 6" https://lis.os.eidos.com/game/CommunityFactsGetEpisode?i16_episode=3 | |
| 13 | - | {"s_ErrorsCodes":"501","s_ErrorsMessages":"Invalid","s_ErrorsDetails":"Missing mandatory authentication headers: (OS-AuthTicketSize, OS-AuthTicketData|OS-AuthTokenData)."} | |
| 14 | - | $ curl -H "Accept: application/json" -H "OS-AuthProvider: 6" -H "OS-AuthTicketData: [redacted]" -H "OS-AuthTicketSize: 44" https://lis.os.eidos.com/game/CommunityFactsGetEpisode?i16_episode=3 | |
| 15 | - | {"s_ErrorsCodes":"501","s_ErrorsMessages":"Invalid","s_ErrorsDetails":"No UID header found."} | |
| 16 | - | $ curl -H "Accept: application/json" -H "OS-AuthProvider: 6" -H "OS-AuthTicketData: [redacted]" -H "OS-AuthTicketSize: 44" -H "OS-UID: [redacted]" https://lis.os.eidos.com/game/CommunityFactsGetEpisode?i16_episode=3 | |
| 17 | - | {"s_ErrorsCodes":"801","s_ErrorsMessages":"Missing Header","s_ErrorsDetails":"HTTP header OS-Platform is required."} | |
| 18 | - | $ curl -H "Accept: application/json" -H "OS-AuthProvider: 6" -H "OS-AuthTicketData: [redacted]" -H "OS-AuthTicketSize: 44" -H "OS-UID: [redacted]" -H "OS-Platform: steam" https://lis.os.eidos.com/game/CommunityFactsGetEpisode?i16_episode=3 | |
| 19 | - | {"s_ErrorsCodes":"800","s_ErrorsMessages":"Invalid Header","s_ErrorsDetails":"Header OS-Platform=steam and header OS-System=null are not compatible. Either neither value or both values must be specified. If both values are specified, they must be compatible with eachother."} | |
| 20 | - | $ curl -H "Accept: application/json" -H "OS-AuthProvider: 6" -H "OS-AuthTicketData: [redacted]" -H "OS-AuthTicketSize: 44" -H "OS-UID: [redacted]" -H "OS-Platform: steam" -H "OS-System: linux" https://lis.os.eidos.com/game/CommunityFactsGetEpisode?i16_episode=3 | |
| 21 | - | {"d" : {"results" : [{"__metadata" : {"uri" : "https://lis.os.eidos.com/game/communityfactreturns('AddedNameToVortex')", "type" : "game.communityfactreturn"}, "f_rate" : "0.610894941634241", "i64_totalCount" : 514, "i64_trueCount" : 314, "i16_ep" : 3, "s_factID" : "AddedNameToVortex"}, ... | |
| 22 | - | ``` | |
zGeneratedDocs.md
| @@ -1,3 +1,10 @@ | |||
| 1 | + | ## Contents | |
| 2 | + | ||
| 3 | + | * [Docs](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-docs-md) | |
| 4 | + | * [Setting up capture process](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-revlis-md) | |
| 5 | + | * [Automatically generated API documentation (inaccurate)](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-zgenerateddocs-md) | |
| 6 | + | * [Script to generate API documentation](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-zgeneratedocs-py) | |
| 7 | + | ||
| 1 | 8 | These docs aren't entirely accurate. Some things are in the wrong AuthPolicy category, some things say they return nothing when they do return something. But then, since when are any internal docs accurate, right? :P | |
| 2 | 9 | ||
| 3 | 10 | ||
blha303 revised this gist . Go to revision
1 file changed, 166 insertions, 860 deletions
zGeneratedDocs.md
| @@ -1,9 +1,143 @@ | |||
| 1 | - | ### Policy.ANY | |
| 2 | - | * `/game/AddMetric` | |
| 1 | + | These docs aren't entirely accurate. Some things are in the wrong AuthPolicy category, some things say they return nothing when they do return something. But then, since when are any internal docs accurate, right? :P | |
| 2 | + | ||
| 3 | + | ||
| 4 | + | ### Policy.OS | |
| 5 | + | * `/game/CalculateCommunityProfileStats` | |
| 6 | + | * Returns Edm.Int32 | |
| 7 | + | * `/game/CalculateFriendsProfileStats` | |
| 8 | + | * Returns Edm.Int32 | |
| 9 | + | * `/game/UpdateAvailableEpisodeOfferId` | |
| 10 | + | * Query params: `s_region`, Edm.String; `i32_episode`, Edm.Int32 | |
| 11 | + | * Returns Edm.String | |
| 12 | + | * `/game/os_GetMonitoring` | |
| 13 | + | * Returns game.ServerStatus | |
| 14 | + | * `/game/os_GetOptions` | |
| 15 | + | * Returns game.Options | |
| 16 | + | * `/game/os_SetOptions` | |
| 17 | + | * Query params: `name`, Edm.String; `value`, Edm.String | |
| 18 | + | * Returns game.Options | |
| 19 | + | * `/game/ClearCache` | |
| 20 | + | * Query params: `s_Name`, Edm.String | |
| 21 | + | * Returns Edm.String | |
| 22 | + | * `/game/os_NotificationExpired` | |
| 23 | + | * Query params: `s_id`, Edm.String; `i32_type`, Edm.Int32; `s_message`, Edm.String; `s_platform`, Edm.String; `s_sender`, Edm.String | |
| 3 | 24 | * Returns nothing | |
| 4 | - | * `/game/AddMetrics` | |
| 25 | + | * `/game/DeleteUserProfile` | |
| 26 | + | * Query params: `s_uid`, Edm.String | |
| 27 | + | * Returns Edm.Boolean | |
| 28 | + | * `/game/GetUserProfileGlobal` | |
| 29 | + | * Query params: `s_uid`, Edm.String | |
| 30 | + | * Returns game.userprofile | |
| 31 | + | * `/game/os_GetUserProfileGlobal` | |
| 32 | + | * Query params: `s_uid`, Edm.String | |
| 33 | + | * Returns game.userprofile | |
| 34 | + | * `/game/UpdateUserProfileGlobal` | |
| 35 | + | * Query params: `s_uid`, Edm.String | |
| 36 | + | * POST request | |
| 37 | + | * Returns Edm.Int32 | |
| 38 | + | * `/game/os_UpdateUserProfileGlobal` | |
| 39 | + | * Query params: `s_uid`, Edm.String | |
| 40 | + | * POST request | |
| 41 | + | * Returns Edm.Int32 | |
| 42 | + | * `/game/GetUserProfilePlatform` | |
| 43 | + | * Query params: `s_uid`, Edm.String | |
| 44 | + | * Returns game.userprofile | |
| 45 | + | * `/game/os_GetUserProfilePlatform` | |
| 46 | + | * Query params: `s_uid`, Edm.String | |
| 47 | + | * Returns game.userprofile | |
| 48 | + | * `/game/UpdateUserProfilePlatform` | |
| 49 | + | * Query params: `s_uid`, Edm.String | |
| 50 | + | * POST request | |
| 51 | + | * Returns Edm.Int32 | |
| 52 | + | * `/game/os_UpdateUserProfilePlatform` | |
| 53 | + | * Query params: `s_uid`, Edm.String | |
| 54 | + | * POST request | |
| 55 | + | * Returns Edm.Int32 | |
| 56 | + | * `/game/GetUserProfileFranchise` | |
| 57 | + | * Query params: `s_uid`, Edm.String | |
| 58 | + | * Returns game.userprofile | |
| 59 | + | * `/game/os_GetUserProfileFranchise` | |
| 60 | + | * Query params: `s_uid`, Edm.String | |
| 61 | + | * Returns game.userprofile | |
| 62 | + | * `/game/UpdateUserProfileFranchise` | |
| 63 | + | * Query params: `s_uid`, Edm.String | |
| 64 | + | * POST request | |
| 65 | + | * Returns Edm.Int32 | |
| 66 | + | * `/game/os_UpdateUserProfileFranchise` | |
| 67 | + | * Query params: `s_uid`, Edm.String | |
| 68 | + | * POST request | |
| 69 | + | * Returns Edm.Int32 | |
| 70 | + | * `/game/GetUserProfileGameGeneric` | |
| 71 | + | * Query params: `s_uid`, Edm.String | |
| 72 | + | * Returns game.userprofile | |
| 73 | + | * `/game/os_GetUserProfileGameGeneric` | |
| 74 | + | * Query params: `s_uid`, Edm.String | |
| 75 | + | * Returns game.userprofile | |
| 76 | + | * `/game/UpdateUserProfileGameGeneric` | |
| 77 | + | * Query params: `s_uid`, Edm.String | |
| 78 | + | * POST request | |
| 79 | + | * Returns Edm.Int32 | |
| 80 | + | * `/game/os_UpdateUserProfileGameGeneric` | |
| 81 | + | * Query params: `s_uid`, Edm.String | |
| 82 | + | * POST request | |
| 83 | + | * Returns Edm.Int32 | |
| 84 | + | * `/game/ValidateSEM` | |
| 85 | + | * Returns Edm.Boolean | |
| 86 | + | * `/game/os_BackupUserProfiles` | |
| 87 | + | * Returns Edm.Int32 | |
| 88 | + | * `/game/os_TestCache` | |
| 89 | + | * Query params: `s_cacheName`, Edm.String | |
| 90 | + | * Returns Edm.String | |
| 91 | + | ||
| 92 | + | ### Policy.GAMESEE | |
| 93 | + | * `/game/GetSpecialFlag` | |
| 94 | + | * Query params: `i32_episode`, Edm.Int32 | |
| 95 | + | * Returns game.offlinespecialfeature | |
| 96 | + | * `/game/os_SendNotification` | |
| 97 | + | * Query params: `s_sender`, Edm.String; `i32_type`, Edm.Int32; `s_platform`, Edm.String; `i64_lifespan`, Edm.Int64 | |
| 5 | 98 | * POST request | |
| 6 | 99 | * Returns nothing | |
| 100 | + | * `/game/os_TranslatePlatformIds` | |
| 101 | + | * POST request | |
| 102 | + | * Returns Collection(game.PlatformIDInfo) | |
| 103 | + | * `/game/osGetConsumablesInfo` | |
| 104 | + | * Query params: `s_uid`, Edm.String | |
| 105 | + | * Returns Edm.String | |
| 106 | + | * `/game/Steam_GetUserInfo` | |
| 107 | + | * Query params: `s_uid`, Edm.String | |
| 108 | + | * Returns game.ossteamresponse | |
| 109 | + | * `/game/os_GetLastMetrics` | |
| 110 | + | * Query params: `i32_n`, Edm.Int32 | |
| 111 | + | * Returns Collection(game.os_metric) | |
| 112 | + | * `/game/os_GetMetric` | |
| 113 | + | * Query params: `s_uuid`, Edm.String | |
| 114 | + | * Returns game.os_metric | |
| 115 | + | * `/game/GetUserProfileGameSpecific` | |
| 116 | + | * Query params: `s_uid`, Edm.String | |
| 117 | + | * Returns game.userprofile | |
| 118 | + | * `/game/os_GetUserProfileGameSpecific` | |
| 119 | + | * Query params: `s_uid`, Edm.String | |
| 120 | + | * Returns game.userprofile | |
| 121 | + | * `/game/GetUserProfileCountry` | |
| 122 | + | * Query params: `s_uid`, Edm.String | |
| 123 | + | * Returns Edm.String | |
| 124 | + | * `/game/os_GetUserProfileCountry` | |
| 125 | + | * Query params: `s_uid`, Edm.String | |
| 126 | + | * Returns Edm.String | |
| 127 | + | * `/game/UpdateSEMinfo` | |
| 128 | + | * Query params: `s_semid`, Edm.String | |
| 129 | + | * POST request | |
| 130 | + | * Returns Edm.Boolean | |
| 131 | + | * `/game/DeleteSEMinfo` | |
| 132 | + | * Query params: `s_semid`, Edm.String | |
| 133 | + | * Returns Edm.Boolean | |
| 134 | + | * `/game/LinkToSEM` | |
| 135 | + | * Query params: `s_semid`, Edm.String; `s_authSystem`, Edm.String; `s_authId`, Edm.String | |
| 136 | + | * Returns Edm.Boolean | |
| 137 | + | * `/game/UnlinkFromSEM` | |
| 138 | + | * Query params: `s_semid`, Edm.String; `s_authSystem`, Edm.String; `s_authId`, Edm.String | |
| 139 | + | * Returns Edm.Boolean | |
| 140 | + | ||
| 7 | 141 | ### Policy.SEE | |
| 8 | 142 | * `/game/UpdateInfocastMessages` | |
| 9 | 143 | * Query params: `_id`, Edm.String; `s_Type`, Edm.String; `s_DateBegin`, Edm.String; `s_DateEnd`, Edm.String; `i16_episode`, Edm.Int32 | |
| @@ -98,6 +232,35 @@ | |||
| 98 | 232 | * `/game/os_CheckABTestConsistency` | |
| 99 | 233 | * Query params: `s_abtest`, Edm.String | |
| 100 | 234 | * Returns Edm.String | |
| 235 | + | ||
| 236 | + | ### Policy.ANY | |
| 237 | + | * `/game/AddMetric` | |
| 238 | + | * Returns nothing | |
| 239 | + | * `/game/AddMetrics` | |
| 240 | + | * POST request | |
| 241 | + | * Returns nothing | |
| 242 | + | ||
| 243 | + | ### Policy.PUBLIC | |
| 244 | + | * `/game/GetTodaysInfocast` | |
| 245 | + | * Query params: `s_locale`, Edm.String; `i16_episode`, Edm.Int32 | |
| 246 | + | * Returns Collection(game.infocast) | |
| 247 | + | * `/game/os_GetStatus` | |
| 248 | + | * Returns game.ClientInfo | |
| 249 | + | * `/game/os_GetServiceInfo` | |
| 250 | + | * Returns nothing | |
| 251 | + | * `/game/os_GetChangeLog` | |
| 252 | + | * Returns nothing | |
| 253 | + | * `/game/os_GetChangeLogHTML` | |
| 254 | + | * Returns nothing | |
| 255 | + | * `/game/os_Ping` | |
| 256 | + | * Returns Edm.Int64 | |
| 257 | + | * `/game/SEM_Login` | |
| 258 | + | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 259 | + | * Returns game.SEMSubmit | |
| 260 | + | * `/game/SEM_SubmitEmail` | |
| 261 | + | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 262 | + | * Returns game.SEMSubmit | |
| 263 | + | ||
| 101 | 264 | ### Policy.GAME | |
| 102 | 265 | * `/game/UpdateUserProfileGameSpecific` | |
| 103 | 266 | * Query params: `s_uid`, Edm.String | |
| @@ -187,860 +350,3 @@ | |||
| 187 | 350 | * `/game/PS4_GetFriendList` | |
| 188 | 351 | * Query params: `s_uid`, Edm.String | |
| 189 | 352 | * Returns Edm.String | |
| 190 | - | ### Policy.GAMESEE | |
| 191 | - | * `/game/GetSpecialFlag` | |
| 192 | - | * Query params: `i32_episode`, Edm.Int32 | |
| 193 | - | * Returns game.offlinespecialfeature | |
| 194 | - | * `/game/os_SendNotification` | |
| 195 | - | * Query params: `s_sender`, Edm.String; `i32_type`, Edm.Int32; `s_platform`, Edm.String; `i64_lifespan`, Edm.Int64 | |
| 196 | - | * POST request | |
| 197 | - | * Returns nothing | |
| 198 | - | * `/game/os_TranslatePlatformIds` | |
| 199 | - | * POST request | |
| 200 | - | * Returns Collection(game.PlatformIDInfo) | |
| 201 | - | * `/game/osGetConsumablesInfo` | |
| 202 | - | * Query params: `s_uid`, Edm.String | |
| 203 | - | * Returns Edm.String | |
| 204 | - | * `/game/Steam_GetUserInfo` | |
| 205 | - | * Query params: `s_uid`, Edm.String | |
| 206 | - | * Returns game.ossteamresponse | |
| 207 | - | * `/game/os_GetLastMetrics` | |
| 208 | - | * Query params: `i32_n`, Edm.Int32 | |
| 209 | - | * Returns Collection(game.os_metric) | |
| 210 | - | * `/game/os_GetMetric` | |
| 211 | - | * Query params: `s_uuid`, Edm.String | |
| 212 | - | * Returns game.os_metric | |
| 213 | - | * `/game/GetUserProfileGameSpecific` | |
| 214 | - | * Query params: `s_uid`, Edm.String | |
| 215 | - | * Returns game.userprofile | |
| 216 | - | * `/game/os_GetUserProfileGameSpecific` | |
| 217 | - | * Query params: `s_uid`, Edm.String | |
| 218 | - | * Returns game.userprofile | |
| 219 | - | * `/game/GetUserProfileCountry` | |
| 220 | - | * Query params: `s_uid`, Edm.String | |
| 221 | - | * Returns Edm.String | |
| 222 | - | * `/game/os_GetUserProfileCountry` | |
| 223 | - | * Query params: `s_uid`, Edm.String | |
| 224 | - | * Returns Edm.String | |
| 225 | - | * `/game/UpdateSEMinfo` | |
| 226 | - | * Query params: `s_semid`, Edm.String | |
| 227 | - | * POST request | |
| 228 | - | * Returns Edm.Boolean | |
| 229 | - | * `/game/DeleteSEMinfo` | |
| 230 | - | * Query params: `s_semid`, Edm.String | |
| 231 | - | * Returns Edm.Boolean | |
| 232 | - | * `/game/LinkToSEM` | |
| 233 | - | * Query params: `s_semid`, Edm.String; `s_authSystem`, Edm.String; `s_authId`, Edm.String | |
| 234 | - | * Returns Edm.Boolean | |
| 235 | - | * `/game/UnlinkFromSEM` | |
| 236 | - | * Query params: `s_semid`, Edm.String; `s_authSystem`, Edm.String; `s_authId`, Edm.String | |
| 237 | - | * Returns Edm.Boolean | |
| 238 | - | ### Policy.OS | |
| 239 | - | * `/game/CalculateCommunityProfileStats` | |
| 240 | - | * Returns Edm.Int32 | |
| 241 | - | * `/game/CalculateFriendsProfileStats` | |
| 242 | - | * Returns Edm.Int32 | |
| 243 | - | * `/game/UpdateAvailableEpisodeOfferId` | |
| 244 | - | * Query params: `s_region`, Edm.String; `i32_episode`, Edm.Int32 | |
| 245 | - | * Returns Edm.String | |
| 246 | - | * `/game/os_GetMonitoring` | |
| 247 | - | * Returns game.ServerStatus | |
| 248 | - | * `/game/os_GetOptions` | |
| 249 | - | * Returns game.Options | |
| 250 | - | * `/game/os_SetOptions` | |
| 251 | - | * Query params: `name`, Edm.String; `value`, Edm.String | |
| 252 | - | * Returns game.Options | |
| 253 | - | * `/game/ClearCache` | |
| 254 | - | * Query params: `s_Name`, Edm.String | |
| 255 | - | * Returns Edm.String | |
| 256 | - | * `/game/os_NotificationExpired` | |
| 257 | - | * Query params: `s_id`, Edm.String; `i32_type`, Edm.Int32; `s_message`, Edm.String; `s_platform`, Edm.String; `s_sender`, Edm.String | |
| 258 | - | * Returns nothing | |
| 259 | - | * `/game/DeleteUserProfile` | |
| 260 | - | * Query params: `s_uid`, Edm.String | |
| 261 | - | * Returns Edm.Boolean | |
| 262 | - | * `/game/GetUserProfileGlobal` | |
| 263 | - | * Query params: `s_uid`, Edm.String | |
| 264 | - | * Returns game.userprofile | |
| 265 | - | * `/game/os_GetUserProfileGlobal` | |
| 266 | - | * Query params: `s_uid`, Edm.String | |
| 267 | - | * Returns game.userprofile | |
| 268 | - | * `/game/UpdateUserProfileGlobal` | |
| 269 | - | * Query params: `s_uid`, Edm.String | |
| 270 | - | * POST request | |
| 271 | - | * Returns Edm.Int32 | |
| 272 | - | * `/game/os_UpdateUserProfileGlobal` | |
| 273 | - | * Query params: `s_uid`, Edm.String | |
| 274 | - | * POST request | |
| 275 | - | * Returns Edm.Int32 | |
| 276 | - | * `/game/GetUserProfilePlatform` | |
| 277 | - | * Query params: `s_uid`, Edm.String | |
| 278 | - | * Returns game.userprofile | |
| 279 | - | * `/game/os_GetUserProfilePlatform` | |
| 280 | - | * Query params: `s_uid`, Edm.String | |
| 281 | - | * Returns game.userprofile | |
| 282 | - | * `/game/UpdateUserProfilePlatform` | |
| 283 | - | * Query params: `s_uid`, Edm.String | |
| 284 | - | * POST request | |
| 285 | - | * Returns Edm.Int32 | |
| 286 | - | * `/game/os_UpdateUserProfilePlatform` | |
| 287 | - | * Query params: `s_uid`, Edm.String | |
| 288 | - | * POST request | |
| 289 | - | * Returns Edm.Int32 | |
| 290 | - | * `/game/GetUserProfileFranchise` | |
| 291 | - | * Query params: `s_uid`, Edm.String | |
| 292 | - | * Returns game.userprofile | |
| 293 | - | * `/game/os_GetUserProfileFranchise` | |
| 294 | - | * Query params: `s_uid`, Edm.String | |
| 295 | - | * Returns game.userprofile | |
| 296 | - | * `/game/UpdateUserProfileFranchise` | |
| 297 | - | * Query params: `s_uid`, Edm.String | |
| 298 | - | * POST request | |
| 299 | - | * Returns Edm.Int32 | |
| 300 | - | * `/game/os_UpdateUserProfileFranchise` | |
| 301 | - | * Query params: `s_uid`, Edm.String | |
| 302 | - | * POST request | |
| 303 | - | * Returns Edm.Int32 | |
| 304 | - | * `/game/GetUserProfileGameGeneric` | |
| 305 | - | * Query params: `s_uid`, Edm.String | |
| 306 | - | * Returns game.userprofile | |
| 307 | - | * `/game/os_GetUserProfileGameGeneric` | |
| 308 | - | * Query params: `s_uid`, Edm.String | |
| 309 | - | * Returns game.userprofile | |
| 310 | - | * `/game/UpdateUserProfileGameGeneric` | |
| 311 | - | * Query params: `s_uid`, Edm.String | |
| 312 | - | * POST request | |
| 313 | - | * Returns Edm.Int32 | |
| 314 | - | * `/game/os_UpdateUserProfileGameGeneric` | |
| 315 | - | * Query params: `s_uid`, Edm.String | |
| 316 | - | * POST request | |
| 317 | - | * Returns Edm.Int32 | |
| 318 | - | * `/game/ValidateSEM` | |
| 319 | - | * Returns Edm.Boolean | |
| 320 | - | * `/game/os_BackupUserProfiles` | |
| 321 | - | * Returns Edm.Int32 | |
| 322 | - | * `/game/os_TestCache` | |
| 323 | - | * Query params: `s_cacheName`, Edm.String | |
| 324 | - | * Returns Edm.String | |
| 325 | - | ### Policy.PUBLIC | |
| 326 | - | * `/game/GetTodaysInfocast` | |
| 327 | - | * Query params: `s_locale`, Edm.String; `i16_episode`, Edm.Int32 | |
| 328 | - | * Returns Collection(game.infocast) | |
| 329 | - | * `/game/os_GetStatus` | |
| 330 | - | * Returns game.ClientInfo | |
| 331 | - | * `/game/os_GetServiceInfo` | |
| 332 | - | * Returns nothing | |
| 333 | - | * `/game/os_GetChangeLog` | |
| 334 | - | * Returns nothing | |
| 335 | - | * `/game/os_GetChangeLogHTML` | |
| 336 | - | * Returns nothing | |
| 337 | - | * `/game/os_Ping` | |
| 338 | - | * Returns Edm.Int64 | |
| 339 | - | * `/game/SEM_Login` | |
| 340 | - | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 341 | - | * Returns game.SEMSubmit | |
| 342 | - | * `/game/SEM_SubmitEmail` | |
| 343 | - | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 344 | - | * Returns game.SEMSubmit | |
| 345 | - | ||
| 346 | - | ### Policy.GAME | |
| 347 | - | * `/game/UpdateUserProfileGameSpecific` | |
| 348 | - | * Query params: `s_uid`, Edm.String | |
| 349 | - | * POST request | |
| 350 | - | * Returns Edm.Int32 | |
| 351 | - | * `/game/SetUserProfileFriends` | |
| 352 | - | * Query params: `s_uid`, Edm.String | |
| 353 | - | * POST request | |
| 354 | - | * Returns Edm.Int32 | |
| 355 | - | * `/game/CommunityFactsGetEpisode` | |
| 356 | - | * Query params: `i16_episode`, Edm.Int32 | |
| 357 | - | * Returns Collection(game.communityfactreturn) | |
| 358 | - | * `/game/CommunityFactsGetAll` | |
| 359 | - | * Returns Collection(game.communityfactreturn) | |
| 360 | - | * `/game/GetFriendsProfileStats` | |
| 361 | - | * Query params: `s_uid`, Edm.String; `i16_episode`, Edm.Int32 | |
| 362 | - | * Returns Collection(game.communityfactreturn) | |
| 363 | - | * `/game/GetSeasonPassOfferIdList` | |
| 364 | - | * Query params: `s_region`, Edm.String | |
| 365 | - | * Returns Collection(game.offerid) | |
| 366 | - | * `/game/SetUserProfileGameSpecific` | |
| 367 | - | * Query params: `s_uid`, Edm.String | |
| 368 | - | * POST request | |
| 369 | - | * Returns Edm.Int32 | |
| 370 | - | * `/game/os_GetPlayer` | |
| 371 | - | * Query params: `UID`, Edm.String | |
| 372 | - | * Returns game.os_player | |
| 373 | - | * `/game/os_GetGeoLocation` | |
| 374 | - | * Returns game.GeoLocation | |
| 375 | - | * `/game/SEM_DeleteUser` | |
| 376 | - | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 377 | - | * Returns game.Result | |
| 378 | - | * `/game/SEM_UnlinkPlayer` | |
| 379 | - | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 380 | - | * Returns game.Result | |
| 381 | - | * `/game/SEM_GetLinkedAccounts` | |
| 382 | - | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 383 | - | * Returns Collection(game.SEMLinkedAccount) | |
| 384 | - | * `/game/FB_PostToWall` | |
| 385 | - | * Query params: `s_facebookID`, Edm.String | |
| 386 | - | * POST request | |
| 387 | - | * Returns game.Result | |
| 388 | - | * `/game/FB_PostImageToWall` | |
| 389 | - | * Query params: `s_facebookID`, Edm.String; `s_imageName`, Edm.String; `s_linkName`, Edm.String; `s_linkCaption`, Edm.String; `s_linkDescription`, Edm.String | |
| 390 | - | * POST request | |
| 391 | - | * Returns game.Result | |
| 392 | - | * `/game/osNewTransaction` | |
| 393 | - | * Query params: `s_uid`, Edm.String; `s_offerIds`, Edm.String | |
| 394 | - | * Returns game.txninfo | |
| 395 | - | * `/game/osCreateCustomTransaction` | |
| 396 | - | * Query params: `s_uid`, Edm.String | |
| 397 | - | * POST request | |
| 398 | - | * Returns game.txninfo | |
| 399 | - | * `/game/osFinalizeTransaction` | |
| 400 | - | * Query params: `s_uid`, Edm.String; `i64_txnId`, Edm.Int64 | |
| 401 | - | * Returns game.txninfo | |
| 402 | - | * `/game/osCancelTransaction` | |
| 403 | - | * Query params: `s_uid`, Edm.String; `i64_txnId`, Edm.Int64; `i32_reason`, Edm.Int32 | |
| 404 | - | * Returns game.txninfo | |
| 405 | - | * `/game/osPreTransferTransaction` | |
| 406 | - | * Query params: `s_uid`, Edm.String; `i64_txnId`, Edm.Int64 | |
| 407 | - | * POST request | |
| 408 | - | * Returns game.txninfo | |
| 409 | - | * `/game/osGetIncompleteTransaction` | |
| 410 | - | * Query params: `s_uid`, Edm.String | |
| 411 | - | * Returns Collection(game.txninfo) | |
| 412 | - | * `/game/CreateUserProfile` | |
| 413 | - | * Query params: `s_uid`, Edm.String | |
| 414 | - | * Returns Edm.Boolean | |
| 415 | - | * `/game/os_CreateUserProfile` | |
| 416 | - | * Query params: `s_uid`, Edm.String | |
| 417 | - | * Returns Edm.Int32 | |
| 418 | - | * `/game/os_SetUserProfileGameSpecific` | |
| 419 | - | * Query params: `s_uid`, Edm.String | |
| 420 | - | * POST request | |
| 421 | - | * Returns Edm.Int32 | |
| 422 | - | * `/game/os_UpdateUserProfileGameSpecific` | |
| 423 | - | * Query params: `s_uid`, Edm.String | |
| 424 | - | * POST request | |
| 425 | - | * Returns Edm.Int32 | |
| 426 | - | * `/game/SetUserProfileCountry` | |
| 427 | - | * Query params: `s_uid`, Edm.String; `s_country`, Edm.String | |
| 428 | - | * Returns Edm.Boolean | |
| 429 | - | * `/game/os_SetUserProfileCountry` | |
| 430 | - | * Query params: `s_uid`, Edm.String; `s_country`, Edm.String | |
| 431 | - | * Returns Edm.Boolean | |
| 432 | - | * `/game/PS4_GetFriendList` | |
| 433 | - | * Query params: `s_uid`, Edm.String | |
| 434 | - | * Returns Edm.String | |
| 435 | - | ||
| 436 | - | ### Policy.SEE | |
| 437 | - | * `/game/UpdateInfocastMessages` | |
| 438 | - | * Query params: `_id`, Edm.String; `s_Type`, Edm.String; `s_DateBegin`, Edm.String; `s_DateEnd`, Edm.String; `i16_episode`, Edm.Int32 | |
| 439 | - | * POST request | |
| 440 | - | * Returns Edm.Boolean | |
| 441 | - | * `/game/DeleteInfocastMessages` | |
| 442 | - | * Query params: `_id`, Edm.String | |
| 443 | - | * Returns Edm.Boolean | |
| 444 | - | * `/game/GetInfocastMessages` | |
| 445 | - | * Returns Collection(game.infocast) | |
| 446 | - | * `/game/EnableSpecialFlag` | |
| 447 | - | * Query params: `i32_episode`, Edm.Int32; `b_enable`, Edm.Boolean | |
| 448 | - | * POST request | |
| 449 | - | * Returns Edm.Boolean | |
| 450 | - | * `/game/AddInfocastMessages` | |
| 451 | - | * Query params: `s_Type`, Edm.String; `s_DateBegin`, Edm.String; `s_DateEnd`, Edm.String; `i16_episode`, Edm.Int32 | |
| 452 | - | * POST request | |
| 453 | - | * Returns Edm.String | |
| 454 | - | * `/game/os_CreateSegment` | |
| 455 | - | * Query params: `s_segment`, Edm.String | |
| 456 | - | * POST request | |
| 457 | - | * Returns Edm.String | |
| 458 | - | * `/game/os_GetSegmentMetadata` | |
| 459 | - | * Query params: `s_segment`, Edm.String | |
| 460 | - | * Returns Edm.String | |
| 461 | - | * `/game/os_GetSegmentList` | |
| 462 | - | * Returns Edm.String | |
| 463 | - | * `/game/os_UpdateSegmentMetadata` | |
| 464 | - | * Query params: `s_segment`, Edm.String | |
| 465 | - | * POST request | |
| 466 | - | * Returns Edm.String | |
| 467 | - | * `/game/os_DeleteSegment` | |
| 468 | - | * Query params: `s_segment`, Edm.String | |
| 469 | - | * Returns Edm.String | |
| 470 | - | * `/game/os_AddPlayersToSegment` | |
| 471 | - | * Query params: `s_segment`, Edm.String | |
| 472 | - | * POST request | |
| 473 | - | * Returns Edm.String | |
| 474 | - | * `/game/os_GetPlayersFromSegment` | |
| 475 | - | * Query params: `s_segment`, Edm.String | |
| 476 | - | * Returns Edm.String | |
| 477 | - | * `/game/os_GetSegmentsFromPlayer` | |
| 478 | - | * Query params: `s_uid`, Edm.String | |
| 479 | - | * Returns Edm.String | |
| 480 | - | * `/game/os_RemovePlayersFromSegment` | |
| 481 | - | * Query params: `s_segment`, Edm.String | |
| 482 | - | * POST request | |
| 483 | - | * Returns Edm.String | |
| 484 | - | * `/game/os_AddUsageLog` | |
| 485 | - | * Query params: `s_segment`, Edm.String; `s_log`, Edm.String | |
| 486 | - | * Returns Edm.String | |
| 487 | - | * `/game/os_GetUsageLogs` | |
| 488 | - | * Query params: `s_segment`, Edm.String | |
| 489 | - | * Returns Edm.String | |
| 490 | - | * `/game/os_CreateABTest` | |
| 491 | - | * Query params: `s_abtest`, Edm.String | |
| 492 | - | * POST request | |
| 493 | - | * Returns Edm.String | |
| 494 | - | * `/game/os_GetABTestMetadata` | |
| 495 | - | * Query params: `s_abtest`, Edm.String | |
| 496 | - | * Returns Edm.String | |
| 497 | - | * `/game/os_GetABTestList` | |
| 498 | - | * Returns Edm.String | |
| 499 | - | * `/game/os_UpdateABTestMetadata` | |
| 500 | - | * Query params: `s_abtest`, Edm.String | |
| 501 | - | * POST request | |
| 502 | - | * Returns Edm.String | |
| 503 | - | * `/game/os_DeleteABTest` | |
| 504 | - | * Query params: `s_abtest`, Edm.String | |
| 505 | - | * Returns Edm.String | |
| 506 | - | * `/game/os_AddUsageLogToABTest` | |
| 507 | - | * Query params: `s_abtest`, Edm.String; `s_log`, Edm.String | |
| 508 | - | * Returns Edm.String | |
| 509 | - | * `/game/os_GetUsageLogsFromABTest` | |
| 510 | - | * Query params: `s_abtest`, Edm.String | |
| 511 | - | * Returns Edm.String | |
| 512 | - | * `/game/os_AddSegmentToABTest` | |
| 513 | - | * Query params: `s_abtest`, Edm.String; `s_segment`, Edm.String | |
| 514 | - | * Returns Edm.String | |
| 515 | - | * `/game/os_RemoveSegmentFromABTest` | |
| 516 | - | * Query params: `s_abtest`, Edm.String; `s_segment`, Edm.String | |
| 517 | - | * Returns Edm.String | |
| 518 | - | * `/game/os_SetDefaultABTestSegment` | |
| 519 | - | * Query params: `s_abtest`, Edm.String; `s_segment`, Edm.String | |
| 520 | - | * Returns Edm.String | |
| 521 | - | * `/game/os_SetDefaultABTestSegmentAsRandom` | |
| 522 | - | * Query params: `s_abtest`, Edm.String | |
| 523 | - | * Returns Edm.String | |
| 524 | - | * `/game/os_GetPlayerSegmentFromABTest` | |
| 525 | - | * Query params: `s_abtest`, Edm.String; `s_uid`, Edm.String | |
| 526 | - | * Returns Edm.String | |
| 527 | - | * `/game/os_CheckABTestConsistency` | |
| 528 | - | * Query params: `s_abtest`, Edm.String | |
| 529 | - | * Returns Edm.String | |
| 530 | - | ||
| 531 | - | ### Policy.OS | |
| 532 | - | * `/game/CalculateCommunityProfileStats` | |
| 533 | - | * Returns Edm.Int32 | |
| 534 | - | * `/game/CalculateFriendsProfileStats` | |
| 535 | - | * Returns Edm.Int32 | |
| 536 | - | * `/game/UpdateAvailableEpisodeOfferId` | |
| 537 | - | * Query params: `s_region`, Edm.String; `i32_episode`, Edm.Int32 | |
| 538 | - | * Returns Edm.String | |
| 539 | - | * `/game/os_GetMonitoring` | |
| 540 | - | * Returns game.ServerStatus | |
| 541 | - | * `/game/os_GetOptions` | |
| 542 | - | * Returns game.Options | |
| 543 | - | * `/game/os_SetOptions` | |
| 544 | - | * Query params: `name`, Edm.String; `value`, Edm.String | |
| 545 | - | * Returns game.Options | |
| 546 | - | * `/game/ClearCache` | |
| 547 | - | * Query params: `s_Name`, Edm.String | |
| 548 | - | * Returns Edm.String | |
| 549 | - | * `/game/os_NotificationExpired` | |
| 550 | - | * Query params: `s_id`, Edm.String; `i32_type`, Edm.Int32; `s_message`, Edm.String; `s_platform`, Edm.String; `s_sender`, Edm.String | |
| 551 | - | * Returns nothing | |
| 552 | - | * `/game/DeleteUserProfile` | |
| 553 | - | * Query params: `s_uid`, Edm.String | |
| 554 | - | * Returns Edm.Boolean | |
| 555 | - | * `/game/GetUserProfileGlobal` | |
| 556 | - | * Query params: `s_uid`, Edm.String | |
| 557 | - | * Returns game.userprofile | |
| 558 | - | * `/game/os_GetUserProfileGlobal` | |
| 559 | - | * Query params: `s_uid`, Edm.String | |
| 560 | - | * Returns game.userprofile | |
| 561 | - | * `/game/UpdateUserProfileGlobal` | |
| 562 | - | * Query params: `s_uid`, Edm.String | |
| 563 | - | * POST request | |
| 564 | - | * Returns Edm.Int32 | |
| 565 | - | * `/game/os_UpdateUserProfileGlobal` | |
| 566 | - | * Query params: `s_uid`, Edm.String | |
| 567 | - | * POST request | |
| 568 | - | * Returns Edm.Int32 | |
| 569 | - | * `/game/GetUserProfilePlatform` | |
| 570 | - | * Query params: `s_uid`, Edm.String | |
| 571 | - | * Returns game.userprofile | |
| 572 | - | * `/game/os_GetUserProfilePlatform` | |
| 573 | - | * Query params: `s_uid`, Edm.String | |
| 574 | - | * Returns game.userprofile | |
| 575 | - | * `/game/UpdateUserProfilePlatform` | |
| 576 | - | * Query params: `s_uid`, Edm.String | |
| 577 | - | * POST request | |
| 578 | - | * Returns Edm.Int32 | |
| 579 | - | * `/game/os_UpdateUserProfilePlatform` | |
| 580 | - | * Query params: `s_uid`, Edm.String | |
| 581 | - | * POST request | |
| 582 | - | * Returns Edm.Int32 | |
| 583 | - | * `/game/GetUserProfileFranchise` | |
| 584 | - | * Query params: `s_uid`, Edm.String | |
| 585 | - | * Returns game.userprofile | |
| 586 | - | * `/game/os_GetUserProfileFranchise` | |
| 587 | - | * Query params: `s_uid`, Edm.String | |
| 588 | - | * Returns game.userprofile | |
| 589 | - | * `/game/UpdateUserProfileFranchise` | |
| 590 | - | * Query params: `s_uid`, Edm.String | |
| 591 | - | * POST request | |
| 592 | - | * Returns Edm.Int32 | |
| 593 | - | * `/game/os_UpdateUserProfileFranchise` | |
| 594 | - | * Query params: `s_uid`, Edm.String | |
| 595 | - | * POST request | |
| 596 | - | * Returns Edm.Int32 | |
| 597 | - | * `/game/GetUserProfileGameGeneric` | |
| 598 | - | * Query params: `s_uid`, Edm.String | |
| 599 | - | * Returns game.userprofile | |
| 600 | - | * `/game/os_GetUserProfileGameGeneric` | |
| 601 | - | * Query params: `s_uid`, Edm.String | |
| 602 | - | * Returns game.userprofile | |
| 603 | - | * `/game/UpdateUserProfileGameGeneric` | |
| 604 | - | * Query params: `s_uid`, Edm.String | |
| 605 | - | * POST request | |
| 606 | - | * Returns Edm.Int32 | |
| 607 | - | * `/game/os_UpdateUserProfileGameGeneric` | |
| 608 | - | * Query params: `s_uid`, Edm.String | |
| 609 | - | * POST request | |
| 610 | - | * Returns Edm.Int32 | |
| 611 | - | * `/game/ValidateSEM` | |
| 612 | - | * Returns Edm.Boolean | |
| 613 | - | * `/game/os_BackupUserProfiles` | |
| 614 | - | * Returns Edm.Int32 | |
| 615 | - | * `/game/os_TestCache` | |
| 616 | - | * Query params: `s_cacheName`, Edm.String | |
| 617 | - | * Returns Edm.String | |
| 618 | - | ||
| 619 | - | ### Policy.PUBLIC | |
| 620 | - | * `/game/GetTodaysInfocast` | |
| 621 | - | * Query params: `s_locale`, Edm.String; `i16_episode`, Edm.Int32 | |
| 622 | - | * Returns Collection(game.infocast) | |
| 623 | - | * `/game/os_GetStatus` | |
| 624 | - | * Returns game.ClientInfo | |
| 625 | - | * `/game/os_GetServiceInfo` | |
| 626 | - | * Returns nothing | |
| 627 | - | * `/game/os_GetChangeLog` | |
| 628 | - | * Returns nothing | |
| 629 | - | * `/game/os_GetChangeLogHTML` | |
| 630 | - | * Returns nothing | |
| 631 | - | * `/game/os_Ping` | |
| 632 | - | * Returns Edm.Int64 | |
| 633 | - | * `/game/SEM_Login` | |
| 634 | - | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 635 | - | * Returns game.SEMSubmit | |
| 636 | - | * `/game/SEM_SubmitEmail` | |
| 637 | - | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 638 | - | * Returns game.SEMSubmit | |
| 639 | - | ||
| 640 | - | ### Policy.ANY | |
| 641 | - | * `/game/AddMetric` | |
| 642 | - | * Returns nothing | |
| 643 | - | * `/game/AddMetrics` | |
| 644 | - | * POST request | |
| 645 | - | * Returns nothing | |
| 646 | - | ||
| 647 | - | ### Policy.GAMESEE | |
| 648 | - | * `/game/GetSpecialFlag` | |
| 649 | - | * Query params: `i32_episode`, Edm.Int32 | |
| 650 | - | * Returns game.offlinespecialfeature | |
| 651 | - | * `/game/os_SendNotification` | |
| 652 | - | * Query params: `s_sender`, Edm.String; `i32_type`, Edm.Int32; `s_platform`, Edm.String; `i64_lifespan`, Edm.Int64 | |
| 653 | - | * POST request | |
| 654 | - | * Returns nothing | |
| 655 | - | * `/game/os_TranslatePlatformIds` | |
| 656 | - | * POST request | |
| 657 | - | * Returns Collection(game.PlatformIDInfo) | |
| 658 | - | * `/game/osGetConsumablesInfo` | |
| 659 | - | * Query params: `s_uid`, Edm.String | |
| 660 | - | * Returns Edm.String | |
| 661 | - | * `/game/Steam_GetUserInfo` | |
| 662 | - | * Query params: `s_uid`, Edm.String | |
| 663 | - | * Returns game.ossteamresponse | |
| 664 | - | * `/game/os_GetLastMetrics` | |
| 665 | - | * Query params: `i32_n`, Edm.Int32 | |
| 666 | - | * Returns Collection(game.os_metric) | |
| 667 | - | * `/game/os_GetMetric` | |
| 668 | - | * Query params: `s_uuid`, Edm.String | |
| 669 | - | * Returns game.os_metric | |
| 670 | - | * `/game/GetUserProfileGameSpecific` | |
| 671 | - | * Query params: `s_uid`, Edm.String | |
| 672 | - | * Returns game.userprofile | |
| 673 | - | * `/game/os_GetUserProfileGameSpecific` | |
| 674 | - | * Query params: `s_uid`, Edm.String | |
| 675 | - | * Returns game.userprofile | |
| 676 | - | * `/game/GetUserProfileCountry` | |
| 677 | - | * Query params: `s_uid`, Edm.String | |
| 678 | - | * Returns Edm.String | |
| 679 | - | * `/game/os_GetUserProfileCountry` | |
| 680 | - | * Query params: `s_uid`, Edm.String | |
| 681 | - | * Returns Edm.String | |
| 682 | - | * `/game/UpdateSEMinfo` | |
| 683 | - | * Query params: `s_semid`, Edm.String | |
| 684 | - | * POST request | |
| 685 | - | * Returns Edm.Boolean | |
| 686 | - | * `/game/DeleteSEMinfo` | |
| 687 | - | * Query params: `s_semid`, Edm.String | |
| 688 | - | * Returns Edm.Boolean | |
| 689 | - | * `/game/LinkToSEM` | |
| 690 | - | * Query params: `s_semid`, Edm.String; `s_authSystem`, Edm.String; `s_authId`, Edm.String | |
| 691 | - | * Returns Edm.Boolean | |
| 692 | - | * `/game/UnlinkFromSEM` | |
| 693 | - | * Query params: `s_semid`, Edm.String; `s_authSystem`, Edm.String; `s_authId`, Edm.String | |
| 694 | - | * Returns Edm.Boolean | |
| 695 | - | These docs aren't entirely accurate. Some things are in the wrong AuthPolicy category, some things say they return nothing when they do return something. But then, since when are any internal docs accurate, right? :P | |
| 696 | - | ||
| 697 | - | ||
| 698 | - | ### Policy.PUBLIC | |
| 699 | - | * `/game/GetTodaysInfocast` | |
| 700 | - | * Query params: `s_locale`, Edm.String; `i16_episode`, Edm.Int32 | |
| 701 | - | * Returns Collection(game.infocast) | |
| 702 | - | * `/game/os_GetStatus` | |
| 703 | - | * Returns game.ClientInfo | |
| 704 | - | * `/game/os_GetServiceInfo` | |
| 705 | - | * Returns nothing | |
| 706 | - | * `/game/os_GetChangeLog` | |
| 707 | - | * Returns nothing | |
| 708 | - | * `/game/os_GetChangeLogHTML` | |
| 709 | - | * Returns nothing | |
| 710 | - | * `/game/os_Ping` | |
| 711 | - | * Returns Edm.Int64 | |
| 712 | - | * `/game/SEM_Login` | |
| 713 | - | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 714 | - | * Returns game.SEMSubmit | |
| 715 | - | * `/game/SEM_SubmitEmail` | |
| 716 | - | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 717 | - | * Returns game.SEMSubmit | |
| 718 | - | ||
| 719 | - | ### Policy.ANY | |
| 720 | - | * `/game/AddMetric` | |
| 721 | - | * Returns nothing | |
| 722 | - | * `/game/AddMetrics` | |
| 723 | - | * POST request | |
| 724 | - | * Returns nothing | |
| 725 | - | ||
| 726 | - | ### Policy.GAME | |
| 727 | - | * `/game/UpdateUserProfileGameSpecific` | |
| 728 | - | * Query params: `s_uid`, Edm.String | |
| 729 | - | * POST request | |
| 730 | - | * Returns Edm.Int32 | |
| 731 | - | * `/game/SetUserProfileFriends` | |
| 732 | - | * Query params: `s_uid`, Edm.String | |
| 733 | - | * POST request | |
| 734 | - | * Returns Edm.Int32 | |
| 735 | - | * `/game/CommunityFactsGetEpisode` | |
| 736 | - | * Query params: `i16_episode`, Edm.Int32 | |
| 737 | - | * Returns Collection(game.communityfactreturn) | |
| 738 | - | * `/game/CommunityFactsGetAll` | |
| 739 | - | * Returns Collection(game.communityfactreturn) | |
| 740 | - | * `/game/GetFriendsProfileStats` | |
| 741 | - | * Query params: `s_uid`, Edm.String; `i16_episode`, Edm.Int32 | |
| 742 | - | * Returns Collection(game.communityfactreturn) | |
| 743 | - | * `/game/GetSeasonPassOfferIdList` | |
| 744 | - | * Query params: `s_region`, Edm.String | |
| 745 | - | * Returns Collection(game.offerid) | |
| 746 | - | * `/game/SetUserProfileGameSpecific` | |
| 747 | - | * Query params: `s_uid`, Edm.String | |
| 748 | - | * POST request | |
| 749 | - | * Returns Edm.Int32 | |
| 750 | - | * `/game/os_GetPlayer` | |
| 751 | - | * Query params: `UID`, Edm.String | |
| 752 | - | * Returns game.os_player | |
| 753 | - | * `/game/os_GetGeoLocation` | |
| 754 | - | * Returns game.GeoLocation | |
| 755 | - | * `/game/SEM_DeleteUser` | |
| 756 | - | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 757 | - | * Returns game.Result | |
| 758 | - | * `/game/SEM_UnlinkPlayer` | |
| 759 | - | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 760 | - | * Returns game.Result | |
| 761 | - | * `/game/SEM_GetLinkedAccounts` | |
| 762 | - | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 763 | - | * Returns Collection(game.SEMLinkedAccount) | |
| 764 | - | * `/game/FB_PostToWall` | |
| 765 | - | * Query params: `s_facebookID`, Edm.String | |
| 766 | - | * POST request | |
| 767 | - | * Returns game.Result | |
| 768 | - | * `/game/FB_PostImageToWall` | |
| 769 | - | * Query params: `s_facebookID`, Edm.String; `s_imageName`, Edm.String; `s_linkName`, Edm.String; `s_linkCaption`, Edm.String; `s_linkDescription`, Edm.String | |
| 770 | - | * POST request | |
| 771 | - | * Returns game.Result | |
| 772 | - | * `/game/osNewTransaction` | |
| 773 | - | * Query params: `s_uid`, Edm.String; `s_offerIds`, Edm.String | |
| 774 | - | * Returns game.txninfo | |
| 775 | - | * `/game/osCreateCustomTransaction` | |
| 776 | - | * Query params: `s_uid`, Edm.String | |
| 777 | - | * POST request | |
| 778 | - | * Returns game.txninfo | |
| 779 | - | * `/game/osFinalizeTransaction` | |
| 780 | - | * Query params: `s_uid`, Edm.String; `i64_txnId`, Edm.Int64 | |
| 781 | - | * Returns game.txninfo | |
| 782 | - | * `/game/osCancelTransaction` | |
| 783 | - | * Query params: `s_uid`, Edm.String; `i64_txnId`, Edm.Int64; `i32_reason`, Edm.Int32 | |
| 784 | - | * Returns game.txninfo | |
| 785 | - | * `/game/osPreTransferTransaction` | |
| 786 | - | * Query params: `s_uid`, Edm.String; `i64_txnId`, Edm.Int64 | |
| 787 | - | * POST request | |
| 788 | - | * Returns game.txninfo | |
| 789 | - | * `/game/osGetIncompleteTransaction` | |
| 790 | - | * Query params: `s_uid`, Edm.String | |
| 791 | - | * Returns Collection(game.txninfo) | |
| 792 | - | * `/game/CreateUserProfile` | |
| 793 | - | * Query params: `s_uid`, Edm.String | |
| 794 | - | * Returns Edm.Boolean | |
| 795 | - | * `/game/os_CreateUserProfile` | |
| 796 | - | * Query params: `s_uid`, Edm.String | |
| 797 | - | * Returns Edm.Int32 | |
| 798 | - | * `/game/os_SetUserProfileGameSpecific` | |
| 799 | - | * Query params: `s_uid`, Edm.String | |
| 800 | - | * POST request | |
| 801 | - | * Returns Edm.Int32 | |
| 802 | - | * `/game/os_UpdateUserProfileGameSpecific` | |
| 803 | - | * Query params: `s_uid`, Edm.String | |
| 804 | - | * POST request | |
| 805 | - | * Returns Edm.Int32 | |
| 806 | - | * `/game/SetUserProfileCountry` | |
| 807 | - | * Query params: `s_uid`, Edm.String; `s_country`, Edm.String | |
| 808 | - | * Returns Edm.Boolean | |
| 809 | - | * `/game/os_SetUserProfileCountry` | |
| 810 | - | * Query params: `s_uid`, Edm.String; `s_country`, Edm.String | |
| 811 | - | * Returns Edm.Boolean | |
| 812 | - | * `/game/PS4_GetFriendList` | |
| 813 | - | * Query params: `s_uid`, Edm.String | |
| 814 | - | * Returns Edm.String | |
| 815 | - | ||
| 816 | - | ### Policy.GAMESEE | |
| 817 | - | * `/game/GetSpecialFlag` | |
| 818 | - | * Query params: `i32_episode`, Edm.Int32 | |
| 819 | - | * Returns game.offlinespecialfeature | |
| 820 | - | * `/game/os_SendNotification` | |
| 821 | - | * Query params: `s_sender`, Edm.String; `i32_type`, Edm.Int32; `s_platform`, Edm.String; `i64_lifespan`, Edm.Int64 | |
| 822 | - | * POST request | |
| 823 | - | * Returns nothing | |
| 824 | - | * `/game/os_TranslatePlatformIds` | |
| 825 | - | * POST request | |
| 826 | - | * Returns Collection(game.PlatformIDInfo) | |
| 827 | - | * `/game/osGetConsumablesInfo` | |
| 828 | - | * Query params: `s_uid`, Edm.String | |
| 829 | - | * Returns Edm.String | |
| 830 | - | * `/game/Steam_GetUserInfo` | |
| 831 | - | * Query params: `s_uid`, Edm.String | |
| 832 | - | * Returns game.ossteamresponse | |
| 833 | - | * `/game/os_GetLastMetrics` | |
| 834 | - | * Query params: `i32_n`, Edm.Int32 | |
| 835 | - | * Returns Collection(game.os_metric) | |
| 836 | - | * `/game/os_GetMetric` | |
| 837 | - | * Query params: `s_uuid`, Edm.String | |
| 838 | - | * Returns game.os_metric | |
| 839 | - | * `/game/GetUserProfileGameSpecific` | |
| 840 | - | * Query params: `s_uid`, Edm.String | |
| 841 | - | * Returns game.userprofile | |
| 842 | - | * `/game/os_GetUserProfileGameSpecific` | |
| 843 | - | * Query params: `s_uid`, Edm.String | |
| 844 | - | * Returns game.userprofile | |
| 845 | - | * `/game/GetUserProfileCountry` | |
| 846 | - | * Query params: `s_uid`, Edm.String | |
| 847 | - | * Returns Edm.String | |
| 848 | - | * `/game/os_GetUserProfileCountry` | |
| 849 | - | * Query params: `s_uid`, Edm.String | |
| 850 | - | * Returns Edm.String | |
| 851 | - | * `/game/UpdateSEMinfo` | |
| 852 | - | * Query params: `s_semid`, Edm.String | |
| 853 | - | * POST request | |
| 854 | - | * Returns Edm.Boolean | |
| 855 | - | * `/game/DeleteSEMinfo` | |
| 856 | - | * Query params: `s_semid`, Edm.String | |
| 857 | - | * Returns Edm.Boolean | |
| 858 | - | * `/game/LinkToSEM` | |
| 859 | - | * Query params: `s_semid`, Edm.String; `s_authSystem`, Edm.String; `s_authId`, Edm.String | |
| 860 | - | * Returns Edm.Boolean | |
| 861 | - | * `/game/UnlinkFromSEM` | |
| 862 | - | * Query params: `s_semid`, Edm.String; `s_authSystem`, Edm.String; `s_authId`, Edm.String | |
| 863 | - | * Returns Edm.Boolean | |
| 864 | - | ||
| 865 | - | ### Policy.OS | |
| 866 | - | * `/game/CalculateCommunityProfileStats` | |
| 867 | - | * Returns Edm.Int32 | |
| 868 | - | * `/game/CalculateFriendsProfileStats` | |
| 869 | - | * Returns Edm.Int32 | |
| 870 | - | * `/game/UpdateAvailableEpisodeOfferId` | |
| 871 | - | * Query params: `s_region`, Edm.String; `i32_episode`, Edm.Int32 | |
| 872 | - | * Returns Edm.String | |
| 873 | - | * `/game/os_GetMonitoring` | |
| 874 | - | * Returns game.ServerStatus | |
| 875 | - | * `/game/os_GetOptions` | |
| 876 | - | * Returns game.Options | |
| 877 | - | * `/game/os_SetOptions` | |
| 878 | - | * Query params: `name`, Edm.String; `value`, Edm.String | |
| 879 | - | * Returns game.Options | |
| 880 | - | * `/game/ClearCache` | |
| 881 | - | * Query params: `s_Name`, Edm.String | |
| 882 | - | * Returns Edm.String | |
| 883 | - | * `/game/os_NotificationExpired` | |
| 884 | - | * Query params: `s_id`, Edm.String; `i32_type`, Edm.Int32; `s_message`, Edm.String; `s_platform`, Edm.String; `s_sender`, Edm.String | |
| 885 | - | * Returns nothing | |
| 886 | - | * `/game/DeleteUserProfile` | |
| 887 | - | * Query params: `s_uid`, Edm.String | |
| 888 | - | * Returns Edm.Boolean | |
| 889 | - | * `/game/GetUserProfileGlobal` | |
| 890 | - | * Query params: `s_uid`, Edm.String | |
| 891 | - | * Returns game.userprofile | |
| 892 | - | * `/game/os_GetUserProfileGlobal` | |
| 893 | - | * Query params: `s_uid`, Edm.String | |
| 894 | - | * Returns game.userprofile | |
| 895 | - | * `/game/UpdateUserProfileGlobal` | |
| 896 | - | * Query params: `s_uid`, Edm.String | |
| 897 | - | * POST request | |
| 898 | - | * Returns Edm.Int32 | |
| 899 | - | * `/game/os_UpdateUserProfileGlobal` | |
| 900 | - | * Query params: `s_uid`, Edm.String | |
| 901 | - | * POST request | |
| 902 | - | * Returns Edm.Int32 | |
| 903 | - | * `/game/GetUserProfilePlatform` | |
| 904 | - | * Query params: `s_uid`, Edm.String | |
| 905 | - | * Returns game.userprofile | |
| 906 | - | * `/game/os_GetUserProfilePlatform` | |
| 907 | - | * Query params: `s_uid`, Edm.String | |
| 908 | - | * Returns game.userprofile | |
| 909 | - | * `/game/UpdateUserProfilePlatform` | |
| 910 | - | * Query params: `s_uid`, Edm.String | |
| 911 | - | * POST request | |
| 912 | - | * Returns Edm.Int32 | |
| 913 | - | * `/game/os_UpdateUserProfilePlatform` | |
| 914 | - | * Query params: `s_uid`, Edm.String | |
| 915 | - | * POST request | |
| 916 | - | * Returns Edm.Int32 | |
| 917 | - | * `/game/GetUserProfileFranchise` | |
| 918 | - | * Query params: `s_uid`, Edm.String | |
| 919 | - | * Returns game.userprofile | |
| 920 | - | * `/game/os_GetUserProfileFranchise` | |
| 921 | - | * Query params: `s_uid`, Edm.String | |
| 922 | - | * Returns game.userprofile | |
| 923 | - | * `/game/UpdateUserProfileFranchise` | |
| 924 | - | * Query params: `s_uid`, Edm.String | |
| 925 | - | * POST request | |
| 926 | - | * Returns Edm.Int32 | |
| 927 | - | * `/game/os_UpdateUserProfileFranchise` | |
| 928 | - | * Query params: `s_uid`, Edm.String | |
| 929 | - | * POST request | |
| 930 | - | * Returns Edm.Int32 | |
| 931 | - | * `/game/GetUserProfileGameGeneric` | |
| 932 | - | * Query params: `s_uid`, Edm.String | |
| 933 | - | * Returns game.userprofile | |
| 934 | - | * `/game/os_GetUserProfileGameGeneric` | |
| 935 | - | * Query params: `s_uid`, Edm.String | |
| 936 | - | * Returns game.userprofile | |
| 937 | - | * `/game/UpdateUserProfileGameGeneric` | |
| 938 | - | * Query params: `s_uid`, Edm.String | |
| 939 | - | * POST request | |
| 940 | - | * Returns Edm.Int32 | |
| 941 | - | * `/game/os_UpdateUserProfileGameGeneric` | |
| 942 | - | * Query params: `s_uid`, Edm.String | |
| 943 | - | * POST request | |
| 944 | - | * Returns Edm.Int32 | |
| 945 | - | * `/game/ValidateSEM` | |
| 946 | - | * Returns Edm.Boolean | |
| 947 | - | * `/game/os_BackupUserProfiles` | |
| 948 | - | * Returns Edm.Int32 | |
| 949 | - | * `/game/os_TestCache` | |
| 950 | - | * Query params: `s_cacheName`, Edm.String | |
| 951 | - | * Returns Edm.String | |
| 952 | - | ||
| 953 | - | ### Policy.SEE | |
| 954 | - | * `/game/UpdateInfocastMessages` | |
| 955 | - | * Query params: `_id`, Edm.String; `s_Type`, Edm.String; `s_DateBegin`, Edm.String; `s_DateEnd`, Edm.String; `i16_episode`, Edm.Int32 | |
| 956 | - | * POST request | |
| 957 | - | * Returns Edm.Boolean | |
| 958 | - | * `/game/DeleteInfocastMessages` | |
| 959 | - | * Query params: `_id`, Edm.String | |
| 960 | - | * Returns Edm.Boolean | |
| 961 | - | * `/game/GetInfocastMessages` | |
| 962 | - | * Returns Collection(game.infocast) | |
| 963 | - | * `/game/EnableSpecialFlag` | |
| 964 | - | * Query params: `i32_episode`, Edm.Int32; `b_enable`, Edm.Boolean | |
| 965 | - | * POST request | |
| 966 | - | * Returns Edm.Boolean | |
| 967 | - | * `/game/AddInfocastMessages` | |
| 968 | - | * Query params: `s_Type`, Edm.String; `s_DateBegin`, Edm.String; `s_DateEnd`, Edm.String; `i16_episode`, Edm.Int32 | |
| 969 | - | * POST request | |
| 970 | - | * Returns Edm.String | |
| 971 | - | * `/game/os_CreateSegment` | |
| 972 | - | * Query params: `s_segment`, Edm.String | |
| 973 | - | * POST request | |
| 974 | - | * Returns Edm.String | |
| 975 | - | * `/game/os_GetSegmentMetadata` | |
| 976 | - | * Query params: `s_segment`, Edm.String | |
| 977 | - | * Returns Edm.String | |
| 978 | - | * `/game/os_GetSegmentList` | |
| 979 | - | * Returns Edm.String | |
| 980 | - | * `/game/os_UpdateSegmentMetadata` | |
| 981 | - | * Query params: `s_segment`, Edm.String | |
| 982 | - | * POST request | |
| 983 | - | * Returns Edm.String | |
| 984 | - | * `/game/os_DeleteSegment` | |
| 985 | - | * Query params: `s_segment`, Edm.String | |
| 986 | - | * Returns Edm.String | |
| 987 | - | * `/game/os_AddPlayersToSegment` | |
| 988 | - | * Query params: `s_segment`, Edm.String | |
| 989 | - | * POST request | |
| 990 | - | * Returns Edm.String | |
| 991 | - | * `/game/os_GetPlayersFromSegment` | |
| 992 | - | * Query params: `s_segment`, Edm.String | |
| 993 | - | * Returns Edm.String | |
| 994 | - | * `/game/os_GetSegmentsFromPlayer` | |
| 995 | - | * Query params: `s_uid`, Edm.String | |
| 996 | - | * Returns Edm.String | |
| 997 | - | * `/game/os_RemovePlayersFromSegment` | |
| 998 | - | * Query params: `s_segment`, Edm.String | |
| 999 | - | * POST request | |
| 1000 | - | * Returns Edm.String | |
| 1001 | - | * `/game/os_AddUsageLog` | |
| 1002 | - | * Query params: `s_segment`, Edm.String; `s_log`, Edm.String | |
| 1003 | - | * Returns Edm.String | |
| 1004 | - | * `/game/os_GetUsageLogs` | |
| 1005 | - | * Query params: `s_segment`, Edm.String | |
| 1006 | - | * Returns Edm.String | |
| 1007 | - | * `/game/os_CreateABTest` | |
| 1008 | - | * Query params: `s_abtest`, Edm.String | |
| 1009 | - | * POST request | |
| 1010 | - | * Returns Edm.String | |
| 1011 | - | * `/game/os_GetABTestMetadata` | |
| 1012 | - | * Query params: `s_abtest`, Edm.String | |
| 1013 | - | * Returns Edm.String | |
| 1014 | - | * `/game/os_GetABTestList` | |
| 1015 | - | * Returns Edm.String | |
| 1016 | - | * `/game/os_UpdateABTestMetadata` | |
| 1017 | - | * Query params: `s_abtest`, Edm.String | |
| 1018 | - | * POST request | |
| 1019 | - | * Returns Edm.String | |
| 1020 | - | * `/game/os_DeleteABTest` | |
| 1021 | - | * Query params: `s_abtest`, Edm.String | |
| 1022 | - | * Returns Edm.String | |
| 1023 | - | * `/game/os_AddUsageLogToABTest` | |
| 1024 | - | * Query params: `s_abtest`, Edm.String; `s_log`, Edm.String | |
| 1025 | - | * Returns Edm.String | |
| 1026 | - | * `/game/os_GetUsageLogsFromABTest` | |
| 1027 | - | * Query params: `s_abtest`, Edm.String | |
| 1028 | - | * Returns Edm.String | |
| 1029 | - | * `/game/os_AddSegmentToABTest` | |
| 1030 | - | * Query params: `s_abtest`, Edm.String; `s_segment`, Edm.String | |
| 1031 | - | * Returns Edm.String | |
| 1032 | - | * `/game/os_RemoveSegmentFromABTest` | |
| 1033 | - | * Query params: `s_abtest`, Edm.String; `s_segment`, Edm.String | |
| 1034 | - | * Returns Edm.String | |
| 1035 | - | * `/game/os_SetDefaultABTestSegment` | |
| 1036 | - | * Query params: `s_abtest`, Edm.String; `s_segment`, Edm.String | |
| 1037 | - | * Returns Edm.String | |
| 1038 | - | * `/game/os_SetDefaultABTestSegmentAsRandom` | |
| 1039 | - | * Query params: `s_abtest`, Edm.String | |
| 1040 | - | * Returns Edm.String | |
| 1041 | - | * `/game/os_GetPlayerSegmentFromABTest` | |
| 1042 | - | * Query params: `s_abtest`, Edm.String; `s_uid`, Edm.String | |
| 1043 | - | * Returns Edm.String | |
| 1044 | - | * `/game/os_CheckABTestConsistency` | |
| 1045 | - | * Query params: `s_abtest`, Edm.String | |
| 1046 | - | * Returns Edm.String | |
blha303 revised this gist . Go to revision
2 files changed, 353 insertions
zGenerateDocs.py
| @@ -25,6 +25,7 @@ def format(func): | |||
| 25 | 25 | out += " * Returns nothing" | |
| 26 | 26 | return out | |
| 27 | 27 | ||
| 28 | + | print("These docs aren't entirely accurate. Some things are in the wrong AuthPolicy category, some things say they return nothing when they do return something. But then, since when are any internal docs accurate, right? :P\n") | |
| 28 | 29 | for authpolicy, functions in funcs.items(): | |
| 29 | 30 | print("\n### {}".format(authpolicy)) | |
| 30 | 31 | for f in functions: | |
zGeneratedDocs.md
| @@ -692,3 +692,355 @@ | |||
| 692 | 692 | * `/game/UnlinkFromSEM` | |
| 693 | 693 | * Query params: `s_semid`, Edm.String; `s_authSystem`, Edm.String; `s_authId`, Edm.String | |
| 694 | 694 | * Returns Edm.Boolean | |
| 695 | + | These docs aren't entirely accurate. Some things are in the wrong AuthPolicy category, some things say they return nothing when they do return something. But then, since when are any internal docs accurate, right? :P | |
| 696 | + | ||
| 697 | + | ||
| 698 | + | ### Policy.PUBLIC | |
| 699 | + | * `/game/GetTodaysInfocast` | |
| 700 | + | * Query params: `s_locale`, Edm.String; `i16_episode`, Edm.Int32 | |
| 701 | + | * Returns Collection(game.infocast) | |
| 702 | + | * `/game/os_GetStatus` | |
| 703 | + | * Returns game.ClientInfo | |
| 704 | + | * `/game/os_GetServiceInfo` | |
| 705 | + | * Returns nothing | |
| 706 | + | * `/game/os_GetChangeLog` | |
| 707 | + | * Returns nothing | |
| 708 | + | * `/game/os_GetChangeLogHTML` | |
| 709 | + | * Returns nothing | |
| 710 | + | * `/game/os_Ping` | |
| 711 | + | * Returns Edm.Int64 | |
| 712 | + | * `/game/SEM_Login` | |
| 713 | + | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 714 | + | * Returns game.SEMSubmit | |
| 715 | + | * `/game/SEM_SubmitEmail` | |
| 716 | + | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 717 | + | * Returns game.SEMSubmit | |
| 718 | + | ||
| 719 | + | ### Policy.ANY | |
| 720 | + | * `/game/AddMetric` | |
| 721 | + | * Returns nothing | |
| 722 | + | * `/game/AddMetrics` | |
| 723 | + | * POST request | |
| 724 | + | * Returns nothing | |
| 725 | + | ||
| 726 | + | ### Policy.GAME | |
| 727 | + | * `/game/UpdateUserProfileGameSpecific` | |
| 728 | + | * Query params: `s_uid`, Edm.String | |
| 729 | + | * POST request | |
| 730 | + | * Returns Edm.Int32 | |
| 731 | + | * `/game/SetUserProfileFriends` | |
| 732 | + | * Query params: `s_uid`, Edm.String | |
| 733 | + | * POST request | |
| 734 | + | * Returns Edm.Int32 | |
| 735 | + | * `/game/CommunityFactsGetEpisode` | |
| 736 | + | * Query params: `i16_episode`, Edm.Int32 | |
| 737 | + | * Returns Collection(game.communityfactreturn) | |
| 738 | + | * `/game/CommunityFactsGetAll` | |
| 739 | + | * Returns Collection(game.communityfactreturn) | |
| 740 | + | * `/game/GetFriendsProfileStats` | |
| 741 | + | * Query params: `s_uid`, Edm.String; `i16_episode`, Edm.Int32 | |
| 742 | + | * Returns Collection(game.communityfactreturn) | |
| 743 | + | * `/game/GetSeasonPassOfferIdList` | |
| 744 | + | * Query params: `s_region`, Edm.String | |
| 745 | + | * Returns Collection(game.offerid) | |
| 746 | + | * `/game/SetUserProfileGameSpecific` | |
| 747 | + | * Query params: `s_uid`, Edm.String | |
| 748 | + | * POST request | |
| 749 | + | * Returns Edm.Int32 | |
| 750 | + | * `/game/os_GetPlayer` | |
| 751 | + | * Query params: `UID`, Edm.String | |
| 752 | + | * Returns game.os_player | |
| 753 | + | * `/game/os_GetGeoLocation` | |
| 754 | + | * Returns game.GeoLocation | |
| 755 | + | * `/game/SEM_DeleteUser` | |
| 756 | + | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 757 | + | * Returns game.Result | |
| 758 | + | * `/game/SEM_UnlinkPlayer` | |
| 759 | + | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 760 | + | * Returns game.Result | |
| 761 | + | * `/game/SEM_GetLinkedAccounts` | |
| 762 | + | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 763 | + | * Returns Collection(game.SEMLinkedAccount) | |
| 764 | + | * `/game/FB_PostToWall` | |
| 765 | + | * Query params: `s_facebookID`, Edm.String | |
| 766 | + | * POST request | |
| 767 | + | * Returns game.Result | |
| 768 | + | * `/game/FB_PostImageToWall` | |
| 769 | + | * Query params: `s_facebookID`, Edm.String; `s_imageName`, Edm.String; `s_linkName`, Edm.String; `s_linkCaption`, Edm.String; `s_linkDescription`, Edm.String | |
| 770 | + | * POST request | |
| 771 | + | * Returns game.Result | |
| 772 | + | * `/game/osNewTransaction` | |
| 773 | + | * Query params: `s_uid`, Edm.String; `s_offerIds`, Edm.String | |
| 774 | + | * Returns game.txninfo | |
| 775 | + | * `/game/osCreateCustomTransaction` | |
| 776 | + | * Query params: `s_uid`, Edm.String | |
| 777 | + | * POST request | |
| 778 | + | * Returns game.txninfo | |
| 779 | + | * `/game/osFinalizeTransaction` | |
| 780 | + | * Query params: `s_uid`, Edm.String; `i64_txnId`, Edm.Int64 | |
| 781 | + | * Returns game.txninfo | |
| 782 | + | * `/game/osCancelTransaction` | |
| 783 | + | * Query params: `s_uid`, Edm.String; `i64_txnId`, Edm.Int64; `i32_reason`, Edm.Int32 | |
| 784 | + | * Returns game.txninfo | |
| 785 | + | * `/game/osPreTransferTransaction` | |
| 786 | + | * Query params: `s_uid`, Edm.String; `i64_txnId`, Edm.Int64 | |
| 787 | + | * POST request | |
| 788 | + | * Returns game.txninfo | |
| 789 | + | * `/game/osGetIncompleteTransaction` | |
| 790 | + | * Query params: `s_uid`, Edm.String | |
| 791 | + | * Returns Collection(game.txninfo) | |
| 792 | + | * `/game/CreateUserProfile` | |
| 793 | + | * Query params: `s_uid`, Edm.String | |
| 794 | + | * Returns Edm.Boolean | |
| 795 | + | * `/game/os_CreateUserProfile` | |
| 796 | + | * Query params: `s_uid`, Edm.String | |
| 797 | + | * Returns Edm.Int32 | |
| 798 | + | * `/game/os_SetUserProfileGameSpecific` | |
| 799 | + | * Query params: `s_uid`, Edm.String | |
| 800 | + | * POST request | |
| 801 | + | * Returns Edm.Int32 | |
| 802 | + | * `/game/os_UpdateUserProfileGameSpecific` | |
| 803 | + | * Query params: `s_uid`, Edm.String | |
| 804 | + | * POST request | |
| 805 | + | * Returns Edm.Int32 | |
| 806 | + | * `/game/SetUserProfileCountry` | |
| 807 | + | * Query params: `s_uid`, Edm.String; `s_country`, Edm.String | |
| 808 | + | * Returns Edm.Boolean | |
| 809 | + | * `/game/os_SetUserProfileCountry` | |
| 810 | + | * Query params: `s_uid`, Edm.String; `s_country`, Edm.String | |
| 811 | + | * Returns Edm.Boolean | |
| 812 | + | * `/game/PS4_GetFriendList` | |
| 813 | + | * Query params: `s_uid`, Edm.String | |
| 814 | + | * Returns Edm.String | |
| 815 | + | ||
| 816 | + | ### Policy.GAMESEE | |
| 817 | + | * `/game/GetSpecialFlag` | |
| 818 | + | * Query params: `i32_episode`, Edm.Int32 | |
| 819 | + | * Returns game.offlinespecialfeature | |
| 820 | + | * `/game/os_SendNotification` | |
| 821 | + | * Query params: `s_sender`, Edm.String; `i32_type`, Edm.Int32; `s_platform`, Edm.String; `i64_lifespan`, Edm.Int64 | |
| 822 | + | * POST request | |
| 823 | + | * Returns nothing | |
| 824 | + | * `/game/os_TranslatePlatformIds` | |
| 825 | + | * POST request | |
| 826 | + | * Returns Collection(game.PlatformIDInfo) | |
| 827 | + | * `/game/osGetConsumablesInfo` | |
| 828 | + | * Query params: `s_uid`, Edm.String | |
| 829 | + | * Returns Edm.String | |
| 830 | + | * `/game/Steam_GetUserInfo` | |
| 831 | + | * Query params: `s_uid`, Edm.String | |
| 832 | + | * Returns game.ossteamresponse | |
| 833 | + | * `/game/os_GetLastMetrics` | |
| 834 | + | * Query params: `i32_n`, Edm.Int32 | |
| 835 | + | * Returns Collection(game.os_metric) | |
| 836 | + | * `/game/os_GetMetric` | |
| 837 | + | * Query params: `s_uuid`, Edm.String | |
| 838 | + | * Returns game.os_metric | |
| 839 | + | * `/game/GetUserProfileGameSpecific` | |
| 840 | + | * Query params: `s_uid`, Edm.String | |
| 841 | + | * Returns game.userprofile | |
| 842 | + | * `/game/os_GetUserProfileGameSpecific` | |
| 843 | + | * Query params: `s_uid`, Edm.String | |
| 844 | + | * Returns game.userprofile | |
| 845 | + | * `/game/GetUserProfileCountry` | |
| 846 | + | * Query params: `s_uid`, Edm.String | |
| 847 | + | * Returns Edm.String | |
| 848 | + | * `/game/os_GetUserProfileCountry` | |
| 849 | + | * Query params: `s_uid`, Edm.String | |
| 850 | + | * Returns Edm.String | |
| 851 | + | * `/game/UpdateSEMinfo` | |
| 852 | + | * Query params: `s_semid`, Edm.String | |
| 853 | + | * POST request | |
| 854 | + | * Returns Edm.Boolean | |
| 855 | + | * `/game/DeleteSEMinfo` | |
| 856 | + | * Query params: `s_semid`, Edm.String | |
| 857 | + | * Returns Edm.Boolean | |
| 858 | + | * `/game/LinkToSEM` | |
| 859 | + | * Query params: `s_semid`, Edm.String; `s_authSystem`, Edm.String; `s_authId`, Edm.String | |
| 860 | + | * Returns Edm.Boolean | |
| 861 | + | * `/game/UnlinkFromSEM` | |
| 862 | + | * Query params: `s_semid`, Edm.String; `s_authSystem`, Edm.String; `s_authId`, Edm.String | |
| 863 | + | * Returns Edm.Boolean | |
| 864 | + | ||
| 865 | + | ### Policy.OS | |
| 866 | + | * `/game/CalculateCommunityProfileStats` | |
| 867 | + | * Returns Edm.Int32 | |
| 868 | + | * `/game/CalculateFriendsProfileStats` | |
| 869 | + | * Returns Edm.Int32 | |
| 870 | + | * `/game/UpdateAvailableEpisodeOfferId` | |
| 871 | + | * Query params: `s_region`, Edm.String; `i32_episode`, Edm.Int32 | |
| 872 | + | * Returns Edm.String | |
| 873 | + | * `/game/os_GetMonitoring` | |
| 874 | + | * Returns game.ServerStatus | |
| 875 | + | * `/game/os_GetOptions` | |
| 876 | + | * Returns game.Options | |
| 877 | + | * `/game/os_SetOptions` | |
| 878 | + | * Query params: `name`, Edm.String; `value`, Edm.String | |
| 879 | + | * Returns game.Options | |
| 880 | + | * `/game/ClearCache` | |
| 881 | + | * Query params: `s_Name`, Edm.String | |
| 882 | + | * Returns Edm.String | |
| 883 | + | * `/game/os_NotificationExpired` | |
| 884 | + | * Query params: `s_id`, Edm.String; `i32_type`, Edm.Int32; `s_message`, Edm.String; `s_platform`, Edm.String; `s_sender`, Edm.String | |
| 885 | + | * Returns nothing | |
| 886 | + | * `/game/DeleteUserProfile` | |
| 887 | + | * Query params: `s_uid`, Edm.String | |
| 888 | + | * Returns Edm.Boolean | |
| 889 | + | * `/game/GetUserProfileGlobal` | |
| 890 | + | * Query params: `s_uid`, Edm.String | |
| 891 | + | * Returns game.userprofile | |
| 892 | + | * `/game/os_GetUserProfileGlobal` | |
| 893 | + | * Query params: `s_uid`, Edm.String | |
| 894 | + | * Returns game.userprofile | |
| 895 | + | * `/game/UpdateUserProfileGlobal` | |
| 896 | + | * Query params: `s_uid`, Edm.String | |
| 897 | + | * POST request | |
| 898 | + | * Returns Edm.Int32 | |
| 899 | + | * `/game/os_UpdateUserProfileGlobal` | |
| 900 | + | * Query params: `s_uid`, Edm.String | |
| 901 | + | * POST request | |
| 902 | + | * Returns Edm.Int32 | |
| 903 | + | * `/game/GetUserProfilePlatform` | |
| 904 | + | * Query params: `s_uid`, Edm.String | |
| 905 | + | * Returns game.userprofile | |
| 906 | + | * `/game/os_GetUserProfilePlatform` | |
| 907 | + | * Query params: `s_uid`, Edm.String | |
| 908 | + | * Returns game.userprofile | |
| 909 | + | * `/game/UpdateUserProfilePlatform` | |
| 910 | + | * Query params: `s_uid`, Edm.String | |
| 911 | + | * POST request | |
| 912 | + | * Returns Edm.Int32 | |
| 913 | + | * `/game/os_UpdateUserProfilePlatform` | |
| 914 | + | * Query params: `s_uid`, Edm.String | |
| 915 | + | * POST request | |
| 916 | + | * Returns Edm.Int32 | |
| 917 | + | * `/game/GetUserProfileFranchise` | |
| 918 | + | * Query params: `s_uid`, Edm.String | |
| 919 | + | * Returns game.userprofile | |
| 920 | + | * `/game/os_GetUserProfileFranchise` | |
| 921 | + | * Query params: `s_uid`, Edm.String | |
| 922 | + | * Returns game.userprofile | |
| 923 | + | * `/game/UpdateUserProfileFranchise` | |
| 924 | + | * Query params: `s_uid`, Edm.String | |
| 925 | + | * POST request | |
| 926 | + | * Returns Edm.Int32 | |
| 927 | + | * `/game/os_UpdateUserProfileFranchise` | |
| 928 | + | * Query params: `s_uid`, Edm.String | |
| 929 | + | * POST request | |
| 930 | + | * Returns Edm.Int32 | |
| 931 | + | * `/game/GetUserProfileGameGeneric` | |
| 932 | + | * Query params: `s_uid`, Edm.String | |
| 933 | + | * Returns game.userprofile | |
| 934 | + | * `/game/os_GetUserProfileGameGeneric` | |
| 935 | + | * Query params: `s_uid`, Edm.String | |
| 936 | + | * Returns game.userprofile | |
| 937 | + | * `/game/UpdateUserProfileGameGeneric` | |
| 938 | + | * Query params: `s_uid`, Edm.String | |
| 939 | + | * POST request | |
| 940 | + | * Returns Edm.Int32 | |
| 941 | + | * `/game/os_UpdateUserProfileGameGeneric` | |
| 942 | + | * Query params: `s_uid`, Edm.String | |
| 943 | + | * POST request | |
| 944 | + | * Returns Edm.Int32 | |
| 945 | + | * `/game/ValidateSEM` | |
| 946 | + | * Returns Edm.Boolean | |
| 947 | + | * `/game/os_BackupUserProfiles` | |
| 948 | + | * Returns Edm.Int32 | |
| 949 | + | * `/game/os_TestCache` | |
| 950 | + | * Query params: `s_cacheName`, Edm.String | |
| 951 | + | * Returns Edm.String | |
| 952 | + | ||
| 953 | + | ### Policy.SEE | |
| 954 | + | * `/game/UpdateInfocastMessages` | |
| 955 | + | * Query params: `_id`, Edm.String; `s_Type`, Edm.String; `s_DateBegin`, Edm.String; `s_DateEnd`, Edm.String; `i16_episode`, Edm.Int32 | |
| 956 | + | * POST request | |
| 957 | + | * Returns Edm.Boolean | |
| 958 | + | * `/game/DeleteInfocastMessages` | |
| 959 | + | * Query params: `_id`, Edm.String | |
| 960 | + | * Returns Edm.Boolean | |
| 961 | + | * `/game/GetInfocastMessages` | |
| 962 | + | * Returns Collection(game.infocast) | |
| 963 | + | * `/game/EnableSpecialFlag` | |
| 964 | + | * Query params: `i32_episode`, Edm.Int32; `b_enable`, Edm.Boolean | |
| 965 | + | * POST request | |
| 966 | + | * Returns Edm.Boolean | |
| 967 | + | * `/game/AddInfocastMessages` | |
| 968 | + | * Query params: `s_Type`, Edm.String; `s_DateBegin`, Edm.String; `s_DateEnd`, Edm.String; `i16_episode`, Edm.Int32 | |
| 969 | + | * POST request | |
| 970 | + | * Returns Edm.String | |
| 971 | + | * `/game/os_CreateSegment` | |
| 972 | + | * Query params: `s_segment`, Edm.String | |
| 973 | + | * POST request | |
| 974 | + | * Returns Edm.String | |
| 975 | + | * `/game/os_GetSegmentMetadata` | |
| 976 | + | * Query params: `s_segment`, Edm.String | |
| 977 | + | * Returns Edm.String | |
| 978 | + | * `/game/os_GetSegmentList` | |
| 979 | + | * Returns Edm.String | |
| 980 | + | * `/game/os_UpdateSegmentMetadata` | |
| 981 | + | * Query params: `s_segment`, Edm.String | |
| 982 | + | * POST request | |
| 983 | + | * Returns Edm.String | |
| 984 | + | * `/game/os_DeleteSegment` | |
| 985 | + | * Query params: `s_segment`, Edm.String | |
| 986 | + | * Returns Edm.String | |
| 987 | + | * `/game/os_AddPlayersToSegment` | |
| 988 | + | * Query params: `s_segment`, Edm.String | |
| 989 | + | * POST request | |
| 990 | + | * Returns Edm.String | |
| 991 | + | * `/game/os_GetPlayersFromSegment` | |
| 992 | + | * Query params: `s_segment`, Edm.String | |
| 993 | + | * Returns Edm.String | |
| 994 | + | * `/game/os_GetSegmentsFromPlayer` | |
| 995 | + | * Query params: `s_uid`, Edm.String | |
| 996 | + | * Returns Edm.String | |
| 997 | + | * `/game/os_RemovePlayersFromSegment` | |
| 998 | + | * Query params: `s_segment`, Edm.String | |
| 999 | + | * POST request | |
| 1000 | + | * Returns Edm.String | |
| 1001 | + | * `/game/os_AddUsageLog` | |
| 1002 | + | * Query params: `s_segment`, Edm.String; `s_log`, Edm.String | |
| 1003 | + | * Returns Edm.String | |
| 1004 | + | * `/game/os_GetUsageLogs` | |
| 1005 | + | * Query params: `s_segment`, Edm.String | |
| 1006 | + | * Returns Edm.String | |
| 1007 | + | * `/game/os_CreateABTest` | |
| 1008 | + | * Query params: `s_abtest`, Edm.String | |
| 1009 | + | * POST request | |
| 1010 | + | * Returns Edm.String | |
| 1011 | + | * `/game/os_GetABTestMetadata` | |
| 1012 | + | * Query params: `s_abtest`, Edm.String | |
| 1013 | + | * Returns Edm.String | |
| 1014 | + | * `/game/os_GetABTestList` | |
| 1015 | + | * Returns Edm.String | |
| 1016 | + | * `/game/os_UpdateABTestMetadata` | |
| 1017 | + | * Query params: `s_abtest`, Edm.String | |
| 1018 | + | * POST request | |
| 1019 | + | * Returns Edm.String | |
| 1020 | + | * `/game/os_DeleteABTest` | |
| 1021 | + | * Query params: `s_abtest`, Edm.String | |
| 1022 | + | * Returns Edm.String | |
| 1023 | + | * `/game/os_AddUsageLogToABTest` | |
| 1024 | + | * Query params: `s_abtest`, Edm.String; `s_log`, Edm.String | |
| 1025 | + | * Returns Edm.String | |
| 1026 | + | * `/game/os_GetUsageLogsFromABTest` | |
| 1027 | + | * Query params: `s_abtest`, Edm.String | |
| 1028 | + | * Returns Edm.String | |
| 1029 | + | * `/game/os_AddSegmentToABTest` | |
| 1030 | + | * Query params: `s_abtest`, Edm.String; `s_segment`, Edm.String | |
| 1031 | + | * Returns Edm.String | |
| 1032 | + | * `/game/os_RemoveSegmentFromABTest` | |
| 1033 | + | * Query params: `s_abtest`, Edm.String; `s_segment`, Edm.String | |
| 1034 | + | * Returns Edm.String | |
| 1035 | + | * `/game/os_SetDefaultABTestSegment` | |
| 1036 | + | * Query params: `s_abtest`, Edm.String; `s_segment`, Edm.String | |
| 1037 | + | * Returns Edm.String | |
| 1038 | + | * `/game/os_SetDefaultABTestSegmentAsRandom` | |
| 1039 | + | * Query params: `s_abtest`, Edm.String | |
| 1040 | + | * Returns Edm.String | |
| 1041 | + | * `/game/os_GetPlayerSegmentFromABTest` | |
| 1042 | + | * Query params: `s_abtest`, Edm.String; `s_uid`, Edm.String | |
| 1043 | + | * Returns Edm.String | |
| 1044 | + | * `/game/os_CheckABTestConsistency` | |
| 1045 | + | * Query params: `s_abtest`, Edm.String | |
| 1046 | + | * Returns Edm.String | |
blha303 revised this gist . Go to revision
2 files changed, 351 insertions, 1 deletion
zGenerateDocs.py
| @@ -26,7 +26,7 @@ def format(func): | |||
| 26 | 26 | return out | |
| 27 | 27 | ||
| 28 | 28 | for authpolicy, functions in funcs.items(): | |
| 29 | - | print("### {}".format(authpolicy)) | |
| 29 | + | print("\n### {}".format(authpolicy)) | |
| 30 | 30 | for f in functions: | |
| 31 | 31 | try: | |
| 32 | 32 | print(format(f)) | |
zGeneratedDocs.md
| @@ -342,3 +342,353 @@ | |||
| 342 | 342 | * `/game/SEM_SubmitEmail` | |
| 343 | 343 | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 344 | 344 | * Returns game.SEMSubmit | |
| 345 | + | ||
| 346 | + | ### Policy.GAME | |
| 347 | + | * `/game/UpdateUserProfileGameSpecific` | |
| 348 | + | * Query params: `s_uid`, Edm.String | |
| 349 | + | * POST request | |
| 350 | + | * Returns Edm.Int32 | |
| 351 | + | * `/game/SetUserProfileFriends` | |
| 352 | + | * Query params: `s_uid`, Edm.String | |
| 353 | + | * POST request | |
| 354 | + | * Returns Edm.Int32 | |
| 355 | + | * `/game/CommunityFactsGetEpisode` | |
| 356 | + | * Query params: `i16_episode`, Edm.Int32 | |
| 357 | + | * Returns Collection(game.communityfactreturn) | |
| 358 | + | * `/game/CommunityFactsGetAll` | |
| 359 | + | * Returns Collection(game.communityfactreturn) | |
| 360 | + | * `/game/GetFriendsProfileStats` | |
| 361 | + | * Query params: `s_uid`, Edm.String; `i16_episode`, Edm.Int32 | |
| 362 | + | * Returns Collection(game.communityfactreturn) | |
| 363 | + | * `/game/GetSeasonPassOfferIdList` | |
| 364 | + | * Query params: `s_region`, Edm.String | |
| 365 | + | * Returns Collection(game.offerid) | |
| 366 | + | * `/game/SetUserProfileGameSpecific` | |
| 367 | + | * Query params: `s_uid`, Edm.String | |
| 368 | + | * POST request | |
| 369 | + | * Returns Edm.Int32 | |
| 370 | + | * `/game/os_GetPlayer` | |
| 371 | + | * Query params: `UID`, Edm.String | |
| 372 | + | * Returns game.os_player | |
| 373 | + | * `/game/os_GetGeoLocation` | |
| 374 | + | * Returns game.GeoLocation | |
| 375 | + | * `/game/SEM_DeleteUser` | |
| 376 | + | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 377 | + | * Returns game.Result | |
| 378 | + | * `/game/SEM_UnlinkPlayer` | |
| 379 | + | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 380 | + | * Returns game.Result | |
| 381 | + | * `/game/SEM_GetLinkedAccounts` | |
| 382 | + | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 383 | + | * Returns Collection(game.SEMLinkedAccount) | |
| 384 | + | * `/game/FB_PostToWall` | |
| 385 | + | * Query params: `s_facebookID`, Edm.String | |
| 386 | + | * POST request | |
| 387 | + | * Returns game.Result | |
| 388 | + | * `/game/FB_PostImageToWall` | |
| 389 | + | * Query params: `s_facebookID`, Edm.String; `s_imageName`, Edm.String; `s_linkName`, Edm.String; `s_linkCaption`, Edm.String; `s_linkDescription`, Edm.String | |
| 390 | + | * POST request | |
| 391 | + | * Returns game.Result | |
| 392 | + | * `/game/osNewTransaction` | |
| 393 | + | * Query params: `s_uid`, Edm.String; `s_offerIds`, Edm.String | |
| 394 | + | * Returns game.txninfo | |
| 395 | + | * `/game/osCreateCustomTransaction` | |
| 396 | + | * Query params: `s_uid`, Edm.String | |
| 397 | + | * POST request | |
| 398 | + | * Returns game.txninfo | |
| 399 | + | * `/game/osFinalizeTransaction` | |
| 400 | + | * Query params: `s_uid`, Edm.String; `i64_txnId`, Edm.Int64 | |
| 401 | + | * Returns game.txninfo | |
| 402 | + | * `/game/osCancelTransaction` | |
| 403 | + | * Query params: `s_uid`, Edm.String; `i64_txnId`, Edm.Int64; `i32_reason`, Edm.Int32 | |
| 404 | + | * Returns game.txninfo | |
| 405 | + | * `/game/osPreTransferTransaction` | |
| 406 | + | * Query params: `s_uid`, Edm.String; `i64_txnId`, Edm.Int64 | |
| 407 | + | * POST request | |
| 408 | + | * Returns game.txninfo | |
| 409 | + | * `/game/osGetIncompleteTransaction` | |
| 410 | + | * Query params: `s_uid`, Edm.String | |
| 411 | + | * Returns Collection(game.txninfo) | |
| 412 | + | * `/game/CreateUserProfile` | |
| 413 | + | * Query params: `s_uid`, Edm.String | |
| 414 | + | * Returns Edm.Boolean | |
| 415 | + | * `/game/os_CreateUserProfile` | |
| 416 | + | * Query params: `s_uid`, Edm.String | |
| 417 | + | * Returns Edm.Int32 | |
| 418 | + | * `/game/os_SetUserProfileGameSpecific` | |
| 419 | + | * Query params: `s_uid`, Edm.String | |
| 420 | + | * POST request | |
| 421 | + | * Returns Edm.Int32 | |
| 422 | + | * `/game/os_UpdateUserProfileGameSpecific` | |
| 423 | + | * Query params: `s_uid`, Edm.String | |
| 424 | + | * POST request | |
| 425 | + | * Returns Edm.Int32 | |
| 426 | + | * `/game/SetUserProfileCountry` | |
| 427 | + | * Query params: `s_uid`, Edm.String; `s_country`, Edm.String | |
| 428 | + | * Returns Edm.Boolean | |
| 429 | + | * `/game/os_SetUserProfileCountry` | |
| 430 | + | * Query params: `s_uid`, Edm.String; `s_country`, Edm.String | |
| 431 | + | * Returns Edm.Boolean | |
| 432 | + | * `/game/PS4_GetFriendList` | |
| 433 | + | * Query params: `s_uid`, Edm.String | |
| 434 | + | * Returns Edm.String | |
| 435 | + | ||
| 436 | + | ### Policy.SEE | |
| 437 | + | * `/game/UpdateInfocastMessages` | |
| 438 | + | * Query params: `_id`, Edm.String; `s_Type`, Edm.String; `s_DateBegin`, Edm.String; `s_DateEnd`, Edm.String; `i16_episode`, Edm.Int32 | |
| 439 | + | * POST request | |
| 440 | + | * Returns Edm.Boolean | |
| 441 | + | * `/game/DeleteInfocastMessages` | |
| 442 | + | * Query params: `_id`, Edm.String | |
| 443 | + | * Returns Edm.Boolean | |
| 444 | + | * `/game/GetInfocastMessages` | |
| 445 | + | * Returns Collection(game.infocast) | |
| 446 | + | * `/game/EnableSpecialFlag` | |
| 447 | + | * Query params: `i32_episode`, Edm.Int32; `b_enable`, Edm.Boolean | |
| 448 | + | * POST request | |
| 449 | + | * Returns Edm.Boolean | |
| 450 | + | * `/game/AddInfocastMessages` | |
| 451 | + | * Query params: `s_Type`, Edm.String; `s_DateBegin`, Edm.String; `s_DateEnd`, Edm.String; `i16_episode`, Edm.Int32 | |
| 452 | + | * POST request | |
| 453 | + | * Returns Edm.String | |
| 454 | + | * `/game/os_CreateSegment` | |
| 455 | + | * Query params: `s_segment`, Edm.String | |
| 456 | + | * POST request | |
| 457 | + | * Returns Edm.String | |
| 458 | + | * `/game/os_GetSegmentMetadata` | |
| 459 | + | * Query params: `s_segment`, Edm.String | |
| 460 | + | * Returns Edm.String | |
| 461 | + | * `/game/os_GetSegmentList` | |
| 462 | + | * Returns Edm.String | |
| 463 | + | * `/game/os_UpdateSegmentMetadata` | |
| 464 | + | * Query params: `s_segment`, Edm.String | |
| 465 | + | * POST request | |
| 466 | + | * Returns Edm.String | |
| 467 | + | * `/game/os_DeleteSegment` | |
| 468 | + | * Query params: `s_segment`, Edm.String | |
| 469 | + | * Returns Edm.String | |
| 470 | + | * `/game/os_AddPlayersToSegment` | |
| 471 | + | * Query params: `s_segment`, Edm.String | |
| 472 | + | * POST request | |
| 473 | + | * Returns Edm.String | |
| 474 | + | * `/game/os_GetPlayersFromSegment` | |
| 475 | + | * Query params: `s_segment`, Edm.String | |
| 476 | + | * Returns Edm.String | |
| 477 | + | * `/game/os_GetSegmentsFromPlayer` | |
| 478 | + | * Query params: `s_uid`, Edm.String | |
| 479 | + | * Returns Edm.String | |
| 480 | + | * `/game/os_RemovePlayersFromSegment` | |
| 481 | + | * Query params: `s_segment`, Edm.String | |
| 482 | + | * POST request | |
| 483 | + | * Returns Edm.String | |
| 484 | + | * `/game/os_AddUsageLog` | |
| 485 | + | * Query params: `s_segment`, Edm.String; `s_log`, Edm.String | |
| 486 | + | * Returns Edm.String | |
| 487 | + | * `/game/os_GetUsageLogs` | |
| 488 | + | * Query params: `s_segment`, Edm.String | |
| 489 | + | * Returns Edm.String | |
| 490 | + | * `/game/os_CreateABTest` | |
| 491 | + | * Query params: `s_abtest`, Edm.String | |
| 492 | + | * POST request | |
| 493 | + | * Returns Edm.String | |
| 494 | + | * `/game/os_GetABTestMetadata` | |
| 495 | + | * Query params: `s_abtest`, Edm.String | |
| 496 | + | * Returns Edm.String | |
| 497 | + | * `/game/os_GetABTestList` | |
| 498 | + | * Returns Edm.String | |
| 499 | + | * `/game/os_UpdateABTestMetadata` | |
| 500 | + | * Query params: `s_abtest`, Edm.String | |
| 501 | + | * POST request | |
| 502 | + | * Returns Edm.String | |
| 503 | + | * `/game/os_DeleteABTest` | |
| 504 | + | * Query params: `s_abtest`, Edm.String | |
| 505 | + | * Returns Edm.String | |
| 506 | + | * `/game/os_AddUsageLogToABTest` | |
| 507 | + | * Query params: `s_abtest`, Edm.String; `s_log`, Edm.String | |
| 508 | + | * Returns Edm.String | |
| 509 | + | * `/game/os_GetUsageLogsFromABTest` | |
| 510 | + | * Query params: `s_abtest`, Edm.String | |
| 511 | + | * Returns Edm.String | |
| 512 | + | * `/game/os_AddSegmentToABTest` | |
| 513 | + | * Query params: `s_abtest`, Edm.String; `s_segment`, Edm.String | |
| 514 | + | * Returns Edm.String | |
| 515 | + | * `/game/os_RemoveSegmentFromABTest` | |
| 516 | + | * Query params: `s_abtest`, Edm.String; `s_segment`, Edm.String | |
| 517 | + | * Returns Edm.String | |
| 518 | + | * `/game/os_SetDefaultABTestSegment` | |
| 519 | + | * Query params: `s_abtest`, Edm.String; `s_segment`, Edm.String | |
| 520 | + | * Returns Edm.String | |
| 521 | + | * `/game/os_SetDefaultABTestSegmentAsRandom` | |
| 522 | + | * Query params: `s_abtest`, Edm.String | |
| 523 | + | * Returns Edm.String | |
| 524 | + | * `/game/os_GetPlayerSegmentFromABTest` | |
| 525 | + | * Query params: `s_abtest`, Edm.String; `s_uid`, Edm.String | |
| 526 | + | * Returns Edm.String | |
| 527 | + | * `/game/os_CheckABTestConsistency` | |
| 528 | + | * Query params: `s_abtest`, Edm.String | |
| 529 | + | * Returns Edm.String | |
| 530 | + | ||
| 531 | + | ### Policy.OS | |
| 532 | + | * `/game/CalculateCommunityProfileStats` | |
| 533 | + | * Returns Edm.Int32 | |
| 534 | + | * `/game/CalculateFriendsProfileStats` | |
| 535 | + | * Returns Edm.Int32 | |
| 536 | + | * `/game/UpdateAvailableEpisodeOfferId` | |
| 537 | + | * Query params: `s_region`, Edm.String; `i32_episode`, Edm.Int32 | |
| 538 | + | * Returns Edm.String | |
| 539 | + | * `/game/os_GetMonitoring` | |
| 540 | + | * Returns game.ServerStatus | |
| 541 | + | * `/game/os_GetOptions` | |
| 542 | + | * Returns game.Options | |
| 543 | + | * `/game/os_SetOptions` | |
| 544 | + | * Query params: `name`, Edm.String; `value`, Edm.String | |
| 545 | + | * Returns game.Options | |
| 546 | + | * `/game/ClearCache` | |
| 547 | + | * Query params: `s_Name`, Edm.String | |
| 548 | + | * Returns Edm.String | |
| 549 | + | * `/game/os_NotificationExpired` | |
| 550 | + | * Query params: `s_id`, Edm.String; `i32_type`, Edm.Int32; `s_message`, Edm.String; `s_platform`, Edm.String; `s_sender`, Edm.String | |
| 551 | + | * Returns nothing | |
| 552 | + | * `/game/DeleteUserProfile` | |
| 553 | + | * Query params: `s_uid`, Edm.String | |
| 554 | + | * Returns Edm.Boolean | |
| 555 | + | * `/game/GetUserProfileGlobal` | |
| 556 | + | * Query params: `s_uid`, Edm.String | |
| 557 | + | * Returns game.userprofile | |
| 558 | + | * `/game/os_GetUserProfileGlobal` | |
| 559 | + | * Query params: `s_uid`, Edm.String | |
| 560 | + | * Returns game.userprofile | |
| 561 | + | * `/game/UpdateUserProfileGlobal` | |
| 562 | + | * Query params: `s_uid`, Edm.String | |
| 563 | + | * POST request | |
| 564 | + | * Returns Edm.Int32 | |
| 565 | + | * `/game/os_UpdateUserProfileGlobal` | |
| 566 | + | * Query params: `s_uid`, Edm.String | |
| 567 | + | * POST request | |
| 568 | + | * Returns Edm.Int32 | |
| 569 | + | * `/game/GetUserProfilePlatform` | |
| 570 | + | * Query params: `s_uid`, Edm.String | |
| 571 | + | * Returns game.userprofile | |
| 572 | + | * `/game/os_GetUserProfilePlatform` | |
| 573 | + | * Query params: `s_uid`, Edm.String | |
| 574 | + | * Returns game.userprofile | |
| 575 | + | * `/game/UpdateUserProfilePlatform` | |
| 576 | + | * Query params: `s_uid`, Edm.String | |
| 577 | + | * POST request | |
| 578 | + | * Returns Edm.Int32 | |
| 579 | + | * `/game/os_UpdateUserProfilePlatform` | |
| 580 | + | * Query params: `s_uid`, Edm.String | |
| 581 | + | * POST request | |
| 582 | + | * Returns Edm.Int32 | |
| 583 | + | * `/game/GetUserProfileFranchise` | |
| 584 | + | * Query params: `s_uid`, Edm.String | |
| 585 | + | * Returns game.userprofile | |
| 586 | + | * `/game/os_GetUserProfileFranchise` | |
| 587 | + | * Query params: `s_uid`, Edm.String | |
| 588 | + | * Returns game.userprofile | |
| 589 | + | * `/game/UpdateUserProfileFranchise` | |
| 590 | + | * Query params: `s_uid`, Edm.String | |
| 591 | + | * POST request | |
| 592 | + | * Returns Edm.Int32 | |
| 593 | + | * `/game/os_UpdateUserProfileFranchise` | |
| 594 | + | * Query params: `s_uid`, Edm.String | |
| 595 | + | * POST request | |
| 596 | + | * Returns Edm.Int32 | |
| 597 | + | * `/game/GetUserProfileGameGeneric` | |
| 598 | + | * Query params: `s_uid`, Edm.String | |
| 599 | + | * Returns game.userprofile | |
| 600 | + | * `/game/os_GetUserProfileGameGeneric` | |
| 601 | + | * Query params: `s_uid`, Edm.String | |
| 602 | + | * Returns game.userprofile | |
| 603 | + | * `/game/UpdateUserProfileGameGeneric` | |
| 604 | + | * Query params: `s_uid`, Edm.String | |
| 605 | + | * POST request | |
| 606 | + | * Returns Edm.Int32 | |
| 607 | + | * `/game/os_UpdateUserProfileGameGeneric` | |
| 608 | + | * Query params: `s_uid`, Edm.String | |
| 609 | + | * POST request | |
| 610 | + | * Returns Edm.Int32 | |
| 611 | + | * `/game/ValidateSEM` | |
| 612 | + | * Returns Edm.Boolean | |
| 613 | + | * `/game/os_BackupUserProfiles` | |
| 614 | + | * Returns Edm.Int32 | |
| 615 | + | * `/game/os_TestCache` | |
| 616 | + | * Query params: `s_cacheName`, Edm.String | |
| 617 | + | * Returns Edm.String | |
| 618 | + | ||
| 619 | + | ### Policy.PUBLIC | |
| 620 | + | * `/game/GetTodaysInfocast` | |
| 621 | + | * Query params: `s_locale`, Edm.String; `i16_episode`, Edm.Int32 | |
| 622 | + | * Returns Collection(game.infocast) | |
| 623 | + | * `/game/os_GetStatus` | |
| 624 | + | * Returns game.ClientInfo | |
| 625 | + | * `/game/os_GetServiceInfo` | |
| 626 | + | * Returns nothing | |
| 627 | + | * `/game/os_GetChangeLog` | |
| 628 | + | * Returns nothing | |
| 629 | + | * `/game/os_GetChangeLogHTML` | |
| 630 | + | * Returns nothing | |
| 631 | + | * `/game/os_Ping` | |
| 632 | + | * Returns Edm.Int64 | |
| 633 | + | * `/game/SEM_Login` | |
| 634 | + | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 635 | + | * Returns game.SEMSubmit | |
| 636 | + | * `/game/SEM_SubmitEmail` | |
| 637 | + | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 638 | + | * Returns game.SEMSubmit | |
| 639 | + | ||
| 640 | + | ### Policy.ANY | |
| 641 | + | * `/game/AddMetric` | |
| 642 | + | * Returns nothing | |
| 643 | + | * `/game/AddMetrics` | |
| 644 | + | * POST request | |
| 645 | + | * Returns nothing | |
| 646 | + | ||
| 647 | + | ### Policy.GAMESEE | |
| 648 | + | * `/game/GetSpecialFlag` | |
| 649 | + | * Query params: `i32_episode`, Edm.Int32 | |
| 650 | + | * Returns game.offlinespecialfeature | |
| 651 | + | * `/game/os_SendNotification` | |
| 652 | + | * Query params: `s_sender`, Edm.String; `i32_type`, Edm.Int32; `s_platform`, Edm.String; `i64_lifespan`, Edm.Int64 | |
| 653 | + | * POST request | |
| 654 | + | * Returns nothing | |
| 655 | + | * `/game/os_TranslatePlatformIds` | |
| 656 | + | * POST request | |
| 657 | + | * Returns Collection(game.PlatformIDInfo) | |
| 658 | + | * `/game/osGetConsumablesInfo` | |
| 659 | + | * Query params: `s_uid`, Edm.String | |
| 660 | + | * Returns Edm.String | |
| 661 | + | * `/game/Steam_GetUserInfo` | |
| 662 | + | * Query params: `s_uid`, Edm.String | |
| 663 | + | * Returns game.ossteamresponse | |
| 664 | + | * `/game/os_GetLastMetrics` | |
| 665 | + | * Query params: `i32_n`, Edm.Int32 | |
| 666 | + | * Returns Collection(game.os_metric) | |
| 667 | + | * `/game/os_GetMetric` | |
| 668 | + | * Query params: `s_uuid`, Edm.String | |
| 669 | + | * Returns game.os_metric | |
| 670 | + | * `/game/GetUserProfileGameSpecific` | |
| 671 | + | * Query params: `s_uid`, Edm.String | |
| 672 | + | * Returns game.userprofile | |
| 673 | + | * `/game/os_GetUserProfileGameSpecific` | |
| 674 | + | * Query params: `s_uid`, Edm.String | |
| 675 | + | * Returns game.userprofile | |
| 676 | + | * `/game/GetUserProfileCountry` | |
| 677 | + | * Query params: `s_uid`, Edm.String | |
| 678 | + | * Returns Edm.String | |
| 679 | + | * `/game/os_GetUserProfileCountry` | |
| 680 | + | * Query params: `s_uid`, Edm.String | |
| 681 | + | * Returns Edm.String | |
| 682 | + | * `/game/UpdateSEMinfo` | |
| 683 | + | * Query params: `s_semid`, Edm.String | |
| 684 | + | * POST request | |
| 685 | + | * Returns Edm.Boolean | |
| 686 | + | * `/game/DeleteSEMinfo` | |
| 687 | + | * Query params: `s_semid`, Edm.String | |
| 688 | + | * Returns Edm.Boolean | |
| 689 | + | * `/game/LinkToSEM` | |
| 690 | + | * Query params: `s_semid`, Edm.String; `s_authSystem`, Edm.String; `s_authId`, Edm.String | |
| 691 | + | * Returns Edm.Boolean | |
| 692 | + | * `/game/UnlinkFromSEM` | |
| 693 | + | * Query params: `s_semid`, Edm.String; `s_authSystem`, Edm.String; `s_authId`, Edm.String | |
| 694 | + | * Returns Edm.Boolean | |
blha303 revised this gist . Go to revision
3 files changed, 383 insertions, 1 deletion
docs.md
| @@ -86,7 +86,7 @@ Making me listen to Obstacles again >_< | |||
| 86 | 86 | * JSON data, https://gist.github.com/blha303/144499eeb67dface9a83371c17f9513b | |
| 87 | 87 | * Returns `0`, maybe means profile isn't updated when the given UID has already completed the given chapter | |
| 88 | 88 | ||
| 89 | - | ### Other | |
| 89 | + | ### Other public endpoints | |
| 90 | 90 | ||
| 91 | 91 | * `/game/CommunityFactsGetAll` | |
| 92 | 92 | * Returns all choice stats | |
| @@ -118,3 +118,6 @@ Making me listen to Obstacles again >_< | |||
| 118 | 118 | * Returns a user's friends list and the info of their last UpdateUserProfileGameSpecific submission. Possible privacy hole | |
| 119 | 119 | * Returns https://gist.github.com/blha303/9d4d4429137541be5a8771ac616b4d85 | |
| 120 | 120 | ||
| 121 | + | ### Unknown/restricted endpoints | |
| 122 | + | ||
| 123 | + | ||
zGenerateDocs.py(file created)
| @@ -0,0 +1,35 @@ | |||
| 1 | + | #!/usr/bin/env python3 | |
| 2 | + | from json import load | |
| 3 | + | ||
| 4 | + | with open("/tmp/lisserviceinfo.json") as f: # from os_GetServiceInfo | |
| 5 | + | d = load(f)["d"] | |
| 6 | + | ||
| 7 | + | f = d["Metadata"]["Schemas"][0]["EntityContainers"][0]["FunctionImports"] | |
| 8 | + | ||
| 9 | + | funcs = {} | |
| 10 | + | for func in f: | |
| 11 | + | if not func["AuthPolicy"] in funcs: | |
| 12 | + | funcs[func["AuthPolicy"]] = [] | |
| 13 | + | funcs[func["AuthPolicy"]].append(func) | |
| 14 | + | ||
| 15 | + | def format(func): | |
| 16 | + | out = "* `/game/{Name}`\n".format(**func) | |
| 17 | + | if "Parameters" in func: | |
| 18 | + | func["params"] = ["`{Name}`, {Type}".format(**p) for p in func["Parameters"]] | |
| 19 | + | out += " * Query params: " + "; ".join(func["params"]) + "\n" | |
| 20 | + | if func["HttpMethod"] != "GET": | |
| 21 | + | out += " * {HttpMethod} request\n".format(**func) | |
| 22 | + | if "ReturnType" in func: | |
| 23 | + | out += " * Returns {ReturnType}".format(**func) | |
| 24 | + | else: | |
| 25 | + | out += " * Returns nothing" | |
| 26 | + | return out | |
| 27 | + | ||
| 28 | + | for authpolicy, functions in funcs.items(): | |
| 29 | + | print("### {}".format(authpolicy)) | |
| 30 | + | for f in functions: | |
| 31 | + | try: | |
| 32 | + | print(format(f)) | |
| 33 | + | except: | |
| 34 | + | print(f) | |
| 35 | + | raise | |
zGeneratedDocs.md(file created)
| @@ -0,0 +1,344 @@ | |||
| 1 | + | ### Policy.ANY | |
| 2 | + | * `/game/AddMetric` | |
| 3 | + | * Returns nothing | |
| 4 | + | * `/game/AddMetrics` | |
| 5 | + | * POST request | |
| 6 | + | * Returns nothing | |
| 7 | + | ### Policy.SEE | |
| 8 | + | * `/game/UpdateInfocastMessages` | |
| 9 | + | * Query params: `_id`, Edm.String; `s_Type`, Edm.String; `s_DateBegin`, Edm.String; `s_DateEnd`, Edm.String; `i16_episode`, Edm.Int32 | |
| 10 | + | * POST request | |
| 11 | + | * Returns Edm.Boolean | |
| 12 | + | * `/game/DeleteInfocastMessages` | |
| 13 | + | * Query params: `_id`, Edm.String | |
| 14 | + | * Returns Edm.Boolean | |
| 15 | + | * `/game/GetInfocastMessages` | |
| 16 | + | * Returns Collection(game.infocast) | |
| 17 | + | * `/game/EnableSpecialFlag` | |
| 18 | + | * Query params: `i32_episode`, Edm.Int32; `b_enable`, Edm.Boolean | |
| 19 | + | * POST request | |
| 20 | + | * Returns Edm.Boolean | |
| 21 | + | * `/game/AddInfocastMessages` | |
| 22 | + | * Query params: `s_Type`, Edm.String; `s_DateBegin`, Edm.String; `s_DateEnd`, Edm.String; `i16_episode`, Edm.Int32 | |
| 23 | + | * POST request | |
| 24 | + | * Returns Edm.String | |
| 25 | + | * `/game/os_CreateSegment` | |
| 26 | + | * Query params: `s_segment`, Edm.String | |
| 27 | + | * POST request | |
| 28 | + | * Returns Edm.String | |
| 29 | + | * `/game/os_GetSegmentMetadata` | |
| 30 | + | * Query params: `s_segment`, Edm.String | |
| 31 | + | * Returns Edm.String | |
| 32 | + | * `/game/os_GetSegmentList` | |
| 33 | + | * Returns Edm.String | |
| 34 | + | * `/game/os_UpdateSegmentMetadata` | |
| 35 | + | * Query params: `s_segment`, Edm.String | |
| 36 | + | * POST request | |
| 37 | + | * Returns Edm.String | |
| 38 | + | * `/game/os_DeleteSegment` | |
| 39 | + | * Query params: `s_segment`, Edm.String | |
| 40 | + | * Returns Edm.String | |
| 41 | + | * `/game/os_AddPlayersToSegment` | |
| 42 | + | * Query params: `s_segment`, Edm.String | |
| 43 | + | * POST request | |
| 44 | + | * Returns Edm.String | |
| 45 | + | * `/game/os_GetPlayersFromSegment` | |
| 46 | + | * Query params: `s_segment`, Edm.String | |
| 47 | + | * Returns Edm.String | |
| 48 | + | * `/game/os_GetSegmentsFromPlayer` | |
| 49 | + | * Query params: `s_uid`, Edm.String | |
| 50 | + | * Returns Edm.String | |
| 51 | + | * `/game/os_RemovePlayersFromSegment` | |
| 52 | + | * Query params: `s_segment`, Edm.String | |
| 53 | + | * POST request | |
| 54 | + | * Returns Edm.String | |
| 55 | + | * `/game/os_AddUsageLog` | |
| 56 | + | * Query params: `s_segment`, Edm.String; `s_log`, Edm.String | |
| 57 | + | * Returns Edm.String | |
| 58 | + | * `/game/os_GetUsageLogs` | |
| 59 | + | * Query params: `s_segment`, Edm.String | |
| 60 | + | * Returns Edm.String | |
| 61 | + | * `/game/os_CreateABTest` | |
| 62 | + | * Query params: `s_abtest`, Edm.String | |
| 63 | + | * POST request | |
| 64 | + | * Returns Edm.String | |
| 65 | + | * `/game/os_GetABTestMetadata` | |
| 66 | + | * Query params: `s_abtest`, Edm.String | |
| 67 | + | * Returns Edm.String | |
| 68 | + | * `/game/os_GetABTestList` | |
| 69 | + | * Returns Edm.String | |
| 70 | + | * `/game/os_UpdateABTestMetadata` | |
| 71 | + | * Query params: `s_abtest`, Edm.String | |
| 72 | + | * POST request | |
| 73 | + | * Returns Edm.String | |
| 74 | + | * `/game/os_DeleteABTest` | |
| 75 | + | * Query params: `s_abtest`, Edm.String | |
| 76 | + | * Returns Edm.String | |
| 77 | + | * `/game/os_AddUsageLogToABTest` | |
| 78 | + | * Query params: `s_abtest`, Edm.String; `s_log`, Edm.String | |
| 79 | + | * Returns Edm.String | |
| 80 | + | * `/game/os_GetUsageLogsFromABTest` | |
| 81 | + | * Query params: `s_abtest`, Edm.String | |
| 82 | + | * Returns Edm.String | |
| 83 | + | * `/game/os_AddSegmentToABTest` | |
| 84 | + | * Query params: `s_abtest`, Edm.String; `s_segment`, Edm.String | |
| 85 | + | * Returns Edm.String | |
| 86 | + | * `/game/os_RemoveSegmentFromABTest` | |
| 87 | + | * Query params: `s_abtest`, Edm.String; `s_segment`, Edm.String | |
| 88 | + | * Returns Edm.String | |
| 89 | + | * `/game/os_SetDefaultABTestSegment` | |
| 90 | + | * Query params: `s_abtest`, Edm.String; `s_segment`, Edm.String | |
| 91 | + | * Returns Edm.String | |
| 92 | + | * `/game/os_SetDefaultABTestSegmentAsRandom` | |
| 93 | + | * Query params: `s_abtest`, Edm.String | |
| 94 | + | * Returns Edm.String | |
| 95 | + | * `/game/os_GetPlayerSegmentFromABTest` | |
| 96 | + | * Query params: `s_abtest`, Edm.String; `s_uid`, Edm.String | |
| 97 | + | * Returns Edm.String | |
| 98 | + | * `/game/os_CheckABTestConsistency` | |
| 99 | + | * Query params: `s_abtest`, Edm.String | |
| 100 | + | * Returns Edm.String | |
| 101 | + | ### Policy.GAME | |
| 102 | + | * `/game/UpdateUserProfileGameSpecific` | |
| 103 | + | * Query params: `s_uid`, Edm.String | |
| 104 | + | * POST request | |
| 105 | + | * Returns Edm.Int32 | |
| 106 | + | * `/game/SetUserProfileFriends` | |
| 107 | + | * Query params: `s_uid`, Edm.String | |
| 108 | + | * POST request | |
| 109 | + | * Returns Edm.Int32 | |
| 110 | + | * `/game/CommunityFactsGetEpisode` | |
| 111 | + | * Query params: `i16_episode`, Edm.Int32 | |
| 112 | + | * Returns Collection(game.communityfactreturn) | |
| 113 | + | * `/game/CommunityFactsGetAll` | |
| 114 | + | * Returns Collection(game.communityfactreturn) | |
| 115 | + | * `/game/GetFriendsProfileStats` | |
| 116 | + | * Query params: `s_uid`, Edm.String; `i16_episode`, Edm.Int32 | |
| 117 | + | * Returns Collection(game.communityfactreturn) | |
| 118 | + | * `/game/GetSeasonPassOfferIdList` | |
| 119 | + | * Query params: `s_region`, Edm.String | |
| 120 | + | * Returns Collection(game.offerid) | |
| 121 | + | * `/game/SetUserProfileGameSpecific` | |
| 122 | + | * Query params: `s_uid`, Edm.String | |
| 123 | + | * POST request | |
| 124 | + | * Returns Edm.Int32 | |
| 125 | + | * `/game/os_GetPlayer` | |
| 126 | + | * Query params: `UID`, Edm.String | |
| 127 | + | * Returns game.os_player | |
| 128 | + | * `/game/os_GetGeoLocation` | |
| 129 | + | * Returns game.GeoLocation | |
| 130 | + | * `/game/SEM_DeleteUser` | |
| 131 | + | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 132 | + | * Returns game.Result | |
| 133 | + | * `/game/SEM_UnlinkPlayer` | |
| 134 | + | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 135 | + | * Returns game.Result | |
| 136 | + | * `/game/SEM_GetLinkedAccounts` | |
| 137 | + | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 138 | + | * Returns Collection(game.SEMLinkedAccount) | |
| 139 | + | * `/game/FB_PostToWall` | |
| 140 | + | * Query params: `s_facebookID`, Edm.String | |
| 141 | + | * POST request | |
| 142 | + | * Returns game.Result | |
| 143 | + | * `/game/FB_PostImageToWall` | |
| 144 | + | * Query params: `s_facebookID`, Edm.String; `s_imageName`, Edm.String; `s_linkName`, Edm.String; `s_linkCaption`, Edm.String; `s_linkDescription`, Edm.String | |
| 145 | + | * POST request | |
| 146 | + | * Returns game.Result | |
| 147 | + | * `/game/osNewTransaction` | |
| 148 | + | * Query params: `s_uid`, Edm.String; `s_offerIds`, Edm.String | |
| 149 | + | * Returns game.txninfo | |
| 150 | + | * `/game/osCreateCustomTransaction` | |
| 151 | + | * Query params: `s_uid`, Edm.String | |
| 152 | + | * POST request | |
| 153 | + | * Returns game.txninfo | |
| 154 | + | * `/game/osFinalizeTransaction` | |
| 155 | + | * Query params: `s_uid`, Edm.String; `i64_txnId`, Edm.Int64 | |
| 156 | + | * Returns game.txninfo | |
| 157 | + | * `/game/osCancelTransaction` | |
| 158 | + | * Query params: `s_uid`, Edm.String; `i64_txnId`, Edm.Int64; `i32_reason`, Edm.Int32 | |
| 159 | + | * Returns game.txninfo | |
| 160 | + | * `/game/osPreTransferTransaction` | |
| 161 | + | * Query params: `s_uid`, Edm.String; `i64_txnId`, Edm.Int64 | |
| 162 | + | * POST request | |
| 163 | + | * Returns game.txninfo | |
| 164 | + | * `/game/osGetIncompleteTransaction` | |
| 165 | + | * Query params: `s_uid`, Edm.String | |
| 166 | + | * Returns Collection(game.txninfo) | |
| 167 | + | * `/game/CreateUserProfile` | |
| 168 | + | * Query params: `s_uid`, Edm.String | |
| 169 | + | * Returns Edm.Boolean | |
| 170 | + | * `/game/os_CreateUserProfile` | |
| 171 | + | * Query params: `s_uid`, Edm.String | |
| 172 | + | * Returns Edm.Int32 | |
| 173 | + | * `/game/os_SetUserProfileGameSpecific` | |
| 174 | + | * Query params: `s_uid`, Edm.String | |
| 175 | + | * POST request | |
| 176 | + | * Returns Edm.Int32 | |
| 177 | + | * `/game/os_UpdateUserProfileGameSpecific` | |
| 178 | + | * Query params: `s_uid`, Edm.String | |
| 179 | + | * POST request | |
| 180 | + | * Returns Edm.Int32 | |
| 181 | + | * `/game/SetUserProfileCountry` | |
| 182 | + | * Query params: `s_uid`, Edm.String; `s_country`, Edm.String | |
| 183 | + | * Returns Edm.Boolean | |
| 184 | + | * `/game/os_SetUserProfileCountry` | |
| 185 | + | * Query params: `s_uid`, Edm.String; `s_country`, Edm.String | |
| 186 | + | * Returns Edm.Boolean | |
| 187 | + | * `/game/PS4_GetFriendList` | |
| 188 | + | * Query params: `s_uid`, Edm.String | |
| 189 | + | * Returns Edm.String | |
| 190 | + | ### Policy.GAMESEE | |
| 191 | + | * `/game/GetSpecialFlag` | |
| 192 | + | * Query params: `i32_episode`, Edm.Int32 | |
| 193 | + | * Returns game.offlinespecialfeature | |
| 194 | + | * `/game/os_SendNotification` | |
| 195 | + | * Query params: `s_sender`, Edm.String; `i32_type`, Edm.Int32; `s_platform`, Edm.String; `i64_lifespan`, Edm.Int64 | |
| 196 | + | * POST request | |
| 197 | + | * Returns nothing | |
| 198 | + | * `/game/os_TranslatePlatformIds` | |
| 199 | + | * POST request | |
| 200 | + | * Returns Collection(game.PlatformIDInfo) | |
| 201 | + | * `/game/osGetConsumablesInfo` | |
| 202 | + | * Query params: `s_uid`, Edm.String | |
| 203 | + | * Returns Edm.String | |
| 204 | + | * `/game/Steam_GetUserInfo` | |
| 205 | + | * Query params: `s_uid`, Edm.String | |
| 206 | + | * Returns game.ossteamresponse | |
| 207 | + | * `/game/os_GetLastMetrics` | |
| 208 | + | * Query params: `i32_n`, Edm.Int32 | |
| 209 | + | * Returns Collection(game.os_metric) | |
| 210 | + | * `/game/os_GetMetric` | |
| 211 | + | * Query params: `s_uuid`, Edm.String | |
| 212 | + | * Returns game.os_metric | |
| 213 | + | * `/game/GetUserProfileGameSpecific` | |
| 214 | + | * Query params: `s_uid`, Edm.String | |
| 215 | + | * Returns game.userprofile | |
| 216 | + | * `/game/os_GetUserProfileGameSpecific` | |
| 217 | + | * Query params: `s_uid`, Edm.String | |
| 218 | + | * Returns game.userprofile | |
| 219 | + | * `/game/GetUserProfileCountry` | |
| 220 | + | * Query params: `s_uid`, Edm.String | |
| 221 | + | * Returns Edm.String | |
| 222 | + | * `/game/os_GetUserProfileCountry` | |
| 223 | + | * Query params: `s_uid`, Edm.String | |
| 224 | + | * Returns Edm.String | |
| 225 | + | * `/game/UpdateSEMinfo` | |
| 226 | + | * Query params: `s_semid`, Edm.String | |
| 227 | + | * POST request | |
| 228 | + | * Returns Edm.Boolean | |
| 229 | + | * `/game/DeleteSEMinfo` | |
| 230 | + | * Query params: `s_semid`, Edm.String | |
| 231 | + | * Returns Edm.Boolean | |
| 232 | + | * `/game/LinkToSEM` | |
| 233 | + | * Query params: `s_semid`, Edm.String; `s_authSystem`, Edm.String; `s_authId`, Edm.String | |
| 234 | + | * Returns Edm.Boolean | |
| 235 | + | * `/game/UnlinkFromSEM` | |
| 236 | + | * Query params: `s_semid`, Edm.String; `s_authSystem`, Edm.String; `s_authId`, Edm.String | |
| 237 | + | * Returns Edm.Boolean | |
| 238 | + | ### Policy.OS | |
| 239 | + | * `/game/CalculateCommunityProfileStats` | |
| 240 | + | * Returns Edm.Int32 | |
| 241 | + | * `/game/CalculateFriendsProfileStats` | |
| 242 | + | * Returns Edm.Int32 | |
| 243 | + | * `/game/UpdateAvailableEpisodeOfferId` | |
| 244 | + | * Query params: `s_region`, Edm.String; `i32_episode`, Edm.Int32 | |
| 245 | + | * Returns Edm.String | |
| 246 | + | * `/game/os_GetMonitoring` | |
| 247 | + | * Returns game.ServerStatus | |
| 248 | + | * `/game/os_GetOptions` | |
| 249 | + | * Returns game.Options | |
| 250 | + | * `/game/os_SetOptions` | |
| 251 | + | * Query params: `name`, Edm.String; `value`, Edm.String | |
| 252 | + | * Returns game.Options | |
| 253 | + | * `/game/ClearCache` | |
| 254 | + | * Query params: `s_Name`, Edm.String | |
| 255 | + | * Returns Edm.String | |
| 256 | + | * `/game/os_NotificationExpired` | |
| 257 | + | * Query params: `s_id`, Edm.String; `i32_type`, Edm.Int32; `s_message`, Edm.String; `s_platform`, Edm.String; `s_sender`, Edm.String | |
| 258 | + | * Returns nothing | |
| 259 | + | * `/game/DeleteUserProfile` | |
| 260 | + | * Query params: `s_uid`, Edm.String | |
| 261 | + | * Returns Edm.Boolean | |
| 262 | + | * `/game/GetUserProfileGlobal` | |
| 263 | + | * Query params: `s_uid`, Edm.String | |
| 264 | + | * Returns game.userprofile | |
| 265 | + | * `/game/os_GetUserProfileGlobal` | |
| 266 | + | * Query params: `s_uid`, Edm.String | |
| 267 | + | * Returns game.userprofile | |
| 268 | + | * `/game/UpdateUserProfileGlobal` | |
| 269 | + | * Query params: `s_uid`, Edm.String | |
| 270 | + | * POST request | |
| 271 | + | * Returns Edm.Int32 | |
| 272 | + | * `/game/os_UpdateUserProfileGlobal` | |
| 273 | + | * Query params: `s_uid`, Edm.String | |
| 274 | + | * POST request | |
| 275 | + | * Returns Edm.Int32 | |
| 276 | + | * `/game/GetUserProfilePlatform` | |
| 277 | + | * Query params: `s_uid`, Edm.String | |
| 278 | + | * Returns game.userprofile | |
| 279 | + | * `/game/os_GetUserProfilePlatform` | |
| 280 | + | * Query params: `s_uid`, Edm.String | |
| 281 | + | * Returns game.userprofile | |
| 282 | + | * `/game/UpdateUserProfilePlatform` | |
| 283 | + | * Query params: `s_uid`, Edm.String | |
| 284 | + | * POST request | |
| 285 | + | * Returns Edm.Int32 | |
| 286 | + | * `/game/os_UpdateUserProfilePlatform` | |
| 287 | + | * Query params: `s_uid`, Edm.String | |
| 288 | + | * POST request | |
| 289 | + | * Returns Edm.Int32 | |
| 290 | + | * `/game/GetUserProfileFranchise` | |
| 291 | + | * Query params: `s_uid`, Edm.String | |
| 292 | + | * Returns game.userprofile | |
| 293 | + | * `/game/os_GetUserProfileFranchise` | |
| 294 | + | * Query params: `s_uid`, Edm.String | |
| 295 | + | * Returns game.userprofile | |
| 296 | + | * `/game/UpdateUserProfileFranchise` | |
| 297 | + | * Query params: `s_uid`, Edm.String | |
| 298 | + | * POST request | |
| 299 | + | * Returns Edm.Int32 | |
| 300 | + | * `/game/os_UpdateUserProfileFranchise` | |
| 301 | + | * Query params: `s_uid`, Edm.String | |
| 302 | + | * POST request | |
| 303 | + | * Returns Edm.Int32 | |
| 304 | + | * `/game/GetUserProfileGameGeneric` | |
| 305 | + | * Query params: `s_uid`, Edm.String | |
| 306 | + | * Returns game.userprofile | |
| 307 | + | * `/game/os_GetUserProfileGameGeneric` | |
| 308 | + | * Query params: `s_uid`, Edm.String | |
| 309 | + | * Returns game.userprofile | |
| 310 | + | * `/game/UpdateUserProfileGameGeneric` | |
| 311 | + | * Query params: `s_uid`, Edm.String | |
| 312 | + | * POST request | |
| 313 | + | * Returns Edm.Int32 | |
| 314 | + | * `/game/os_UpdateUserProfileGameGeneric` | |
| 315 | + | * Query params: `s_uid`, Edm.String | |
| 316 | + | * POST request | |
| 317 | + | * Returns Edm.Int32 | |
| 318 | + | * `/game/ValidateSEM` | |
| 319 | + | * Returns Edm.Boolean | |
| 320 | + | * `/game/os_BackupUserProfiles` | |
| 321 | + | * Returns Edm.Int32 | |
| 322 | + | * `/game/os_TestCache` | |
| 323 | + | * Query params: `s_cacheName`, Edm.String | |
| 324 | + | * Returns Edm.String | |
| 325 | + | ### Policy.PUBLIC | |
| 326 | + | * `/game/GetTodaysInfocast` | |
| 327 | + | * Query params: `s_locale`, Edm.String; `i16_episode`, Edm.Int32 | |
| 328 | + | * Returns Collection(game.infocast) | |
| 329 | + | * `/game/os_GetStatus` | |
| 330 | + | * Returns game.ClientInfo | |
| 331 | + | * `/game/os_GetServiceInfo` | |
| 332 | + | * Returns nothing | |
| 333 | + | * `/game/os_GetChangeLog` | |
| 334 | + | * Returns nothing | |
| 335 | + | * `/game/os_GetChangeLogHTML` | |
| 336 | + | * Returns nothing | |
| 337 | + | * `/game/os_Ping` | |
| 338 | + | * Returns Edm.Int64 | |
| 339 | + | * `/game/SEM_Login` | |
| 340 | + | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 341 | + | * Returns game.SEMSubmit | |
| 342 | + | * `/game/SEM_SubmitEmail` | |
| 343 | + | * Query params: `s_type`, Edm.String; `s_value`, Edm.String | |
| 344 | + | * Returns game.SEMSubmit | |
blha303 revised this gist . Go to revision
3 files changed, 58 insertions, 9 deletions
docs.md
| @@ -1,8 +1,14 @@ | |||
| 1 | + | ## Contents | |
| 2 | + | ||
| 3 | + | * [Docs](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-docs-md) | |
| 4 | + | * [Setting up capture process](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-revlis-md) | |
| 5 | + | * [Investigating what headers were necessary](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-whats-needed-md) | |
| 6 | + | ||
| 1 | 7 | The server returns `X-Powered-By: Lara Croft` for each response, cool easter egg. | |
| 2 | 8 | ||
| 3 | 9 | ### On game start | |
| 4 | 10 | ||
| 5 | - | The game sends several requests in the opening videos. In the below documentation, text in curly braces (\{\}) is shorthand for `{ "d": {"os_Ping": ... } }` where os_Ping is the current endpoint being accessed and ... is the contents of the curly braces. | |
| 11 | + | The game sends several requests in the opening videos. In the below documentation, all requests have `{ "d": something }`, so everything outside of `something` will be omitted. | |
| 6 | 12 | ||
| 7 | 13 | Necessary headers for each request (may vary, untested): | |
| 8 | 14 | ||
| @@ -16,7 +22,7 @@ Necessary headers for each request (may vary, untested): | |||
| 16 | 22 | ||
| 17 | 23 | 1. `/game/os_Ping` | |
| 18 | 24 | * Likely confirming that the service is up | |
| 19 | - | * Returns `{ 6739 }`, different number each time | |
| 25 | + | * Returns `{"os_Ping": 6739}`, different number each time | |
| 20 | 26 | ||
| 21 | 27 | 2. `/game/os_GetServiceInfo` | |
| 22 | 28 | * Returns information about the IP address used for connection and a list of metadata and endpoints. | |
| @@ -27,14 +33,14 @@ Necessary headers for each request (may vary, untested): | |||
| 27 | 33 | 4. `/game/SEM_Login` | |
| 28 | 34 | * Probably for the Square Enix account login | |
| 29 | 35 | * Query params: `s_type` is 'UID' here; `s_value` is my steam user ID, a long string of digits | |
| 30 | - | * Returns `{ "__metadata": { "type": "game.SEMSubmit" }, "b_confirmed": true, "s_SEMID": "string of numbers", "s_email": "email address", "s_facebookID": "probably facebook user identifier", "s_longTermToken": "string of numbers and letters" }` | |
| 36 | + | * Returns `{ "SEM_Login": { "__metadata": { "type": "game.SEMSubmit" }, "b_confirmed": true, "s_SEMID": "string of numbers", "s_email": "email address", "s_facebookID": "probably facebook user identifier", "s_longTermToken": "string of numbers and letters" } }` | |
| 31 | 37 | ||
| 32 | 38 | 5. It sends the above request twice, unclear why | |
| 33 | 39 | ||
| 34 | 40 | 6. `/game/CreateUserProfile` | |
| 35 | 41 | * Square Enix login again? Probably making sure that there's an account for the given steam ID for stats collection even if it isn't linked to a SEM account | |
| 36 | 42 | * Query params: `s_uid` is my steam user ID | |
| 37 | - | * Returns `{ true }` and a header `OS-AuthResponse` containing the new `OS-AuthTicketData` to be used for subsequent requests | |
| 43 | + | * Returns `{ "CreateUserProfile": true }` and a header `OS-AuthResponse` containing the new `OS-AuthTicketData` to be used for subsequent requests | |
| 38 | 44 | ||
| 39 | 45 | 7. `/game/GetTodaysInfocast` | |
| 40 | 46 | * Returns a list of messages to be scrolled at the bottom of the main menu | |
| @@ -45,7 +51,7 @@ Necessary headers for each request (may vary, untested): | |||
| 45 | 51 | 8. `/game/SetUserProfileFriends` | |
| 46 | 52 | * Sends list of UIDs for user's friends list | |
| 47 | 53 | * POST requests, `["UID", ...]` | |
| 48 | - | * Returns `{ 0 }`, friends service probably disabled | |
| 54 | + | * Returns `{"SetUserProfileFriends": 0 }`, friends service probably disabled | |
| 49 | 55 | ||
| 50 | 56 | 9. `/game/GetSeasonPassOfferIdList` | |
| 51 | 57 | * No clue what this is for, you'd think it would show information on the episodes but it just returns the same thing five times. | |
| @@ -69,7 +75,7 @@ Necessary headers for each request (may vary, untested): | |||
| 69 | 75 | 2. `/game/GetFriendsProfileStats` | |
| 70 | 76 | * Apparently would return the same as `/game/CommunityFactsGetEpisode` with additional info on friend stats, but currently returns nothing | |
| 71 | 77 | * Query params: `i16_episode`, the given episode number; `s_uid`, the steam/other user id | |
| 72 | - | * Currently returns `{ "d": {"results": [] } }` | |
| 78 | + | * Currently returns `{"results": [] }` | |
| 73 | 79 | ||
| 74 | 80 | ### On finishing an episode | |
| 75 | 81 | ||
| @@ -78,6 +84,37 @@ Making me listen to Obstacles again >_< | |||
| 78 | 84 | 1. `/game/UpdateUserProfileGameSpecific` | |
| 79 | 85 | * POST request, summarizes choices made. Called when credits start | |
| 80 | 86 | * JSON data, https://gist.github.com/blha303/144499eeb67dface9a83371c17f9513b | |
| 81 | - | * Returns `{ 0 }`, maybe means profile isn't updated when the given UID has already completed the given chapter | |
| 87 | + | * Returns `0`, maybe means profile isn't updated when the given UID has already completed the given chapter | |
| 88 | + | ||
| 89 | + | ### Other | |
| 90 | + | ||
| 91 | + | * `/game/CommunityFactsGetAll` | |
| 92 | + | * Returns all choice stats | |
| 93 | + | * Returns a similar output to CommunityFactsGetEpisode, but with all five episodes | |
| 94 | + | ||
| 95 | + | * `/game/GetSpecialFlag` | |
| 96 | + | * Query param: `i32_episode`, episode number | |
| 97 | + | * Returns `{ "__metadata" : {"uri" : "https://lis.os.eidos.com/game/offlinespecialfeatures(1)", "type" : "game.offlinespecialfeature"}, "i32_episode" : 1, "b_lipsync_active" : false }` | |
| 98 | + | ||
| 99 | + | * `/game/os_GetStatus` | |
| 100 | + | * Returns `{ "__metadata" : {"type" : "game.ClientInfo"}, "Host" : "lis.os.eidos.com", "ClientIP" : "<ip>", "UserAgent" : "OS/5.0.22/linux/official", "ServerTime" : 1470229891040, "ServletVersion" : "3.0.8" }` | |
| 101 | + | ||
| 102 | + | * `/game/os_GetChangeLog` | |
| 103 | + | * Returns the changelog for the LIS backend. I mean, wow. | |
| 104 | + | * Returns https://gist.github.com/blha303/0f53a12d65f8450c4aa522843df922aa | |
| 105 | + | ||
| 106 | + | * `/game/os_GetChangeLogHTML` | |
| 107 | + | * Returns the changelog in HTML | |
| 108 | + | * Returns https://ptpb.pw/MTw-.html | |
| 109 | + | ||
| 110 | + | * `/game/os_GetGeoLocation` | |
| 111 | + | * Returns `"os_GetGeoLocation" : { "__metadata" : {"type" : "game.GeoLocation"}, "s_countryCode" : "US", "s_cityName" : "Beverley Hills", "s_region" : "555", "s_zipCode" : "", "f_latitude" : "0.0f", "f_longitude" : "0.0f", "i32_metroCode" : 0, "i32_areaCode" : 0 }` | |
| 112 | + | ||
| 113 | + | * `/game/Steam_GetUserInfo` | |
| 114 | + | * Probably needs additional authentication. | |
| 115 | + | * `Returns { "__metadata" : {"uri" : "https://lis.os.eidos.com/game/ossteamresponses('76561197994805502')", "type" : "game.ossteamresponse"}, "s_uid" : "76561197994805502", "i32_errorCode" : 403, "s_errorDesc" : "Forbidden", "s_state" : "", "s_country" : "", "s_currency" : "", "s_status" : "" }` | |
| 116 | + | ||
| 117 | + | * `/game/GetUserProfileGameSpecific` | |
| 118 | + | * Returns a user's friends list and the info of their last UpdateUserProfileGameSpecific submission. Possible privacy hole | |
| 119 | + | * Returns https://gist.github.com/blha303/9d4d4429137541be5a8771ac616b4d85 | |
| 82 | 120 | ||
| 83 | - | No API requests upon completing an achievement. | |
revlis.md
| @@ -1,3 +1,9 @@ | |||
| 1 | + | ## Contents | |
| 2 | + | ||
| 3 | + | * [Docs](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-docs-md) | |
| 4 | + | * [Setting up capture process](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-revlis-md) | |
| 5 | + | * [Investigating what headers were necessary](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-whats-needed-md) | |
| 6 | + | ||
| 1 | 7 | Hello! Today I thought I'd take on the task of reverse engineering the stats screen in Life Is Strange so I could easily request and display the data without needing to start the game. I'm documenting it here for future use, since nobody else seems to have tried this yet. | |
| 2 | 8 | ||
| 3 | 9 | First, you'll need a copy of Life Is Strange on Steam. Second, you'll need to have it working on Linux. The Linux Steam version of LIS has a startup script that sets the ssl certificate locations, you'll need to modify that to be able to MITM the server connections. The game makes requests to https://lis.os.eidos.com, but doesn't verify the certificate in the game. (requests to Feral Interactive, the company that ported LIS to OSX and Linux, do seem to be verified, but they don't matter much) | |
whats-needed.md
| @@ -1,3 +1,9 @@ | |||
| 1 | + | ## Contents | |
| 2 | + | ||
| 3 | + | * [Docs](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-docs-md) | |
| 4 | + | * [Setting up capture process](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-revlis-md) | |
| 5 | + | * [Investigating what headers were necessary](https://gist.github.com/blha303/101e0db0bf63ea07b1f55862947c9065#file-whats-needed-md) | |
| 6 | + | ||
| 1 | 7 | Logging tests for what headers are necessary. | |
| 2 | 8 | ||
| 3 | 9 | ``` | |
| @@ -13,4 +19,4 @@ $ curl -H "Accept: application/json" -H "OS-AuthProvider: 6" -H "OS-AuthTicketDa | |||
| 13 | 19 | {"s_ErrorsCodes":"800","s_ErrorsMessages":"Invalid Header","s_ErrorsDetails":"Header OS-Platform=steam and header OS-System=null are not compatible. Either neither value or both values must be specified. If both values are specified, they must be compatible with eachother."} | |
| 14 | 20 | $ curl -H "Accept: application/json" -H "OS-AuthProvider: 6" -H "OS-AuthTicketData: [redacted]" -H "OS-AuthTicketSize: 44" -H "OS-UID: [redacted]" -H "OS-Platform: steam" -H "OS-System: linux" https://lis.os.eidos.com/game/CommunityFactsGetEpisode?i16_episode=3 | |
| 15 | 21 | {"d" : {"results" : [{"__metadata" : {"uri" : "https://lis.os.eidos.com/game/communityfactreturns('AddedNameToVortex')", "type" : "game.communityfactreturn"}, "f_rate" : "0.610894941634241", "i64_totalCount" : 514, "i64_trueCount" : 314, "i16_ep" : 3, "s_factID" : "AddedNameToVortex"}, ... | |
| 16 | - | ``` | |
| 22 | + | ``` | |