{"openapi":"3.1.0","info":{"title":"Presence Service","version":"1.0.0"},"paths":{"/v1/_/{accountId}/presence":{"get":{"tags":["Presence"],"summary":"Read your own presence connections","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"An account id"}],"responses":{},"description":"**Permission Required**: [`presence:_:{accountId} READ`](https://egs.jaren.wtf/#resource=presence:_:{accountId}&action=2)","security":[{"bearer":["presence:_:{accountId} READ"]}]}},"/v1/_/{accountId}/presence/{connectionId}":{"patch":{"tags":["Presence"],"summary":"Update your presence  of the specified connection","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"An account id"},{"in":"path","name":"connectionId","schema":{"type":"string"},"required":true,"description":"A connection id (xmpp / eos connect)"}],"responses":{"200":{"description":"Account presences","content":{"application/json":{"examples":{"Presence Update Response":{"description":"Presence update response","value":{"own":{"accountId":"94b1569506b04f9f8557af611e8c5e47","status":"online","perNs":[{"status":"online","activity":{"value":"Lobby - 1 / 16"},"ns":"Fortnite","props":{"X_NonEOS_ProductName":"Fortnite"},"conns":[{"id":"V2:Fortnite:WIN::C08325DA4C406A8BBBFCA19FB3CE6694","props":{}}]},{"productId":"prod-fn","appId":"fghi4567FNFBKFz3E4TROb0bmPS8h1GW","status":"online","activity":{"value":""},"ns":"62a9473a2dca46b29ccf17577fcf42d7","props":{"EOS_ProductVersion":"++Fortnite+Release-29.01-CL-32291970","EOS_Platform":"WIN","EOS_IntegratedPlatform":"EGS","EOS_ProductName":"Fortnite","EOS_Lobby":"{\"version\":3}","EOS_OnlinePlatformType":"100","EOS_Session":"{\"version\":3}"},"conns":[{"id":"0242acfffe110005-00000001-1146cc9d-deccdc9da4a889b5-b60167cb","props":{}}]}]}}}},"schema":{"type":"object","required":["own","props"],"properties":{"own":{"type":"object","required":["accountId","status","perNs"],"properties":{"accountId":{"$ref":"#/components/schemas/AccountID"},"status":{"$ref":"#/components/schemas/PresenceStatus"},"perNs":{"type":"array","items":{"type":"object","required":["status","activity","ns","props","cons"],"properties":{"productId":{"type":"string"},"appId":{"type":"string"},"status":{"$ref":"#/components/schemas/PresenceStatus"},"activity":{"type":"object","required":["value"],"properties":{"value":{"type":"string"}}},"ns":{"type":"string"},"props":{"type":"object","additionalProperties":{"type":"string"}},"conns":{"type":"array","items":{"type":"object","required":["id","props"],"properties":{"id":{"type":"string"},"props":{"type":"object","additionalProperties":{"type":"string"}}}}}}}}}}}}}}}},"description":"**Permission Required**: [`presence:_:{accountId} UPDATE`](https://egs.jaren.wtf/#resource=presence:_:{accountId}&action=4)","security":[{"bearer":["presence:_:{accountId} UPDATE"]}]},"delete":{"tags":["Presence"],"summary":"Remove the specified connection from your presence","parameters":[{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"An account id"},{"in":"path","name":"connectionId","schema":{"type":"string"},"required":true,"description":"A connection id (xmpp / eos connect)"}],"responses":{},"description":"**Permission Required**: [`presence:_:{accountId} DELETE`](https://egs.jaren.wtf/#resource=presence:_:{accountId}&action=8)","security":[{"bearer":["presence:_:{accountId} DELETE"]}]}},"/v1/{namespace}/shared/presence/batch":{"get":{"tags":["Presence"],"summary":"Bulk read presence from accounts","parameters":[{"in":"path","name":"namespace","schema":{"type":"string","examples":["Fortnite"]},"required":true,"description":"A namespace"},{"in":"query","name":"game","schema":{"type":"string","examples":["fn"]},"required":true,"description":"A game id"},{"in":"query","name":"acc","schema":{"type":"array","items":{"$ref":"#/components/schemas/AccountID"}},"required":true,"description":"Account ids"}],"responses":{"200":{"description":"Bulk presence data","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array"}}}}}}},"description":"**Permission Required**: [`presence:{namespace}:{game}:batch READ`](https://egs.jaren.wtf/#resource=presence:{namespace}:{game}:batch&action=2)","security":[{"bearer":["presence:{namespace}:{game}:batch READ"]}]}},"/v1/{namespace}/{accountId}/last-online":{"get":{"tags":["Presence"],"summary":"Get the last online times for your friends","operationId":"getLastOnlineSummary","parameters":[{"in":"path","name":"namespace","schema":{"type":"string","default":"_"},"required":true,"description":"A namespace"},{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"An account id"},{"in":"query","name":"circle","schema":{"type":"string"},"description":"Unknown value"}],"responses":{"200":{"description":"Friends last online times","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","required":["last_online"],"properties":{"namespace":{"type":"string","description":"The namespace, only provided if namespace is not `_`"},"last_online":{"type":"string","format":"date-time"}}}}},"examples":{"With Default Namespace":{"value":{"3ef0189beb0e417da459b55dbb92e9aa":[{"last_online":"2025-09-10T22:17:01.501Z"}],"e66a9759664a416bb1bbb7ab28b3fae9":[{"last_online":"2025-09-10T22:41:02.529Z"}]}},"With Non Default Namespace":{"value":{"3ef0189beb0e417da459b55dbb92e9aa":[{"namespace":"_","last_online":"2025-09-10T22:17:01.501Z"}],"e66a9759664a416bb1bbb7ab28b3fae9":[{"namespace":"_","last_online":"2025-09-10T22:41:02.529Z"}]}}}}}}},"description":"**Permission Required**: [`presence:{namespace}:{accountId}:lastOnline READ`](https://egs.jaren.wtf/#resource=presence:{namespace}:{accountId}:lastOnline&action=2)","security":[{"bearer":["presence:{namespace}:{accountId}:lastOnline READ"]}]}},"/version":{"get":{"tags":["Version"],"summary":"Get the current version","responses":{"200":{"description":"Version info","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"}}}}}}}},"components":{"schemas":{"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"},"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"}}}}}},"PresenceStatus":{"type":"string","enum":["online","away","dnd","xa"]}},"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"servers":[{"url":"https://presence-public-service-prod.ol.epicgames.com/presence/api"}]}