{"openapi":"3.1.0","info":{"title":"Account Service","version":"1.0.0"},"paths":{"/accounts/resetPassword/code/{code}":{"post":{"tags":["Accounts"],"summary":"Reset a user's password via code","parameters":[{"in":"path","name":"code","schema":{"type":"string"},"required":true,"description":"Password reset code"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"password":{"type":"string","format":"password","description":"The new password"}}}}}},"responses":{},"description":"**Permission Required**: [`account:accounts:password:resetViaCode CREATE`](https://egs.jaren.wtf/#resource=account:accounts:password:resetViaCode&action=1)","security":[{"bearer":["account:accounts:password:resetViaCode CREATE"]}]}},"/accounts/{accountId}/email":{"get":{"tags":["Accounts"],"summary":"Send confirmation email","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"An account id"}],"responses":{},"description":"**Permission Required**: [`account:accounts:email:sendConfirmation CREATE`](https://egs.jaren.wtf/#resource=account:accounts:email:sendConfirmation&action=1)","security":[{"bearer":["account:accounts:email:sendConfirmation CREATE"]}]}},"/accounts/{accountId}/email/{code}":{"post":{"tags":["Accounts"],"summary":"Verify email","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"An account id"},{"in":"path","name":"code","schema":{"type":"string"},"required":true,"description":"A verification code"}],"responses":{},"description":"**Permission Required**: [`account:accounts:email:verify UPDATE`](https://egs.jaren.wtf/#resource=account:accounts:email:verify&action=4)","security":[{"bearer":["account:accounts:email:verify UPDATE"]}]}},"/accounts/{accountId}/metadata":{"get":{"tags":["Accounts"],"summary":"Get an account's metadata","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"An account id"}],"responses":{"200":{"description":"The account's metadata","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}},"description":"**Permission Required**: [`account:accounts:{accountId}:metadata READ`](https://egs.jaren.wtf/#resource=account:accounts:{accountId}:metadata&action=2)","security":[{"bearer":["account:accounts:{accountId}:metadata READ"]}]},"post":{"tags":["Accounts"],"summary":"Create account metadata","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"An account id"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["key","value"],"properties":{"key":{"type":"string"},"value":{"type":"string"}}}}}},"responses":{"204":{"description":"Success"}},"description":"**Permission Required**: [`account:accounts:{accountId}:metadata:{key} CREATE`](https://egs.jaren.wtf/#resource=account:accounts:{accountId}:metadata:{key}&action=1)","security":[{"bearer":["account:accounts:{accountId}:metadata:{key} CREATE"]}]}},"/accounts/{accountId}/metadata/{key}":{"get":{"tags":["Accounts"],"summary":"Get an account's metadata key","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"An account id"},{"in":"path","name":"key","schema":{"type":"string"},"required":true,"description":"The metadata key"}],"responses":{"200":{"description":"The account's metadata key's value","content":{"application/json":{"schema":{"type":"string"}}}}},"description":"**Permission Required**: [`account:accounts:{accountId}:metadata:{key} READ`](https://egs.jaren.wtf/#resource=account:accounts:{accountId}:metadata:{key}&action=2)","security":[{"bearer":["account:accounts:{accountId}:metadata:{key} READ"]}]},"delete":{"tags":["Accounts"],"summary":"Delete an account's metadata key","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"An account id"},{"in":"path","name":"key","schema":{"type":"string"},"required":true,"description":"The metadata key"}],"responses":{"204":{"description":"The metadata key was deleted"}},"description":"**Permission Required**: [`account:accounts:{accountId}:metadata:{key} DELETE`](https://egs.jaren.wtf/#resource=account:accounts:{accountId}:metadata:{key}&action=8)","security":[{"bearer":["account:accounts:{accountId}:metadata:{key} DELETE"]}]}},"/accounts/{accountId}/resetPassword":{"post":{"tags":["Accounts"],"summary":"Send a password reset code","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"An account id"}],"responses":{},"description":"**Permission Required**: [`account:accounts:password:sendResetCode CREATE`](https://egs.jaren.wtf/#resource=account:accounts:password:sendResetCode&action=1)","security":[{"bearer":["account:accounts:password:sendResetCode CREATE"]}]}},"/epicdomains/ssodomains":{"get":{"tags":["Epic Domains"],"summary":"Get SSO domains","responses":{"200":{"description":"SSO domains","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"hostname"}}}}}}}},"/oauth/challenge/{challengeId}":{"delete":{"tags":["OAuth"],"summary":"Delete a challenge","parameters":[{"in":"path","name":"challengeId","schema":{"type":"string","format":"uuid"},"required":true,"description":"The challenge id"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"204":{"description":"The challenge was deleted"}}}},"/oauth/continuationToken/{continuationToken}":{"get":{"tags":["OAuth"],"summary":"Get info about a continuation token","parameters":[{"in":"path","name":"continuationToken","schema":{"type":"string"},"required":true,"description":"A continuation token"}],"responses":{"200":{"description":"The continuation token's info","content":{"application/json":{"schema":{"type":"object","required":["tokenId","shortTokenId","clientId","accountId","scopes","correctiveAction","ageGateRequired","acr"],"properties":{"tokenId":{"type":"string","pattern":"^[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}$"},"shortTokenId":{"type":"string","pattern":"^[0-9a-f]{8}$"},"clientId":{"$ref":"#/components/schemas/ClientID"},"accountId":{"$ref":"#/components/schemas/AccountID"},"scopes":{"type":"array","items":{"$ref":"#/components/schemas/Scope"}},"platformType":{"type":"string"},"externalAuthId":{"type":"string"},"externalAuthEnv":{"type":"string"},"correctiveAction":{"type":"string"},"ageGateRequired":{"type":"boolean"},"acr":{"$ref":"#/components/schemas/ACRType"}}}}}}},"description":"**Permission Required**: [`account:oauth:continuationToken READ`](https://egs.jaren.wtf/#resource=account:oauth:continuationToken&action=2)","security":[{"bearer":["account:oauth:continuationToken READ"]}]}},"/oauth/deviceAuthorization":{"post":{"tags":["OAuth"],"summary":"Create device authorization","security":[{"basic":[]}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"prompt":{"type":"string"},"scope":{"type":"string"},"continuation_token":{"type":"string","pattern":"^[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}$"},"ext_auth_type":{"type":"string","description":"The external auth type of the current platform. This will be hidden for the user."}}}}}},"responses":{"200":{"description":"The created device authorization","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceAuthorization"}}}}}}},"/oauth/deviceAuthorization/{userCode}":{"delete":{"tags":["OAuth"],"summary":"Delete device authorization","security":[{"bearer":[]}],"parameters":[{"in":"path","name":"userCode","schema":{"$ref":"#/components/schemas/DeviceAuthorization/properties/user_code"},"required":true,"description":"A user code"}],"responses":{"204":{"description":"The device authorization was deleted"}}}},"/oauth/exchange":{"get":{"tags":["OAuth"],"summary":"Get an exchange code","operationId":"getExchangeCode","parameters":[{"in":"query","name":"consumingClientId","schema":{"$ref":"#/components/schemas/ClientID"},"required":false,"description":"If set, only this client can redeem the exchange code"},{"in":"query","name":"codeChallenge","schema":{"type":"string"},"required":false,"description":"A PKCE code challenge"},{"in":"query","name":"codeChallengeMethod","schema":{"type":"string","examples":["S256","plain"]},"required":false,"description":"The method used to generate `codeChallenge`"}],"responses":{"200":{"description":"An exchange code","content":{"application/json":{"schema":{"type":"object","required":["expiresInSeconds","code","creatingClientId"],"properties":{"expiresInSeconds":{"type":"integer","examples":[300,299]},"code":{"type":"string","pattern":"^[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}$"},"creatingClientId":{"$ref":"#/components/schemas/ClientID"},"consumingClientId":{"$ref":"#/components/schemas/ClientID"}}}}}}},"description":"**Permission Required**: [`account:oauth:exchangeTokenCode CREATE`](https://egs.jaren.wtf/#resource=account:oauth:exchangeTokenCode&action=1)","security":[{"bearer":["account:oauth:exchangeTokenCode CREATE"]}]}},"/oauth/permissions":{"get":{"tags":["OAuth"],"summary":"Get the permissions of your access token","operationId":"getPermissions","security":[{"bearer":[]}],"responses":{"200":{"description":"The oauth token's permissions","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Permission"}}}}}}}},"/oauth/rechallenge/{challenge}/from/{oldMethod}/to/{newMethod}":{"post":{"tags":["OAuth"],"summary":"Rechallenge a 2fa challenge with a new method","security":[{"basic":[]}],"parameters":[{"in":"path","name":"challenge","schema":{"type":"string"},"required":true,"description":"A challenge token"},{"in":"path","name":"oldMethod","schema":{"$ref":"#/components/schemas/TFAMethod"},"required":true,"description":"The current 2fa method"},{"in":"path","name":"newMethod","schema":{"$ref":"#/components/schemas/TFAMethod"},"required":true,"description":"The new 2fa method"}],"responses":{"200":{"description":"A new challenge","content":{"application/json":{"schema":{"type":"object","required":["challenge","method","alternateMethods"],"properties":{"challenge":{"$ref":"#/components/schemas/TFAChallenge"},"method":{"$ref":"#/components/schemas/TFAMethod"},"alternateMethods":{"type":"array","items":{"$ref":"#/components/schemas/TFAMethod"}}}}}}}}}},"/oauth/sessions/kill":{"delete":{"tags":["OAuth"],"summary":"Kill sessions","parameters":[{"in":"query","name":"killType","schema":{"type":"string","enum":["OTHERS_ACCOUNT_CLIENT_SERVICE","OTHERS_ACCOUNT_CLIENT","OTHERS_SAME_SOURCE_ID","OTHERS","ALL","ALL_ACCOUNT_CLIENT"]},"required":true,"description":"Kill type"},{"in":"query","name":"intent","schema":{"type":"string","enum":["LOG_OUT_SINGLE","LOG_OUT_BATCH","LOG_OUT_CREDENTIALS_CHANGE","LOG_OUT_INACTIVE","LOG_OUT_ON_ERROR","LOG_OUT_ILLEGAL_STATE","SINGLE_SESSION_ENFORCEMENT","LOG_OUT_CONFIRM_IDENTITY","REFRESH_SESSION_LIMIT_ENFORCEMENT","DATA_CONSENT_REVOKED","LOG_OUT_POLICY_ENFORCEMENT","LOG_OUT_POLICY_CHANGE","LOG_OUT_POLICY_DATA_CHANGE","LOG_OUT_TIME_CONTROL_POLICY","ADMIN_REMOVED_SINGLE","ADMIN_REMOVED_BATCH","ADMIN_REMOVED_CLIENT_SESSIONS","LOG_OUT_FOR_DATA_COLLECTION","UNKNOWN"]}}],"security":[{"bearer":[]}],"responses":{"204":{"description":"The sessions were killed"}}}},"/oauth/sessions/kill/{accessToken}":{"delete":{"tags":["OAuth"],"summary":"Kill an access token","parameters":[{"in":"path","name":"accessToken","schema":{"type":"string"},"required":true,"description":"The access token to kill"}],"operationId":"killAccessToken","security":[{"bearer":[]}],"responses":{"204":{"description":"The access token was killed"}}}},"/oauth/token":{"post":{"tags":["OAuth"],"parameters":[{"in":"header","name":"X-Epic-Device-ID","description":"Device ID","schema":{"type":"string"}}],"summary":"Get an OAuth access token","operationId":"getAccessToken","security":[{"basic":[]}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"allOf":[{"$ref":"#/components/schemas/OAuthGrantType"},{"type":"object","properties":{"deployment_id":{"type":"string","pattern":"^[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}$"}}}],"examples":{"Authorization Code":{"grant_type":"authorization_code","code":"8b0a23cb43af46cb972806f4025a9cba"},"Client Credentials":{"grant_type":"client_credentials"}}}}}},"responses":{"200":{"description":"The OAuth token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthToken"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Error"},{"type":"object","properties":{"error_description":{"type":"string"},"error":{"type":"string","examples":["invalid_grant"]}}}]}}}}}}},"/oauth/v1/revoke":{"post":{"tags":["OAuth"],"summary":"Revoke an access or refresh token for the provided client","operationId":"revokeOAuthToken","security":[{"basic":[]}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["token"],"properties":{"token":{"type":"string","description":"The access token or refresh token"}}}}}},"responses":{"200":{"description":"The token was revoked assuming it was valid and belonged to the requesting client"}}}},"/oauth/v1/token":{"post":{"tags":["OAuth"],"parameters":[{"in":"header","name":"X-Epic-Device-ID","description":"Device ID","schema":{"type":"string"}}],"summary":"Get an OAuth access token","operationId":"getAccessToken","security":[{"basic":[]}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"allOf":[{"$ref":"#/components/schemas/OAuthGrantType"},{"type":"object","properties":{"deployment_id":{"type":"string","pattern":"^[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}$"}}}],"examples":{"Authorization Code":{"grant_type":"authorization_code","code":"8b0a23cb43af46cb972806f4025a9cba"},"Client Credentials":{"grant_type":"client_credentials"}}}}}},"responses":{"200":{"description":"The OAuth token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthToken"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Error"},{"type":"object","properties":{"error_description":{"type":"string"},"error":{"type":"string","examples":["invalid_grant"]}}}]}}}}}}},"/oauth/verify":{"get":{"tags":["OAuth"],"summary":"Get info about an access token","operationId":"verifySession","security":[{"bearer":[]}],"responses":{"200":{"description":"Information about the access token","content":{"application/json":{"schema":{"type":"object","required":["token","session_id","token_type","client_id","internal_client","client_service","expires_in","expires_at","auth_method"],"properties":{"token":{"type":"string"},"session_id":{"type":"string"},"token_type":{"type":"string","enum":["bearer"]},"client_id":{"$ref":"#/components/schemas/ClientID"},"internal_client":{"type":"boolean"},"client_service":{"type":"string"},"account_id":{"$ref":"#/components/schemas/AccountID"},"expires_in":{"type":"integer"},"expires_at":{"type":"string","format":"date-time"},"auth_method":{"type":"string"},"display_name":{"type":"string"},"ext_auth_id":{"type":"string"},"ext_auth_type":{"type":"string"},"ext_auth_method":{"type":"string"},"app":{"type":"string"},"in_app_id":{"type":"string"},"device_id":{"type":"string"},"scope":{"type":"array","items":{"$ref":"#/components/schemas/Scope"}},"product_id":{"type":"string"},"sandbox_id":{"type":"string"},"deployment_id":{"type":"string"},"application_id":{"type":"string"},"acr":{"type":"string"},"auth_time":{"type":"string","format":"date-time"},"perms":{"type":"array","items":{"$ref":"#/components/schemas/Permission"}}}}}}}}}},"/public/account":{"get":{"tags":["Accounts - Public"],"summary":"Get accounts by their ids","security":[{"bearer":[]}],"parameters":[{"in":"query","name":"accountId","schema":{"type":"array","items":{"type":"string"}},"required":true,"description":"An account id"}],"responses":{"200":{"description":"The accounts you queried","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAccounts"}}}}}},"post":{"tags":["Accounts - Public"],"summary":"Create account","description":"**Permission Required**: [`account:public:account CREATE`](https://egs.jaren.wtf/#resource=account:public:account&action=1)\n\nIf your token also has [`account:public:account:externalAuthOnly CREATE`](https://egs.jaren.wtf/#resource=account:public:account:externalAuthOnly&action=1), you must include `externalAuth` when creating an account.\n","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"type":"object","required":["dateOfBirth"],"properties":{"displayName":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"dateOfBirth":{"type":"string","format":"date"},"country":{"type":"string"},"lastName":{"type":"string"},"suffix":{"type":"string"},"phoneNumber":{"type":"string"},"company":{"type":"string"},"preferredLanguage":{"type":"string"},"externalAuth":{"$ref":"#/components/schemas/ExternalAuthRequest"}}}]}}}},"responses":{"200":{"description":"The account you created","content":{"application/json":{"schema":{"type":"object","required":["accountInfo"],"properties":{"accountInfo":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"security":[{"bearer":["account:public:account CREATE"]}]}},"/public/account/ageGate":{"get":{"tags":["Accounts - Public"],"summary":"Age gate","security":[{"bearer":[]}],"responses":{"200":{"description":"Age gate required","content":{"application/json":{"schema":{"type":"object","required":["ageGateRequired"],"properties":{"ageGateRequired":{"type":"boolean"}}}}}}}}},"/public/account/displayName/{displayName}":{"get":{"tags":["Accounts - Public"],"summary":"Get an account by display name","parameters":[{"in":"path","name":"displayName","schema":{"type":"string"},"required":true,"description":"An account's display name"}],"responses":{"200":{"description":"An account","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AccountInfo","description":"Current account"},{"$ref":"#/components/schemas/PublicAccount","description":"Non-current account"}]}}}}},"description":"**Permission Required**: [`account:public:account READ`](https://egs.jaren.wtf/#resource=account:public:account&action=2)","security":[{"bearer":["account:public:account READ"]}]}},"/public/account/email/{email}":{"get":{"tags":["Accounts - Public"],"summary":"Get an account by email","parameters":[{"in":"path","name":"email","schema":{"type":"string"},"required":true,"description":"An account's email"}],"responses":{"200":{"description":"An account","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAccount"}}}}},"description":"**Permission Required**: [`account:public:account:lookup:email READ`](https://egs.jaren.wtf/#resource=account:public:account:lookup:email&action=2)","security":[{"bearer":["account:public:account:lookup:email READ"]}]}},"/public/account/lookup/externalAuth/{externalAuthType}/displayName/{displayName}":{"get":{"tags":["Accounts - Public"],"summary":"Lookup accounts by external auth display name","parameters":[{"in":"path","name":"externalAuthType","schema":{"type":"string"},"required":true,"description":"The external auth type"},{"in":"path","name":"displayName","schema":{"type":"string"},"required":true,"description":"The display name to query"},{"in":"query","name":"caseInsensitive","schema":{"type":"boolean"},"description":"If the search should be case insensitive"}],"responses":{"200":{"description":"Accounts with the external display name you queried","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAccounts"}}}}},"description":"**Permission Required**: [`account:public:account:lookup:externalDisplayName:{externalAuthType} READ`](https://egs.jaren.wtf/#resource=account:public:account:lookup:externalDisplayName:{externalAuthType}&action=2)","security":[{"bearer":["account:public:account:lookup:externalDisplayName:{externalAuthType} READ"]}]}},"/public/account/lookup/externalDisplayName":{"post":{"tags":["Accounts - Public"],"summary":"Bulk lookup by external display name","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["authType","displayNames"],"properties":{"authType":{"type":"string","description":"The external auth type"},"displayNames":{"type":"array","items":{"type":"string"},"description":"The external display names to query"}}}}}},"responses":{"200":{"description":"The external auths matching keyed by external id","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/ExternalAuth"}}}}}}},"description":"**Permission Required**: [`account:public:account:lookup:externalDisplayName:{authType} READ`](https://egs.jaren.wtf/#resource=account:public:account:lookup:externalDisplayName:{authType}&action=2)","security":[{"bearer":["account:public:account:lookup:externalDisplayName:{authType} READ"]}]}},"/public/account/lookup/externalId":{"post":{"tags":["Accounts - Public"],"summary":"Bulk lookup by external id","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["authType","displayNames"],"properties":{"authType":{"type":"string","description":"The external auth type"},"ids":{"type":"array","items":{"type":"string"},"description":"The external ids to query"}}}}}},"responses":{"200":{"description":"The external auths matching keyed by external id","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ExternalAuth"}}}}}},"description":"**Permission Required**: [`account:public:account:lookup:externalId READ`](https://egs.jaren.wtf/#resource=account:public:account:lookup:externalId&action=2)","security":[{"bearer":["account:public:account:lookup:externalId READ"]}]}},"/public/account/{accountId}":{"get":{"tags":["Accounts - Public"],"summary":"Get an account by id","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"An account id"}],"responses":{"200":{"description":"An account","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AccountInfo","description":"Current account"},{"$ref":"#/components/schemas/PublicAccount","description":"Non-current account"}]}}}}},"description":"**Permission Required**: [`account:public:account READ`](https://egs.jaren.wtf/#resource=account:public:account&action=2)","security":[{"bearer":["account:public:account READ"]}]},"put":{"tags":["Accounts - Public"],"summary":"Update your account","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your account id"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"displayName":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"dateOfBirth":{"type":"string","format":"date"},"lastName":{"type":"string"},"suffix":{"type":"string"},"phoneNumber":{"type":"string"},"company":{"type":"string"},"preferredLanguage":{"type":"string"}}}}}},"responses":{"200":{"description":"An account","content":{"application/json":{"schema":{"type":"object","required":["accountInfo"],"properties":{"accountInfo":{"$ref":"#/components/schemas/AccountInfo"}}}}}}},"description":"**Permission Required**: [`account:public:account UPDATE`](https://egs.jaren.wtf/#resource=account:public:account&action=4)","security":[{"bearer":["account:public:account UPDATE"]}]}},"/public/account/{accountId}/challenge/execute":{"post":{"tags":["Accounts - Public"],"summary":"Execute challenge","security":[{"bearer":[]}],"parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your account id"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["challenge","otp"],"properties":{"requestName":{"type":"string","examples":["verify-2fa-enrollment"],"description":"The name of the challenge request"},"challenge":{"$ref":"#/components/schemas/TFAChallenge","description":"The 2fa challenge"},"otp":{"type":"string","pattern":"^\\d{6}$","description":"The 2fa code"}}}}}},"responses":{"204":{"description":"Success"}}}},"/public/account/{accountId}/challenge/{twoFactorMethod}":{"get":{"tags":["Accounts - Public"],"summary":"Get 2fa challenge","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your account id"},{"in":"path","name":"twoFactorMethod","schema":{"type":"string","enum":["epicapp"]},"required":true,"description":"The 2fa method"}],"responses":{"200":{"description":"The 2fa challenge","content":{"application/json":{"schema":{"type":"object","required":["accountId","challenge","time","country","ipAddress","subType"],"properties":{"accountId":{"$ref":"#/components/schemas/AccountID"},"challenge":{"$ref":"#/components/schemas/TFAChallenge"},"time":{"type":"string","format":"date-time"},"country":{"type":"string"},"city":{"type":"string"},"ipAddress":{"type":"string"},"subType":{"type":"object","required":["numberMatching"],"properties":{"numberMatching":{"type":"object","required":["correctKey","randomKeys"],"properties":{"correctKey":{"type":"integer"},"randomKeys":{"type":"array","items":{"type":"integer"},"minItems":3,"maxItems":3}}}}}}}}}}},"description":"**Permission Required**: [`account:public:account:account:public:challenges READ`](https://egs.jaren.wtf/#resource=account:public:account:account:public:challenges&action=2)","security":[{"bearer":["account:public:account:account:public:challenges READ"]}]}},"/public/account/{accountId}/deviceAuth":{"get":{"tags":["Accounts - Public"],"summary":"Get device auths","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your account id"}],"responses":{"200":{"description":"The device auths","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceAuth"}}}}}},"description":"**Permission Required**: [`account:public:account:deviceAuths READ`](https://egs.jaren.wtf/#resource=account:public:account:deviceAuths&action=2)","security":[{"bearer":["account:public:account:deviceAuths READ"]}]},"post":{"tags":["Accounts - Public"],"summary":"Create device auth","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your account id"}],"responses":{"200":{"description":"The created device auth","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedDeviceAuth"}}}}},"description":"**Permission Required**: [`account:public:account:deviceAuths CREATE`](https://egs.jaren.wtf/#resource=account:public:account:deviceAuths&action=1)","security":[{"bearer":["account:public:account:deviceAuths CREATE"]}]},"delete":{"tags":["Accounts - Public"],"summary":"Delete all device auths","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your account id"}],"responses":{"204":{"description":"Success"}},"description":"**Permission Required**: [`account:public:account:deviceAuths DELETE`](https://egs.jaren.wtf/#resource=account:public:account:deviceAuths&action=8)","security":[{"bearer":["account:public:account:deviceAuths DELETE"]}]}},"/public/account/{accountId}/deviceAuth/{deviceId}":{"get":{"tags":["Accounts - Public"],"summary":"Get device auth","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your account id"},{"in":"path","name":"deviceId","schema":{"$ref":"#/components/schemas/DeviceAuth/properties/deviceId"},"required":true,"description":"The device id to get"}],"responses":{"200":{"description":"The device auth","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceAuth"}}}}}},"description":"**Permission Required**: [`account:public:account:deviceAuths READ`](https://egs.jaren.wtf/#resource=account:public:account:deviceAuths&action=2)","security":[{"bearer":["account:public:account:deviceAuths READ"]}]},"delete":{"tags":["Accounts - Public"],"summary":"Delete device auth","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your account id"},{"in":"path","name":"deviceId","schema":{"$ref":"#/components/schemas/DeviceAuth/properties/deviceId"},"required":true,"description":"The device id to delete"}],"responses":{"204":{"description":"Success"}},"description":"**Permission Required**: [`account:public:account:deviceAuths DELETE`](https://egs.jaren.wtf/#resource=account:public:account:deviceAuths&action=8)","security":[{"bearer":["account:public:account:deviceAuths DELETE"]}]}},"/public/account/{accountId}/email":{"get":{"tags":["Accounts - Public"],"summary":"Get emails","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your account id"}],"responses":{"200":{"description":"The user's emails","content":{"application/json":{"schema":{"type":"object","required":["accountId","emails","lastEmailUpdate","canUpdateEmail"],"properties":{"accountId":{"$ref":"#/components/schemas/AccountID"},"emails":{"type":"array","items":{"type":"object","required":["email","verified","default"],"properties":{"email":{"type":"string","format":"email"},"verified":{"type":"boolean"},"default":{"type":"boolean"}}}},"lastEmailUpdate":{"type":"string","format":"date-time"},"canUpdateEmail":{"type":"boolean"}}}}}}},"description":"**Permission Required**: [`account:public:account:email READ`](https://egs.jaren.wtf/#resource=account:public:account:email&action=2)","security":[{"bearer":["account:public:account:email READ"]}]},"post":{"tags":["Accounts - Public"],"summary":"Add an email","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your account id"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"}}}}}},"responses":{},"description":"**Permission Required**: [`account:public:account:email UPDATE`](https://egs.jaren.wtf/#resource=account:public:account:email&action=4)","security":[{"bearer":["account:public:account:email UPDATE"]}]},"delete":{"tags":["Accounts - Public"],"summary":"Delete email","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your account id"}],"responses":{},"description":"**Permission Required**: [`account:public:account:email UPDATE`](https://egs.jaren.wtf/#resource=account:public:account:email&action=4)","security":[{"bearer":["account:public:account:email UPDATE"]}]}},"/public/account/{accountId}/externalAuths":{"get":{"tags":["Accounts - Public"],"summary":"Get external auths","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your account id"}],"responses":{"200":{"description":"The user's external auths","content":{"application/json":{"schema":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/ExternalAuth"},{"type":"object","required":["dateAdded"],"properties":{"dateAdded":{"type":"string","format":"date-time"}}}]}}}}}},"description":"**Permission Required**: [`account:public:account:externalAuths READ`](https://egs.jaren.wtf/#resource=account:public:account:externalAuths&action=2)","security":[{"bearer":["account:public:account:externalAuths READ"]}]},"post":{"tags":["Accounts - Public"],"summary":"Create an external auth","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your account id"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalAuthRequest"}}}},"responses":{"200":{"description":"The created external auth","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ExternalAuth"},{"type":"object","required":["dateAdded"],"properties":{"dateAdded":{"type":"string","format":"date-time"}}}]}}}}},"description":"**Permission Required**: [`account:public:account:externalAuths CREATE`](https://egs.jaren.wtf/#resource=account:public:account:externalAuths&action=1)","security":[{"bearer":["account:public:account:externalAuths CREATE"]}]}},"/public/account/{accountId}/externalAuths/{externalAuthType}":{"get":{"tags":["Accounts - Public"],"summary":"Get info about an external auth","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"An account id"},{"in":"path","name":"externalAuthType","schema":{"type":"string"},"required":true,"description":"The external auth type"}],"responses":{"200":{"description":"The external auth","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ExternalAuth"},{"type":"object","required":["dateAdded"],"properties":{"dateAdded":{"type":"string","format":"date-time"}}}]}}}}},"description":"**Permission Required**: [`account:public:account:externalAuths READ`](https://egs.jaren.wtf/#resource=account:public:account:externalAuths&action=2)","security":[{"bearer":["account:public:account:externalAuths READ"]}]},"delete":{"tags":["Accounts - Public"],"summary":"Delete an external auth","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"An account id"},{"in":"path","name":"externalAuthType","schema":{"type":"string"},"required":true,"description":"The external auth type"}],"responses":{"204":{"description":"The external auth was deleted"}},"description":"**Permission Required**: [`account:public:account:externalAuths DELETE`](https://egs.jaren.wtf/#resource=account:public:account:externalAuths&action=8)","security":[{"bearer":["account:public:account:externalAuths DELETE"]}]}},"/public/account/{accountId}/linkIdentity":{"post":{"tags":["Accounts - Public"],"summary":"Link identity","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your account id"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string"},"value":{"type":"string"}}}}}},"responses":{},"description":"**Permission Required**: [`account:public:account:linkedIdentity CREATE`](https://egs.jaren.wtf/#resource=account:public:account:linkedIdentity&action=1)","security":[{"bearer":["account:public:account:linkedIdentity CREATE"]}]}},"/public/account/{accountId}/platformToken/{externalAuthType}/{clientId}":{"post":{"tags":["Accounts - Public"],"summary":"Get platform token","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your account id"},{"in":"path","name":"externalAuthType","schema":{"type":"string"},"required":true,"description":"An external auth method"},{"in":"path","name":"clientId","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"The platform token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformToken"}}}}},"description":"**Permission Required**: [`account:public:account READ`](https://egs.jaren.wtf/#resource=account:public:account&action=2)","security":[{"bearer":["account:public:account READ"]}]}},"/public/account/{accountId}/recordActivity":{"post":{"tags":["Accounts - Public"],"summary":"Record activity","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your account id"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["activityType"],"properties":{"activityType":{"type":"string","enum":["REVIEWED_SECURITY_SETTINGS","DECLINED_MFA_SETUP","REVIEWED_LINK_CONSOLE"]}}}}}},"responses":{"204":{"description":"Success"}},"description":"**Permission Required**: [`account:public:account:activity UPDATE`](https://egs.jaren.wtf/#resource=account:public:account:activity&action=4)","security":[{"bearer":["account:public:account:activity UPDATE"]}]}},"/public/account/{accountId}/resetDisplayName":{"post":{"tags":["Accounts - Public"],"summary":"Reset display name","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your account id"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["displayName","resetCode"],"properties":{"displayName":{"type":"string"},"resetCode":{"type":"string"}}}}}},"responses":{},"description":"**Permission Required**: [`account:public:account:displayName:resetViaCode CREATE`](https://egs.jaren.wtf/#resource=account:public:account:displayName:resetViaCode&action=1)","security":[{"bearer":["account:public:account:displayName:resetViaCode CREATE"]}]}},"/public/account/{email}/sendSingleUsePassword":{"post":{"tags":["Accounts - Public"],"summary":"Send single use password","deprecated":true,"parameters":[{"in":"path","name":"email","schema":{"type":"string","format":"email"},"required":true,"description":"The user's email address"}],"responses":{"204":{"description":"Success"}},"description":"**Permission Required**: [`account:public:account:singleUsePassword CREATE`](https://egs.jaren.wtf/#resource=account:public:account:singleUsePassword&action=1)","security":[{"bearer":["account:public:account:singleUsePassword CREATE"]}]}},"/public/corrections/acceptEula":{"put":{"tags":["Corrections"],"summary":"Accept EULA","security":[{"bearer":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["continuation"],"properties":{"continuation":{"type":"string"}}}}}},"responses":{"204":{"description":"Success"}}}},"/public/corrections/acceptPrivacyPolicy":{"put":{"tags":["Corrections"],"summary":"Accept privacy Policy","security":[{"bearer":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["continuation"],"properties":{"continuation":{"type":"string"}}}}}},"responses":{"204":{"description":"Success"}}}},"/public/corrections/adultVerification":{"delete":{"tags":["Corrections"],"summary":"Cancel adult verification","security":[{"bearer":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["continuation"],"properties":{"continuation":{"type":"string"}}}}}},"responses":{}}},"/public/corrections/adultVerification/validate":{"post":{"tags":["Corrections"],"summary":"Validate adult verification","security":[{"bearer":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["signature","continuation","externalPayload","status"],"properties":{"signature":{"type":"string"},"continuation":{"type":"string"},"externalPayload":{"type":"string"},"status":{"type":"string"}}}}}},"responses":{}}},"/public/corrections/cancelPendingDeletion":{"put":{"tags":["Corrections"],"summary":"Cancel pending account deletion","security":[{"bearer":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["continuation"],"properties":{"continuation":{"type":"string"}}}}}},"responses":{"204":{"description":"Success"}}}},"/public/corrections/confirmDateOfBirth":{"get":{"tags":["Corrections"],"summary":"Get date of birth to confirm","security":[{"bearer":[]}],"parameters":[{"in":"query","name":"continuation","schema":{"type":"string"},"required":true}],"responses":{}},"put":{"tags":["Corrections"],"summary":"Confirm date of birth","security":[{"bearer":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["continuation"],"properties":{"continuation":{"type":"string"}}}}}},"responses":{"204":{"description":"Success"}}}},"/public/corrections/confirmDisplayName":{"get":{"tags":["Corrections"],"summary":"Get display name to confirm","security":[{"bearer":[]}],"parameters":[{"in":"query","name":"continuation","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"The display name to confirm","content":{"application/json":{"schema":{"type":"object","required":["displayName"],"properties":{"displayName":{"type":"string"}}}}}}}},"put":{"tags":["Corrections"],"summary":"Confirm display name","security":[{"bearer":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["continuation"],"properties":{"continuation":{"type":"string"}}}}}},"responses":{"204":{"description":"Success"}}}},"/public/corrections/dateOfBirth":{"put":{"tags":["Corrections"],"summary":"Set date of birth","security":[{"bearer":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["continuation","dateOfBirth"],"properties":{"continuation":{"type":"string"},"dateOfBirth":{"type":"string","format":"date"}}}}}},"responses":{"204":{"description":"Success"}}}},"/public/corrections/guardianEmail":{"put":{"tags":["Corrections"],"summary":"Set guardian email","security":[{"bearer":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["continuation","guardianEmail"],"properties":{"continuation":{"type":"string"},"guardianEmail":{"type":"string","format":"email"}}}}}},"responses":{"204":{"description":"Success"}}}},"/public/corrections/promoteAccount":{"put":{"tags":["Corrections"],"summary":"Promote account","security":[{"bearer":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["continuation","email","password"],"properties":{"continuation":{"type":"string"},"email":{"type":"string","format":"email"},"password":{"type":"string"}}}}}},"responses":{"204":{"description":"Success"}}}},"/public/corrections/resolveReservedDisplayName":{"get":{"tags":["Corrections"],"summary":"Get reserved display name","security":[{"bearer":[]}],"parameters":[{"in":"query","name":"continuation","schema":{"type":"string"},"required":true}],"responses":{}},"put":{"tags":["Corrections"],"summary":"Resolve reserved display name","security":[{"bearer":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["continuation"],"properties":{"continuation":{"type":"string"}}}}}},"responses":{"204":{"description":"Success"}}}},"/public/guardians/challenges":{"post":{"tags":["Guardians"],"summary":"Create guardian challenge","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["guardianEmail"],"properties":{"guardianEmail":{"type":"string","format":"email"}}}}}},"responses":{"200":{"description":"The created guardian challenge","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuardianChallenge"}}}}},"description":"**Permission Required**: [`account:public:guardians CREATE`](https://egs.jaren.wtf/#resource=account:public:guardians&action=1)","security":[{"bearer":["account:public:guardians CREATE"]}]}},"/public/guardians/challenges/latest":{"get":{"tags":["Guardians"],"summary":"Get latest guardian challenge","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["guardianEmail"],"properties":{"guardianEmail":{"type":"string","format":"email"}}}}}},"responses":{"200":{"description":"The latest guardian challenge","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuardianChallenge"}}}}},"description":"**Permission Required**: [`account:public:guardians READ`](https://egs.jaren.wtf/#resource=account:public:guardians&action=2)","security":[{"bearer":["account:public:guardians READ"]}]}},"/public/guardians/challenges/{challengeId}/notifications":{"post":{"tags":["Guardians"],"summary":"Send guardian challenge notification","parameters":[{"in":"path","name":"challengeId","schema":{"$ref":"#/components/schemas/GuardianChallenge/properties/id"},"required":true,"description":"The guardian challenge id"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{},"description":"**Permission Required**: [`account:public:guardians CREATE`](https://egs.jaren.wtf/#resource=account:public:guardians&action=1)","security":[{"bearer":["account:public:guardians CREATE"]}]}},"/public/guardians/kws":{"post":{"tags":["Guardians"],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/publickeys/{key}":{"get":{"tags":["Public Keys"],"summary":"Get a public key by its thumbprint","parameters":[{"in":"path","name":"key","schema":{"type":"string","pattern":"^[A-Za-z0-9-_]{43}$","examples":["g__VKjSSmqJ0xZj1RYkLGKQ7dnHiM9MLhFVwKPySDB4"]},"required":true,"description":"The key's RFC 7638 thumbprint"}],"responses":{"200":{"description":"A JWK","content":{"application/jwk+json":{"schema":{"type":"object","required":["kty","kid"],"properties":{"kty":{"type":"string","examples":["RSA"]},"e":{"type":"string","examples":["AQAB"]},"kid":{"type":"string","pattern":"^[A-Za-z0-9-_]{43}$"},"n":{"type":"string"}}}}}}}}},"/version":{"get":{"tags":["Version"],"summary":"Get the current version","responses":{"200":{"description":"Version info","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"}}}}}}}},"components":{"schemas":{"DeviceAuthorization":{"type":"object","required":["user_code","device_code","verification_uri","verification_uri_complete","prompt","expired_in","interval","client_id"],"properties":{"user_code":{"type":"string","pattern":"^[0-9A-Z]{8}$"},"device_code":{"type":"string","pattern":"^[0-9A-Z]{16}\\.[0-9A-Z]{8}$","contentEncoding":"base64"},"verification_uri":{"type":"string","format":"uri"},"verification_uri_complete":{"type":"string","format":"uri"},"prompt":{"type":"string","examples":["login"]},"expires_in":{"type":"integer","examples":[600]},"interval":{"type":"integer","examples":[10]},"client_id":{"$ref":"#/components/schemas/ClientID"},"scope":{"$ref":"#/components/schemas/Scope"}}},"ExternalAuthRequest":{"type":"object","required":["authType","externalAuthToken"],"properties":{"authType":{"type":"string"},"externalAuthToken":{"type":"string"}}},"ClientID":{"type":"string","pattern":"^(?:[0-9a-f]{32}|xyza7891[0-9a-zA-Z]{24})$","examples":["ec684b8c687f479fadea3cb2ad83f5c6","xyza7891ov4bjltiTDG4lfbFq7aPJjm1"]},"Error":{"type":"object","required":["errorCode","errorMessage"],"properties":{"errorCode":{"type":"string","examples":["errors.com.epicgames.common.server_error"]},"errorMessage":{"type":"string","examples":["Sorry an error occurred and we were unable to resolve it (tracking id: [00000000-0000-0000-0000-000000000000])"]},"messageVars":{"type":"array","items":{"type":"string"}},"numericErrorCode":{"type":"integer","examples":1000},"originatingService":{"type":"string","examples":["com.epicgames.account.public","com.epicgames.account-policy","fortnite"]},"intent":{"type":"string","examples":["unknown","prod","stage"]}},"description":"This represents an error response"},"AccountID":{"type":"string","pattern":"^[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}$","examples":["8b0a23cb43af46cb972806f4025a9cba"],"description":"This represents a unique id for an epic games account"},"OAuthGrantType":{"oneOf":[{"$ref":"#/components/schemas/OAuthGrantTypeAuthorizationCode"},{"$ref":"#/components/schemas/OAuthGrantTypeClientCredentials"},{"$ref":"#/components/schemas/OAuthGrantTypeContinuationToken"},{"$ref":"#/components/schemas/OAuthGrantTypeDeviceAuth"},{"$ref":"#/components/schemas/OAuthGrantTypeDeviceCode"},{"$ref":"#/components/schemas/OAuthGrantTypeExchangeCode"},{"$ref":"#/components/schemas/OAuthGrantTypeExternalAuth"},{"$ref":"#/components/schemas/OAuthGrantTypeOTP"},{"$ref":"#/components/schemas/OAuthGrantTypePassword"},{"$ref":"#/components/schemas/OAuthGrantTypeRefreshToken"},{"$ref":"#/components/schemas/OAuthGrantTypeTokenToToken"}],"discriminator":{"propertyName":"grant_type","mapping":{"authorization_code":"#/components/schemas/OAuthGrantTypeAuthorizationCode","client_credentials":"#/components/schemas/OAuthGrantTypeClientCredentials","continuation_token":"#/components/schemas/OAuthGrantTypeContinuationToken","device_auth":"#/components/schemas/OAuthGrantTypeDeviceAuth","device_code":"#/components/schemas/OAuthGrantTypeDeviceCode","exchange_code":"#/components/schemas/OAuthGrantTypeExchangeCode","external_auth":"#/components/schemas/OAuthGrantTypeExternalAuth","otp":"#/components/schemas/OAuthGrantTypeOTP","password":"#/components/schemas/OAuthGrantTypePassword","refresh_token":"#/components/schemas/OAuthGrantTypeRefreshToken","token_to_token":"#/components/schemas/OAuthGrantTypeTokenToToken"}}},"OAuthGrantTypeClientCredentials":{"type":"object","required":["grant_type"],"properties":{"grant_type":{"type":"string","enum":["client_credentials"]}}},"OAuthGrantTypeExternalAuth":{"type":"object","required":["grant_type","external_auth_type","external_auth_token"],"properties":{"grant_type":{"type":"string","enum":["external_auth"]},"external_auth_type":{"type":"string"},"external_auth_token":{"type":"string"}}},"OAuthGrantTypeOTP":{"type":"object","required":["grant_type","challenge"],"properties":{"grant_type":{"type":"string","enum":["otp"]},"challenge":{"$ref":"#/components/schemas/TFAChallenge"},"otp":{"type":"string","pattern":"^\\d{6}$"}}},"OAuthGrantTypePassword":{"type":"object","required":["grant_type","username","password"],"properties":{"grant_type":{"type":"string","enum":["password"]},"username":{"type":"string"},"password":{"type":"string","format":"password"}}},"OAuthGrantTypeRefreshToken":{"type":"object","required":["grant_type","refresh_token"],"properties":{"grant_type":{"type":"string","enum":["refresh_token"]},"refresh_token":{"type":"string"}}},"OAuthGrantTypeDeviceCode":{"type":"object","required":["grant_type","device_code"],"properties":{"grant_type":{"type":"string","enum":["device_code"]},"device_code":{"$ref":"#/components/schemas/DeviceAuthorization/properties/device_code"}}},"OAuthGrantTypeTokenToToken":{"type":"object","required":["grant_type","access_token"],"properties":{"grant_type":{"type":"string","enum":["token_to_token"]},"access_token":{"type":"string"}}},"Scope":{"type":"string","enum":["openid","offline_access","basic_profile","friends_list","friends_management","presence","library","country","relevant_cosmetics","email"]},"Version":{"type":"object","required":["app","serverDate","overridePropertiesVersion","cln","build","moduleName","buildDate","version","branch","modules"],"properties":{"app":{"type":"string"},"serverDate":{"type":"string","format":"date-time"},"overridePropertiesVersion":{"type":"string"},"cln":{"type":"string"},"build":{"type":"string"},"moduleName":{"type":"string"},"buildDate":{"type":"string","format":"date-time"},"version":{"type":"string"},"branch":{"type":"string"},"modules":{"type":"object","additionalProperties":{"type":"object","required":["cln","build","buildDate","version","branch"],"properties":{"cln":{"type":"string"},"build":{"type":"string"},"buildDate":{"type":"string","format":"date-time"},"version":{"type":"string"},"branch":{"type":"string"}}}}}},"OAuthGrantTypeDeviceAuth":{"type":"object","required":["grant_type","account_id","device_id","secret"],"properties":{"grant_type":{"type":"string","enum":["device_auth"]},"account_id":{"$ref":"#/components/schemas/AccountID"},"device_id":{"$ref":"#/components/schemas/CreatedDeviceAuth/properties/deviceId"},"secret":{"$ref":"#/components/schemas/CreatedDeviceAuth/properties/secret"}}},"OAuthGrantTypeAuthorizationCode":{"type":"object","required":["grant_type","code"],"properties":{"grant_type":{"type":"string","enum":["authorization_code"]},"code":{"type":"string","pattern":"^[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}$"}}},"OAuthGrantTypeExchangeCode":{"type":"object","required":["grant_type","exchange_code"],"properties":{"grant_type":{"type":"string","enum":["exchange_code"]},"exchange_code":{"type":"string","pattern":"^[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}$"}}},"OAuthGrantTypeContinuationToken":{"type":"object","required":["grant_type","continuation_token"],"properties":{"grant_type":{"type":"string","enum":["continuation_token"]},"continuation_token":{"type":"string","pattern":"^[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}$"}}},"TFAChallenge":{"type":"string","contentEncoding":"base64","pattern":"^([0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15})\\.([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\\.(email|authenticator|sms|epicapp)$"},"CreatedDeviceAuth":{"type":"object","required":["deviceId","accountId","secret","created"],"properties":{"deviceId":{"type":"string","pattern":"^[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}$"},"accountId":{"$ref":"#/components/schemas/AccountID"},"secret":{"type":"string","pattern":"^[0-9A-Z]{32}$"},"userAgent":{"type":"string"},"created":{"type":"object","properties":{"location":{"type":"string"},"ipAddress":{"type":"string"},"dateTime":{"type":"string","format":"date-time"}}}}},"GuardianChallenge":{"type":"object","required":["id","guardianEmail","createdAt","lastNotification","completed"],"properties":{"id":{"type":"string","pattern":"^[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}$"},"guardianEmail":{"type":"string","format":"email"},"createdAt":{"type":"string","format":"date-time"},"lastNotification":{"type":"object","required":["sentAt","canResendAt"],"properties":{"sentAt":{"type":"string","format":"date-time"},"canResendAt":{"type":"string","format":"date-time"}}},"completed":{"type":"boolean"}}},"AccountInfo":{"type":"object","required":["id"],"properties":{"id":{"$ref":"#/components/schemas/AccountID"},"displayName":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"failedLoginAttempts":{"type":"integer"},"lastLogin":{"type":"string","format":"date-time"},"numberOfDisplayNameChanges":{"type":"integer"},"dateOfBirth":{"type":"string","format":"date"},"age":{"type":"integer"},"ageGroup":{"type":"string","examples":["UNKNOWN","MINOR","ADULT"]},"headless":{"type":"boolean"},"country":{"type":"string"},"lastName":{"type":"string"},"suffix":{"type":"string"},"phoneNumber":{"type":"string"},"company":{"type":"string"},"preferredLanguage":{"type":"string"},"links":{"$ref":"#/components/schemas/AccountLinks"},"lastDisplayNameChange":{"type":"string","format":"date-time"},"canUpdateDisplayName":{"type":"boolean"},"tfaEnabled":{"type":"boolean"},"emailVerified":{"type":"boolean"},"minorVerified":{"type":"boolean"},"minorExpected":{"type":"boolean"},"minorStatus":{"type":"string","examples":["NOT_MINOR"]},"siweNotificationEnabled":{"type":"boolean"},"guardianChallengeTimestamp":{"type":"string","format":"date-time"},"cabinedMode":{"type":"boolean"},"hasHashedEmail":{"type":"boolean"},"lastReviewedSecuritySettings":{"type":"string","format":"date-time"},"lastDeclinedMFASetup":{"type":"string","format":"date-time"},"lastReviewedLinkConsole":{"type":"string","format":"date-time"}}},"ACRType":{"type":"string","enum":["urn:epic:loa:aal1","urn:epic:loa:aal2"]},"PublicAccount":{"type":"object","required":["id","links","externalAuths"],"properties":{"id":{"$ref":"#/components/schemas/AccountID"},"links":{"$ref":"#/components/schemas/AccountLinks"},"externalAuths":{"type":"object"}}},"PlatformToken":{"type":"object","required":["accessToken","expiresIn","expiresAt"],"properties":{"accessToken":{"type":"string","pattern":"^ep1~[0-9A-Za-z_-]+\\.[0-9A-Za-z_-]+\\.[0-9A-Za-z_-]+$"},"expiresIn":{"type":"integer","examples":[3598]},"expiresAt":{"type":"string","format":"date-time"}}},"PublicAccounts":{"type":"array","items":{"type":"object","required":["id","externalAuths"],"properties":{"id":{"$ref":"#/components/schemas/AccountID"},"displayName":{"type":"string"},"links":{"$ref":"#/components/schemas/AccountLinks"},"minorVerified":{"type":"boolean"},"minorStatus":{"$ref":"#/components/schemas/AccountInfo/properties/minorStatus"},"cabinedMode":{"type":"boolean"},"lastReviewedSecuritySettings":{"type":"string","format":"date-time"},"lastDeclinedMFASetup":{"type":"string","format":"date-time"},"lastReviewedLinkConsole":{"type":"string","format":"date-time"},"externalAuths":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ExternalAuth"}}}}},"DeviceAuth":{"type":"object","required":["deviceId","accountId","created"],"properties":{"deviceId":{"type":"string","pattern":"^[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}$"},"accountId":{"$ref":"#/components/schemas/AccountID"},"userAgent":{"type":"string"},"created":{"type":"object","required":["location","ipAddress","dateTime"],"properties":{"location":{"type":"string"},"ipAddress":{"type":"string"},"dateTime":{"type":"string","format":"date-time"}}},"lastAccess":{"type":"object","required":["location","ipAddress","dateTime"],"properties":{"location":{"type":"string"},"ipAddress":{"type":"string"},"dateTime":{"type":"string","format":"date-time"}}}}},"OAuthToken":{"type":"object","required":["access_token","expires_in","expires_at","token_type","client_id","internal_client","client_service"],"properties":{"access_token":{"type":"string"},"expires_in":{"type":"integer"},"expires_at":{"type":"string","format":"date-time"},"token_type":{"type":"string","enum":["bearer"]},"refresh_token":{"type":"string"},"refresh_expires":{"type":"integer"},"refresh_expires_at":{"type":"string","format":"date-time"},"account_id":{"$ref":"#/components/schemas/AccountID"},"client_id":{"$ref":"#/components/schemas/ClientID"},"internal_client":{"type":"boolean"},"client_service":{"type":"string","examples":["launcher"]},"displayName":{"type":"string"},"ext_auth_id":{"type":"string"},"ext_auth_type":{"type":"string"},"ext_auth_method":{"type":"string"},"app":{"type":"string","examples":["launcher"]},"in_app_id":{"$ref":"#/components/schemas/AccountID"},"product_id":{"type":"string"},"sandbox_id":{"type":"string"},"deployment_id":{"type":"string","pattern":"^[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}$"},"application_id":{"$ref":"#/components/schemas/ApplicationID"},"country":{"type":"string","examples":["US"]},"acr":{"$ref":"#/components/schemas/ACRType"},"auth_time":{"type":"string","format":"date-time"},"perms":{"type":"array","items":{"$ref":"#/components/schemas/Permission"}}}},"ApplicationID":{"type":"string","pattern":"^fghi4567[0-9a-zA-Z]{24}$","examples":["fghi4567FNFBKFz3E4TROb0bmPS8h1GW"]},"Permission":{"type":"object","required":["resource","action"],"properties":{"resource":{"type":"string"},"action":{"type":"integer","description":"Flags Enum:\n\n- 0 = NONE\n- 1 = CREATE\n- 2 = READ\n- 4 = UPDATE\n- 8 = DELETE\n- 16 = DENY\n","min":0,"max":16}},"examples":[{"resource":"account:public:account","action":2}]},"ExternalAuth":{"type":"object","required":["accountId","type","externalAuthId","externalAuthIdType","authIds"],"properties":{"accountId":{"$ref":"#/components/schemas/AccountID"},"type":{"type":"string"},"externalAuthId":{"type":"string"},"externalAuthIdType":{"type":"string"},"externalAuthSecondaryId":{"type":"string"},"externalDisplayName":{"type":"string"},"avatar":{"type":"string","description":"For steam, this is the avatar hash"},"authIds":{"type":"array","items":{"type":"object","required":["id","type"],"properties":{"id":{"type":"string"},"type":{"type":"string"}}}}}},"TFAMethod":{"type":"string","enum":["email","authenticator","sms","epicapp"]},"AccountLinks":{"type":"object","properties":{"youtube":{"type":"string","pattern":"^(channel\\/|user\\/)[a-zA-Z0-9_]{1,100}$","examples":["user/Jaren8r"]},"twitch":{"type":"string","pattern":"^[a-zA-Z0-9]{1}[a-zA-Z0-9_]{3,24}$","examples":["The1Jaren"]}}}},"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"},"basic":{"type":"http","scheme":"basic"}}},"servers":[{"url":"https://account-public-service-prod03.ol.epicgames.com/account/api"}]}