{"openapi":"3.1.0","info":{"title":"Fortnite Discovery Service","version":"1.0.0"},"paths":{"/v1/creator/page/{creatorAccountId}":{"get":{"tags":["Creator"],"summary":"Get published links for a creator","parameters":[{"in":"path","name":"creatorAccountId","schema":{"type":"string"},"required":true,"description":"The creator id, ex. `epic` or the creator account id"},{"in":"query","name":"playerId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"Your own account id"},{"in":"query","name":"limit","schema":{"type":"integer"},"description":"Pagination page size"},{"in":"query","name":"olderThan","schema":{"type":"string","format":"date-time"},"description":"Pagination page cursor"}],"responses":{"200":{"description":"Creators published link codes","content":{"application/json":{"schema":{"type":"object","properties":{"creatorId":{"type":"string"},"links":{"type":"array","items":{"type":"object","required":["linkCode","isFavorite","globalCCU","lockStatus","lockStatusReason","isVisible"],"properties":{"linkCode":{"type":"string","examples":["set_br_playlists"]},"lastActivatedDate":{"type":"string","format":"date-time"},"isFavorite":{"type":"boolean"},"globalCCU":{"type":"integer","default":-1},"lockStatus":{"$ref":"#/components/schemas/DiscoveryLockStatus"},"lockStatusReason":{"$ref":"#/components/schemas/DiscoveryLockStatusReason"},"isVisible":{"type":"boolean"}}}},"hasMore":{"type":"boolean"}}}}}}},"description":"**Permission Required**: [`discovery:{accountId}:creator:page READ`](https://egs.jaren.wtf/#resource=discovery:{accountId}:creator:page&action=2)","security":[{"bearer":["discovery:{accountId}:creator:page READ"]}]}},"/v2/discovery/link-entries":{"post":{"tags":["Discovery"],"summary":"Query discovery link entries","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscoveryLinkEntriesRequest"}}}},"responses":{"200":{"description":"Discovery link entries","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/DiscoveryLinkEntry"}}}}}},"description":"**Permission Required**: [`discovery:surface:query READ`](https://egs.jaren.wtf/#resource=discovery:surface:query&action=2)","security":[{"bearer":["discovery:surface:query READ"]}]}},"/v2/discovery/surface/{surfaceName}":{"post":{"tags":["Discovery"],"summary":"Query a discovery surface","parameters":[{"in":"path","name":"surfaceName","schema":{"$ref":"#/components/schemas/DiscoverySurfaceName"},"required":true,"description":"A surface name"},{"in":"query","name":"appId","schema":{"type":"string","default":"Fortnite"},"required":true,"description":"An app id"},{"in":"query","name":"stream","schema":{"type":"string","examples":["++Fortnite+Release-37.50"]},"required":true,"description":"A branch name"},{"in":"query","name":"label","schema":{"type":"string"},"required":false,"description":"Unknown value, just errors if used"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscoverySurfaceV2Request"}}}},"responses":{"200":{"description":"Discovery surface content","content":{"application/json":{"schema":{"type":"object","properties":{"testVariantName":{"type":"string"},"testName":{"type":"string"},"testAnalyticsId":{"type":"string"},"testVariantAnalyticsId":{"type":"string"},"panels":{"type":"array","items":{"type":"object","properties":{"panelName":{"type":"string"},"panelNativeDisplayName":{"type":"string"},"panelDisplayName":{"type":"string"},"panelSubtitle":{"type":"string"},"featureTags":{"type":"array","items":{"type":"string"}},"firstPage":{"$ref":"#/components/schemas/DiscoverySurfacePage"},"panelType":{"type":"string","examples":["CuratedList","PlayHistory","AnalyticsList","PlayerFeed","RecommendationService"]},"playHistoryType":{"type":"string","examples":["Favorites","RecentlyPlayed"]},"panelContexts":{"type":"object","additionalProperties":true}}}},"surfaceContexts":{"type":"object","additionalProperties":true}}}}}}},"description":"**Permission Required**: [`discovery:{accountId}:surface:query READ`](https://egs.jaren.wtf/#resource=discovery:{accountId}:surface:query&action=2)","security":[{"bearer":["discovery:{accountId}:surface:query READ"]}]}},"/v2/discovery/surface/{surfaceName}/config":{"get":{"tags":["Discovery"],"summary":"Query discovery surface config","parameters":[{"in":"path","name":"surfaceName","schema":{"$ref":"#/components/schemas/DiscoverySurfaceName"},"required":true,"description":"A surface name"}],"responses":{},"description":"**Permission Required**: [`discovery:surface:config READ`](https://egs.jaren.wtf/#resource=discovery:surface:config&action=2)","security":[{"bearer":["discovery:surface:config READ"]}]},"put":{"tags":["Discovery"],"summary":"Update discovery surface config","parameters":[{"in":"path","name":"surfaceName","schema":{"$ref":"#/components/schemas/DiscoverySurfaceName"},"required":true,"description":"A surface name"}],"responses":{},"description":"**Permission Required**: [`discovery:surface:config UPDATE`](https://egs.jaren.wtf/#resource=discovery:surface:config&action=4)","security":[{"bearer":["discovery:surface:config UPDATE"]}]},"delete":{"tags":["Discovery"],"summary":"Delete discovery surface config","parameters":[{"in":"path","name":"surfaceName","schema":{"$ref":"#/components/schemas/DiscoverySurfaceName"},"required":true,"description":"A surface name"}],"responses":{},"description":"**Permission Required**: [`discovery:surface:config DELETE`](https://egs.jaren.wtf/#resource=discovery:surface:config&action=8)","security":[{"bearer":["discovery:surface:config DELETE"]}]}},"/v2/discovery/surface/{surfaceName}/page":{"post":{"tags":["Discovery"],"summary":"Query a discovery surface page","parameters":[{"in":"path","name":"surfaceName","schema":{"$ref":"#/components/schemas/DiscoverySurfaceName"},"required":true,"description":"A surface name"},{"in":"query","name":"appId","schema":{"type":"string","default":"Fortnite"},"required":true,"description":"An app id"},{"in":"query","name":"stream","schema":{"type":"string","examples":["++Fortnite+Release-37.50"]},"required":true,"description":"A branch name"},{"in":"query","name":"label","schema":{"type":"string"},"required":false,"description":"Unknown value, just errors if used"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscoverySurfacePageV2Request"}}}},"responses":{"200":{"description":"Discovery surface page content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscoverySurfacePage"}}}}},"description":"**Permission Required**: [`discovery:{accountId}:surface:query READ`](https://egs.jaren.wtf/#resource=discovery:{accountId}:surface:query&action=2)","security":[{"bearer":["discovery:{accountId}:surface:query 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"}}}}}},"DiscoverySurfacePageV2Request":{"type":"object","required":["testVariantName","panelName"],"properties":{"testVariantName":{"type":"string"},"panelName":{"type":"string"},"pageIndex":{"type":"integer"},"playerId":{"$ref":"#/components/schemas/AccountID"},"partyMemberIds":{"type":"array","items":{"$ref":"#/components/schemas/AccountID"}},"locale":{"type":"string","examples":["en"]},"matchmakingRegion":{"type":"string","examples":["EU"]},"platform":{"type":"string","examples":["Windows"]},"isCabined":{"type":"string"},"ratingAuthority":{"type":"string","examples":["USK"]},"rating":{"type":"string","examples":["USK_AGE_12"]},"pagePlayerId":{"type":"string","description":"Used for player surfaces"}}},"DiscoveryLinkEntriesRequest":{"type":"object","required":["linkCodes"],"properties":{"linkCodes":{"type":"array","items":{"type":"string","examples":["set_br_playlists","6608-3568-6843"]}}}},"DiscoveryLinkEntry":{"type":"object","required":["linkCode","isFavorite","globalCCU","lockStatus","lockStatusReason","isVisible"],"properties":{"lastVisited":{"type":"string","format":"date-time"},"linkCode":{"type":"string","examples":["set_br_playlists"]},"isFavorite":{"type":"boolean"},"globalCCU":{"type":"integer","default":-1},"lockStatus":{"$ref":"#/components/schemas/DiscoveryLockStatus"},"lockStatusReason":{"$ref":"#/components/schemas/DiscoveryLockStatusReason"},"isVisible":{"type":"boolean"},"favoriteStatus":{"$ref":"#/components/schemas/DiscoveryFavoriteStatus"}}},"DiscoveryFavoriteStatus":{"type":"string","enum":["NONE","EXPERIENCE"]},"DiscoverySurfaceName":{"type":"string","examples":["CreativeDiscoverySurface_Frontend"]},"DiscoverySurfacePage":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/DiscoveryLinkEntry"}},"hasMore":{"type":"boolean"},"panelTargetName":{"type":"string"},"pageMarker":{"type":"string"},"panelContexts":{"type":"object","additionalProperties":true}}},"DiscoveryLockStatus":{"type":"string","enum":["UNLOCKED","LOCKED"]},"DiscoverySurfaceV2Request":{"type":"object","properties":{"playerId":{"$ref":"#/components/schemas/AccountID"},"partyMemberIds":{"type":"array","items":{"$ref":"#/components/schemas/AccountID"}},"locale":{"type":"string","examples":["en"]},"matchmakingRegion":{"type":"string","examples":["EU"]},"platform":{"type":"string","examples":["Windows"]},"isCabined":{"type":"string"},"ratingAuthority":{"type":"string","examples":["USK"]},"rating":{"type":"string","examples":["USK_AGE_12"]},"pagePlayerId":{"type":"string","description":"Used for player surfaces"}}},"DiscoveryLockStatusReason":{"type":"string","enum":["RATING_THRESHOLD","UNRATED"]}},"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"servers":[{"url":"https://fn-service-discovery-live-public.ogs.live.on.epicgames.com/api"},{"url":"https://fn-service-discovery-prod-public.ogs.dev.on.epicgames.com/api"},{"url":"https://fn-service-discovery-loadtest-public.ogs.dev.on.epicgames.com/api"}]}