{"openapi":"3.1.0","info":{"title":"Links Service","version":"1.0.0"},"paths":{"/version":{"get":{"tags":["Version"],"summary":"Get the current version","responses":{"200":{"description":"Version info","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"}}}}}}},"/{namespace}/author/{accountId}":{"get":{"tags":["Author"],"summary":"Get author mnemonics","parameters":[{"in":"path","name":"namespace","schema":{"type":"string"},"required":true,"description":"A namespace"},{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"An author account id"}],"responses":{"200":{"description":"Author mnemonics","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MnemonicInfo"}}}}}},"description":"**Permission Required**: [`links:{namespace}:{accountId} READ`](https://egs.jaren.wtf/#resource=links:{namespace}:{accountId}&action=2)","security":[{"bearer":["links:{namespace}:{accountId} READ"]}]},"post":{"tags":["Author"],"summary":"Create a mnemonic for the author","parameters":[{"in":"path","name":"namespace","schema":{"type":"string"},"required":true,"description":"A namespace"},{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"An author account id"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMnemonicRequest"}}}},"responses":{"200":{"description":"Created mnemonic","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MnemonicInfo"}}}}},"description":"**Permission Required**: [`links:{namespace}:{accountId} CREATE`](https://egs.jaren.wtf/#resource=links:{namespace}:{accountId}&action=1)","security":[{"bearer":["links:{namespace}:{accountId} CREATE"]}]}},"/{namespace}/author/{accountId}/bulk":{"post":{"tags":["Author"],"summary":"Bulk create mnemonics for the author","parameters":[{"in":"path","name":"namespace","schema":{"type":"string"},"required":true,"description":"A namespace"},{"in":"path","name":"accountId","schema":{"$ref":"#/components/schemas/AccountID"},"required":true,"description":"An author account id"}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CreateMnemonicRequest"}}}}},"responses":{"200":{"description":"Created mnemonics","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MnemonicInfo"}}}}}},"description":"**Permission Required**: [`links:{namespace}:privileged_only CREATE`](https://egs.jaren.wtf/#resource=links:{namespace}:privileged_only&action=1)","security":[{"bearer":["links:{namespace}:privileged_only CREATE"]}]}},"/{namespace}/mnemonic":{"post":{"tags":["Mnemonic"],"summary":"Bulk get mnemonic info","parameters":[{"in":"path","name":"namespace","schema":{"type":"string"},"required":true,"description":"A namespace"}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["mnemonic"],"properties":{"mnemonic":{"$ref":"#/components/schemas/LinkMnemonic"},"v":{"type":"integer","description":"The version of the mnemonic queried","examples":[1]},"type":{"$ref":"#/components/schemas/LinkType","description":"The link type queried"},"filter":{"type":"boolean","description":"Unknown what this parameter does"}}}}}}},"responses":{"200":{"description":"Mnemonic","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MnemonicInfo"}}}}}},"description":"**Permission Required**: [`links:{namespace} READ`](https://egs.jaren.wtf/#resource=links:{namespace}&action=2)","security":[{"bearer":["links:{namespace} READ"]}]}},"/{namespace}/mnemonic/{mnemonic}":{"get":{"tags":["Mnemonic"],"summary":"Get mnemonic info","parameters":[{"in":"path","name":"namespace","schema":{"type":"string"},"required":true,"description":"A namespace"},{"in":"path","name":"mnemonic","schema":{"$ref":"#/components/schemas/LinkMnemonic"},"required":true,"description":"Mnemonic"},{"in":"query","name":"type","schema":{"type":"string"},"required":false,"description":"The link type queried"},{"in":"query","name":"v","schema":{"type":"integer"},"required":false,"description":"The version of the mnemonic queried"},{"in":"query","name":"includeActivationHistory","schema":{"type":"boolean"},"required":false,"description":"If the request should include Activiation History"}],"responses":{"200":{"description":"Mnemonic info","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MnemonicInfo"}}}}},"description":"**Permission Required**: [`links:{namespace} READ`](https://egs.jaren.wtf/#resource=links:{namespace}&action=2)","security":[{"bearer":["links:{namespace} READ"]}]}},"/{namespace}/mnemonic/{mnemonic}/all":{"get":{"tags":["Mnemonic"],"summary":"Get all mnemonic versions including their info","parameters":[{"in":"path","name":"namespace","schema":{"type":"string"},"required":true,"description":"A namespace"},{"in":"path","name":"mnemonic","schema":{"$ref":"#/components/schemas/LinkMnemonic"},"required":true,"description":"Mnemonic"}],"responses":{"200":{"description":"Mnemonic Versions including their info","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MnemonicInfo"}}}}}},"description":"**Permission Required**: [`links:{namespace} READ`](https://egs.jaren.wtf/#resource=links:{namespace}&action=2)","security":[{"bearer":["links:{namespace} READ"]}]}},"/{namespace}/mnemonic/{mnemonic}/related":{"get":{"tags":["Mnemonic"],"summary":"Get related mnemonic infos","parameters":[{"in":"path","name":"namespace","schema":{"type":"string"},"required":true,"description":"A namespace"},{"in":"path","name":"mnemonic","schema":{"$ref":"#/components/schemas/LinkMnemonic"},"required":true,"description":"Mnemonic"},{"in":"query","name":"v","schema":{"type":"integer"},"required":false,"description":"The version of the mnemonic queried"}],"responses":{"200":{"description":"Related mnemonics","content":{"application/json":{"schema":{"type":"object","properties":{"parentLinks":{"type":"array","items":{"$ref":"#/components/schemas/MnemonicInfo"}},"links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/MnemonicInfo"}}}}}}}},"description":"**Permission Required**: [`links:{namespace} READ`](https://egs.jaren.wtf/#resource=links:{namespace}&action=2)","security":[{"bearer":["links:{namespace} READ"]}]}}},"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"}}}}}},"MnemonicInfo":{"type":"object","required":["namespace","accountId","creatorName","mnemonic","linkType","version","active","disabled","created","published","descriptionTags","moderationStatus","discoveryIntent"],"properties":{"namespace":{"type":"string","examples":["fn"]},"accountId":{"oneOf":[{"type":"string","examples":["epic"]},{"$ref":"#/components/schemas/AccountID"}]},"creatorName":{"type":"string","examples":["epic"]},"mnemonic":{"$ref":"#/components/schemas/LinkMnemonic"},"linkType":{"$ref":"#/components/schemas/LinkType"},"metadata":{"type":"object"},"version":{"type":"integer","examples":[1]},"active":{"type":"boolean","description":"if the version queried is the latest"},"disabled":{"type":"boolean"},"created":{"type":"string","format":"date-time"},"published":{"type":"string","format":"date-time"},"descriptionTags":{"type":"array","items":{"type":"string","description":"description tags for the link","examples":["pvp"]}},"moderationStatus":{"$ref":"#/components/schemas/ModerationStatus"},"lastActivationDate":{"type":"string","format":"date-time"},"discoveryIntent":{"$ref":"#/components/schemas/DiscoveryIntent"},"activationHistory":{"type":"array","items":{"$ref":"#/components/schemas/ActivationHistory"}},"linkCategory":{"type":"string","examples":["LEGO"]},"linkState":{"type":"string","examples":["ACTIVE"]}}},"LinkType":{"type":"string","examples":["valkyrie:application","Creative:Island","BR:Playlist","ModeSet"]},"ActivationHistory":{"type":"object","required":["mnemonic","version","activated"],"properties":{"mnemonic":{"$ref":"#/components/schemas/LinkMnemonic"},"version":{"type":"integer"},"activated":{"type":"string","format":"date-time"}}},"CreateMnemonicRequest":{"type":"object","required":["creatorName","linkType","metadata"],"properties":{"creatorName":{"type":"string"},"linkType":{"$ref":"#/components/schemas/LinkType"},"metadata":{"type":"object"},"descriptionTags":{"type":"array","items":{"type":"string"}},"discoveryIntent":{"$ref":"#/components/schemas/DiscoveryIntent"}}},"ModerationStatus":{"type":"string","enum":["Unmoderated","Approved","Denied"]},"DiscoveryIntent":{"type":"string","enum":["PUBLIC","PRIVATE"]},"LinkMnemonic":{"type":"string","examples":["1111-1111-1111","set_br_playlists","playlist_defaultsolo"]}},"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"servers":[{"url":"https://links-public-service-live.ol.epicgames.com/links/api"}]}