{"openapi":"3.1.0","info":{"title":"EcommerceIntegration Service","version":"1.0.0"},"paths":{"/public/affiliates/slugs/{slug}":{"get":{"tags":["Affiliates - Public"],"summary":"Get affiliate information by affiliate slug","parameters":[{"in":"path","name":"slug","schema":{"type":"string"},"required":true,"description":"An affiliate slug"}],"responses":{"200":{"description":"Affiliate info","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/AccountID"},"slug":{"type":"string","examples":["ninja"]},"status":{"type":"string","examples":["ACTIVE"]}}}}}}},"description":"**Permission Required**: [`ecommerce:integration:public:affiliate READ`](https://egs.jaren.wtf/#resource=ecommerce:integration:public:affiliate&action=2)","security":[{"bearer":["ecommerce:integration:public:affiliate READ"]}]}},"/public/identities/{identityId}/entitlements/redeem":{"put":{"tags":["Identities - Public"],"summary":"Redeem entitlements","parameters":[{"in":"path","name":"identityId","schema":{"$ref":"#/components/schemas/IdentityID"},"required":true,"description":"An identity id"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["entitlementIds","sandboxId"],"properties":{"entitlementIds":{"type":"array","items":{"type":"string"}},"sandboxId":{"type":"string"}},"examples":[{"entitlementIds":["deaedfb62fae4170b39c98aaf088bfca"],"sandboxId":"fn"}]}}}},"responses":{},"description":"**Permission Required**: [`ecommerce:integration:public:entitlement:account:{accountId}:entitlements UPDATE`](https://egs.jaren.wtf/#resource=ecommerce:integration:public:entitlement:account:{accountId}:entitlements&action=4)","security":[{"bearer":["ecommerce:integration:public:entitlement:account:{accountId}:entitlements UPDATE"]}]}},"/public/identities/{identityId}/namespaces/{namespace}/offers/{offerId}":{"post":{"tags":["Identities - Public"],"summary":"Fulfill an offer","parameters":[{"in":"path","name":"identityId","schema":{"$ref":"#/components/schemas/IdentityID"},"required":true,"description":"An identity id"},{"in":"path","name":"namespace","schema":{"type":"string"},"required":true,"description":"The sandbox id of the offerId"},{"in":"path","name":"offerId","schema":{"type":"string"},"required":true,"description":"The offer id"}],"responses":{},"description":"**Permission Required**: [`ecommerce:integration:public:fulfillment:offer CREATE`](https://egs.jaren.wtf/#resource=ecommerce:integration:public:fulfillment:offer&action=1)","security":[{"bearer":["ecommerce:integration:public:fulfillment:offer CREATE"]}]}},"/public/identities/{identityId}/ownershipCheckToken":{"post":{"tags":["Identities - Public"],"summary":"Get ownership check token for the sandbox","parameters":[{"in":"path","name":"identityId","schema":{"$ref":"#/components/schemas/IdentityID"},"required":true,"description":"An identity id"},{"in":"query","name":"sandboxId","schema":{"type":"string"},"required":true,"description":"The sandbox id"}],"responses":{"200":{"description":"The generated ownership token","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","description":"The egoc1~ jwt token which includes all identity entitlements for the sandbox","examples":["egoc1~eyJraWQiOiJWbWdpMDFoQ2V2dXVEbUtWZFZubXphWnhpT2lBa0dEZWdRQmdDdWc4dkRZIiwiYWxnIjoiUlM1MTIifQ.eyJzdWIiOiJkYjIzZGZjNmIwZTM0YTgxODA4NjQ4ZDkyNzc5MzVhYyIsImlwIjoiOTEuNTguMTgxLjYzIiwiY2xpZCI6IjAyNjEyODgwYWE3NzRmYjI4ZTM3NDFkM2UwMTUwMWZkIiwiZW50IjpbeyJjYXRhbG9nSXRlbUlkIjoiNDhmZjNmNDE2ODBlNDAzYmIyNzE3NzM3ZjY4NzMxYzUiLCJlbmREYXRlIjpudWxsLCJjb25zdW1hYmxlIjpmYWxzZSwicGxhdGZvcm1UeXBlIjoiRVBJQyIsIm5hbWVzcGFjZSI6ImZuIiwiZ3JhbnREYXRlIjoxNzM0NzA2NTQ0LCJ1c2VDb3VudCI6MCwiZW50aXRsZW1lbnRUeXBlIjoiRU5USVRMRU1FTlQiLCJzdGFydERhdGUiOm51bGwsImVudGl0bGVtZW50TmFtZSI6IkZvcnRuaXRlX0ZyZWUifSx7ImNhdGFsb2dJdGVtSWQiOiIwNDVhODllNTM1YTE0MTliYTFmNzkwYjdlMTk1NGFmOCIsImVuZERhdGUiOm51bGwsImNvbnN1bWFibGUiOmZhbHNlLCJwbGF0Zm9ybVR5cGUiOiJFUElDIiwibmFtZXNwYWNlIjoiZm4iLCJncmFudERhdGUiOjE3NTU0MzQ2NzQsInVzZUNvdW50IjowLCJlbnRpdGxlbWVudFR5cGUiOiJBVURJRU5DRSIsInN0YXJ0RGF0ZSI6bnVsbCwiZW50aXRsZW1lbnROYW1lIjoiMDQ1YTg5ZTUzNWExNDE5YmExZjc5MGI3ZTE5NTRhZjgifV0sImV4cCI6MTc1NzQzNjIyNywiaWF0IjoxNzU3NDM1OTI3LCJqdGkiOiJkMWMzZGNjOGEzYWM0NzNlYjI0ZTdiM2I0MTU5YTc0YyJ9.Gr66-Nhxfw9w-ISiJgW_4YB-GdFyqvClcWpSN3BtKX2G9GpG5ZHWMtV1hVOEnUYcsu5q9SIuOyFkrz3XSJlmuc4XWNO_6gOp9OntNGueBCZkGuvTqWYcL1hdiy5EnXWeQkPq0krxVUAAGterDuXKpaFBPqsKORjfBZOsPvdAQStR3nXyFVaccrbQXEyYmPNBcs1AHxMt8Idm0MAhCQhEMOBUERp07FHoPiulPM3h60Ncb92AjMjMQTZbMIpJlFhXpMHj5N8vXlmfsCkMbqOoONzL_m8FooxYTdAm4ooX2I5dSZLdWHYzEkSMa_uGf6DpYljVcaV1_sg1tMU510OXyQ"]}}}}}}},"description":"**Permission Required**: [`ecommerce:integration:public:{identityId}:ownershipCheckToken CREATE`](https://egs.jaren.wtf/#resource=ecommerce:integration:public:{identityId}:ownershipCheckToken&action=1)","security":[{"bearer":["ecommerce:integration:public:{identityId}:ownershipCheckToken CREATE"]}]}},"/public/platforms/{platform}/identities/{identityId}/ownership":{"get":{"tags":["Identities - Public"],"summary":"Get owned entitlements for the specified sandbox","parameters":[{"in":"path","name":"platform","schema":{"$ref":"#/components/schemas/EcommercePlatform"},"required":true,"description":"An ecommerce platform"},{"in":"path","name":"identityId","schema":{"$ref":"#/components/schemas/IdentityID"},"required":true,"description":"An identity id"},{"in":"query","name":"sandboxId","schema":{"type":"string"},"required":true,"description":"A sandbox id"}],"responses":{"200":{"description":"The owned entitlements","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"namespace":{"type":"string"},"itemId":{"type":"string"},"owned":{"type":"boolean"}}}}}}}},"description":"**Permission Required**: [`ecommerce:integration:public:entitlement:account:{accountId}:entitlements READ`](https://egs.jaren.wtf/#resource=ecommerce:integration:public:entitlement:account:{accountId}:entitlements&action=2)","security":[{"bearer":["ecommerce:integration:public:entitlement:account:{accountId}:entitlements READ"]}]}},"/public/platforms/{platform}/identities/{identityId}/ownershipToken":{"post":{"tags":["Identities - Public"],"summary":"Get ownership check token for the specified sandbox or entitlements","parameters":[{"in":"path","name":"platform","schema":{"$ref":"#/components/schemas/EcommercePlatform"},"required":true,"description":"An ecommerce platform"},{"in":"path","name":"identityId","schema":{"$ref":"#/components/schemas/IdentityID"},"required":true,"description":"An identity id"}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"description":"Either a sandboxId or a nsCatalogItemId is required.","type":"object","properties":{"sandboxId":{"type":"string"},"nsCatalogItemId":{"description":"If a sandboxId and nsCatalogItemId are provided, the sandboxId will be preferred","type":"array","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"The generated ownership token","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","description":"The egoc1~ jwt token which includes all identity entitlements for the sandbox","examples":["egoc1~eyJraWQiOiJWbWdpMDFoQ2V2dXVEbUtWZFZubXphWnhpT2lBa0dEZWdRQmdDdWc4dkRZIiwiYWxnIjoiUlM1MTIifQ.eyJzdWIiOiJkYjIzZGZjNmIwZTM0YTgxODA4NjQ4ZDkyNzc5MzVhYyIsImlwIjoiOTEuNTguMTgxLjYzIiwiY2xpZCI6IjAyNjEyODgwYWE3NzRmYjI4ZTM3NDFkM2UwMTUwMWZkIiwiZW50IjpbeyJjYXRhbG9nSXRlbUlkIjoiNDhmZjNmNDE2ODBlNDAzYmIyNzE3NzM3ZjY4NzMxYzUiLCJlbmREYXRlIjpudWxsLCJjb25zdW1hYmxlIjpmYWxzZSwicGxhdGZvcm1UeXBlIjoiRVBJQyIsIm5hbWVzcGFjZSI6ImZuIiwiZ3JhbnREYXRlIjoxNzM0NzA2NTQ0LCJ1c2VDb3VudCI6MCwiZW50aXRsZW1lbnRUeXBlIjoiRU5USVRMRU1FTlQiLCJzdGFydERhdGUiOm51bGwsImVudGl0bGVtZW50TmFtZSI6IkZvcnRuaXRlX0ZyZWUifSx7ImNhdGFsb2dJdGVtSWQiOiIwNDVhODllNTM1YTE0MTliYTFmNzkwYjdlMTk1NGFmOCIsImVuZERhdGUiOm51bGwsImNvbnN1bWFibGUiOmZhbHNlLCJwbGF0Zm9ybVR5cGUiOiJFUElDIiwibmFtZXNwYWNlIjoiZm4iLCJncmFudERhdGUiOjE3NTU0MzQ2NzQsInVzZUNvdW50IjowLCJlbnRpdGxlbWVudFR5cGUiOiJBVURJRU5DRSIsInN0YXJ0RGF0ZSI6bnVsbCwiZW50aXRsZW1lbnROYW1lIjoiMDQ1YTg5ZTUzNWExNDE5YmExZjc5MGI3ZTE5NTRhZjgifV0sImV4cCI6MTc1NzQzNjIyNywiaWF0IjoxNzU3NDM1OTI3LCJqdGkiOiJkMWMzZGNjOGEzYWM0NzNlYjI0ZTdiM2I0MTU5YTc0YyJ9.Gr66-Nhxfw9w-ISiJgW_4YB-GdFyqvClcWpSN3BtKX2G9GpG5ZHWMtV1hVOEnUYcsu5q9SIuOyFkrz3XSJlmuc4XWNO_6gOp9OntNGueBCZkGuvTqWYcL1hdiy5EnXWeQkPq0krxVUAAGterDuXKpaFBPqsKORjfBZOsPvdAQStR3nXyFVaccrbQXEyYmPNBcs1AHxMt8Idm0MAhCQhEMOBUERp07FHoPiulPM3h60Ncb92AjMjMQTZbMIpJlFhXpMHj5N8vXlmfsCkMbqOoONzL_m8FooxYTdAm4ooX2I5dSZLdWHYzEkSMa_uGf6DpYljVcaV1_sg1tMU510OXyQ"]}}}}}}},"description":"**Permission Required**: [`ecommerce:integration:public:{accountId}:ownershipCheckToken CREATE`](https://egs.jaren.wtf/#resource=ecommerce:integration:public:{accountId}:ownershipCheckToken&action=1)","security":[{"bearer":["ecommerce:integration:public:{accountId}:ownershipCheckToken CREATE"]}]}},"/public/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}$"},"required":true,"description":"The key's RFC 7638 thumbprint"}],"responses":{"200":{"description":"A JWK","content":{"application/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"}}}}}}}}},"/public/salesforce/enterpriseNewsletter":{"put":{"tags":["Salesforce - Public"],"summary":"Update enterprise newsletter status","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["mnemonic"],"properties":{"enterpriseNewsletterValue":{"type":"boolean"},"email":{"type":"string","format":"email"},"identityId":{"$ref":"#/components/schemas/IdentityID"}}}}}},"responses":{"200":{"description":"Enterprise Newsletter Result","content":{"application/json":{"schema":{"type":"object","properties":{"sfContactId":{"type":"string"},"enterpriseNewsletter":{"type":"boolean"}}}}}}},"description":"**Permission Required**: [`ecommerce:integration:public:salesforce:enterpriseNewsletter UPDATE`](https://egs.jaren.wtf/#resource=ecommerce:integration:public:salesforce:enterpriseNewsletter&action=4)","security":[{"bearer":["ecommerce:integration:public:salesforce:enterpriseNewsletter UPDATE"]}]}},"/public/v2/identities/{identityId}/entitlements":{"get":{"tags":["Identities - Public"],"summary":"List your sandbox entitlements","parameters":[{"in":"path","name":"identityId","schema":{"$ref":"#/components/schemas/IdentityID"},"required":true,"description":"An identity id"},{"in":"query","name":"sandboxId","schema":{"type":"string","examples":["fn"]},"required":true,"description":"The sandbox id"}],"responses":{"200":{"description":"Entitlements","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Entitlement"}}}}}},"description":"**Permission Required**: [`ecommerce:integration:public:entitlement:account:{accountId}:entitlements:v2 READ`](https://egs.jaren.wtf/#resource=ecommerce:integration:public:entitlement:account:{accountId}:entitlements:v2&action=2)","security":[{"bearer":["ecommerce:integration:public:entitlement:account:{accountId}:entitlements:v2 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":{"IdentityID":{"oneOf":[{"$ref":"#/components/schemas/AccountID"},{"$ref":"#/components/schemas/OrganizationID"}],"description":"This represents a unique id for an identity, which can be either an account or an organization."},"EcommercePlatform":{"type":"string","enum":["EPIC","XBL","PSN","NINTENDO"],"description":"Used across multiple services (ecom int, entitlement, ...)"},"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"}}}}}},"OrganizationID":{"type":"string","pattern":"^o-[0-9a-z]{30}$","examples":["o-aa83a0a9bc45e98c80c1b1c9d92e9e","o-qffyne2n8tuxgnxu4gzg33th8xkuud"],"description":"This represents a unique id for an organization"},"Entitlement":{"type":"object","required":["id","entitlementName","namespace","catalogItemId","entitlementType","grantDate","consumable","status","active","useCount"],"properties":{"id":{"type":"string"},"entitlementName":{"type":"string"},"namespace":{"type":"string"},"catalogItemId":{"type":"string"},"entitlementType":{"type":"string"},"grantDate":{"type":"string","format":"date-time"},"consumable":{"type":"boolean"},"status":{"type":"string"},"active":{"type":"boolean"},"useCount":{"type":"integer"},"entitlementSource":{"type":"string"}},"examples":[{"id":"15aa0f8e657042d4b3f076d562972a17","entitlementName":"Fortnite_Free","namespace":"fn","catalogItemId":"48ff3f41680e403bb2717737f68731c5","entitlementType":"ENTITLEMENT","grantDate":"2024-12-20T14:55:44.756Z","consumable":false,"status":"ACTIVE","active":true,"useCount":0}]}},"securitySchemes":{"bearer":{"type":"http","scheme":"bearer"}}},"servers":[{"url":"https://ecommerceintegration-public-service-ecomprod02.ol.epicgames.com/ecommerceintegration/api"}]}