{"openapi":"3.1.0","info":{"title":"Localization Service","description":"A RESTful API for string localization.","version":"1.0.0"},"paths":{"/v1/content/{namespace}/{documentId}/{versionTag}":{"get":{"tags":["Content"],"summary":"Retrieve an existing content document.","operationId":"getContentDocument","parameters":[{"name":"namespace","in":"path","required":true,"schema":{"type":"string"}},{"name":"documentId","in":"path","required":true,"schema":{"type":"string"}},{"name":"versionTag","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetContentDocumentResponse"},"examples":{"Existing Single String Document With Three Translations":{"description":"Existing Single String Document With Three Translations","value":{"id":"b7295300-8d9f-4f85-a590-49193125ae56","version":1,"sourceLang":"en","clonedFrom":"aaa-bbb-ccc","strings":{"436974f6-736e-42d8-a7c5-aebac8a6b881":{"devName":"Deckard Cain Greeting","translations":{"en":"Stay awhile and listen...","en-AU":"Stay awhile 'n listen too right, mate.","es":"Quédate un momento y escucha..."}}}}}}}}},"404":{"description":"document doesn't exist."}},"description":"**Permission Required**: [`localization:namespace:{namespace} READ`](https://egs.jaren.wtf/#resource=localization:namespace:{namespace}&action=2)","security":[{"bearer":["localization:namespace:{namespace} READ"]}]}},"/v1/content/{namespace}/{documentId}/{versionTag}/{languageTag}":{"get":{"tags":["Content"],"summary":"Retrieve translations for an existing content document.","operationId":"getContentTranslation","parameters":[{"name":"namespace","in":"path","required":true,"schema":{"type":"string"}},{"name":"documentId","in":"path","required":true,"schema":{"type":"string"}},{"name":"versionTag","in":"path","required":true,"schema":{"type":"string"}},{"name":"languageTag","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"ok.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetContentTranslationResponse"},"examples":{"Spanish Translations For An Existing Single String Document":{"description":"Spanish Translations For An Existing Single String Document","value":{"id":"b7295300-8d9f-4f85-a590-49193125ae56","lang":"en","version":1,"strings":{"436974f6-736e-42d8-a7c5-aebac8a6b881":"Quédate un momento y escucha..."}}}}}}},"404":{"description":"document doesn't exist."}},"description":"**Permission Required**: [`localization:namespace:{namespace} READ`](https://egs.jaren.wtf/#resource=localization:namespace:{namespace}&action=2)","security":[{"bearer":["localization:namespace:{namespace} READ"]}]}},"/v1/content/{namespace}/{documentId}/{version}":{"post":{"tags":["Content"],"summary":"Create a new content document.","operationId":"postContentDocument","parameters":[{"name":"namespace","in":"path","required":true,"schema":{"type":"string"}},{"name":"documentId","in":"path","required":true,"schema":{"type":"string"}},{"name":"version","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostContentDocumentRequest"},"examples":{"New Single String Document With Three Translations":{"description":"New Single String Document With Three Translations","value":{"owner":"d741061ca58b4876b726b9f522f3c52d","sourceLang":"en","strings":{"436974f6-736e-42d8-a7c5-aebac8a6b881":{"devName":"Deckard Cain Greeting","translations":{"en":"Stay awhile and listen...","en-AU":"Stay awhile 'n listen too right, mate.","es":"Quédate un momento y escucha..."}}}}}}}}},"responses":{"201":{"description":"document created."},"400":{"description":"validation failed (bad request)."},"409":{"description":"document already exists."}},"description":"**Permission Required**: [`localization:namespace:{namespace} CREATE`](https://egs.jaren.wtf/#resource=localization:namespace:{namespace}&action=1)","security":[{"bearer":["localization:namespace:{namespace} CREATE"]}]}},"/version":{"get":{"tags":["Version"],"summary":"Get the current version","responses":{"200":{"description":"Version info","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"}}}}}}}},"components":{"schemas":{"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"}}}}}},"GetContentTranslationResponse":{"type":"object","properties":{"id":{"type":"string"},"lang":{"type":"string"},"version":{"type":"integer","format":"int32"},"translations":{"type":"object","additionalProperties":{"type":"string"}}}},"GetContentDocumentResponse":{"type":"object","properties":{"id":{"type":"string"},"version":{"type":"integer","format":"int32"},"latestVersion":{"type":"integer","format":"int32"},"sourceLang":{"type":"string"},"clonedFrom":{"type":"string"},"strings":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Polyglot"}}}},"PostContentDocumentRequest":{"type":"object","properties":{"owner":{"type":"string"},"sourceLang":{"type":"string"},"strings":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Polyglot"}}}},"Polyglot":{"type":"object","properties":{"devName":{"type":"string"},"translations":{"type":"object","additionalProperties":{"type":"string"}}}}},"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"servers":[{"url":"https://localization-public-service-live.ol.epicgames.com/localization/api"}]}